@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-BKUpuB78.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Nunito,sans-serif;color:#3f493f;background:#d5ddc8;font-synthesis:none;--ink:#3f493f;--muted:#7a8075;--sage:#78866b;--cream:#f7f1e3;--paper:#fffaf0;--sand:#e8dec5;--clay:#bd7658;--line:rgba(72,83,69,.15);--shadow:0 14px 36px rgba(55,61,49,.16)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid rgba(189,118,88,.35);outline-offset:2px}.app-shell{height:100vh;display:grid;grid-template-rows:66px 1fr 56px;background:#d5ddc8}.topbar{display:flex;align-items:center;padding:0 18px;background:#fffaf0f5;border-bottom:1px solid var(--line);z-index:20;box-shadow:0 3px 16px #48534514}.brand{display:flex;align-items:center;width:292px;gap:10px}.brand img{width:42px;height:42px;border-radius:13px;object-fit:cover;box-shadow:0 3px 8px #4837282e}.brand div{display:flex;flex-direction:column;line-height:1}.brand span{font-family:Fraunces,serif;font-size:19px;color:#4e5c49}.brand small{margin-top:5px;color:#929586;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.project-title{display:flex;align-items:center;gap:14px;margin:auto}.project-title input{border:0;background:transparent;text-align:center;font-weight:700;font-size:15px;color:var(--ink);width:260px;border-radius:8px;padding:6px}.saved{font-size:11px;color:#7c8970;display:flex;align-items:center;gap:4px}.top-actions{width:370px;display:flex;justify-content:flex-end;align-items:center;gap:5px}.top-actions button,.icon-button{border:0;background:transparent;border-radius:10px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;font-size:13px;font-weight:700;cursor:pointer}.top-actions button:hover,.icon-button:hover{background:#eee9da}.top-actions button:disabled,.icon-button:disabled{opacity:.35;cursor:not-allowed}.top-actions .icon-button{width:36px;padding:0}.divider{height:24px;width:1px;background:var(--line);margin:0 3px}.workspace{display:grid;grid-template-columns:292px minmax(500px,1fr) 292px;min-height:0}.catalog-panel,.inspector-panel{background:#fffaf0f5;z-index:10;min-height:0}.catalog-panel{border-right:1px solid var(--line);padding:20px 16px 12px;display:flex;flex-direction:column}.inspector-panel{border-left:1px solid var(--line);padding:20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;color:#9b7a61;margin-bottom:4px}.panel-heading h2,.inspector-panel h2{font-family:Fraunces,serif;font-size:21px;margin:0;color:#4d5848}.count-pill{background:#e8e6d6;color:#687461;font-weight:700;font-size:11px;border-radius:20px;padding:4px 8px}.search{height:39px;border:1px solid var(--line);background:#fffdf7;border-radius:12px;margin:16px 0 11px;display:flex;align-items:center;padding:0 11px;color:#879084}.search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding-left:7px;font-size:13px;color:var(--ink)}.category-strip{display:flex;gap:5px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.category-strip button{min-width:44px;border:1px solid transparent;background:transparent;padding:6px 7px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:#778071;cursor:pointer}.category-strip button.active{background:#e5eadb;color:#596a51;border-color:#d6dfcb}.catalog-grid{overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 2px 20px;scrollbar-color:#c8cbbd transparent}.catalog-card{position:relative;border:1px solid rgba(85,94,80,.12);background:#fffdf8;border-radius:14px;padding:8px;text-align:left;cursor:pointer;min-height:126px;display:flex;flex-direction:column;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.catalog-card:hover{transform:translateY(-2px);border-color:#687b5b4d;box-shadow:0 7px 14px #4b54411a}.item-illustration{height:66px;border-radius:10px;background:#e5e3d0;color:#7d8c6f;display:flex;align-items:center;justify-content:center}.item-illustration.bed{background:#e7d6cb;color:#a76c5e}.item-illustration.table,.item-illustration.storage{background:#e8d9c3;color:#916f51}.item-illustration.plant{background:#dce6d1;color:#718563}.item-illustration.lamp{background:#eee2ba;color:#9d824f}.item-copy{padding-top:7px;display:flex;flex-direction:column;min-width:0}.item-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-copy small{font-size:8.5px;color:#929487;margin-top:3px;white-space:nowrap}.add-dot{position:absolute;right:11px;top:58px;border-radius:50%;background:#6f7e65;color:#fff;padding:3px;width:20px;height:20px;box-shadow:0 2px 5px #414b3c2e}.canvas-stage{position:relative;overflow:hidden;background:#b8c59d}.canvas-stage canvas{width:100%;height:100%;display:block;touch-action:none}.view-toggle{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;background:#fffaf0eb;padding:4px;border-radius:13px;box-shadow:0 5px 18px #39423124;border:1px solid rgba(255,255,255,.6)}.view-toggle button{border:0;background:transparent;border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;cursor:pointer}.view-toggle button.active{background:#6f7d65;color:#fff;box-shadow:0 2px 5px #38413133}.tool-dock{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:3px;background:#fffaf0f0;padding:5px;border-radius:16px;box-shadow:0 8px 22px #363d2f30}.tool-dock button{border:0;background:transparent;min-width:52px;padding:7px 7px 6px;border-radius:11px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;font-weight:700;cursor:pointer;color:#747d70}.tool-dock button.active{background:#78866b;color:#fff}.canvas-tools{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px}.canvas-tools button{width:36px;height:36px;border:1px solid rgba(255,255,255,.55);background:#fffaf0e0;border-radius:11px;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 9px #3942311f}.canvas-tools button.active{background:#78866b;color:#fff}.floor-stats{position:absolute;left:14px;top:14px;background:#fffaf0e0;border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:8px 10px;display:flex;align-items:center;gap:8px;font-size:9.5px;color:#777f72;box-shadow:0 3px 10px #3942311c}.floor-stats strong{color:#4f5c4a}.floor-stats i{height:18px;width:1px;background:var(--line)}.empty-inspector{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:70px}.inspector-orbit{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#e7eadc;color:#7b896f;box-shadow:inset 0 0 0 8px #ffffff73}.empty-inspector h3{font-family:Fraunces,serif;font-size:19px;margin:18px 0 6px}.empty-inspector>p{font-size:12px;line-height:1.55;color:#868b80;max-width:215px;margin:0}.mini-tip{display:flex;gap:8px;text-align:left;background:#f0eadc;border-radius:12px;padding:11px;margin-top:24px;font-size:10px;color:#7f7568;line-height:1.45}.selection-preview{margin:17px 0 14px;background:#ebe8da;border-radius:14px;padding:9px;display:flex;align-items:center;gap:10px}.selection-preview img{width:55px;height:55px;border-radius:11px;object-fit:cover}.selection-preview div{display:flex;flex-direction:column}.selection-preview strong{font-size:12px}.selection-preview span{font-size:10px;color:#858b80;margin-top:4px}.warning{display:flex;align-items:flex-start;gap:7px;background:#f1dfce;color:#925f48;border-radius:11px;padding:9px;font-size:10px;line-height:1.4}.warning svg{flex:0 0 auto;margin-top:1px}.inspector-section{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.inspector-section h3{margin:0 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.inspector-section h3 span{float:right;color:#a2a398;text-transform:none;font-size:9px;letter-spacing:0}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.field-grid label{font-size:9px;color:#8d8e84}.field-grid input{margin-top:4px;width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 5px;background:#fffdf8;font-size:11px}.swatches{display:flex;gap:8px}.swatches button{border:2px solid white;box-shadow:0 0 0 1px #464b4126;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#fff;cursor:pointer}.swatches button.selected{box-shadow:0 0 0 2px #596552}.rotation-row{display:grid;grid-template-columns:1fr 48px 1fr;gap:6px;align-items:center}.rotation-row button,.inspector-actions button{border:1px solid var(--line);background:#fffdf8;border-radius:9px;padding:7px;font-size:11px;cursor:pointer}.rotation-row strong{text-align:center;font-size:11px}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.inspector-actions button{display:flex;align-items:center;justify-content:center;gap:5px}.inspector-actions .danger{color:#a45e51;background:#f9eae3}.floorbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fffaf0fa;border-top:1px solid var(--line);z-index:20}.floor-tabs{display:flex;gap:5px;align-items:center}.floor-tabs button{height:38px;border:0;background:transparent;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;cursor:pointer}.floor-tabs button span{width:21px;height:21px;border-radius:7px;background:#e6e5d7;display:grid;place-items:center;font-size:10px}.floor-tabs button.active{background:#e4eadc;color:#566650}.floor-tabs button.active span{background:#75836b;color:#fff}.floor-tabs .add-floor{color:#7b8275;font-weight:600}.floor-options{display:flex;align-items:center;gap:12px}.floor-options label{display:flex;align-items:center;gap:7px;font-size:10px;color:#7a8175;cursor:pointer}.floor-options label input{display:none}.floor-options label span{width:29px;height:17px;border-radius:20px;background:#cbcdbf;position:relative}.floor-options label span:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .18s}.floor-options label input:checked+span{background:#7c896f}.floor-options label input:checked+span:after{left:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#343d309e;display:grid;place-items:center;padding:26px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.setup-card{width:min(850px,94vw);height:min(600px,90vh);background:var(--paper);border-radius:26px;overflow:hidden;display:grid;grid-template-columns:45% 55%;box-shadow:0 28px 80px #262b2359}.setup-art{background:#b5c293;padding:24px;display:flex;align-items:center}.setup-art img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:22px;box-shadow:0 16px 36px #4b3d2a38}.setup-content{padding:42px 45px;overflow:auto}.setup-content h1,.dialog h2{font-family:Fraunces,serif;color:#4c5848;font-size:31px;line-height:1.08;margin:4px 0 10px}.setup-content>p{font-size:13px;color:#7b8076;line-height:1.55;margin-bottom:23px}.setup-content label{display:flex;flex-direction:column;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7e8177}.setup-content input{margin-top:6px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink)}.segmented{margin:13px 0;display:grid;grid-template-columns:1fr 1fr;background:#ebe8dc;border-radius:11px;padding:3px}.segmented button{border:0;background:transparent;padding:8px;border-radius:8px;font-size:11px;cursor:pointer}.segmented button.active{background:#fffdf7;box-shadow:0 2px 6px #3c44361a;font-weight:700}.setup-dimensions{display:grid;grid-template-columns:1fr 20px 1fr;align-items:end;gap:6px}.setup-dimensions>span{text-align:center;padding-bottom:10px;color:#999a90}.tile-note{display:flex;gap:8px;background:#eceddf;color:#6b7565;padding:10px;border-radius:11px;font-size:10.5px;line-height:1.4;margin:13px 0}.primary{border:0;background:#6e7d64;color:#fff;border-radius:10px;padding:9px 13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.primary.large{width:100%;padding:12px;font-size:13px}.modal-backdrop.small{background:#343d307a}.dialog{position:relative;width:min(490px,92vw);background:var(--paper);border-radius:22px;padding:31px;box-shadow:var(--shadow)}.dialog-close{position:absolute;right:15px;top:15px}.dialog h2{font-size:25px}.dialog>p{font-size:12px;line-height:1.55;color:#7e8178}.shortcut-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}.shortcut-list p{display:flex;align-items:center;gap:8px;margin:0;background:#efecdf;border-radius:9px;padding:8px;font-size:10.5px}.shortcut-list kbd{min-width:29px;text-align:center;background:#fff;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:4px;font-size:9px}.dialog-note{background:#e9ebdf;padding:10px;border-radius:10px;display:flex;gap:7px;align-items:center}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.dialog-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 10px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.share-box{display:flex;gap:7px;margin-top:16px}.share-box input{min-width:0;flex:1;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:10px;color:#777;background:#fff}.loading-screen{height:100vh;display:grid;place-content:center;justify-items:center;gap:15px;background:#d3ddc7;color:#64705e}.loading-screen img{width:90px;height:90px;border-radius:24px;box-shadow:var(--shadow)}.desktop-gate{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.setup-dimensions.secondary{margin-top:10px}.dialog-actions .danger{color:#9a5d50;background:#f8e9e1}.position-fields{grid-template-columns:1fr 1fr;margin-top:7px}.swatches{flex-wrap:wrap}.inspector-section h3 .active-color{text-transform:capitalize;font-size:10px;color:#72796d}.swatches{display:grid;grid-template-columns:repeat(4,29px);gap:8px}.catalog-card{cursor:grab}.catalog-card:active{cursor:grabbing}.countertop-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.countertop-grid button{position:relative;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;padding:5px;text-align:left;color:var(--ink);cursor:pointer}.countertop-grid button.selected{border-color:#728267;box-shadow:0 0 0 2px #72826724}.countertop-grid button>span{display:block;width:38px;height:31px;border-radius:7px;background-size:cover}.countertop-grid button>small{font-size:9px;font-weight:700}.countertop-grid button>svg{position:absolute;left:27px;top:2px;background:#708163;color:#fff;border-radius:50%;padding:2px}.placement-controls{position:absolute;z-index:14;display:flex;gap:5px;padding:5px;border:1px solid rgba(77,88,70,.16);border-radius:15px;background:#fffdf7f7;box-shadow:0 9px 24px #2d362740;transform:translate(-50%,-112%);opacity:0;transition:opacity .12s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.placement-controls button{width:36px;height:36px;border:0;border-radius:11px;display:grid;place-items:center;background:#eeeade;color:#687363;cursor:pointer;box-shadow:inset 0 0 0 1px #525b4c14}.placement-controls button:hover{background:#e2e7d7}.placement-controls .placement-confirm{background:#6f9d4d;color:#fff;box-shadow:0 3px 8px #517e3347}.placement-controls .placement-confirm:hover{background:#638f43}.placement-controls .placement-cancel{background:#f1ddd4;color:#9a594c}.placement-controls .placement-cancel:hover{background:#ead0c5}.selected-controls{align-items:center}.selected-action-row{display:flex;gap:5px}.placement-controls .move-toggle{position:relative;color:#758368;background:#f0eee3;border:2px solid transparent}.placement-controls .move-toggle[aria-pressed=true]{background:#809567;color:#fff;border-color:#536b40;box-shadow:inset 0 1px 1px #ffffff30}.placement-controls .move-toggle[aria-pressed=true]:after{content:"";position:absolute;bottom:3px;left:calc(50% - 7px);width:14px;height:2px;border-radius:2px;background:currentColor}.tile-controls{align-items:center;transform:translate(-50%,-125%)}.tile-draft-label{height:36px;display:flex;align-items:center;gap:6px;padding:0 8px 0 6px;border-right:1px solid rgba(77,88,70,.12);font-size:10px;font-weight:800;color:#65725f;white-space:nowrap}.tile-controls.erasing .tile-draft-label{color:#9a594c}.tile-controls.erasing .placement-confirm{background:#b96f5e}.tile-controls.erasing .placement-confirm:hover{background:#aa6252}.finishes-panel{overflow:auto;padding-bottom:24px}.finish-intro{margin:10px 0 16px;color:#7e8278;font-size:11px;line-height:1.5}.finish-section{border-top:1px solid var(--line);padding-top:14px;margin-top:13px}.finish-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:9px}.finish-heading span{display:block;font-family:Fraunces,serif;font-size:15px;font-weight:600;color:#4d5549}.finish-heading small{display:block;margin-top:2px;color:#999b91;font-size:8px;letter-spacing:.025em}.finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.finish-grid button{position:relative;min-width:0;display:grid;grid-template-columns:38px 1fr 14px;align-items:center;gap:7px;padding:5px;border:1px solid #e4dfd2;border-radius:11px;background:#fffdf8;color:#5c6458;text-align:left;cursor:pointer}.finish-grid button:hover{border-color:#b8c2aa;background:#f8f8ef}.finish-grid button.selected{border-color:#708661;background:#f0f3e9;box-shadow:0 0 0 1px #70866129}.finish-thumb{width:38px;height:38px;border-radius:8px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #4843391f}.finish-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800}.finish-name small{display:block;margin-top:2px;color:#96988e;font-size:7px;font-weight:600}.finish-grid button>svg{color:#6f8e59}.finishes-panel .mini-tip{margin-top:17px}.window-placement-note{position:absolute;left:50%;bottom:115px;transform:translate(-50%);max-width:min(440px,80%);padding:10px 16px;border-radius:12px;background:#fff9eb;color:#4b533e;box-shadow:0 3px 15px #32392024;font-size:13px;text-align:center;pointer-events:none;z-index:5}.placement-confirm:disabled{opacity:.35;cursor:not-allowed}.item-illustration.window{background:#e3e7df;overflow:hidden}.item-illustration.window img{width:100%;height:100%;object-fit:contain;transform:scale(1.18);pointer-events:none}.item-illustration.has-model-preview{background:#e3e7df;overflow:hidden}.item-illustration.has-model-preview img{width:100%;height:100%;object-fit:contain;transform:scale(1.12);pointer-events:none}.outdoor-settings summary{cursor:pointer;font-weight:800;padding:10px 0}.outdoor-settings label{display:grid;gap:5px;margin:12px 0;font-size:12px;font-weight:700}.outdoor-settings select{width:100%;padding:9px;border:1px solid #78836355;border-radius:9px;background:var(--panel, #fff9eb);color:inherit}.dark-mode .outdoor-settings select{background:#303b32;color:#eee4d1}.canvas-tools button{flex-shrink:0}.finish-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finish-library button{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:7px;text-align:left;position:relative}.finish-library .finish-thumb{width:100%;height:68px;border-radius:7px}.finish-library .finish-name{white-space:normal;padding:6px 1px}.finish-library button>svg{position:absolute;top:12px;right:12px;background:var(--panel,#fff);border-radius:50%}.finishes-panel>input,.finishes-panel>label{width:100%;margin:8px 0}.wall-construction{margin-bottom:16px;padding:12px;border:1px solid var(--line,#ccc);border-radius:12px}.wall-construction p{font-size:12px}.wall-construction label{display:block;margin:8px 0}.wall-construction input,.wall-construction select{width:100%}.opening-draft-size{position:absolute;top:100px;left:50%;transform:translate(-50%);z-index:12;background:var(--panel,#f6f1e5);padding:10px 16px;border-radius:14px;box-shadow:0 3px 20px #0003;max-width:360px}.opening-draft-size label{display:flex;align-items:center;gap:12px}.opening-draft-size input{width:100px}.opening-draft-size span{display:block;font-size:12px;margin-top:6px}.finishes-panel>label,.wall-construction label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--ink)}.finishes-panel input,.finishes-panel select,.opening-draft-size input{font:inherit;color:inherit;min-width:0;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper,#fffdf7)}.finishes-panel>input{font-size:13px}.finishes-panel .finish-name{font-size:12px}.finishes-panel .finish-name small{display:block;font-size:10px;color:var(--muted,#77836d);margin-top:3px}.finishes-panel>.segmented{margin:14px 0 8px}.wall-construction button{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:9px;background:var(--paper,#fffdf7);padding:8px;cursor:pointer}.wall-construction button:disabled{opacity:.4;cursor:default}.wall-construction summary{font-size:13px;font-weight:700;cursor:pointer}.opening-draft-size input{width:110px}.run-controls{position:absolute;left:16px;bottom:85px;z-index:12;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:calc(100% - 32px);padding:10px 12px;background:var(--panel,#f8f6ee);color:var(--ink,#303a32);border:1px solid #a7b49c;border-radius:12px;box-shadow:0 4px 18px #0002;font-size:14px}.run-controls input{width:96px;margin-left:7px}.run-controls span{font-size:13px}.extend-handle{position:absolute;z-index:14;transform:translate(-50%,-50%);width:38px;height:38px;background:#faf7ec;color:#385232;border:2px solid #719351;border-radius:50%;font-size:24px;cursor:ew-resize;touch-action:none;box-shadow:0 2px 7px #0004}.extend-action{width:100%;margin:5px 0}.run-controls button[aria-pressed=true]{background:#719351;color:#fff}[data-theme=dark] .run-controls,.dark-mode .run-controls{background:#28342f;color:#f2f3ed}.run-controls button{border:1px solid var(--line);background:var(--paper,#fffdf7);color:inherit;border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer}.run-controls input{background:var(--paper,#fffdf7);color:inherit;border:1px solid var(--line);border-radius:8px;padding:7px;font:inherit}.run-controls label{display:flex;align-items:center;gap:4px}.extend-action{font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:8px;padding:7px;background:var(--paper,#fffdf7)}.canvas-stage:has(.run-controls) .window-placement-note{bottom:190px}.placement-controls button[aria-pressed=true]{background:#7a915e;color:#fff;box-shadow:inset 0 0 0 2px #4b6337}.rotation-hint{position:absolute;bottom:156px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);width:max-content;padding:10px 16px;border-radius:12px;background:var(--paper,#faf6e9);color:var(--ink,#354333);box-shadow:0 3px 14px #0002;font-size:12px;text-align:center;pointer-events:none;z-index:7}.dark-mode .rotation-hint{background:#303e33;color:#f5eedb}.home-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;flex-direction:column;justify-content:space-between;padding:24px;background:transparent;pointer-events:auto}.home-preview header,.home-preview footer{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--panel,#fffaf0);color:var(--ink,#314134);border:1px solid #a7b499;border-radius:18px;box-shadow:0 8px 32px #0002}.home-preview header{justify-content:space-between}.home-preview header div{display:grid;gap:4px}.home-preview header strong{font-size:22px}.home-preview header span{font-size:16px}.home-preview footer{align-self:center;flex-wrap:wrap}.home-preview button{min-height:44px}.preview-open .canvas-stage{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:800}.preview-open .canvas-stage>*:not(canvas):not(.google-scenery-credits){visibility:hidden}.preview-open>.topbar,.preview-open .workspace>*:not(.canvas-stage),.preview-open>.floor-bar{visibility:hidden}.bp-save-status{margin:0;padding:8px 20px;background:#edf2e7;color:#314134;font-size:14px}.bp-header{flex-wrap:wrap}@media(max-width:700px){.home-preview{padding:10px}.home-preview footer{gap:6px;padding:10px}.home-preview header strong{font-size:18px}}.mobile-navigation,.touch-hint{display:none}@media(max-width:1100px){.app-shell{height:100dvh;grid-template-rows:auto minmax(0,1fr) auto auto}.app-shell>.topbar{grid-row:1;display:flex;flex-wrap:wrap;padding:5px 8px;gap:3px;min-width:0}.topbar .brand{width:auto}.brand div,.brand small{display:none}.brand img{width:32px;height:32px}.project-title{margin:0;flex:1;min-width:0}.project-title input{width:100%;max-width:280px;font-size:16px}.topbar .top-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;gap:2px;padding-bottom:3px}.top-actions>*{flex-shrink:0}.top-actions button{min-height:44px;white-space:nowrap}.app-shell>.workspace{grid-row:2;grid-template-columns:minmax(0,1fr);position:relative;overflow:hidden;min-width:0}.workspace>.canvas-stage{grid-column:1;grid-row:1;min-width:0;min-height:0;width:100%}.workspace>.catalog-slot,.workspace>.inspector-panel{display:none}.mobile-panel-library .workspace>.catalog-slot,.mobile-panel-tools .workspace>.inspector-panel{display:block;position:absolute;inset:auto 0 0;height:65%;height:min(65%,560px);z-index:45;border-radius:18px 18px 0 0;border:1px solid var(--line);box-shadow:0 -8px 32px #26332130;overflow:auto;background:var(--paper)}.workspace .library-panel,.workspace .library-panel.library-expanded{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.app-shell>.mobile-navigation{grid-row:3;display:flex;gap:6px;align-items:center;padding:6px 8px;background:var(--paper);z-index:50;border-top:1px solid var(--line)}.mobile-navigation button{min-height:44px;flex:1;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:13px}.mobile-navigation button[aria-pressed=true]{background:var(--sage);color:#fff}.app-shell>.floorbar{grid-row:4;min-width:0;overflow-x:auto;gap:10px;padding:2px 8px calc(2px + env(safe-area-inset-bottom));min-height:48px}.floor-tabs,.floor-options{flex-shrink:0}.floor-options{display:none}.floor-tabs button{min-height:44px}.canvas-tools{right:6px;top:62px;max-height:calc(100% - 155px);overflow-y:auto;gap:5px}.canvas-tools button{min-width:44px;min-height:44px;flex-shrink:0}.view-toggle{top:8px;left:6px;right:6px;transform:none;width:max-content;max-width:calc(100% - 12px)}.view-toggle button{min-height:44px;font-size:12px;padding:5px 9px}.canvas-toolbar{max-width:calc(100% - 12px);overflow-x:auto;justify-content:flex-start;bottom:6px}.canvas-toolbar button{min-width:48px;min-height:44px;flex-shrink:0}.floor-stats{display:none}.touch-hint{display:block;position:absolute;left:8px;bottom:68px;right:54px;font-size:10px;pointer-events:none;margin:0;color:#374730;background:#fffaf0dc;border-radius:8px;padding:5px}.setup-card{display:block;width:96vw;height:auto;max-height:90dvh;overflow:auto}.setup-art{display:none}.setup-content{padding:25px}.modal-backdrop{padding:10px}.dialog{max-height:90dvh;overflow:auto;padding:24px 18px}.preview-open>.mobile-navigation,.preview-open>.floorbar{visibility:hidden}.blueprint-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.bp-header{height:auto;min-height:60px;gap:6px;padding:8px;flex-wrap:wrap}.bp-header button{min-height:44px}.bp-header nav{overflow-x:auto;max-width:100%;flex-wrap:wrap}.bp-workspace{min-height:0}.bp-toolbar{overflow-x:auto;flex-wrap:nowrap}.bp-button-row{flex-shrink:0}.bp-footer{overflow-x:auto;gap:6px}.bp-footer>*{flex-shrink:0}}@media(pointer:coarse){button{touch-action:manipulation;min-height:44px}input,select,textarea{font-size:16px!important}.catalog-card{touch-action:pan-y}.placement-controls button,.selection-controls button,.extend-handle{min-width:44px;min-height:44px}.variant-swatches button{min-width:36px;min-height:36px}.extend-handle{touch-action:none}.bp-drawing svg{touch-action:none}.home-preview button{min-width:44px}}@media(max-width:1100px){.tool-dock{bottom:6px;max-width:calc(100% - 12px);overflow-x:auto}.tool-dock button{min-width:54px;min-height:44px}.bp-entry{top:62px;left:6px;transform:none;max-width:calc(100% - 62px);white-space:normal}.bp-entry>button{font-size:12px;padding:6px}.canvas-tools{top:112px}.touch-hint{bottom:68px}.blueprint-dialog{top:0;right:0;bottom:0;left:0}.blueprint-dialog[open]{display:flex;flex-direction:column}.blueprint-dialog>.bp-workspace{flex:1;height:auto;min-height:0}}@media(pointer:coarse){.save-control summary{min-height:44px}}@media(max-width:1100px){.save-popover{position:fixed!important;top:95px;left:8px;right:8px;width:auto!important;max-height:65dvh;overflow:auto}.bp-workspace{position:relative}.bp-workspace .bp-sidebar{top:0}.home-preview footer{max-height:40dvh;overflow:auto}}@media(max-width:1100px){.app-shell .workspace:has(>.tool-browser),.app-shell .workspace:has(>.catalog-slot){grid-template-columns:minmax(0,1fr)}.app-shell>.topbar{padding-top:calc(5px + env(safe-area-inset-top))}}@media(max-width:1100px)and (max-height:500px){.mobile-panel-library .workspace>.catalog-slot,.mobile-panel-tools .workspace>.inspector-panel{height:100%}}@media(max-width:1100px){.app-shell>.topbar{z-index:70}.agent-panel{position:fixed;top:105px;left:8px;right:8px;width:auto;max-height:65dvh}.save-popover button,.agent-panel button{white-space:normal}}@media(max-width:1100px){.placement-controls{max-height:calc(100% - 90px);overflow-y:auto}}.bp-boundary-repair{min-width:0;margin:16px 0 4px;padding:12px;border:1px solid #16898b;border-radius:12px;display:grid;gap:9px}.bp-boundary-repair legend{font-weight:800;padding:0 5px}.bp-boundary-repair label{display:grid;gap:5px}.bp-boundary-repair label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:8px}.bp-boundary-repair input[type=checkbox]{width:auto;flex:none}.bp-boundary-repair select{width:100%;min-width:0}.bp-boundary-repair p{margin:0;font-size:13px}.bp-boundary-repair small{line-height:1.4}.listing-loading{position:fixed;inset:30% auto auto 50%;transform:translate(-50%);padding:25px;background:var(--paper);border-radius:20px;z-index:960;display:flex;gap:20px;align-items:center}
