:root{--ink:#183a34;--muted:#617269;--paper:#f5f5ee;--line:#dce1d6;--green:#1e493e;--lime:#d8e7a4;--white:#fffefa;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,select{font:inherit}a,button,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #54816c;outline-offset:4px}a,button{color:inherit}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}.topbar{height:84px;margin:0 auto;border-bottom:1px solid var(--line);padding:0 44px;gap:40px}.topbar,.wordmark{display:flex;align-items:center}.wordmark{text-decoration:none;font-size:27px;letter-spacing:-1.3px;font-weight:750;gap:9px}.logo-mark{background:var(--green);color:var(--lime);height:33px;width:33px;border-radius:50%;font-family:Georgia,serif;display:flex;align-items:center;justify-content:center;font-size:29px;font-weight:400}.logo-dot{font-size:10px;align-self:flex-start;margin-top:4px;margin-left:-4px}.header-caption{font-size:12px;color:var(--muted);letter-spacing:.15px}.studio-link{margin-left:auto;display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;border:1px solid #cbd5c8;padding:10px 15px;border-radius:4px}.studio-link:hover{background:#e8eddf}.app-shell{max-width:1580px;margin:0 auto;padding:38px 44px 24px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:39px}.eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:1.2px;font-weight:500;line-height:1.6}.page-intro .eyebrow{margin-bottom:15px}h1{font-size:clamp(40px,4vw,61px);font-weight:500;letter-spacing:-2.7px;line-height:1.02}h1 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.intro-aside{text-align:right;padding-bottom:2px}.intro-aside p{color:var(--muted);font-size:12px;line-height:1.65;margin-top:16px}.source-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;padding:8px 10px;border-radius:20px;background:#e9ecde;border:1px solid #dae0cb}.source-pill i{width:5px;height:5px;border-radius:50%;background:#8b906e}.source-pill.sanity i{background:#44705d}.workspace{display:grid;grid-template-columns:222px minmax(350px,1fr) 302px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:620px}.scene-sidebar{padding:25px 25px 25px 0;border-right:1px solid var(--line)}.room-name{display:flex;align-items:center;gap:10px;padding-bottom:28px}.room-name strong{font-size:12px;display:block}.room-name div>span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.room-icon{font-family:Georgia,serif;font-size:30px;color:#5b7969}.field-label{display:block;font-family:var(--mono);font-size:9px;letter-spacing:1px;color:#697968;margin-bottom:12px}.scene-sidebar select{width:100%;appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%233f5f50'/%3E%3C/svg%3E") no-repeat right 12px center;padding:13px 29px 13px 12px;border:1px solid #c9d2c4;border-radius:3px;color:var(--ink);font-size:12px}.connector{display:flex;gap:9px;align-items:center;justify-content:center;margin:15px 0;color:#9ca996}.connector span{width:37%;height:1px;background:var(--line)}.connector svg{transform:rotate(90deg);height:14px}.scene-options{display:flex;flex-direction:column;gap:8px}.scene-option{border:1px solid transparent;background:none;display:flex;text-align:left;align-items:center;gap:9px;border-radius:5px;width:100%;padding:13px 10px}.scene-option:hover{background:#ecefe3}.scene-option.selected{background:#e3eacb;border-color:#c2d0a4}.scene-number{font-family:var(--mono);font-size:9px;color:#8d997c;align-self:flex-start;padding-top:2px}.scene-option strong{font-size:12px;font-weight:600}.scene-option small{display:block;line-height:1.4;font-size:10px;color:#6b7760;margin-top:5px}.radio-dot{width:12px;height:12px;flex-shrink:0;border:1px solid #b8c5a3;border-radius:50%;margin-left:auto}.selected .radio-dot{background:#335f45;border:3px solid #dfe8c3;outline:1px solid #638754}.swap-button{border:0;background:transparent;display:block;margin:16px auto 0;font-size:11px;color:#647962;padding:7px}.swap-button:hover{color:#214c36}.sidebar-note{margin-top:42px;border-left:2px solid #c1d098;padding-left:12px}.sidebar-note>span{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#718455}.sidebar-note p{color:#7b8371;font-size:11px;line-height:1.65;margin-top:8px}.plan-area{padding:26px 26px 22px;min-width:0}.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-heading .eyebrow{color:#7c8773;font-size:8px;margin-bottom:7px}.plan-heading h2{font-size:18px;font-weight:500;letter-spacing:-.6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.plan-heading h2 svg{width:15px;color:#849077}.icon-button{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;flex-shrink:0}.icon-button:hover{background:#e6eadb}.plan-stats{display:grid;grid-template-columns:1fr 1fr 1.25fr;margin:25px 0 24px}.plan-stats>div{border-right:1px solid var(--line);padding:0 15px}.plan-stats>div:first-child{padding-left:0}.plan-stats>div:last-child{border-right:0;padding-right:0}.plan-stats strong{font-family:var(--mono);font-size:23px;font-weight:400;display:block;letter-spacing:-1px}.plan-stats strong small{font-family:Arial,sans-serif;font-size:11px;letter-spacing:0}.plan-stats>div>span{display:block;font-size:9px;color:var(--muted);margin-top:7px}.plan-stats .status-clear strong,.plan-stats .status-warning strong{font-size:13px;font-family:Arial,sans-serif;letter-spacing:-.3px;padding-top:6px;display:flex;align-items:center;gap:7px}.status-dot{display:inline-block;width:6px;height:6px;background:#6d8e48;border-radius:50%}.status-warning .status-dot{background:#b97235}.canvas-card{background:#eef2e8;border:1px solid #d9e0d2;border-radius:7px;overflow:hidden}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 17px 4px}.canvas-label{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#7e8e78}.segmented{display:flex;background:#e0e6d8;padding:3px;border-radius:4px}.segmented button{padding:6px 9px;background:none;border:0;border-radius:3px;font-size:9px;display:flex;align-items:center;gap:5px;color:#6b7c63}.segmented button.active{background:var(--white);box-shadow:0 1px 3px #2b3d2610;color:#2a4e37}.segmented svg{width:11px;height:11px}.floor{width:100%;display:block;padding:14px 15px 6px}.dimension{font-size:8px;fill:#8c9a82;letter-spacing:1px;font-family:var(--mono)}.canvas-caption{display:flex;align-items:center;gap:15px;padding:7px 18px 16px;font-size:8px;color:#849178;flex-wrap:wrap}.canvas-caption>span{display:flex;align-items:center;gap:5px}.canvas-caption i{width:8px;height:8px;border-radius:2px;display:inline-block}.solid-key{background:#afbea0;border:1px solid #95a783}.ghost-key{border:1px dashed #9dad92}.canvas-hint{margin-left:auto;font-size:7px}.inventory{border-top:1px solid var(--line);margin-top:21px}.inventory summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;font-size:11px;padding:14px 0}.inventory summary::-webkit-details-marker{display:none}.inventory summary>span{font-size:9px;color:#7d8b72}.plus{margin-left:18px;font-size:16px;font-weight:400}.inventory[open] .plus{display:inline-block;transform:rotate(45deg)}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:5px 0 12px}.inventory-grid>div{display:flex;gap:9px;align-items:center}.inventory-grid>div>span{border-radius:4px;padding:8px;font-family:var(--mono);font-size:9px}.inventory-grid strong{font-size:10px;font-weight:500}.inventory-grid small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.checklist-panel{border-left:1px solid var(--line);padding:27px 0 24px 26px;display:flex;flex-direction:column;min-width:0}.checklist-top .eyebrow{font-size:8px;color:#7c8773}.checklist-top h2{display:flex;align-items:center;justify-content:space-between;font-size:23px;letter-spacing:-.7px;font-weight:500;margin-top:9px}.checklist-top h2>span{border:1px solid #d0d9c4;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:#6f815e;letter-spacing:0}.checklist-top>p:last-child{font-size:11px;line-height:1.6;color:#78846f;max-width:240px;margin-top:9px;margin-bottom:22px}.checklist{list-style:none;padding:0;margin:0 0 25px;max-height:382px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c2ceb5 transparent}.checklist li{border-bottom:1px solid #e1e5da}.checklist li:first-child{border-top:1px solid #e1e5da}.step-button{width:100%;padding:14px 4px 14px 0;display:flex;align-items:flex-start;gap:10px;text-align:left;background:none;border:0}.step-button:hover:not(:disabled){background:#eaf0df}.step-check{flex-shrink:0;width:23px;height:23px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:8px;border:1px solid #cbd4c0;border-radius:50%;color:#758667;margin-top:1px}.step-copy strong{display:block;font-size:11px;font-weight:500;line-height:1.5}.step-copy>span{font-family:var(--mono);display:block;font-size:8px;color:#849178;margin-top:6px;line-height:1.4}.middot{margin:0 4px}.complete .step-check{color:#eaf0db;background:#436846;border-color:#436846;font-family:Arial;font-size:12px}.complete .step-copy strong{color:#8c9582;text-decoration:line-through}.waiting .step-check{border-style:dashed}.waiting .step-copy strong{color:#808d76}.progress-area{margin-top:auto}.progress-area>div:first-child{display:flex;justify-content:space-between;font-size:9px;align-items:center}.progress-area strong{font-weight:500}.progress-area>div>span{font-family:var(--mono);color:#7e8d74}.progress-area progress{appearance:none;width:100%;display:block;margin-top:9px;border:0;height:4px;border-radius:10px;overflow:hidden;background:#e1e6d8}.progress-area progress::-webkit-progress-bar{background:#e1e6d8}.progress-area progress::-webkit-progress-value{background:#729459;border-radius:10px}.progress-area progress::-moz-progress-bar{background:#729459}.progress-area p{font-size:9px;color:#89947e;margin-top:10px}.checklist-actions{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.checklist-actions button{background:none;border:0;font-size:10px;padding:7px 0;color:#5d7752}.checklist-actions button:last-child{color:#7c8871;text-decoration:underline;text-underline-offset:3px}.checklist-actions button:disabled{opacity:.35}.empty-plan{padding:20px 10px 50px;text-align:center;color:#6c8063}.empty-plan>span{display:inline-flex;background:#e0e9cf;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px}.empty-plan h3{font-size:15px;font-weight:500}.empty-plan p{margin-top:8px}.blockers,.empty-plan p{font-size:11px;line-height:1.6}.blockers{border:1px solid #d9c2a3;background:#f3e9d8;padding:15px 12px;margin-bottom:15px;border-radius:5px;color:#7a542a}.blockers ul{padding-left:15px;margin-bottom:0}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:21px}.footer>span{font-family:Georgia,serif;font-size:13px;font-style:italic;color:#667e58}.footer p{font-size:8px;line-height:1.6;color:#949d89;text-align:right;max-width:440px}.notice{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;border:1px solid #cbd8b7;background:#e7eedb;border-radius:4px;font-size:11px;line-height:1.6;margin:-15px 0 22px}.notice button{border:0;background:none;font-size:18px;line-height:1}.setup-message{max-width:700px;margin:80px auto;padding:24px}.setup-message h1{font-family:Georgia,serif;margin:30px 0;font-size:40px}.setup-message p{font-size:16px;color:var(--muted);line-height:1.7;margin:20px 0}.setup-message a{display:inline-block}.primary{background:var(--green);color:white;text-decoration:none;border-radius:5px;padding:12px 18px}@media(min-width:1500px){.workspace{grid-template-columns:250px minmax(350px,1fr) 320px}.scene-sidebar{padding-right:30px}.plan-area{padding-left:32px;padding-right:32px}.checklist-panel{padding-left:30px}.checklist{max-height:438px}}@media(max-width:1190px){.topbar{padding:0 28px}.app-shell{padding:30px 28px 24px}.workspace{grid-template-columns:190px minmax(300px,1fr) 258px}.scene-sidebar{padding-right:17px}.plan-area{padding-right:19px}.checklist-panel,.plan-area{padding-left:19px}.plan-heading h2{font-size:15px;gap:6px}.plan-stats>div{padding:0 9px}.plan-stats strong{font-size:20px}.plan-stats .status-clear strong,.plan-stats .status-warning strong{font-size:11px}.canvas-hint{display:none!important}.scene-option{padding:12px 7px}.scene-option strong{font-size:11px}.scene-option small{font-size:9px}.scene-number{display:none}}@media(max-width:1000px){.workspace{grid-template-columns:210px minmax(300px,1fr)}.checklist-panel{grid-column:2;border-left:0;border-top:1px solid var(--line);margin:0 20px;padding:24px 0}.checklist{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.scene-sidebar{grid-row:span 2}.checklist-top>p:last-child{max-width:none}.checklist-top h2{max-width:230px}.canvas-hint{display:flex!important}.plan-heading h2{font-size:18px}.progress-area{max-width:400px}.scene-number{display:block}.header-caption{display:none}}@media(max-width:680px){.topbar{height:68px;padding:0 20px}.wordmark{font-size:23px}.logo-mark{width:29px;height:29px;font-size:24px}.studio-link{font-size:10px;padding:8px 10px;gap:7px}.app-shell{padding:27px 20px 22px}.page-intro{display:block;margin-bottom:25px}.page-intro .eyebrow{font-size:8px;margin-bottom:13px}h1{font-size:48px;letter-spacing:-2.4px}.intro-aside{text-align:left;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.intro-aside p{display:none}.source-pill{font-size:8px}.workspace{display:block}.scene-sidebar{padding:20px 0;border:0;border-bottom:1px solid var(--line)}.room-name{padding-bottom:19px}.room-name strong{font-size:12px}.room-name div>span{font-size:10px}.scene-sidebar select{font-size:12px;padding:12px}.connector{margin:9px 0}.scene-options{flex-direction:row;gap:6px}.scene-option{flex:1 1;display:block;padding:12px 9px;position:relative}.scene-number{font-size:8px;margin-bottom:8px}.scene-option strong{font-size:11px}.scene-option small{font-size:9px;line-height:1.45}.radio-dot{position:absolute;right:8px;top:13px;width:10px;height:10px}.swap-button{font-size:10px;margin-top:9px}.sidebar-note{display:none}.plan-area{padding:23px 0 17px}.plan-heading h2{font-size:19px}.plan-stats{margin:23px 0 19px}.plan-stats strong{font-size:23px}.plan-stats .status-clear strong,.plan-stats .status-warning strong{font-size:12px}.plan-stats>div{padding:0 14px}.plan-stats>div>span{font-size:8px}.canvas-toolbar{padding:13px 13px 2px}.canvas-label{font-size:7px}.floor{padding:12px 4px 5px}.canvas-caption{padding:7px 12px 14px;gap:12px;font-size:7px}.canvas-hint{display:none!important}.inventory summary{font-size:11px;padding:14px 0}.checklist-panel{margin:0;padding:23px 0;border-top:1px solid var(--line)}.checklist-top h2{font-size:24px;max-width:none}.checklist-top>p:last-child{font-size:12px;margin-top:10px;margin-bottom:20px}.checklist{display:block;margin-bottom:20px}.step-button{padding:15px 2px}.step-copy strong{font-size:12px}.step-check,.step-copy>span{font-size:9px}.step-check{width:26px;height:26px}.progress-area{max-width:none}.progress-area p,.progress-area>div:first-child{font-size:10px}.checklist-actions button{font-size:11px;padding:9px 0}.footer{display:block;margin-top:20px}.footer p{text-align:left;font-size:9px;margin-top:13px;max-width:340px}.notice{margin-top:0}.inventory-grid strong,.notice{font-size:11px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{body{background:white}.checklist-actions,.icon-button,.intro-aside,.inventory,.notice,.scene-sidebar,.segmented,.topbar{display:none!important}.app-shell{padding:0}.page-intro{margin-bottom:20px}h1{font-size:34px}.workspace{display:block}.checklist-panel,.plan-area{padding:15px 0;border:0}.floor{max-height:350px}.checklist{max-height:none;display:block}.step-button{padding:8px 0}.canvas-card{page-break-inside:avoid;break-inside:avoid}.footer{display:block}.footer p{text-align:left}.checklist li{page-break-inside:avoid;break-inside:avoid}}