@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#353a32;background:#f8f7f3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #faf9f6;--ink: #353a32;--muted: #7c8176;--accent: #b8613f;--accent-dark: #9f4f31;--line: #e8e7df;--green: #64705b}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b8613f66;outline-offset:3px}button:disabled{opacity:.38;cursor:not-allowed}button{transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}a{color:inherit;text-decoration:none}.skip-link{position:fixed;top:-60px;left:16px;z-index:1000;padding:12px 20px;background:var(--ink);color:#fff;border-radius:8px}.skip-link:focus{top:12px}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{height:77px;flex-shrink:0;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 27px;gap:28px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.2px}.brand-mark{color:var(--accent);display:flex}.brand-dot{color:var(--accent)}.top-divider{height:28px;width:1px;background:var(--line)}.project-title{display:flex;flex-direction:column;gap:5px}.project-title-label,.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:#909486}.project-name{display:flex;align-items:center;gap:12px;font-weight:600;font-size:13px;border:0;background:transparent;padding:0;text-align:left}.project-name:hover{color:var(--accent)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.history-actions{display:flex;gap:3px;margin-right:9px;padding-right:18px;border-right:1px solid var(--line)}.icon-button{width:38px;height:38px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.icon-button:not(:disabled):hover{background:#eaeae3}.icon-button.active{color:var(--accent);background:#f2e8df}.button{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:1px solid transparent;font-weight:550;font-size:12px;white-space:nowrap}.button-primary{background:var(--accent);color:#fffaf5;border-color:var(--accent);box-shadow:0 2px 3px #6d382515}.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.button-primary.saved{background:#66765c;border-color:#66765c}.button-secondary{background:var(--paper);border-color:#ddded4}.button-secondary:hover{background:#f0f0e9;border-color:#c9cbbf}.button-danger{background:#a44838;color:#fff;border-color:#a44838}.button-danger:hover{background:#87382c}.help-button{color:#74796c;margin-left:6px}.main-layout{display:grid;grid-template-columns:303px minmax(0,1fr);flex:1;min-height:0;height:calc(100dvh - 77px)}.catalog-panel{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;position:relative;z-index:10;min-height:0}.panel-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:20px}.panel-tabs button{flex:1;display:flex;gap:8px;align-items:center;justify-content:center;min-height:56px;border:0;background:transparent;color:#8b8e83;font-size:12px;font-weight:550;border-bottom:2px solid transparent}.panel-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.panel-tabs button:not(.active):hover{color:var(--ink)}.catalog-content{overflow-y:auto;padding:26px 20px 20px;flex:1;scrollbar-width:thin;scrollbar-color:#d6d4c9 transparent}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h1{font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-.65px;margin:8px 0 0;font-weight:700}.eyebrow{color:#929887;font-size:9px;letter-spacing:1.5px}.panel-description{color:#85897c;font-size:11px;line-height:1.65;margin:8px 0 20px}.search-field{display:flex;align-items:center;border:1px solid #e2e3da;border-radius:7px;padding:0 11px;height:40px;gap:9px;color:#919689;background:#f5f5ef}.search-field:focus-within{border-color:#b8613f;box-shadow:0 0 0 3px #b8613f11}.search-field input{min-width:0;width:100%;background:transparent;border:none;outline:none;color:var(--ink);font-size:11px}.search-field input::placeholder{color:#92978a}.search-field button{border:0;background:transparent;padding:4px;display:flex}.category-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 17px;gap:4px}.category-tabs button{border:0;background:transparent;border-radius:6px;min-height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#8a8e80}.category-tabs button:hover{background:#f0efe8}.category-tabs button.active{background:#efe6db;color:#9e6448}.catalog-list{display:flex;flex-direction:column;gap:9px}.catalog-card{display:flex;align-items:center;padding:9px 11px 9px 8px;border-radius:8px;border:1px solid #e6e6dd;text-align:left;background:#fdfcf9;gap:11px;position:relative;min-height:84px;cursor:grab}.catalog-card:hover{border-color:#c6ad95;box-shadow:0 3px 10px #4e3c2910;background:#fffefa}.catalog-card:active{cursor:grabbing}.furniture-preview{width:62px;height:62px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f0eee6}.furniture-preview svg{width:42px;height:42px}.preview-plant{background:#edf0e7}.preview-lamp{background:#f3efe2}.preview-sofa,.preview-armchair{background:#f0eae1}.catalog-card-text{display:flex;flex-direction:column;min-width:0;padding-right:8px}.catalog-card-text strong{font-size:11px;font-weight:600;margin-bottom:4px}.catalog-card-text small{font-size:9px;color:#93968a;line-height:1.5}.catalog-size{font-size:8px;color:#999b8e;margin-top:6px;font-variant-numeric:tabular-nums}.add-circle{position:absolute;right:9px;top:9px;color:#989b8f;display:flex}.add-circle svg{width:12px;height:12px}.catalog-card:hover .add-circle{color:var(--accent)}.catalog-tip{display:flex;align-items:flex-start;gap:10px;color:#919383;padding:19px 5px 2px}.catalog-tip svg{flex-shrink:0;margin-top:2px}.catalog-tip p{margin:0;font-size:10px;line-height:1.8}.catalog-tip strong{font-weight:550;color:#737b68}.panel-footer{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line);height:42px;flex-shrink:0;font-size:9px;color:#8d9382}.status-dot{width:5px;height:5px;background:#809372;border-radius:50%}.mobile-close{display:none}.empty-search{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:35px 10px;color:#8c927e}.empty-search strong{font-size:13px}.empty-search span{font-size:11px}.empty-search button{background:transparent;border:0;color:var(--accent);text-decoration:underline;font-size:11px;padding:8px}.settings-section{border-top:1px solid var(--line);padding:20px 0}.settings-section h2{font-size:11px;font-weight:600;margin:0 0 15px;display:flex;align-items:center;gap:8px}.dimension-inputs{display:flex;gap:10px;align-items:end}.dimension-inputs label{flex:1;font-size:10px;color:#8b8f81}.dimension-inputs label>div{display:flex;align-items:center;border:1px solid #dedfd5;border-radius:6px;margin-top:7px;background:#fff;padding:0 10px}.dimension-inputs input{width:100%;min-width:0;border:0;background:transparent;padding:10px 0;font-size:12px;color:var(--ink);outline:none}.dimension-inputs label>div:focus-within{border-color:var(--accent)}.dimension-inputs label>div>span{color:#a1a393;font-size:11px}.dimension-times{padding-bottom:12px;color:#a7ab9d}.field-hint{font-size:9px;line-height:1.7;color:#939789;margin:11px 0 0}.swatches{display:flex;flex-wrap:wrap;gap:9px}.swatch{width:34px;height:34px;border:3px solid var(--paper);outline:1px solid #dddfd4;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4b5144}.swatch.active{outline:2px solid var(--accent);outline-offset:2px}.swatch:hover{outline-color:var(--accent)}.floor-swatch{background-image:repeating-linear-gradient(0deg,transparent 0px,transparent 7px,#614c3533 8px,transparent 9px)}.lighting-options{display:flex;flex-direction:column;gap:8px}.lighting-options button{display:flex;align-items:center;text-align:left;gap:11px;border:1px solid #e0e2d7;border-radius:7px;background:#fdfcf9;padding:11px;color:#808675}.lighting-options button.active{border-color:#c8a181;background:#f5ede2;color:var(--accent)}.lighting-options button>span{display:flex;flex-direction:column;gap:3px;flex:1}.lighting-options strong{font-size:11px;font-weight:550;color:var(--ink)}.lighting-options small{font-size:9px}.workspace{min-width:0;position:relative;overflow:hidden;background:#e5e5df}.workspace-toolbar{position:absolute;top:19px;left:22px;right:22px;z-index:5;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.workspace-toolbar>*{pointer-events:auto}.view-switch{display:flex;padding:4px;border-radius:8px;background:#faf9f3e8;border:1px solid #ffffffa8;box-shadow:0 2px 8px #4d4b3610;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.view-switch button{border:0;background:transparent;display:flex;align-items:center;gap:7px;padding:8px 12px;font-size:10px;color:#878c7d;border-radius:5px}.view-switch button.active{background:#fff;box-shadow:0 1px 4px #46493314;color:#535e48;font-weight:600}.workspace-tools{display:flex;gap:5px;border:1px solid #ffffffa8;background:#faf9f3e8;border-radius:8px;padding:3px;box-shadow:0 2px 8px #4d4b3610}.workspace-tools .icon-button{width:33px;height:33px;color:#737d68}.scene-container{position:absolute;inset:0;touch-action:none}.scene-container canvas{display:block;outline:none}.room-caption{position:absolute;top:78px;left:25px;display:flex;align-items:center;gap:8px;font-size:9px;color:#767d6c;pointer-events:none}.room-caption-dot{width:5px;height:5px;border-radius:50%;background:#7e8a6f}.caption-separator{color:#b4b8ab}.canvas-hint{position:absolute;left:50%;bottom:26px;transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:6px;background:#f9f9f2d9;border:1px solid #ffffffb3;color:#868d7a;font-size:9px;white-space:nowrap;pointer-events:none}.canvas-hint span span{color:#bec3b4;margin:0 5px}.selection-panel{position:absolute;bottom:23px;left:50%;transform:translate(-50%);background:#faf9f5f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffffe6;box-shadow:0 6px 30px #4945311c;border-radius:11px;padding:13px 14px 12px;width:360px;animation:panel-in .2s ease-out}.selection-heading{display:flex;align-items:center;gap:10px}.selection-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;background:#eee9df;border-radius:6px}.selection-icon svg{width:25px;height:25px}.selection-heading>div{display:flex;flex-direction:column;gap:4px;flex:1}.selection-heading strong{font-size:12px;font-weight:600}.selection-heading>div>span{font-size:9px;color:#939889}.selection-heading .icon-button{width:28px;height:28px;color:#999d90}.selection-actions{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:11px;padding:8px 0}.selection-actions button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;border:0;background:transparent;border-radius:5px;font-size:9px;color:#737d67;min-height:30px}.selection-actions button:hover{background:#eceee5;color:#48513f}.selection-actions .delete-action{color:#a66651}.selection-actions .delete-action:hover{background:#f2e6e1}.selection-options{display:flex;align-items:center;justify-content:space-between;padding-top:12px}.selection-options>label{display:flex;align-items:center;gap:9px;font-size:9px;color:#838a76}.mini-swatches{display:flex;gap:5px}.mini-swatches button{border:2px solid var(--paper);width:19px;height:19px;border-radius:50%;outline:1px solid #dbddd1;padding:0}.mini-swatches button.active{outline-color:#7e836f}.size-stepper{display:flex;align-items:center;gap:4px;font-size:9px;font-variant-numeric:tabular-nums}.size-stepper button{display:flex;align-items:center;justify-content:center;background:#eeeee7;border:0;border-radius:4px;width:24px;height:24px}.size-stepper span{width:33px;text-align:center}.clear-room-button{position:absolute;right:21px;bottom:23px;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#919586;font-size:9px;min-height:32px;padding:5px}.clear-room-button:not(:disabled):hover{color:#9c5f48}.mobile-catalog-button{display:none}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;background:#414b38;color:#fafbf5;box-shadow:0 5px 30px #27301c33;border-radius:9px;display:flex;align-items:center;gap:10px;padding:13px 16px;font-size:12px;max-width:calc(100vw - 30px);animation:toast-in .2s ease-out}.toast>svg{color:#c3d6ad;flex-shrink:0}.toast button{border:0;background:transparent;color:#c8cfc0;display:flex;padding:4px}.modal-backdrop{position:fixed;inset:0;background:#30352d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;animation:fade-in .2s ease-out}.modal{background:#faf9f5;border-radius:15px;box-shadow:0 20px 90px #20251c33;width:550px;max-width:100%;padding:29px;max-height:calc(100dvh - 40px);overflow-y:auto;animation:panel-in .25s ease-out}.modal-heading{display:flex;align-items:flex-start;gap:10px}.modal-heading>div{flex:1}.modal h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.8px;margin:8px 0}.modal-heading p{color:#8a8f7f;font-size:11px;line-height:1.7;margin:0}.save-new{display:flex;gap:10px;padding:22px 0;border-bottom:1px solid var(--line)}.save-new input{min-width:0;flex:1;border:1px solid #dddfd4;border-radius:7px;padding:10px 12px;background:#fff;font-size:11px;color:var(--ink)}.saved-designs{padding-top:14px;display:flex;flex-direction:column;gap:8px}.saved-card{display:flex;border:1px solid #e2e4d8;background:#fdfcf8;border-radius:8px;align-items:center}.saved-card-main{display:flex;align-items:center;gap:13px;flex:1;background:transparent;border:0;text-align:left;padding:13px;min-width:0}.saved-room-icon{width:57px;height:57px;border-radius:7px;background:#eee9df;color:#a7896d;display:flex;align-items:center;justify-content:center}.saved-card-main>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1}.saved-card-main strong{font-size:12px;font-weight:600}.saved-card-main small{font-size:9px;color:#8d9381}.saved-card-main>svg{color:#969e87}.saved-card>.icon-button{margin-right:8px;color:#a0907f}.empty-library{display:flex;align-items:center;flex-direction:column;color:#939b83;text-align:center;padding:28px 10px 10px}.empty-library h3{color:#565f4c;font-size:14px;margin:15px 0 0}.empty-library p{font-size:11px;line-height:1.7}.help-steps{display:flex;flex-direction:column;gap:22px;padding:25px 0}.help-steps>div{display:flex;gap:14px;align-items:flex-start}.help-steps>div>svg{width:22px;color:var(--accent);flex-shrink:0}.help-steps strong{font-size:12px}.help-steps p{font-size:11px;line-height:1.7;color:#858c77;margin:5px 0 0}.shortcuts{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:10px}.shortcuts h3{margin:0 0 5px;font-size:12px}.shortcuts>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#858c77}.shortcuts>span:first-letter{margin-right:auto}kbd{font-family:inherit;background:#edeee6;border:1px solid #dedfd4;border-radius:4px;padding:3px 6px;font-size:9px;color:#6e775e}.privacy-note{display:flex;align-items:center;gap:7px;color:#859374;font-size:10px;margin:23px 0 0}.confirm-modal{width:390px;text-align:center}.confirm-icon{width:50px;height:50px;background:#f2e6df;color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 17px}.confirm-modal h2{font-size:21px}.confirm-modal p{font-size:11px;line-height:1.8;color:#858c77}.confirm-modal>div{display:flex;gap:10px;margin-top:23px}.confirm-modal .button{flex:1}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(min-width:1500px){.main-layout{grid-template-columns:330px minmax(0,1fr)}.catalog-content{padding:29px 25px 22px}.catalog-card{min-height:93px}.furniture-preview{width:70px;height:70px}.catalog-card-text strong{font-size:12px}.catalog-card-text small{font-size:10px}.selection-panel{width:390px}}@media(max-width:1050px){.topbar{gap:18px;padding:0 18px}.main-layout{grid-template-columns:270px minmax(0,1fr)}.catalog-content{padding-left:16px;padding-right:16px}.header-actions{gap:8px}.history-actions{margin-right:3px;padding-right:9px}.project-title-label{display:none}.project-name{font-size:11px}.canvas-hint{font-size:8px}.clear-room-button{bottom:84px}}@media(max-width:800px){.topbar{height:65px;padding:0 15px;gap:15px}.brand{font-size:23px}.project-title,.top-divider,.library-button{display:none}.header-actions{gap:6px}.history-actions{border:0;padding:0;margin:0}.help-button{margin-left:0;width:32px}.main-layout{height:calc(100dvh - 65px);grid-template-columns:minmax(0,1fr)}.catalog-panel{display:none;position:absolute;inset:65px auto 0 0;width:min(330px,92vw);z-index:30;box-shadow:15px 0 50px #30362822}.catalog-panel.mobile-open{display:flex}.catalog-content{padding:25px 22px}.mobile-close{display:flex}.catalog-card{min-height:87px}.catalog-card-text strong{font-size:12px}.catalog-card-text small{font-size:10px}.category-tabs button{min-height:58px}.workspace-toolbar{top:14px;left:14px;right:14px}.mobile-catalog-button{display:flex;min-height:38px;font-size:10px;padding:0 11px}.view-switch{position:absolute;top:52px;left:0}.workspace-tools .icon-button{width:30px}.room-caption{top:110px;left:18px;font-size:9px}.canvas-hint{bottom:20px;max-width:calc(100% - 28px);white-space:normal;text-align:center;line-height:1.6;font-size:9px}.selection-panel{bottom:16px;width:min(360px,calc(100% - 28px))}.clear-room-button{display:none}.panel-footer{height:44px}}@media(max-width:480px){.brand{font-size:21px;gap:6px}.brand-mark svg{width:21px}.header-actions .history-actions{display:none}.header-actions .button{padding:0 11px;font-size:11px;min-height:38px}.help-button{display:none}.workspace-tools{gap:0}.workspace-tools .icon-button{width:29px}.view-switch button{padding:8px 10px}.room-caption{gap:6px}.modal{padding:22px 18px}.modal h2{font-size:21px}.save-new{flex-direction:column}.save-new input,.save-new .button{min-height:43px}.selection-options{gap:8px}.mini-swatches{gap:4px}.mini-swatches button{width:17px;height:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
