@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes red-glow-pulse{0%{box-shadow:0 0 0 3px #ef444499}50%{box-shadow:0 0 18px 6px #ef4444d9}to{box-shadow:0 0 0 3px #ef444400}}.placement-invalid{animation:.4s shake,.4s forwards red-glow-pulse}@keyframes builder-skeleton-drift{0%,to{opacity:.45}50%{opacity:.92}}.animate-builder-skeleton-drift{animation:2.2s ease-in-out infinite builder-skeleton-drift}.lock-overlay{pointer-events:none;z-index:30;border-radius:inherit;background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.builder-skeleton{background-color:var(--background);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.builder-skeleton__toolbar{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);background-color:var(--card);display:none}@media (min-width:768px){.builder-skeleton__toolbar{display:block}}.builder-skeleton__toolbar-inner{align-items:center;gap:.375rem;height:3.5rem;padding:0 .5rem;display:flex}@media (min-width:640px){.builder-skeleton__toolbar-inner{gap:.5rem;padding:0 .75rem}}.builder-skeleton__toolbar-chip{border:1px solid color-mix(in srgb, var(--border) 45%, transparent);background:color-mix(in srgb, var(--border) 10%, transparent);border-radius:.375rem;flex-shrink:0;width:2rem;height:2rem}@media (min-width:640px){.builder-skeleton__toolbar-chip{width:2.25rem;height:2.25rem}}.builder-skeleton__content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}@media (min-width:1024px){.builder-skeleton__content{flex-direction:row}}.builder-skeleton__viewer{background-color:var(--background);flex-direction:column;flex:1;order:1;min-width:0;min-height:0;display:flex;position:relative}@media (min-width:1024px){.builder-skeleton__viewer{order:2}}.builder-skeleton__viewer-area{flex:1;min-height:0;position:relative;overflow:hidden}.builder-skeleton__viewer-pad{justify-content:stretch;align-items:stretch;padding:.375rem;display:flex;position:absolute;inset:0}@media (min-width:768px){.builder-skeleton__viewer-pad{padding:.5rem}}.builder-skeleton__canvas-frame{border:1px solid color-mix(in srgb, var(--border) 40%, transparent);background-color:var(--card);border-radius:.375rem;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}@media (min-width:768px){.builder-skeleton__canvas-frame{border-radius:.5rem}}.builder-skeleton__canvas-gradient{pointer-events:none;border-radius:inherit;background:linear-gradient(to bottom right, color-mix(in srgb, var(--border) 7%, transparent), transparent, color-mix(in srgb, var(--border) 5%, transparent));position:absolute;inset:0}.builder-skeleton__canvas-body{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex;position:relative}@media (min-width:768px){.builder-skeleton__canvas-body{padding:2rem}}.builder-skeleton__dashed-border{border:1px dashed color-mix(in srgb, var(--border) 55%, transparent);border-radius:.125rem;position:absolute;inset:10%}@media (min-width:768px){.builder-skeleton__dashed-border{inset:12%}}.builder-skeleton__canvas-center{z-index:10;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}@media (min-width:768px){.builder-skeleton__canvas-center{gap:1.25rem}}.builder-skeleton__floor-plan{border:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:color-mix(in srgb, var(--border) 12%, transparent);border-radius:.375rem;width:9rem;height:6rem}@media (min-width:768px){.builder-skeleton__floor-plan{width:11rem;height:7rem}}.builder-skeleton__lines{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:260px;display:flex}.builder-skeleton__line{border-radius:9999px;height:.375rem}.builder-skeleton__line--full{background:color-mix(in srgb, var(--border) 45%, transparent);width:100%;max-width:220px}.builder-skeleton__line--four-fifths{background:color-mix(in srgb, var(--border) 40%, transparent);width:80%}.builder-skeleton__line--three-fifths{background:color-mix(in srgb, var(--border) 35%, transparent);width:60%}.builder-skeleton__sidebar{border-top:1px solid color-mix(in srgb, var(--border) 30%, transparent);background:linear-gradient(to bottom, var(--builder-soft-bg-top), var(--builder-soft-bg-bottom));flex-direction:column;flex-shrink:0;order:2;gap:.75rem;max-height:min(440px,38vh);padding:.75rem;display:flex;overflow:hidden auto}@media (min-width:1024px){.builder-skeleton__sidebar{border-top:none;border-inline-end:1px solid color-mix(in srgb, var(--border) 20%, transparent);order:1;width:300px;max-height:none;padding:1rem}}@media (min-width:1280px){.builder-skeleton__sidebar{width:320px}}.builder-skeleton__sidebar-card{background:var(--builder-soft-panel);outline:1px solid var(--builder-soft-panel-border);border-radius:24px;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem;display:flex;box-shadow:0 1px 2px #0000000d}.builder-skeleton__sidebar-title{background:color-mix(in srgb, var(--color-dark-blue) 10%, transparent);border-radius:.375rem;max-width:70%;height:1rem;margin:0 auto}.builder-skeleton__sidebar-row{background:color-mix(in srgb, var(--color-dark-blue) 8%, transparent);border-radius:.75rem;width:100%;height:2.5rem}.builder-skeleton__sidebar-cols{gap:.5rem;display:flex}.builder-skeleton__sidebar-col{background:color-mix(in srgb, var(--color-dark-blue) 8%, transparent);border-radius:.5rem;flex:1;height:2.5rem;min-height:2.5rem}.builder-skeleton__sidebar-large{background:color-mix(in srgb, var(--color-dark-blue) 6%, transparent);border-radius:.75rem;width:100%;height:5rem}