@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";@media (width<=1400px){.closure-label-text{display:none}}@media (width<=1100px){.topbar,.splash-hero,.panel-grid,.editor-layout,.step-nav{grid-template-columns:1fr}.canvas-toolbar,.preview-toolbar{flex-direction:column}.topbar h1{max-width:14ch}.entity-switchers{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:18px}.loading-shell,.splash-shell,.topbar{padding:20px}.topbar h1{font-size:2.4rem}.splash-copy,.splash-card{padding:22px}.splash-copy h1{font-size:2.9rem}.floorplan-controls,.inline-fields,.outline-toolbar,.direction-picker{grid-template-columns:1fr}.three-stage{height:500px}.three-stage-overlay{grid-template-columns:1fr auto;top:12px;left:12px;right:12px}.three-stage-stats{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}}:root{color:#182127;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:radial-gradient(circle at 0 0,#debe9461,#0000 28%),radial-gradient(circle at 100% 0,#80a29238,#0000 26%),linear-gradient(#f5efe7 0%,#ece7df 48%,#e4ebe4 100%);font-family:Manrope,Avenir Next,Helvetica Neue,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0,#ffffffa8,#0000 28%),linear-gradient(#ffffff61,#fff0);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app-shell{max-width:1480px;margin:0 auto;padding:28px}.topbar,.panel,.canvas-panel{border:1px solid #19212714;box-shadow:0 20px 60px #1d282d14}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffbf6f0,#faf6f0db);border-radius:32px;grid-template-columns:minmax(0,1.2fr) minmax(360px,.95fr);gap:28px;padding:28px;display:grid}.topbar-copy{align-content:end;gap:12px;display:grid}.topbar h1{letter-spacing:-.06em;max-width:11ch;margin:0;font-size:clamp(2.2rem,4.4vw,4.25rem);line-height:.95}.topbar-summary{color:#5f675f;max-width:44ch;margin:0;font-size:1rem}.hero-tags{flex-wrap:wrap;gap:10px;display:flex}.hero-tags span{color:#435058;background:#1821270f;border-radius:999px;padding:10px 14px;font-size:.84rem;font-weight:600}.topbar-controls{align-content:end;gap:14px;display:grid}.account-card,.sync-card{background:#ffffff85;border:1px solid #19212714;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex;box-shadow:inset 0 1px #ffffff80}.account-card strong,.sync-card strong{color:#1f2a30;margin-top:4px;display:block}.account-signout{white-space:nowrap}.sync-saving{border-color:#1f5d5233}.sync-saved{border-color:#1f5d5229}.sync-error{background:#fff7f4b8;border-color:#a34b323d}.project-name{color:#556067;gap:6px;display:grid}.project-card,.entity-card{background:#ffffff85;border:1px solid #19212714;border-radius:22px;padding:16px;box-shadow:inset 0 1px #ffffff80}.project-name input,.entity-row select,.inline-fields input,.inspector select,.inspector input,label>input,label>select{color:#1a2329;background:#ffffffe0;border:1px solid #1921271a;border-radius:16px;width:100%;padding:14px 16px;transition:border-color .16s,box-shadow .16s,background-color .16s}.project-name input:focus,.entity-row select:focus,.inline-fields input:focus,.inspector select:focus,.inspector input:focus,label>input:focus,label>select:focus{border-color:#21695d52;outline:none;box-shadow:0 0 0 4px #21695d14}.entity-switchers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entity-card{gap:10px;display:grid}.entity-card-header,.entity-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.entity-row{color:#445057}.entity-icon{color:#1f5d52;background:#1f5d5214;border-radius:14px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.entity-row select{flex:1}.icon-button,.link-button{color:#1f5d52;cursor:pointer;background:0 0;border:0}.icon-button{background:#1f5d521a;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.link-button{text-align:left;padding:0;font-size:.88rem;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:inherit;opacity:.6;font-size:.78rem}.step-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.step-card{text-align:left;color:#192127;cursor:pointer;background:#fffcf8ad;border:0;border-radius:20px;gap:6px;padding:20px;display:grid;box-shadow:inset 0 0 0 1px #1921270f}.step-card.is-active{background:linear-gradient(135deg,#edd1aa,#f4f0db);box-shadow:0 18px 32px #594a2f14}.step-index{letter-spacing:.18em;opacity:.65;font-size:.75rem}.workspace{gap:18px;display:grid}.panel-grid{grid-template-columns:1.1fr .9fr;gap:18px;display:grid}.editor-layout{grid-template-columns:1.5fr .7fr;gap:18px;display:grid}.panel,.canvas-panel{background:#fffbf5e6;border-radius:28px;padding:24px}.loading-shell,.splash-shell{align-items:center;min-height:100vh;padding:28px;display:grid}.loading-card{width:min(560px,100%);margin:0 auto}.splash-hero{grid-template-columns:minmax(0,1.2fr) minmax(360px,.82fr);align-items:stretch;gap:28px;width:min(1320px,100%);margin:0 auto;display:grid}.splash-copy,.splash-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #19212714;border-radius:32px;box-shadow:0 20px 60px #1d282d14}.splash-copy{background:radial-gradient(circle at 0 0,#debe9433,#0000 30%),linear-gradient(#fffbf6f0,#faf6f0db);gap:18px;padding:34px;display:grid}.splash-copy h1{letter-spacing:-.07em;max-width:12ch;margin:0;font-size:clamp(2.6rem,5vw,5rem);line-height:.94}.splash-summary{color:#5f675f;max-width:46ch;margin:0;font-size:1.04rem}.splash-points{gap:14px;display:grid}.splash-point{background:#ffffff70;border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:18px;display:grid}.splash-point p,.splash-card p{margin:4px 0 0}.splash-card{background:linear-gradient(#fffcf8eb,#f8f4eee0);align-content:start;gap:14px;padding:28px;display:grid}.splash-card h2{margin:0;font-size:2rem}.splash-form{gap:14px;display:grid}.splash-submit{justify-content:center}.status-banner{border-radius:18px;align-items:center;gap:10px;margin:0;padding:14px 16px;display:flex}.status-banner.is-success{color:#1f5d52;background:#1f5d521a}.status-banner.is-warning{color:#51432b;background:#e4d4be80}.status-banner.is-error{color:#8a432f;background:#a34b3214}.outline-panel{flex-direction:column;min-height:0;max-height:calc(100vh - 240px);display:flex}.panel-preview{min-height:100%}.canvas-preview-panel{flex-direction:column;min-height:0;max-height:calc(100vh - 240px);display:flex}.panel-header{margin-bottom:14px}.panel-header-compact{margin-bottom:6px}.panel-header h2{margin:6px 0 0;font-size:1.6rem}.muted{color:#5f696f}.button-row,.button-stack{flex-wrap:wrap;gap:12px;display:flex}.preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:12px;display:flex}.button-stack{flex-direction:column}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.primary-button,.secondary-button,.ghost-button{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;display:inline-flex}.primary-button{color:#f7f1e6;background:#1f5d52}.export-button{justify-content:center;width:100%;padding-block:14px;font-weight:700}.secondary-button{color:#1f2529;background:#e4d4be}.secondary-button.is-active{color:#f7f1e6;background:#1f5d52}.secondary-button select{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.secondary-button select:focus{outline:none}.ghost-button{color:#293137;background:#1921270f}.floorplan-controls,.inline-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.inline-fields.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0 0}.floorplan-controls label,.inline-fields label,.inspector label{color:#445057;gap:8px;display:grid}.preview-frame,.trace-canvas,.three-stage{background:linear-gradient(#fcf9f5f5,#e4ebe5f2);border:1px solid #19212714;border-radius:24px;margin-top:18px;overflow:hidden}.canvas-preview-panel .trace-canvas{flex:1;min-height:0;margin-top:14px;display:flex;position:relative}.floorplan-stage{place-items:center;min-height:420px;display:grid}.floorplan-stage img{object-fit:contain;max-width:100%;max-height:420px}.empty-state{color:#647177;place-items:center;gap:10px;display:grid}.scale-summary,.hint-box{color:#233138;background:#1f5d5214;border-radius:18px;margin-top:16px;padding:16px}.canvas-toolbar{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.outline-toolbar{grid-template-columns:1fr 1fr;align-items:end;gap:16px;display:grid}.outline-table-wrap{background:#ffffffd1;border:1px solid #19212714;border-radius:20px;flex:1;min-height:220px;margin-top:12px;overflow:auto}.closure-box{color:#2a3439;background:#e4d4be73;border-radius:16px;gap:8px;margin-top:10px;padding:12px 14px;display:grid}.closure-box-inline{flex:1;align-items:center;min-width:260px;max-width:420px;min-height:48px;margin-top:0;padding:0 14px;display:flex}.closure-label{color:#37434a;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:inline-flex}.closure-label-icon{border:2px solid;border-radius:999px;width:14px;height:14px;position:relative}.closure-label-icon:after{content:"";background:currentColor;border-radius:999px;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.closure-box strong{text-transform:uppercase;letter-spacing:.05em;font-size:.88rem}.closure-pill-row{flex-wrap:wrap;gap:8px;display:flex}.closure-pill{color:#1f3d37;cursor:pointer;background:#1f5d521f;border:0;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;display:inline-flex}.closure-pill strong{letter-spacing:.08em;font-size:.82rem}.closure-inline-empty{color:#48545a;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:600}@media (width<=1400px){.closure-label-text{display:none}}.outline-table{border-collapse:collapse;width:100%}.outline-table th,.outline-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #19212714;padding:16px 18px}.outline-table th{color:#556067;letter-spacing:.04em;text-transform:uppercase;font-size:.86rem}.outline-table tbody tr:last-child td{border-bottom:0}.outline-row:hover{background:#1f5d5209}.outline-row.is-highlighted{background:#1f5d521f;box-shadow:inset 4px 0 #1f5d52}.outline-row.is-drag-target{background:#1a6d9b1a}.drag-cell{width:56px}.drag-handle{color:#536068;cursor:grab;background:#1921270f;border:0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.drag-handle:active{cursor:grabbing}.table-empty{color:#6b757b}.table-action{padding:10px 12px}.input-error{background:#a34b3214;border-color:#a34b32}.table-field{background:#f6f3edeb;border:1px solid #19212714;border-radius:16px;align-items:center;min-height:48px;padding:0 14px;display:flex}.table-input,.orientation-degree-input{color:#192127;background:0 0;border:0;outline:0;width:100%;padding:0}.orientation-picker{background:#f6f3edeb;border:1px solid #19212714;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:6px;display:flex}.orientation-pill{color:#314047;cursor:pointer;background:#19212712;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:38px;height:34px;padding:0 12px;display:inline-flex}.orientation-pill.is-active{color:#f7f1e6;background:#1f5d52}.orientation-degree-input{background:#ffffffd1;border-radius:12px;max-width:84px;padding:8px 10px}.outline-add-row td{background:#19212705;padding:12px}.add-row-button{color:#344149;cursor:pointer;background:0 0;border:1px dashed #19212729;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 16px;display:inline-flex}.add-row-button:hover,.add-row-button:focus-visible{background:#1f5d520d;outline:none}.compact-hint{margin-top:12px;padding:12px 14px}.direction-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.compact-card{text-align:center;padding:14px}.pill-note{color:#314047;background:#1921270f;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.trace-canvas svg{aspect-ratio:10/7;width:100%;height:100%;min-height:0;display:block}.trace-canvas.is-placement-wall svg{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M3 24 24 3' stroke='%2316332d' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='7' cy='21' r='2.4' fill='%231f5d52'/%3E%3Ccircle cx='21' cy='7' r='2.4' fill='%231f5d52'/%3E%3C/svg%3E") 14 14,crosshair}.trace-canvas.is-placement-window svg{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Crect x='5' y='8' width='18' height='12' rx='2.5' fill='none' stroke='%231a6d9b' stroke-width='2.2'/%3E%3Cpath d='M14 8v12M5 14h18' stroke='%231a6d9b' stroke-width='1.8'/%3E%3C/svg%3E") 14 14,crosshair}.trace-canvas.is-placement-door svg{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M8 6h10a2 2 0 0 1 2 2v14H8V6Z' fill='none' stroke='%2387542d' stroke-width='2.2'/%3E%3Ccircle cx='16.5' cy='14' r='1.3' fill='%2387542d'/%3E%3C/svg%3E") 14 14,crosshair}.canvas-preview-panel .trace-canvas svg{aspect-ratio:auto;flex:1}.preview-zoom-surface{transform-origin:50%;touch-action:none;cursor:grab;flex:1;transition:transform .12s ease-out;display:flex}.preview-zoom-surface:active{cursor:grabbing}.preview-zoom-controls{flex-direction:column;gap:8px;display:flex;position:absolute;top:14px;right:14px}.zoom-button{color:#253036;cursor:pointer;background:#fffbf5eb;border:0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:0 10px 24px #1d282d1f}.zoom-button-reset{width:40px;min-width:40px;padding:0}.dimension-text{fill:#16332d;text-anchor:middle;font-size:13px;font-weight:600}.placement-preview-line{stroke:#1f5d52;stroke-width:8px;stroke-linecap:round;stroke-dasharray:14 8;opacity:.75}.placement-anchor{fill:#1f5d523d;stroke:#1f5d52;stroke-width:2px}.placement-anchor-target{fill:#1f5d5266}.placement-preview-opening{stroke-width:10px;stroke-linecap:round;opacity:.82}.placement-preview-opening-window{stroke:#1a6d9b}.placement-preview-opening-door{stroke:#87542d}.trace-status-row{min-height:24px;margin-top:16px}.inspector{align-self:start}.inspector-stack{align-content:start;gap:16px;display:grid}.inspector-card{background:#ffffffb3;border-radius:20px;gap:12px;margin-bottom:16px;padding:18px;display:grid}.flow-wizard-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18212747;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.flow-wizard{background:#fffbf5f5;border:1px solid #19212714;border-radius:28px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:24px;overflow:auto;box-shadow:0 24px 72px #1d282d38}.flow-wizard-header,.flow-wizard-actions{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.flow-wizard-copy h2{margin:6px 0 8px;font-size:1.8rem}.flow-wizard-copy p{color:#5f696f;margin:0}.flow-wizard-close{white-space:nowrap}.flow-wizard-steps{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:24px 0;padding:0;list-style:none;display:grid}.flow-wizard-steps li{color:#445057;background:#1f5d5214;border-radius:18px;gap:6px;padding:12px 14px;display:grid}.flow-wizard-steps li span{background:#fffc;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:inline-flex}.flow-wizard-steps li.is-active{color:#f7f1e6;background:#1f5d52}.flow-wizard-steps li.is-complete{background:#1f5d5229}.flow-wizard-panel{margin-bottom:24px}.flow-wizard-stack{gap:16px;display:grid}.flow-wizard-grid,.flow-wizard-summary,.flow-wizard-action-group{gap:12px;display:grid}.flow-wizard-grid,.flow-wizard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-wizard-summary div{background:#1f5d520f;border-radius:16px;gap:6px;padding:14px;display:grid}.flow-wizard-list{color:#1a2329;margin:0;padding-left:18px}.flow-wizard-actions{align-items:center}.flow-wizard-action-group{grid-auto-flow:column}.flow-wizard input[type=range]{width:100%}.floor-wizard-preview{background:#1f5d520d;border-radius:20px;place-items:center;padding:12px;display:grid}.floor-wizard-preview svg{width:min(100%,280px);height:auto}.floor-wizard-preview-axis{stroke:#1921272e;stroke-width:2px;stroke-dasharray:4 6}.floor-wizard-preview-current{fill:#1a23291f;stroke:#1a23294d}.floor-wizard-preview-target{fill:#1f5d522e;stroke:#1f5d5273}.floor-wizard-preview-label{fill:#243038;font-size:11px;font-weight:700}.floor-direction-actions,.floor-height-grid{gap:12px;display:grid}.floor-direction-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-height-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.floor-height-card{color:#1f2a30;text-align:center;background:#ffffffb8;border:1px solid #19212714;border-radius:18px;align-content:end;justify-items:center;gap:8px;min-height:180px;padding:16px 14px;display:grid}.floor-height-card.is-selected{background:#1f5d521a;border-color:#1f5d5273}.floor-height-card-bar{background:linear-gradient(#d8ede8 0%,#4f8f80 100%);border-radius:12px 12px 6px 6px;width:48px}.checkbox-row{align-items:center;gap:10px;display:flex}.inspector-title{align-items:center;gap:8px;display:flex}.three-stage{height:560px;position:relative;overflow:hidden}.three-stage.is-fullscreen{border-radius:0;height:100vh}.three-stage canvas{width:100%!important;height:100%!important}.three-stage-overlay{z-index:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:16px;display:grid;position:absolute;top:18px;left:18px;right:18px}.three-stage-badge,.three-stage-stats,.three-stage-control{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.three-stage-badge,.three-stage-stats{pointer-events:none}.three-stage-badge{color:#2d393f;letter-spacing:.08em;text-transform:uppercase;background:#fffbf6d1;border:1px solid #19212714;border-radius:999px;justify-self:start;padding:10px 14px;font-size:.78rem;font-weight:700}.three-stage-stats{background:#fffbf6b8;border:1px solid #19212714;border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));justify-self:center;gap:10px;min-width:min(520px,100%);padding:10px;display:grid}.three-stage-stats div{background:#ffffff94;border-radius:14px;gap:2px;padding:10px 12px;display:grid}.three-stage-stats strong{color:#1b252b;font-size:1rem}.three-stage-stats span{letter-spacing:.06em;text-transform:uppercase;color:#546168;font-size:.75rem}.three-stage-control{color:#2d393f;cursor:pointer;background:#fffbf6d1;border:1px solid #19212714;border-radius:14px;justify-content:center;justify-self:end;align-items:center;width:46px;height:46px;padding:0;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.three-stage-control:hover{background:#ffffffeb;border-color:#19212729;transform:translateY(-1px)}.three-stage-control:focus-visible{outline-offset:2px;outline:2px solid #2e5e756b}.three-notes{gap:12px;display:grid}.material-group+.material-group{margin-top:18px}.material-group header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.material-swatches{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.swatch{text-align:left;background:#ffffffb3;border:1px solid #19212714;border-radius:18px;gap:10px;padding:12px;display:grid}.swatch.is-active{outline:2px solid #1f5d52}.swatch span{border-radius:12px;width:100%;height:52px;display:block}@media (width<=1100px){.topbar,.splash-hero,.panel-grid,.editor-layout,.step-nav{grid-template-columns:1fr}.canvas-toolbar,.preview-toolbar{flex-direction:column}.topbar h1{max-width:14ch}.entity-switchers{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:18px}.loading-shell,.splash-shell,.topbar{padding:20px}.topbar h1{font-size:2.4rem}.splash-copy,.splash-card{padding:22px}.splash-copy h1{font-size:2.9rem}.floorplan-controls,.inline-fields,.outline-toolbar,.direction-picker{grid-template-columns:1fr}.three-stage{height:500px}.three-stage-overlay{grid-template-columns:1fr auto;top:12px;left:12px;right:12px}.three-stage-stats{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}}
