.web-app{--cream:#faf6ef;--paper:#fffdf9;--ink:#364236;--muted:#706f62;--sage:#7e8b6f;--sage-dark:#55664c;--line:#e7e4d9;--terracotta:#9b5a42;height:100%;color:var(--ink);background:var(--cream);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:auto}.web-app *,.web-app :before,.web-app :after{box-sizing:border-box}.web-app button,.web-app input,.web-app summary{font:inherit}.web-app button,.web-app a,.web-app summary{-webkit-tap-highlight-color:transparent}.web-app button,.web-app summary{cursor:pointer}.web-app button{color:inherit}.web-app button:disabled,.web-app input:disabled{cursor:not-allowed;opacity:.55}.web-app a{color:inherit;text-decoration:none}.web-app :focus-visible{outline-offset:4px;outline:3px solid #9b5a42}.web-app h1,.web-app h2,.web-app h3,.web-app p{margin:0}.web-app h1,.web-app h2{font-family:Georgia,Times New Roman,serif;font-weight:400}.web-app .skip-link{z-index:200;background:var(--ink);color:#fff;border-radius:8px;padding:12px 20px;position:fixed;top:-100px;left:16px}.web-app .skip-link:focus{top:12px}.app-header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;min-height:98px;padding:20px 4%;display:flex}.brand{white-space:nowrap;align-items:center;gap:12px;font:29px/1.1 Georgia,serif;display:flex}.brand-mark{width:45px;height:48px;color:var(--sage-dark);background:#e9ecdf;border-radius:18px 18px 8px 8px;place-items:center;padding-bottom:5px;font-size:38px;display:grid}.brand small{letter-spacing:2px;color:var(--muted);margin-top:7px;font:9px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:block}.header-actions{align-items:center;gap:18px;display:flex}.save-state{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.save-state i,.green-dot{background:var(--sage);border-radius:50%;width:6px;height:6px;display:inline-block}.quiet-button{border:1px solid var(--line);background:var(--paper);border-radius:9px;min-height:44px;padding:10px 16px;font-weight:500!important}.quiet-button:hover{background:#f0f0e7}.help-button{border:1px solid var(--line);background:0 0;border-radius:50%;width:44px;min-height:44px;font-family:Georgia,serif!important;font-size:18px!important}.text-button{text-align:left;background:0 0;border:0;min-height:44px;padding:8px 0;color:var(--sage-dark)!important;font-size:12px!important;font-weight:600!important}.text-button:hover{text-decoration:underline}.app-shell{grid-template-columns:224px minmax(0,1fr);max-width:1600px;min-height:calc(100% - 98px);margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--line);background:#f5f2e9;padding:35px 24px}.eyebrow{letter-spacing:1.7px;color:var(--muted);font-size:9px;font-weight:650;display:block}.sidebar-intro h2{margin:12px 0 8px;font-size:24px;line-height:1.25}.sidebar-intro p{color:var(--muted);font-size:12px;line-height:1.8}.house-progress{border-bottom:1px solid var(--line);margin-bottom:26px;padding:20px 0 25px}.house-progress>div{justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.house-progress strong{color:var(--terracotta)}.house-progress progress{appearance:none;background:#e3e4d6;border:0;border-radius:8px;width:100%;height:5px;display:block;overflow:hidden}.house-progress progress::-webkit-progress-bar{background:#e3e4d6}.house-progress progress::-webkit-progress-value{background:var(--sage)}.house-progress progress::-moz-progress-bar{background:var(--sage)}.house-progress small{color:var(--muted);margin-top:9px;font-size:11px;display:block}.room-nav{flex-direction:column;gap:7px;display:flex}.nav-caption{letter-spacing:1.9px;color:var(--muted);margin-bottom:9px;font-size:9px}.room-link{border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:64px;padding:12px;display:flex}.room-link:hover{background:#eaece1}.room-link.selected{background:var(--ink);color:#fffdf8}.room-link>span:not(.nav-arrow){flex:1;font-size:12px;font-weight:550}.room-link small{opacity:.8;margin-top:4px;font-size:10px;font-weight:400;display:block}.nav-arrow{opacity:.6;font-size:15px}.sidebar-note{border-top:1px solid var(--line);margin-top:50px;padding:18px 4px}.sidebar-note>span{font-family:Georgia,serif;font-size:16px}.sidebar-note p{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.8}.main-content{min-width:0;padding:32px 34px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.page-heading h1{margin:9px 0;font-size:40px;line-height:1.2}.page-heading p{color:var(--muted);font-size:12px}.beta-tag{white-space:nowrap;letter-spacing:1.1px;color:var(--sage-dark);border:1px solid #dedccc;border-radius:20px;padding:7px 11px;font-size:8px}.workspace{grid-template-columns:minmax(0,1.05fr) minmax(340px,1fr);align-items:start;gap:24px;display:grid}.scene-panel{min-width:0}.panel-label{letter-spacing:1.2px;justify-content:space-between;align-items:center;gap:10px;min-height:39px;font-size:9px;display:flex}.panel-label>span:first-child{align-items:center;gap:8px;font-weight:600;display:flex}.desktop-label{color:var(--muted);letter-spacing:0;font-family:Georgia,serif;font-size:12px;font-style:italic}.room-artwork{isolation:isolate;background:#ebe4d7;border-radius:15px;width:100%;position:relative;overflow:hidden}.art-layer{pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.art-status{background:#fffdf9f5;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.scene-placeholder{aspect-ratio:1.5;color:var(--muted);background:#ebe4d7;border-radius:15px;place-items:center;display:grid}.scene-caption{justify-content:space-between;align-items:center;gap:10px;padding:5px 1px;display:flex}.scene-caption>span{color:var(--muted);font-size:10px}.scene-caption .text-button{font-size:11px!important}.room-summary{background:#eeefe4;border:1px solid #e3e6d8;border-radius:12px;align-items:center;gap:16px;margin-top:14px;padding:20px;display:flex}.progress-circle{border-radius:50%;flex-shrink:0;width:56px;height:56px;padding:4px}.progress-circle span{background:#eeefe4;border-radius:50%;place-items:center;width:100%;height:100%;font-size:12px;font-weight:600;display:grid}.room-summary h3{font-family:Georgia,serif;font-size:20px;font-weight:400}.room-summary p{color:var(--muted);margin-top:5px;font-size:11px}.gentle-note{text-align:left;color:var(--muted);justify-content:center;align-items:center;gap:12px;margin:30px 10px;display:flex}.gentle-note>span{color:#a79b75;font-size:30px}.gentle-note p{font-family:Georgia,serif;font-size:14px;font-style:italic;line-height:1.9}.gentle-note strong{font:10px/1.8 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.checklist-panel{border:1px solid var(--line);background:var(--paper);border-radius:16px;min-width:0;overflow:visible}.list-heading{justify-content:space-between;align-items:center;gap:12px;padding:24px 22px 18px;display:flex}.list-heading h2{margin-top:5px;font-size:25px}.list-heading .eyebrow{font-size:8px}.count-pill{color:var(--muted);white-space:nowrap;background:#f1eee6;border-radius:15px;padding:5px 9px;font-size:10px}.search-box{border:1px solid var(--line);color:#888a7d;background:#f7f5ef;border-radius:9px;align-items:center;gap:10px;margin:0 20px 16px;padding:0 13px;display:flex}.search-box input{width:100%;min-width:0;height:44px;color:var(--ink);background:0 0;border:0;font-size:12px}.search-box:focus-within{outline:2px solid var(--sage-dark);outline-offset:2px}.search-box input:focus-visible{outline:none}.filter-bar{border-bottom:1px solid var(--line);gap:5px;padding:0 20px 14px;display:flex}.filter{white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:5px 4px;display:flex;color:var(--muted)!important;font-size:10px!important}.filter.active{background:#e9ecdf;border-color:#dce1d0;font-weight:600;color:var(--sage-dark)!important}.filter span{opacity:.75;font-size:9px}.list-toolbar{min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 22px;font-size:10px;display:flex}.bulk-menu{position:relative}.bulk-menu summary{align-items:center;gap:7px;min-height:44px;list-style:none;display:flex}.bulk-menu summary:after{content:"⌄"}.bulk-menu>div{z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:10px;min-width:220px;padding:14px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #36423612}.bulk-menu p{margin-bottom:10px}.bulk-menu button{background:#e9ecdf;border:0;border-radius:7px;width:100%;min-height:44px}.item-list{scrollbar-width:thin;scrollbar-color:#d7d9c9 transparent;height:max(310px,100dvh - 480px);max-height:640px;padding:0 20px;overflow:auto}.item-row{border-top:1px solid #eeece4;align-items:center;gap:10px;min-height:78px;display:flex}.item-main{cursor:pointer;flex:1;align-items:center;gap:11px;min-width:0;min-height:68px;padding:12px 0;display:flex}.item-main input{appearance:none;cursor:pointer;background:0 0;border:1.5px solid #bbbfae;border-radius:6px;width:21px;min-width:21px;height:21px;margin:0}.item-main input:checked{background:var(--sage);border-color:var(--sage)}.item-main input:checked:after{content:"✓";color:#fff;text-align:center;font-size:15px;line-height:18px;display:block}.item-copy{flex-direction:column;min-width:0;display:flex}.item-name{overflow-wrap:anywhere;font-size:13px;font-weight:500}.item-detail{color:var(--muted);margin-top:5px;font-size:10px}.visual-label{color:var(--sage-dark)}.dependency-note{color:var(--terracotta);margin-top:5px;font-size:10px}.excluded .item-name{color:var(--muted);text-decoration:line-through}.exclude-action{background:0 0;border:0;flex-shrink:0;max-width:83px;min-height:44px;padding:5px 0 5px 6px;color:var(--terracotta)!important;font-size:10px!important}.exclude-action:hover{text-decoration:underline}.list-footnote{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:15px 20px;font-size:10px}.page-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin:26px 0 10px;padding-top:12px;font-size:10px;display:flex}.page-footer .text-button{font-size:10px!important}.empty-state{text-align:center;color:var(--muted);padding:45px 12px}.empty-state>span{color:var(--sage);font-size:28px;display:block}.empty-state h3{color:var(--ink);margin:10px 0;font-size:15px;font-weight:500}.empty-state p{margin:10px 0 20px;font-size:12px}.error-banner{color:#813f2e;background:#f6e9df;border:1px solid #dfbda9;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:14px 18px;display:flex}.error-banner button{flex-shrink:0}.toast{z-index:50;background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:18px;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px 10px 22px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 6px 28px #0002}.toast button{color:#fff;white-space:nowrap;background:0 0;border:0;min-height:44px;font-weight:600}.web-dialog{--ink:#364236;--muted:#706f62;--line:#e7e4d9;--paper:#fffdf9;--sage-dark:#55664c;border:1px solid var(--line);width:min(570px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ink);background:#faf6ef;border-radius:20px;padding:28px;overflow:auto;box-shadow:0 20px 100px #0002}.web-dialog::backdrop{backdrop-filter:blur(3px);background:#2933278c}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.dialog-heading h2{font-size:26px}.web-dialog p{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.8}.web-dialog h3{margin:14px 0;font-size:16px;font-weight:550}.web-dialog .dialog-error{color:#813f2e;background:#f6e9df;border-radius:8px;padding:12px}.primary-button{background:#364236;border:1px solid #364236;border-radius:9px;min-height:46px;padding:10px 18px;color:#fff!important;font-weight:550!important}.primary-button:hover{background:#4b5d47}.backup-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.file-button{cursor:pointer;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-button:focus-within{outline-offset:3px;outline:3px solid #9b5a42}.file-button.disabled{opacity:.55;cursor:not-allowed}.import-preview{background:#eeefe4;border:1px solid #cdd3be;border-radius:12px;padding:14px 18px}.import-preview p{overflow-wrap:anywhere}.web-dialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}.help-steps b{color:var(--ink);margin-bottom:6px;display:block}.wide-dialog{width:min(1150px,100vw - 32px)}.zoom-controls{align-items:center;gap:14px;margin-bottom:15px;display:flex}.zoom-viewport{border-radius:12px;max-height:65dvh;overflow:auto}@media (width>=1500px){.main-content{padding:42px 48px 0}.workspace{gap:35px}.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:42px 28px}}@media (width<=1150px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:28px 16px}.main-content{padding:28px 22px 0}.workspace{grid-template-columns:minmax(0,1fr) minmax(330px,1fr);gap:18px}.beta-tag,.scene-caption>span,.desktop-label{display:none}.scene-caption{justify-content:flex-end}.room-summary{gap:10px;padding:14px 12px}.room-summary h3{font-size:18px}}@media (width<=950px){.app-header{min-height:88px;padding:18px 24px}.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:18px 24px}.sidebar-intro,.sidebar-note,.nav-caption{display:none}.house-progress{border:0;margin-bottom:16px;padding:0}.house-progress>div{margin-bottom:6px}.house-progress small{display:none}.room-nav{scrollbar-width:thin;flex-direction:row;gap:8px;margin:-4px;padding:4px;overflow-x:auto}.room-link{border-color:var(--line);background:#fffdf9;flex:1;gap:8px;min-width:145px;min-height:62px;padding:10px}.nav-arrow{display:none}.main-content{padding:24px}.page-heading{margin-bottom:18px}.workspace{grid-template-columns:minmax(0,1fr) minmax(340px,1fr);gap:20px}}@media (width<=720px){.app-header{gap:10px;min-height:80px;padding:16px 18px}.brand{gap:8px;font-size:25px}.brand-mark{width:35px;height:40px;font-size:30px}.brand small{letter-spacing:1.3px;font-size:7px}.header-actions{gap:8px}.header-actions .quiet-button{padding:8px 11px;font-size:12px}.help-button{width:38px}.save-state{display:none}.sidebar{padding:15px 18px}.room-link{flex:none;min-width:133px}.room-link svg{width:19px}.room-link>span:not(.nav-arrow){font-size:11px}.main-content{padding:23px 18px 75px}.page-heading h1{font-size:34px}.page-heading p{font-size:12px;line-height:1.7}.workspace{flex-direction:column;gap:22px;display:flex}.scene-panel,.checklist-panel{width:100%}.scene-panel{z-index:10;background:var(--cream);border-bottom:1px solid var(--line);flex-shrink:0;padding:6px 0 0;position:sticky;top:0}.panel-label{min-height:28px;margin:0}.scene-content{max-width:min(100%,60dvh);margin-inline:auto}.scene-caption .text-button{min-height:36px}.scene-panel .room-summary{display:none}.scene-caption>span{display:block}.scene-caption{justify-content:space-between}.room-summary{margin-top:8px;padding:14px 16px}.progress-circle{width:45px;height:45px}.room-summary h3{font-size:20px}.gentle-note{display:none}.list-heading{padding:21px 18px 16px}.list-heading h2{font-size:25px}.filter-bar{padding:0 12px 12px}.filter{min-height:44px;font-size:11px!important}.filter span{font-size:10px}.search-box{margin:0 16px 13px}.search-box input{font-size:16px}.list-toolbar{padding:0 18px;font-size:11px}.item-list{height:auto;max-height:none;padding:0 16px;overflow:visible}.item-row{min-height:84px}.item-name{font-size:14px}.item-detail{font-size:11px}.exclude-action{max-width:78px;font-size:11px!important}.list-footnote{padding:16px 10px;font-size:11px}.page-footer{flex-direction:column;align-items:flex-start;gap:0;font-size:11px}.page-footer .text-button{font-size:11px!important}.toast{gap:10px;padding:8px 12px;font-size:12px;bottom:12px}.toast>span{max-width:230px}.web-dialog{padding:20px}.dialog-heading{gap:10px}.dialog-heading h2{font-size:24px}.error-banner{font-size:12px;display:block}}@media (prefers-reduced-motion:reduce){.art-layer{transition:none}}