@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@600&display=swap";:root{color-scheme:light;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--ink: #25221e;--muted: #746d64;--faint: #a49c91;--paper: #fdfcf9;--canvas: #ebe5db;--line: #e4ded4;--line-strong: #d3cabd;--accent: #9a704d;--accent-dark: #765238;--accent-soft: #f0e6db;--danger: #a64f43;--warning: #bd7e32;--success: #4f765c;--shadow-sm: 0 7px 20px rgba(45, 34, 23, .07);--shadow-lg: 0 24px 70px rgba(38, 28, 18, .16)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;overflow:hidden;background:var(--canvas);color:var(--ink)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(154,112,77,.52);outline-offset:2px}.app-shell{display:grid;grid-template-columns:68px minmax(440px,1fr) 372px;grid-template-rows:72px minmax(0,1fr);width:100%;height:100%;background:var(--canvas)}.topbar{position:relative;z-index:20;grid-column:1 / -1;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:24px;height:72px;padding:0 18px 0 16px;border-bottom:1px solid var(--line);background:#fdfcf9f5;box-shadow:0 1px #ffffffe6;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#28231e;color:#f7f1e8;box-shadow:inset 0 0 0 1px #ffffff14}.brand-mark span{font-family:Playfair Display,Georgia,serif;font-size:23px;transform:translateY(-1px)}.brand>div:last-child{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:600;letter-spacing:-.02em}.brand>div:last-child span{margin-top:3px;color:var(--faint);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.project-title{min-width:0;text-align:center}.project-title strong{display:block;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.save-state{display:inline-flex;align-items:center;gap:6px;margin-bottom:3px;color:var(--faint);font-size:10px}.save-state i{width:6px;height:6px;border-radius:50%;background:var(--success)}.topbar-actions{display:flex;align-items:center;gap:10px}.price-compact{display:flex;flex-direction:column;align-items:flex-end;margin-right:4px}.price-compact span{color:var(--faint);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.price-compact strong{font-size:15px;letter-spacing:-.03em}.primary-button,.summary-button,.download-button{min-height:42px;border:0;border-radius:12px;cursor:pointer;font-size:12px;font-weight:700;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.primary-button{padding:0 18px;background:#28231e;color:#fff;box-shadow:0 9px 22px #271f1729}.primary-button:hover{background:#171411;transform:translateY(-1px)}.primary-button.full{width:100%;min-height:48px}.summary-button{position:relative;padding:0 14px;border:1px solid var(--line);background:#fff}.summary-button span{position:absolute;top:-6px;right:-6px;display:grid;width:18px;height:18px;place-items:center;border:2px solid var(--paper);border-radius:50%;background:var(--warning);color:#fff;font-size:9px}.tool-rail{position:relative;z-index:10;grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px 9px;border-right:1px solid var(--line);background:#faf8f4f0}.tool-group{display:flex;flex-direction:column;gap:7px}.tool-button{display:grid;width:46px;height:46px;place-items:center;border:1px solid transparent;border-radius:13px;background:transparent;color:#625b53;cursor:pointer;transition:.15s ease}.tool-button:hover{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.tool-button:disabled{cursor:default;opacity:.3}.tool-button:disabled:hover{border-color:transparent;background:transparent;box-shadow:none}.tool-divider{width:28px;height:1px;margin:3px 0;background:var(--line)}.tool-spacer{flex:1}.stage{position:relative;grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.85),transparent 48%),var(--canvas)}.canvas-shell{position:absolute;inset:0}.planner-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.planner-canvas.is-module-ready{cursor:ew-resize}.planner-canvas.is-dragging-module{cursor:grabbing}.planner-canvas.is-dragging-item{cursor:ns-resize}.scene-hint{position:absolute;bottom:22px;left:50%;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:#fdfcf9bd;color:#6d645c;font-size:10px;box-shadow:0 10px 30px #2b211714;transform:translate(-50%);backdrop-filter:blur(14px);pointer-events:none}.scene-hint__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #9a704d1f}.stage-meta{position:absolute;top:18px;left:18px;z-index:4;display:flex;gap:7px;pointer-events:none}.stage-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.64);border-radius:999px;background:#fdfcf9c2;color:#655d54;font-size:10px;font-weight:600;box-shadow:0 8px 22px #2c22180f;backdrop-filter:blur(14px)}.camera-switcher{position:absolute;top:18px;right:18px;z-index:4;display:flex;padding:4px;border:1px solid rgba(255,255,255,.68);border-radius:13px;background:#fdfcf9c2;box-shadow:0 8px 22px #2c221812;backdrop-filter:blur(14px)}.camera-switcher button{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#766d63;cursor:pointer;font-size:10px;font-weight:700}.camera-switcher button.is-selected,.camera-switcher button:hover{background:#fff;color:var(--ink);box-shadow:0 3px 10px #28201714}.camera-switcher__divider{width:1px;margin:6px 3px;background:#5c4e3f1f}.inspector{position:relative;z-index:12;grid-column:3;grid-row:2;min-height:0;border-left:1px solid var(--line);background:var(--paper)}.panel-header{min-height:104px;padding:22px 22px 16px;border-bottom:1px solid var(--line)}.panel-header h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;letter-spacing:-.025em}.panel-header p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.back-button{display:inline-flex;align-items:center;gap:3px;margin:-6px 0 10px -7px;padding:5px 7px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;font-weight:700}.back-button:hover{background:var(--accent-soft);color:var(--accent-dark)}.inspector-content{height:calc(100% - 104px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8d0c6 transparent}.inspector-content::-webkit-scrollbar{width:6px}.inspector-content::-webkit-scrollbar-thumb{border-radius:999px;background:#d8d0c6}.project-overview{margin:18px;padding:17px;border:1px solid #ded5c8;border-radius:17px;background:linear-gradient(135deg,#ffffffd1,#f2e9ddd6),#f6f0e8;box-shadow:inset 0 1px #ffffffe6}.eyebrow{display:block;margin-bottom:7px;color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.project-overview h3,.section-heading h3,.item-editor h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em}.project-overview__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.project-overview__stats span{display:flex;flex-direction:column;color:var(--muted);font-size:9px}.project-overview__stats strong{margin-bottom:2px;color:var(--ink);font-size:15px}.navigation-list{display:flex;flex-direction:column;padding:0 10px 20px}.navigation-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;width:100%;min-height:70px;padding:11px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;transition:.15s ease}.navigation-card:hover{border-bottom-color:transparent;border-radius:14px;background:#f7f3ed;transform:translate(2px)}.navigation-card__icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid #e4d9cb;border-radius:12px;background:#f4eee6;color:var(--accent-dark)}.navigation-card__copy,.navigation-card__title{min-width:0}.navigation-card__title{display:flex;align-items:center;gap:7px;margin-bottom:4px;font-size:12px;font-weight:700}.navigation-card__description{display:block;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.navigation-card__badge{display:inline-grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:#eee4d9;color:var(--accent-dark);font-size:9px}.navigation-card>svg{color:#a69d93}.panel-section,.item-editor{margin:0;padding:18px;border-bottom:1px solid var(--line)}.section-heading,.item-editor__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.section-metric{padding:6px 8px;border-radius:8px;background:#f3eee7;color:var(--muted);font-size:9px;font-weight:700}.module-list,.material-list,.choice-list,.item-list{display:flex;flex-direction:column;gap:7px}.module-card{position:relative;display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.module-card:hover{border-color:var(--line-strong)}.module-card.is-selected{border-color:#b89372;background:#fbf7f2;box-shadow:0 0 0 2px #9a704d14}.module-card.has-warning{padding-right:28px}.module-card__number{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:#f1ece5;color:var(--muted);font-size:10px;font-weight:700}.module-card strong,.module-card small,.material-card strong,.material-card small,.item-row strong,.item-row small,.catalog-grid strong,.catalog-grid small,.choice-list strong,.choice-list small{display:block}.module-card strong,.material-card strong,.item-row strong,.catalog-grid strong,.choice-list strong{font-size:10px;font-weight:700}.module-card small,.material-card small,.item-row small,.catalog-grid small,.choice-list small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:500}.warning-dot{position:absolute;top:50%;right:10px;width:7px;height:7px;border-radius:50%;background:var(--warning);transform:translateY(-50%);box-shadow:0 0 0 4px #bd7e321c}.select-field,.dimension-field,.range-field,.hex-field,.order-dialog label{display:flex;flex-direction:column;gap:6px;margin-top:12px}.select-field>span,.dimension-field>span:first-child,.range-field>span,.hex-field>span,.order-dialog label>span{color:var(--muted);font-size:9px;font-weight:600}.select-field select,.dimension-field__control,.order-dialog input,.order-dialog textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}.select-field select{height:42px;padding:0 11px;font-size:10px}.select-field select:disabled,.choice-list button:disabled{cursor:not-allowed;opacity:.42}.dimension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dimension-field__control{display:flex;align-items:center;height:42px;overflow:hidden}.dimension-field__control input{min-width:0;width:100%;height:100%;padding:0 4px 0 10px;border:0;outline:0;background:transparent;font-size:10px;font-weight:700}.dimension-field__control>span{padding-right:8px;color:var(--faint);font-size:8px}.dimension-field.is-invalid>span:first-child{color:var(--danger)}.dimension-field.is-invalid .dimension-field__control{border-color:var(--danger);background:#a64f430e;box-shadow:0 0 0 3px #a64f431a}.dimension-field.is-invalid .dimension-field__control input,.dimension-field.is-invalid .dimension-field__control>span{color:var(--danger)}.danger-button,.download-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:13px;border:1px solid #ead5d1;background:#fff9f8;color:var(--danger)}.danger-button{min-height:40px;border-radius:11px;cursor:pointer;font-size:10px;font-weight:700}.danger-button:disabled{cursor:default;opacity:.35}.add-module-grid,.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.add-module-grid button,.catalog-grid button{display:flex;align-items:center;gap:8px;min-height:58px;padding:8px 9px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.add-module-grid button:hover,.catalog-grid button:hover{border-color:#c7ad94;background:#fbf7f2}.add-module-grid button>svg{flex:0 0 auto;color:var(--accent)}.add-module-grid strong,.add-module-grid small{display:block}.add-module-grid strong{font-size:10px}.add-module-grid small{margin-top:2px;color:var(--muted);font-size:8px}.material-card{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:62px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.material-card.is-selected,.choice-list button.is-selected{border-color:#b89372;background:#fbf7f2}.material-card__sample{width:48px;height:46px;border:1px solid rgba(0,0,0,.08);border-radius:9px;background-size:120% 100%;box-shadow:inset 0 0 0 1px #ffffff2e}.radio-mark{position:relative;width:16px;height:16px;border:1px solid #cfc5b9;border-radius:50%}.is-selected>.radio-mark{border-color:var(--accent)}.is-selected>.radio-mark:after{position:absolute;inset:3px;border-radius:50%;background:var(--accent);content:""}.soft-note,.success-note{margin-top:13px;padding:11px 12px;border-radius:11px;background:#f5f1eb;color:var(--muted);font-size:9px;line-height:1.55}.item-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;padding:7px 9px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.item-row.is-selected{border-color:#b89372;background:#fbf7f2}.item-row__icon,.catalog-grid__icon{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:#f2ece5;color:var(--accent-dark)}.item-row__height{padding:5px 6px;border-radius:7px;background:#f2eee8;color:var(--muted);font-size:8px;font-weight:700}.empty-state{display:flex;flex-direction:column;align-items:center;padding:24px 12px;border:1px dashed var(--line-strong);border-radius:13px;color:var(--muted);text-align:center}.empty-state strong{margin-top:8px;color:var(--ink);font-size:11px}.empty-state span{margin-top:4px;font-size:9px}.item-editor{background:#f8f4ee}.icon-danger{display:grid;width:32px;height:32px;place-items:center;border:1px solid #ead5d1;border-radius:9px;background:#fff;color:var(--danger);cursor:pointer}.range-field>span{display:flex;justify-content:space-between}.range-field strong{color:var(--ink)}.range-field input{width:100%;accent-color:var(--accent)}.select-field.compact{margin-top:15px}.catalog-grid button{min-height:64px}.catalog-grid__icon{flex:0 0 auto}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:#f4f0ea}.segmented-control.two{grid-template-columns:1fr 1fr}.segmented-control button{min-height:36px;padding:0 5px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:9px;font-weight:700}.segmented-control button.is-selected{background:#fff;color:var(--ink);box-shadow:0 3px 9px #2b221914}.choice-list button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.wall-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.wall-palette button{position:relative;aspect-ratio:1;border:1px solid rgba(54,45,35,.13);border-radius:10px;cursor:pointer}.wall-palette button.is-selected{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--accent)}.hex-field{position:relative;display:grid;grid-template-columns:1fr 38px auto;align-items:center;gap:8px;margin-top:14px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff}.hex-field>span{margin:0}.hex-field input{width:34px;height:28px;padding:0;overflow:hidden;border:0;border-radius:7px;background:transparent;cursor:pointer}.hex-field code{color:var(--muted);font-size:9px}.summary-price{padding:24px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#29241f,#4c3b2d);color:#fff}.summary-price span,.summary-price small{display:block;color:#ffffffa3;font-size:9px}.summary-price strong{display:block;margin:7px 0 5px;font-family:Playfair Display,Georgia,serif;font-size:31px;font-weight:600;letter-spacing:-.04em}.price-lines>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.price-lines>div:last-child{border-bottom:0}.price-lines span{color:var(--muted)}.status-orb{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#e7f0e9;color:var(--success)}.status-orb.warning{background:#f8ebdc;color:var(--warning)}.validation-list{display:flex;flex-direction:column;gap:8px}.validation-item{display:grid;grid-template-columns:7px 1fr;gap:9px;padding:9px 10px;border-radius:10px;background:#faf5ef}.validation-item>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--warning)}.validation-item.error>span{background:var(--danger)}.validation-item p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.download-button{margin-top:0;margin-bottom:8px;border-color:var(--line);background:#fff;color:var(--ink)}.download-button:disabled{cursor:wait;opacity:.68}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#1e19145c;backdrop-filter:blur(9px);animation:fade-in .17s ease}.order-dialog{position:relative;width:min(440px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:28px;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:var(--paper);box-shadow:var(--shadow-lg);animation:dialog-in .22s ease}.dialog-error{margin:2px 0 10px;padding:10px 12px;border:1px solid rgba(165,77,61,.22);border-radius:10px;background:#fff5f2;color:var(--danger);font-size:10px;line-height:1.4}.order-dialog button:disabled{cursor:wait;opacity:.62}.order-dialog h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:26px;letter-spacing:-.03em}.order-dialog>p{margin:9px 0 17px;color:var(--muted);font-size:11px;line-height:1.55}.dialog-close{position:absolute;top:16px;right:16px;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.order-dialog input,.order-dialog textarea{padding:11px 12px;resize:vertical;font-size:11px}.order-dialog form .primary-button{margin-top:18px}.toast{position:fixed;bottom:24px;left:50%;z-index:120;max-width:min(460px,calc(100vw - 30px));padding:11px 15px;border-radius:11px;background:#28231e;color:#fff;box-shadow:var(--shadow-lg);font-size:10px;opacity:0;transform:translate(-50%,12px);transition:.18s ease;pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%)}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:1120px){.app-shell{grid-template-columns:60px minmax(380px,1fr) 340px}.topbar{grid-template-columns:210px 1fr auto}.price-compact{display:none}}@media(max-width:860px){body{overflow:auto}.app-shell{display:grid;grid-template-columns:1fr;grid-template-rows:64px 52vh auto;min-height:100%;height:auto}.topbar{position:sticky;top:0;grid-column:1;grid-row:1;grid-template-columns:1fr auto;height:64px;padding:0 12px}.brand-mark{width:38px;height:38px}.project-title,.summary-button{display:none}.primary-button{min-height:38px;padding:0 12px;font-size:10px}.tool-rail{position:absolute;top:76px;left:10px;z-index:30;display:flex;grid-column:auto;grid-row:auto;flex-direction:row;width:auto;padding:4px;border:1px solid rgba(255,255,255,.65);border-radius:13px;background:#fdfcf9c7;box-shadow:var(--shadow-sm);backdrop-filter:blur(14px)}.tool-group{flex-direction:row;gap:2px}.tool-button{width:36px;height:36px}.tool-group:nth-of-type(2) .tool-button:nth-child(n+3),.tool-divider,.tool-spacer,.tool-rail>.tool-button{display:none}.stage{grid-column:1;grid-row:2;min-height:360px}.stage-meta{top:auto;bottom:15px;left:10px}.scene-hint{display:none}.camera-switcher{top:12px;right:10px}.inspector{grid-column:1;grid-row:3;min-height:600px;border-top:1px solid var(--line);border-left:0}.inspector-content{height:auto;overflow:visible}.dialog-backdrop{align-items:end;padding:0}.order-dialog{width:100%;max-height:88vh;border-radius:22px 22px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
