.kvn-floor-plan{position:relative;display:grid;gap:var(--kvn-space-4)}.kvn-floor-plan__figure{padding:var(--kvn-space-4) var(--kvn-space-3);border:var(--kvn-border-width-thin) solid var(--kvn-color-paper-border);border-radius:var(--kvn-radius-md);background:repeating-linear-gradient(0deg,var(--kvn-color-paper-grid) 0 1px,transparent 1px var(--kvn-space-6)),repeating-linear-gradient(90deg,var(--kvn-color-paper-grid) 0 1px,transparent 1px var(--kvn-space-6)),var(--kvn-color-paper)}.kvn-floor-plan__figure,.kvn-floor-plan__arrows{display:none}.kvn-floor-plan__notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--kvn-size-plan-note)),1fr));gap:var(--kvn-space-4)}.kvn-floor-plan__column{display:contents}.kvn-floor-plan.is-drawn .kvn-floor-plan__figure{display:block;order:-1;margin:0}.kvn-floor-plan.is-drawn .kvn-floor-plan__notes{display:none}.kvn-floor-plan.is-drawn .kvn-floor-plan__note{order:var(--kvn-note-order);scroll-margin-block-start:var(--kvn-space-4)}.kvn-floor-plan__drawing{display:block;inline-size:100%;block-size:auto;overflow:visible}.kvn-floor-plan__caption{margin-block-start:var(--kvn-space-3);font-size:var(--kvn-type-caption);text-align:center;color:var(--kvn-color-text-muted)}@media(min-width:1024px){.kvn-floor-plan__figure{padding:var(--kvn-space-8) var(--kvn-space-6)}.kvn-floor-plan.is-drawn{grid-template-columns:minmax(0,var(--kvn-size-plan-note)) minmax(0,1fr) minmax(0,var(--kvn-size-plan-note));gap:var(--kvn-space-8);align-items:center}.kvn-floor-plan.is-drawn .kvn-floor-plan__figure{order:0}.kvn-floor-plan.is-drawn .kvn-floor-plan__column{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--kvn-space-6)}.kvn-floor-plan.is-drawn .kvn-floor-plan__figure{position:relative;z-index:2}.kvn-floor-plan.is-drawn .kvn-floor-plan__arrows{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:block;inline-size:100%;block-size:100%;overflow:visible;pointer-events:none}}.kvn-floor-plan--plan-only.is-drawn{grid-template-columns:minmax(0,1fr)}.kvn-floor-plan--plan-only.is-drawn .kvn-floor-plan__column,.kvn-floor-plan--plan-only .kvn-floor-plan__notes,.kvn-floor-plan--plan-only.is-drawn .kvn-floor-plan__arrows{display:none}.kvn-floor-plan__note{position:relative;display:flex;flex-direction:column;gap:var(--kvn-space-2);padding:var(--kvn-space-3);border:var(--kvn-border-width-thin) solid var(--kvn-color-border-subtle);border-radius:var(--kvn-radius-md);background:var(--kvn-color-surface);cursor:pointer;transition:opacity var(--kvn-motion-duration-normal),box-shadow var(--kvn-motion-duration-normal),border-color var(--kvn-motion-duration-normal)}.kvn-floor-plan__note.is-focus{border-color:var(--kvn-color-primary-soft-border);box-shadow:var(--kvn-shadow-card)}.kvn-plan-house{fill:var(--kvn-color-surface)}.kvn-plan-shade{fill:var(--kvn-color-paper-shade)}.kvn-plan-small-name{font-family:var(--kvn-font-family-core);font-size:10px;fill:var(--kvn-color-pencil);text-anchor:middle}.kvn-plan-hatch{stroke:var(--kvn-color-pencil-soft);stroke-width:1.2}.kvn-plan-wall-edge,.kvn-plan-wall-ground,.kvn-plan-wall{fill:none;stroke-linejoin:miter}.kvn-plan-wall-edge{stroke:var(--kvn-color-pencil);stroke-width:11}.kvn-plan-wall-ground{stroke:var(--kvn-color-paper);stroke-width:8.6}.kvn-plan-wall{stroke-width:8.6}.kvn-plan-inner{fill:none;stroke:var(--kvn-color-pencil);stroke-width:3;stroke-linejoin:miter}.kvn-plan-gap{stroke:var(--kvn-color-surface);stroke-width:5}.kvn-plan-counter{stroke:var(--kvn-color-pencil);stroke-width:1.2;stroke-dasharray:6 4}.kvn-plan-balcony{fill:var(--kvn-color-surface);stroke:var(--kvn-color-pencil);stroke-width:1;stroke-dasharray:3 3}.kvn-plan-furniture{fill:none;stroke:var(--kvn-color-pencil-soft);stroke-width:1;pointer-events:none}.kvn-plan-door{fill:none;stroke:var(--kvn-color-pencil-soft);stroke-width:1;stroke-dasharray:2 2}.kvn-plan-door-leaf{stroke:var(--kvn-color-pencil);stroke-width:1.4}.kvn-plan-entrance{stroke:var(--kvn-color-paper);stroke-width:14}.kvn-plan-entrance-arrow{fill:none;stroke:var(--kvn-color-pencil);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.kvn-plan-window__gap{fill:var(--kvn-color-paper)}.kvn-plan-window__line{stroke:var(--kvn-color-pencil);stroke-width:1}.kvn-plan-window--dressed .kvn-plan-window__line:nth-of-type(2){stroke:var(--kvn-color-primary);stroke-width:2}.kvn-plan-room{cursor:pointer;outline:none;transition:opacity var(--kvn-motion-duration-normal)}.kvn-plan-room__floor{fill:transparent;transition:fill var(--kvn-motion-duration-normal)}.kvn-plan-room--tile .kvn-plan-room__name{font-size:12px}.kvn-plan-room--tile .kvn-plan-room__floor{fill:var(--kvn-color-surface);stroke:var(--kvn-color-pencil);stroke-width:1.5}.kvn-plan-room:focus-visible .kvn-plan-room__floor{stroke:var(--kvn-color-border-focus);stroke-width:3}.kvn-plan-room__name,.kvn-plan-room__meta{font-family:var(--kvn-font-family-core);text-anchor:middle}.kvn-plan-room__name{font-size:15px;font-weight:var(--kvn-font-weight-bold);fill:var(--kvn-color-pencil)}.kvn-plan-room__meta{font-size:10px;fill:var(--kvn-color-pencil)}.is-focusing .kvn-plan-room:not(.is-focus){opacity:.45}.kvn-plan-room.is-focus .kvn-plan-room__floor{fill:var(--kvn-color-primary-soft)}.is-focusing .kvn-plan-arrow:not(.is-focus),.is-focusing .kvn-floor-plan__note:not(.is-focus){opacity:.35}.kvn-plan-arrow{transition:opacity var(--kvn-motion-duration-normal)}.kvn-plan-arrow path{fill:none;stroke:var(--kvn-color-primary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.kvn-plan-arrow circle{fill:var(--kvn-color-primary)}.kvn-plan-arrow--drawn path{animation:kvn-plan-draw .9s var(--kvn-motion-easing-standard) forwards}@keyframes kvn-plan-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.kvn-plan-arrow--drawn path{animation:none;stroke-dashoffset:0}}@media(max-width:1023px){.kvn-plan-room__name{font-size:19px}.kvn-plan-room__meta{display:none}.kvn-plan-room--tile .kvn-plan-room__name{font-size:14px}}.kvn-tabs{display:flex;gap:var(--kvn-space-2);margin-inline:calc(var(--kvn-grid-container-padding-inline) * -1);padding-inline:var(--kvn-grid-container-padding-inline);overflow-x:auto;scrollbar-width:none}.kvn-tabs::-webkit-scrollbar{display:none}.kvn-tabs .kvn-chip{flex-shrink:0;white-space:nowrap}@media(min-width:1024px){.kvn-tabs{flex-wrap:wrap;margin-inline:0;padding-inline:0}}
