body:has(.sitefit-page){--bg:#ffffff;--canvas:#f8f9fa;--fill:#f1f3f5;--fill-strong:#e2e6ea;--line:#dde2e7;--accent:#c2410c;--accent-strong:#9a3412;background:var(--bg)}.sitefit-page .sitefit-card,.sitefit-page .sitefit-drop,.sitefit-page .sitefit-group,.workspace-planner .sitefit-group{border:1px solid var(--line);box-shadow:0 2px 6px rgb(20 33 61/4%)}.sitefit-page .sitefit-room{fill:#f8f9fa}.sitefit{--fit:var(--ok-ink);--tight:#7a5410;--no:#8f2d22;display:grid;gap:var(--space-6);padding-bottom:var(--space-16)}.sitefit-demo{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.sitefit-demo .sitefit-banner{flex:1 1 16rem}.sitefit-steps{display:flex;gap:var(--space-6);align-items:baseline}.sitefit-steps button{min-height:0;padding:0;background:transparent;color:var(--muted);font-weight:500;box-shadow:none}.sitefit-steps button:focus-visible,.sitefit-steps button:hover{background:transparent;color:var(--ink)}.sitefit-steps button[aria-current=step]{color:var(--ink);font-weight:600;background:transparent}.sitefit-steps button:disabled{opacity:1;color:var(--muted);cursor:not-allowed;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sitefit-stage{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:var(--space-6);align-items:start}.sitefit-side>*,.sitefit-stage>*{min-width:0;min-height:0}@media (min-width:901px){.shell:has(.sitefit-stage){min-height:100dvh;max-width:none}.shell:has(.sitefit-stage)>.topbar{flex-shrink:0}.sitefit-page:has(.sitefit-stage){display:flex;flex-direction:column;min-height:0}.sitefit-page:has(.sitefit-stage) .page-heading{flex:none;padding-bottom:var(--space-3)}.sitefit-page:has(.sitefit-stage) .page-heading p{display:none}.sitefit:has(.sitefit-stage){display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);min-height:0;padding-bottom:0}.sitefit:has(.sitefit-stage)>:not(.sitefit-stage){flex-shrink:0}.sitefit-stage{height:max(520px,calc(100dvh - 240px));flex:none;min-height:0;grid-template-columns:minmax(0,1fr) 380px;align-items:stretch}.sitefit-stage:fullscreen{width:100vw;height:100dvh;background:#fff;padding:var(--space-3)}.sitefit-viewer{position:relative;display:flex;flex-direction:column}.sitefit-stage .sitefit-scene{flex:1 1;aspect-ratio:auto;max-height:100%;min-height:0;display:flex;flex-direction:column}.sitefit-stage .sitefit-scene-canvas{flex:1 1;min-height:0;height:0}.sitefit-stage .sitefit-plan{flex:1 1;min-height:0;display:flex;flex-direction:column}.sitefit-stage .sitefit-plan svg{flex:1 1;min-height:0}.sitefit-stage .sitefit-plan .sitefit-plan-key,.sitefit-stage .sitefit-plan figcaption,.sitefit-stage .sitefit-scene figcaption{display:none}.sitefit-view{flex:none}.sitefit-stage .sitefit-side{height:100%;overflow-y:auto;overscroll-behavior:contain;align-content:start;grid-auto-rows:max-content}}.sitefit-view{margin-bottom:var(--space-3)}.sitefit-scene{margin:0;background:var(--canvas);border-radius:var(--radius);overflow:hidden}.sitefit-scene-canvas{width:100%;height:min(560px,62vh);min-height:320px;touch-action:none}.sitefit-scene-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.sitefit-scene figcaption{margin:0;padding:var(--space-3) var(--space-4) var(--space-4);color:var(--muted);font-size:var(--text-sm)}.sitefit-plan{margin:0;background:var(--canvas);border-radius:var(--radius);padding:var(--space-4)}.sitefit-plan svg{display:block;width:100%;height:auto;touch-action:none;background:var(--surface);border-radius:4px;-webkit-user-select:none;user-select:none;word-spacing:normal;letter-spacing:normal}.sitefit-plan figcaption{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-sm)}.sitefit-room{fill:#f7f3ec;stroke:var(--ink);stroke-width:.045}.sitefit-room.is-shell{stroke:none}.sitefit-shell{pointer-events:none}.sitefit-wall{fill:none;stroke:var(--ink);stroke-width:.045;stroke-linecap:square}.sitefit-door{fill:none;stroke:var(--ink);stroke-width:.03}.sitefit-piece-group{cursor:grab;touch-action:none}.sitefit-piece{fill:#e4d4bc;stroke:var(--ink);stroke-width:.03;pointer-events:all}.sitefit-label-hit{fill:transparent;pointer-events:all}.sitefit-piece.is-selected{fill:#fed7aa;stroke:#9a3412}.sitefit-flag-label,.sitefit-front,.sitefit-piece-label,.sitefit-plan-robot text{fill:var(--ink);text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-family:inherit}.sitefit-front{fill:var(--muted)}.sitefit-spot{fill:transparent;stroke:var(--accent-press);stroke-width:.035}.sitefit-footprint{fill:transparent;stroke-width:.03;stroke-dasharray:.08 .05}.sitefit-path{fill:none;stroke-width:.045;stroke-linecap:round;stroke-linejoin:round}.sitefit-cards,.sitefit-side{display:grid;gap:var(--space-4)}.sitefit-side h2,.sitefit-upload h2{margin:0;font-size:var(--text-xl);letter-spacing:-.03em}.sitefit-upload{display:grid;gap:var(--space-4)}.sitefit-drop{display:grid;gap:var(--space-2);padding:var(--space-6);background:var(--surface);border-radius:var(--radius);cursor:pointer}.sitefit-drop strong{font-size:var(--text-lg);font-weight:600}.sitefit-drop span,.sitefit-meta{color:var(--muted);font-weight:400;font-size:var(--text-sm)}.sitefit-drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sitefit-drop.is-over{background:var(--accent-soft)}.sitefit-photos{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;padding:0;list-style:none}.sitefit-photos li{display:grid;gap:var(--space-1);width:96px}.sitefit-photos .sitefit-photo-name,.sitefit-photos img{width:96px;height:72px;object-fit:cover;border-radius:4px;background:var(--fill)}.sitefit-photos button{min-height:0;padding:0;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:500;justify-content:flex-start}.sitefit-photos button:focus-visible,.sitefit-photos button:hover{background:transparent;color:var(--ink)}.sitefit-piece-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.sitefit-piece-list button{min-height:36px;justify-content:flex-start;background:var(--fill);color:var(--ink)}.sitefit-piece-list button:focus-visible,.sitefit-piece-list button:hover,.sitefit-piece-list button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink)}.sitefit-piece-list button[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--accent)}.sitefit-group{min-width:0;background:var(--surface);border-radius:var(--radius)}.sitefit-group-title{margin:0;font-size:var(--text-base);font-weight:600;line-height:1.3}.sitefit-group-toggle{display:flex;width:100%;align-items:center;justify-content:flex-start;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-4);background:transparent;color:var(--ink);font-weight:600;text-align:left;border-radius:var(--radius)}.sitefit-group-toggle:before{content:"";flex:none;width:7px;height:7px;margin-right:2px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg)}.sitefit-group.is-open .sitefit-group-toggle:before{transform:rotate(45deg) translate(-1px,-1px)}.sitefit-group-toggle:focus-visible,.sitefit-group-toggle:hover{background:var(--fill);color:var(--ink)}.sitefit-group-current{margin-left:auto;color:var(--accent-press);font-size:var(--text-sm);font-weight:600;text-align:right}.sitefit-group-body{display:grid;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.sitefit-hint{margin:0;color:var(--muted);font-size:var(--text-sm);font-weight:400;line-height:1.45}.sitefit-flag-list,.sitefit-robot-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.sitefit-robot-list li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:var(--space-2);align-items:start}.sitefit-robot-list strong{display:block;font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.sitefit-robot-swatch{width:14px;height:14px;margin-top:3px;border-radius:3px;background:rgba(255,158,27,.55);box-shadow:inset 0 0 0 1.5px #c2410c}.sitefit-flag-list button{width:100%;justify-content:flex-start}.sitefit-banner{margin:0;padding:var(--space-3) var(--space-4);background:var(--warn);border-radius:var(--radius);font-weight:600}.sitefit-version{margin:0;color:var(--muted)}.sitefit-card{background:var(--surface);border-radius:var(--radius);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);box-shadow:inset 3px 0 0 var(--line)}.sitefit-card[data-verdict=fit]{box-shadow:inset 3px 0 0 var(--fit)}.sitefit-card[data-verdict=tight]{box-shadow:inset 3px 0 0 var(--tight)}.sitefit-card[data-verdict=no]{box-shadow:inset 3px 0 0 var(--no)}.sitefit-card.is-open{background:var(--fill)}.sitefit-card-open{display:grid;justify-items:start;gap:2px;width:100%;min-height:0;padding:0;background:transparent;color:inherit;text-align:left}.sitefit-card-open:focus-visible,.sitefit-card-open:hover{background:transparent;color:inherit}.sitefit-verdict{font-size:var(--text-xl);font-weight:600;letter-spacing:-.03em;line-height:1.15}.sitefit-card[data-verdict=fit] .sitefit-verdict{color:var(--fit)}.sitefit-card[data-verdict=tight] .sitefit-verdict{color:var(--tight)}.sitefit-card[data-verdict=no] .sitefit-verdict{color:var(--no)}.sitefit-robot{font-size:var(--text-sm);color:var(--ink)}.sitefit-detail{display:grid;gap:var(--space-3);margin-top:var(--space-3)}.sitefit-detail p{margin:0;max-width:42ch;font-size:var(--text-sm);line-height:1.5}.sitefit-cost{color:var(--muted)}.sitefit-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:end}.sitefit-actions label{flex:1 1 180px}.sitefit-actions button,.sitefit-row button{min-height:44px}.sitefit-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.sitefit-choice{display:grid;gap:var(--space-2)}.sitefit-choice button{justify-content:flex-start;background:var(--fill);color:var(--ink)}@media (max-width:900px){.sitefit-stage{grid-template-columns:minmax(0,1fr)}.sitefit-scene-canvas{height:max(360px,60vh)}.sitefit-steps{gap:var(--space-4)}}.sitefit-piece-label{font-weight:600}.sitefit-plan-robot{pointer-events:none}.sitefit-plan-robot rect{fill:#ff9e1b;fill-opacity:.18;stroke:#9a3412;stroke-width:.025;stroke-dasharray:.07 .04}.sitefit-flag-label,.sitefit-plan-robot text{fill:#7c2d12;font-weight:700;paint-order:stroke;stroke:#fff7ed;stroke-width:.035;stroke-linejoin:round}.sitefit-plan-key{display:grid;gap:6px;list-style:none;padding:0;margin:12px 0 0;font-size:12px;line-height:1.5}.sitefit-plan-key li{display:flex;align-items:baseline;gap:8px}.sitefit-plan-key span{flex:0 0 24px;text-align:center;color:#7c2d12;border:1px solid #9a3412;border-radius:3px;font-weight:700}.sitefit-plan-key-robot{background:#ffedd5}.sitefit-scene-canvas{position:relative}.sitefit-dimensions{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sitefit-dimensions svg{position:absolute;width:100%;height:100%}.sitefit-dimensions line{stroke:#9a3412;stroke-width:1}.sitefit-dimensions span{position:absolute;top:0;left:0;visibility:hidden;padding:4px 7px;border:1px solid #c4b49e;border-radius:4px;color:#241b15;background:rgb(255 255 255/96%);font-size:12px;line-height:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 1px 3px rgb(0 0 0/12%)}.sitefit-dimensions .sitefit-dimension-room{white-space:nowrap;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#626970;font-size:11px;font-weight:400}.sitefit-dimension-robot{width:220px}.sitefit-stage{gap:12px;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(0,1fr)}.sitefit-toolbar{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.sitefit-toolbar button{min-height:38px;padding:8px 12px;font-size:13px;white-space:nowrap}.sitefit-view{display:flex;gap:2px;margin:0;padding:3px;border-radius:7px;background:var(--fill)}.sitefit-view button{background:transparent;color:var(--muted)}.sitefit-view button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgb(20 33 61/12%)}.sitefit-planner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sitefit-planner-actions>p{flex-basis:100%}.sitefit-catalog{min-width:0;max-height:420px;overflow:auto;background:var(--surface)}.sitefit-catalog ul{display:grid;gap:10px;list-style:none;padding:0;margin:12px 0 0}.sitefit-catalog-card{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:12px;overflow-wrap:anywhere;background:var(--canvas)}.sitefit-catalog-card[draggable=true]{cursor:grab}.sitefit-catalog-card[data-disabled=true]{color:var(--muted)}.sitefit-catalog-card strong{font-size:14px}.sitefit-catalog-card button{min-height:36px;padding:6px;font-size:12px}.sitefit-catalog-icon{color:var(--accent);font-size:28px;line-height:1}.sitefit-viewer{min-width:0;min-height:0}.sitefit-plan-view:not([hidden]){display:flex;flex:1 1;min-height:0}.sitefit-piece-group[data-robot=true] .sitefit-piece{fill:#ffedd5;stroke:#c2410c}.sitefit-handles line,.sitefit-handles path{stroke:#9a3412;stroke-width:.025}.sitefit-handles circle{fill:white;stroke:#9a3412;stroke-width:.03;cursor:crosshair}@media (min-width:901px) and (max-width:1199px){.sitefit-stage{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:900px){.sitefit-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.sitefit-toolbar{grid-row:1}.sitefit-viewer{grid-row:2}.sitefit-catalog{max-height:280px}.sitefit-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr))}.sitefit-toolbar button{padding:8px}.sitefit-stage:fullscreen{overflow:auto;background:white;padding:8px}}.sitefit-room-measurements{fill:#626970;text-anchor:middle;dominant-baseline:middle;pointer-events:none}