/* generated from assets/js/plans.js — do not edit */
.fp{display:block;width:100%;height:auto;overflow:visible;font-family:inherit}
.fp--unit{overflow:hidden}
.fp text{text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.fp-wall{fill:var(--fp-wall,#0A2342)}
.fp-slab{fill:var(--fp-slab,#E9E3D8)}
.fp-room{stroke:none;transition:fill .25s ease}
.fp-t-living{fill:var(--fp-living,#EAF0FF)}
.fp-t-bed{fill:var(--fp-bed,#F4F7FD)}
.fp-t-hall{fill:var(--fp-hall,#F8F9FB)}
.fp-t-bath{fill:var(--fp-bath,#E6EEF7)}
.fp-t-out{fill:var(--fp-out,#F3EEE5)}
.fp-t-common{fill:var(--fp-common,#EEF0F4)}
.fp-t-commercial{fill:var(--fp-commercial,#EEF3FC)}
.fp-t-muted{fill:var(--fp-muted,#EEF0F3)}
.fp-gap--plain{fill:#fff}
.fp-deck-bg{fill:var(--fp-out,#F3EEE5)}.fp-deck-line{stroke:var(--fp-out-line,#E4DACB);stroke-width:1.2}
.fp-tile-bg{fill:var(--fp-bath,#E6EEF7)}.fp-tile-line{stroke:var(--fp-bath-line,#D5E1EE);stroke-width:1;fill:none}
.fp-hatch-bg{fill:var(--fp-common,#EEF0F4)}.fp-hatch-line{stroke:var(--fp-common-line,#E1E5EC);stroke-width:2}
.fp-win{fill:#fff}
.fp-glass,.fglass{stroke:var(--fp-glass,#6E97FF);stroke-width:1.6;fill:none;vector-effect:non-scaling-stroke}
.fp-frame{stroke:var(--fp-wall,#0A2342);stroke-opacity:.55;stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.fp-leaf{stroke:var(--fp-wall,#0A2342);stroke-width:1.6;fill:none;vector-effect:non-scaling-stroke}
.fp-arc{stroke:var(--fp-wall,#0A2342);stroke-opacity:.32;stroke-width:1;fill:none;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.fp-rail{stroke:var(--fp-wall,#0A2342);stroke-width:2;fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fp-stair{fill:var(--fp-common,#EEF0F4)}
.fp-tread{stroke:var(--fp-wall,#0A2342);stroke-opacity:.28;stroke-width:1;vector-effect:non-scaling-stroke}
.fp-tread-strong{stroke:var(--fp-wall,#0A2342);stroke-opacity:.5;stroke-width:1.4;vector-effect:non-scaling-stroke}
.fp-arrow{stroke:var(--fp-wall,#0A2342);stroke-opacity:.55;stroke-width:1.2;fill:none;vector-effect:non-scaling-stroke}
.fp-dim{opacity:.5}
.ff,.ff2,.ffw,.ffo,.ffl,.ffd,.ffd2,.frug,.fplant,.fleaf{vector-effect:non-scaling-stroke}
.ff{fill:#fff;stroke:var(--fp-ink,#0A2342);stroke-opacity:.42;stroke-width:1}
.ff2{fill:var(--fp-ink-soft,#E3E9F3);stroke:var(--fp-ink,#0A2342);stroke-opacity:.42;stroke-width:1}
.ffw{fill:#fff;stroke:var(--fp-ink,#0A2342);stroke-opacity:.35;stroke-width:1}
.ffo{fill:#FBF8F2;stroke:#8A7A62;stroke-opacity:.55;stroke-width:1}
.ffl{fill:none;stroke:var(--fp-ink,#0A2342);stroke-opacity:.28;stroke-width:1}
.ffd{fill:none;stroke:var(--fp-ink,#0A2342);stroke-opacity:.35;stroke-width:1;stroke-dasharray:4 4}
.ffd2{fill:var(--fp-ink,#0A2342);fill-opacity:.55;stroke:none}
.frug{fill:var(--fp-rug,#DCE5F6);fill-opacity:.55;stroke:none}
.fplant{fill:#DDEBDD;stroke:#5E8A63;stroke-opacity:.55;stroke-width:1}
.fleaf{stroke:#5E8A63;stroke-opacity:.5;stroke-width:1;fill:none}
.fp-name{fill:var(--fp-ink,#0A2342);fill-opacity:.62;letter-spacing:.06em;text-transform:uppercase;font-weight:700;font-size:calc(var(--u,1) * 9.5px)}
.fp-area{fill:var(--fp-ink,#0A2342);font-weight:800;letter-spacing:-.01em;font-size:calc(var(--u,1) * 14px)}
.fp-label.is-tight .fp-name{display:none}.fp-label.is-tight .fp-area{transform:translateY(-.45em)}
.fp-label--s .fp-area{font-size:calc(var(--u,1) * 11.5px);font-weight:700;fill-opacity:.85}
.fp-label--b .fp-name{font-size:calc(var(--u,1) * 13px)}.fp-label--b .fp-area{font-size:calc(var(--u,1) * 22px)}
.fp-common-name{fill:var(--fp-ink,#0A2342);fill-opacity:.45;letter-spacing:.1em;text-transform:uppercase;font-weight:700;font-size:calc(var(--u,1) * 9px)}
.fp-split{stroke:var(--fp-accent,#2B54E6);stroke-width:1.4;stroke-dasharray:10 8;fill:none;vector-effect:non-scaling-stroke}
.fp-zone-name{fill:var(--fp-accent,#2B54E6);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:calc(var(--u,1) * 10px)}
.fp-zone-area{fill:var(--fp-ink,#0A2342);font-weight:700;font-size:calc(var(--u,1) * 12.5px)}
.fp-street path{stroke:var(--fp-ink,#0A2342);stroke-opacity:.25;stroke-width:1;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.fp-street text{fill:var(--fp-ink,#0A2342);fill-opacity:.45;letter-spacing:.32em;text-transform:uppercase;font-weight:700;font-size:calc(var(--u,1) * 9px)}
.fp-unit{cursor:pointer;outline:none}
.fp-unit-hit{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .25s ease,stroke .25s ease}
.fp-unit:hover .fp-unit-hit,.fp-unit:focus-visible .fp-unit-hit,.fp-unit.is-hot .fp-unit-hit{fill:rgba(43,84,230,.16);stroke:var(--fp-accent,#2B54E6)}
.fp-unit--reserved:hover .fp-unit-hit,.fp-unit--reserved.is-hot .fp-unit-hit{fill:rgba(217,142,32,.16);stroke:#D98E20}
.fp-unit--sold .fp-unit-hit{fill:rgba(10,35,66,.06)}
.fp-unit--sold:hover .fp-unit-hit,.fp-unit--sold.is-hot .fp-unit-hit{fill:rgba(10,35,66,.12);stroke:rgba(10,35,66,.4)}
.fp-unit-tag{transition:transform .25s ease}
.fp-unit-tag-bg{fill:#fff;stroke:var(--fp-ink,#0A2342);stroke-opacity:.12;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 6px 14px rgba(10,35,66,.16))}
.fp-unit:hover .fp-unit-tag-bg,.fp-unit.is-hot .fp-unit-tag-bg{fill:var(--fp-accent,#2B54E6);stroke:none}
.fp-unit--reserved:hover .fp-unit-tag-bg,.fp-unit--reserved.is-hot .fp-unit-tag-bg{fill:#D98E20}
.fp-unit--sold:hover .fp-unit-tag-bg,.fp-unit--sold.is-hot .fp-unit-tag-bg{fill:#55657D}
.fp-unit-no{fill:var(--fp-ink,#0A2342);font-weight:700;letter-spacing:-.01em}
.fp-unit-dot{fill:var(--fp-ok,#1E9E63)}.fp-unit--reserved .fp-unit-dot{fill:#D98E20}.fp-unit--sold .fp-unit-dot{fill:#9AA6B6}
.fp-unit:hover .fp-unit-dot,.fp-unit.is-hot .fp-unit-dot{fill:#fff}
.fp-area--small{font-weight:600;fill-opacity:.8}
.fp-unit-meta{fill:var(--fp-ink,#0A2342);fill-opacity:.6;font-weight:600}
.fp-unit:hover .fp-unit-no,.fp-unit:hover .fp-unit-meta,.fp-unit.is-hot .fp-unit-no,.fp-unit.is-hot .fp-unit-meta{fill:#fff;fill-opacity:1}
.fp-unit--sold .fp-unit-no{fill-opacity:.55}
.fp--unit .fp-room[data-unit]{cursor:default}
.fp--unit .fp-room.is-hot{fill:var(--fp-hot,#D6E2FF)}
.kp{display:block;width:100%;height:100%}
.kp-wall{fill:var(--kp-wall,#C9D1DE)}
.kp-other{fill:var(--kp-other,#F3F5F9)}
.kp-common{fill:var(--kp-common,#E6EAF1)}
.kp-mine{fill:var(--kp-mine,#2B54E6)}
.kp-mine-out{fill:var(--kp-mine-out,#8FA8F5)}
.kp--reserved{--kp-mine:#D98E20;--kp-mine-out:#EDBE78}
.kp--sold{--kp-mine:#8C99AD;--kp-mine-out:#BCC5D3}
