@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal-1LI_Nn-7.woff2) format("woff2"),url(./cormorant-garamond-latin-500-normal-BMWSqZjT.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-ext-500-normal-BQAtLReL.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-500-normal-CnTWhNPG.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-CUJuyepZ.woff2) format("woff2"),url(./cormorant-garamond-latin-400-normal-GnKTm10X.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-ext-400-normal-BP5VYi0K.woff2) format("woff2"),url(./cormorant-garamond-latin-ext-400-normal-6tP91n7k.woff) format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-tight-latin-400-normal-CjmW70MP.woff2) format("woff2"),url(./inter-tight-latin-400-normal-BW_APOAv.woff) format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-tight-latin-ext-400-normal-Gi8wMfrP.woff2) format("woff2"),url(./inter-tight-latin-ext-400-normal-BdDiaPns.woff) format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-tight-latin-500-normal-DHfo6WYp.woff2) format("woff2"),url(./inter-tight-latin-500-normal-DSK3iurg.woff) format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-tight-latin-ext-500-normal-CSMKT5kA.woff2) format("woff2"),url(./inter-tight-latin-ext-500-normal-BdRfio7v.woff) format("woff")}@font-face{font-family:"Serif Digits";src:url(./eb-garamond-latin-400-normal-CUgs0swt.woff2) format("woff2");font-weight:400 500;font-display:swap;unicode-range:U+30-39}:root{--ground: #1b1c1e;--panel: #202124;--ink: #ece7df;--soft: #a5a29a;--line: #3c3d40;--line-strong: #6d6b66;--accent: #5fbb90;--accent-ink: #1b1c1e;--serif: "Serif Digits", "Cormorant Garamond", Georgia, serif;--sans: "Inter Tight", system-ui, sans-serif;--ease: cubic-bezier(.22, .8, .24, 1);--r-s: 8px;--r-m: 14px;--r-l: 22px;--glass: rgb(27 28 30 / .68);--glass-hover: rgb(27 28 30 / .88);--glass-edge: rgb(236 231 223 / .22);--glass-blur: blur(14px) saturate(130%);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;border-radius:0;font-variant-numeric:lining-nums tabular-nums}html,body{margin:0;height:100%}body{font:400 14px/1.45 var(--sans);color:var(--ink);background:var(--ground);font-variant-numeric:lining-nums tabular-nums}#app{display:grid;grid-template-columns:minmax(0,1fr) 420px;height:100dvh}#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;justify-content:center;padding:8vw;background:var(--ground);transition:opacity .8s var(--ease)}#loading.gone{opacity:0;pointer-events:none}#loading h1{margin:0;font:400 clamp(52px,11vw,150px)/1 var(--serif);letter-spacing:-.015em;min-height:1em}#loading i{display:block;height:1px;background:var(--accent);margin:26px 0 12px;width:100%;transform-origin:left;animation:draw 1.6s var(--ease) both}#loading p{margin:0;color:var(--soft)}@keyframes draw{0%{transform:scaleX(0)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes slide{0%{opacity:0;transform:translate(18px)}}.stage{position:relative;min-width:0;min-height:0}.canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.canvas canvas{display:block}.label-layer{position:absolute!important;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.room-tag{display:flex;gap:5px;align-items:baseline;padding:2px 8px;border-radius:6px;background:#1b1c1ed6;color:var(--ink);font-size:12px;white-space:nowrap;box-shadow:inset 0 0 0 1px #5fbb9080;animation:rise .45s var(--ease) both}.room-tag b{font:500 15px/1 var(--serif);color:var(--accent)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.overlay>*{pointer-events:auto}button,select,input{font:inherit;color:inherit}button{border-radius:var(--r-s);background:transparent;border:1px solid var(--line-strong);padding:8px 12px;min-height:38px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}button.solid{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}button.solid:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--accent-ink)}.left-tools{position:absolute;left:20px;top:20px;width:92px;display:flex;flex-direction:column;gap:10px}.overlay.intro .left-tools{animation:rise .8s .5s var(--ease) both}.overlay.intro .sun{animation:rise .8s .7s var(--ease) both}.section{display:flex;flex-direction:column;gap:3px}.switch{display:flex;align-items:center;gap:7px;min-height:30px;padding:4px 8px;border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);font-size:12px;color:var(--ink);white-space:nowrap}.switch i{position:relative;flex:none;width:22px;height:12px;border-radius:6px;border:1px solid var(--soft);transition:border-color .2s}.switch i:after{content:"";position:absolute;left:1px;top:1px;width:8px;height:8px;border-radius:50%;background:var(--soft);transition:transform .25s var(--ease),background .2s}.switch.on i{border-color:var(--accent)}.switch.on i:after{background:var(--accent);transform:translate(10px)}.section button{display:block;width:100%;min-height:28px;padding:4px 8px;text-align:left;font-size:12px;line-height:1.2;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);color:var(--ink)}.section button:hover{background:var(--glass-hover)}.section .section-roof{height:44px;border-radius:36px 36px var(--r-s) var(--r-s) / 32px 32px var(--r-s) var(--r-s);display:flex!important;align-items:flex-end;justify-content:center}.section button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.section button.here:not(.on){box-shadow:inset 2px 0 0 var(--accent)}.sun{position:absolute;left:20px;right:40px;bottom:26px;border-radius:var(--r-m);padding:8px 12px 6px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)}.sun-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sun-readout{font:400 19px/1.2 var(--serif)}.months{display:flex}.month{border:0;min-width:24px;min-height:26px;padding:2px;color:var(--ink);font-size:12px}.month.on{color:var(--accent-ink);background:var(--accent);padding-inline:8px}.month.on:hover:not(:disabled){color:var(--accent-ink)}.ruler{position:relative;padding-bottom:16px}.ruler input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;margin:0;background:transparent;cursor:ew-resize;display:block;background-image:linear-gradient(var(--line-strong),var(--line-strong));background-size:100% 1px;background-position:center;background-repeat:no-repeat}.ruler input::-webkit-slider-thumb{-webkit-appearance:none;width:4px;height:20px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 3px #5fbb9040}.ruler input::-moz-range-thumb{width:4px;height:20px;border:0;border-radius:2px;background:var(--accent)}.ticks{position:absolute;left:0;right:0;bottom:0;height:15px;pointer-events:none}.ticks span{position:absolute;transform:translate(-50%);font-size:11px;color:var(--ink)}.ticks span:first-child{transform:none}.ticks span:last-child{transform:translate(-100%)}.credit{position:absolute;left:20px;right:40px;bottom:6px;font-size:11px;color:var(--ink);text-shadow:0 0 4px #000,0 0 2px #000;pointer-events:none}.inside-bar{position:absolute;left:20px;right:40px;top:20px;border-radius:var(--r-m);display:flex;gap:14px;align-items:center;padding:8px 8px 8px 14px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)}.inside-title{font:400 24px/1 var(--serif);white-space:nowrap}.hint{flex:1;color:var(--ink);font-size:13px}.pad{position:absolute;right:40px;bottom:20px;display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(2,50px);gap:3px}.pad button{padding:0;touch-action:none;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-edge);font-size:18px}.pad-forward{grid-area:1 / 2}.pad-left{grid-area:2 / 1}.pad-back{grid-area:2 / 2}.pad-right{grid-area:2 / 3}.side{position:relative;margin-left:calc(-1 * var(--r-l));border-radius:var(--r-l) 0 0 var(--r-l);background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;min-height:0;padding:24px 24px 30px calc(24px + var(--r-l));display:flex;flex-direction:column;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}.head{padding-bottom:14px}.head h1{margin:0;font:400 50px/.98 var(--serif);letter-spacing:-.012em}.head p{margin:6px 0 0;color:var(--soft);font-size:13px}.head-count{display:none}.tabs{display:flex;gap:18px;border-block:1px solid var(--line);margin-bottom:14px}.tab{border:0;border-radius:0;min-height:40px;padding:0;color:var(--soft)}.tab.on{color:var(--ink);box-shadow:inset 0 -1px 0 var(--accent)}.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 12px;margin-bottom:18px}.filters label{display:grid;gap:1px;font-size:11px;color:var(--soft);grid-column:span 2;min-width:0}.filters label:nth-child(n+4){grid-column:span 3}.filters select,.filters input{width:100%;min-height:34px;padding:3px 0;background:transparent;border:0;border-bottom:1px solid var(--line-strong);color:var(--ink);font-size:14px}.filters select option{background:var(--panel)}.count{margin:0 0 4px;font:400 18px/1.2 var(--serif);color:var(--soft)}.list{list-style:none;margin:0;padding:0}.list>li{animation:slide .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 22ms)}.list-storey{padding:14px 0 4px;font-size:11px;color:var(--soft);border-bottom:1px solid var(--line-strong)}.row{border-radius:0;display:grid;grid-template-columns:62px 56px 1fr auto;gap:8px;align-items:baseline;width:100%;padding:7px 0;min-height:44px;text-align:left;border:0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease),color .2s,border-color .2s}.row:hover:not(:disabled),.row:focus-visible{padding-left:10px;color:var(--accent)}.row-label{font:400 25px/1 var(--serif)}.row-rooms,.row-side{font-size:13px;color:var(--soft)}.row-area{font:400 21px/1 var(--serif);text-align:right}.row-side.available{color:var(--ink)}.row-side.reserved{color:var(--accent)}.row.sold .row-label,.row.sold .row-area{color:var(--soft);text-decoration:line-through;text-decoration-thickness:1px}.row-price{grid-column:2 / -1;text-align:right;font-size:13px;color:var(--soft)}.to-site{display:block;margin-bottom:10px;color:var(--soft);font-size:13px;text-decoration:none}.to-site:hover{color:var(--accent)}a.button{display:inline-block;border-radius:var(--r-s);padding:8px 12px;text-decoration:none;text-align:center}a.button.solid{background:var(--accent);color:var(--accent-ink);font-weight:500}a.button.solid:hover{background:var(--ink)}.sale{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}.sale p{margin:0}.sale-status{grid-column:1 / -1;font-size:12px;color:var(--soft)}.sale-status.reserved{color:var(--accent)}.sale-price{font:400 30px/1.1 var(--serif)}.sale-price.small{font-size:22px}.sale-m2{color:var(--soft);font-size:13px}.sale-history{grid-column:1 / -1;font-size:13px;color:var(--soft);margin:2px 0 6px}.sale-history summary{cursor:pointer;padding:4px 0}.sale-history .num{font-size:15px}.sale .button{grid-column:1 / -1;margin-top:8px}.filters label.check{display:flex;gap:6px;align-items:center;grid-column:span 3;font-size:13px;color:var(--ink);min-height:34px}.filters label.check input{width:16px;min-height:16px;accent-color:var(--accent);border-radius:4px}.card{display:flex;flex-direction:column;gap:14px;animation:slide .55s var(--ease) both}.back{align-self:flex-start;border:0;padding:0;min-height:30px;color:var(--soft)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-bottom:1px solid var(--accent);padding-bottom:8px}.hero-label{font:400 112px/.8 var(--serif);letter-spacing:-.03em}.hero-area{font:400 36px/1 var(--serif);text-align:right}.hero-area small{font-size:18px;margin-left:3px;color:var(--soft)}.facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:8px;margin:0}.facts dt{font-size:11px;color:var(--soft)}.facts dd{margin:0;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:6px}.plan{width:100%;max-height:320px;background:#17181a;margin-top:2px;border-radius:var(--r-m)}.plan-room{stroke:var(--ink);stroke-width:.045;stroke-linejoin:miter}.plan-room.wood{fill:#3a3128}.plan-room.tile{fill:#2c2e31}.plan-balcony{fill:none;stroke:var(--accent);stroke-width:.025;stroke-dasharray:.1 .08}.plan-number{font:400 .42px var(--serif);fill:var(--ink);text-anchor:middle;dominant-baseline:central}.plan-door{fill:#17181a;stroke:var(--soft);stroke-width:.02}.plan-entrance,.plan-north{fill:var(--accent)}.plan-north-label{font:400 .28px var(--serif);fill:var(--ink);text-anchor:middle}.plan-scale{stroke:var(--ink);stroke-width:.035}.plan-scale-label{font:400 .24px var(--sans);fill:var(--soft)}.split{display:flex;gap:2px;height:4px}.split-piece{border-radius:2px;background:var(--line-strong);min-width:2px;transition:background .2s}.split-piece.on{background:var(--accent)}table{border-collapse:collapse;width:100%}th,td{padding:6px 8px 6px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;font-weight:400}.rooms tr{transition:color .2s}.rooms tr:hover{color:var(--accent)}.room-nr{font:400 19px/1 var(--serif);width:34px;color:var(--accent)}.num{text-align:right;padding-right:0;font:400 19px/1 var(--serif)}.note{margin:0;font-size:12px;color:var(--soft)}.pending{margin:0;padding-top:10px;border-top:1px solid var(--line-strong);font:400 18px/1.25 var(--serif)}.empty{font:400 22px/1.25 var(--serif);color:var(--soft)}.compare{display:grid;gap:16px;animation:slide .55s var(--ease) both}.compare-grid{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px}.compare-head{border-radius:0;display:grid;gap:4px;padding:0 0 8px;border:0;text-align:left}.compare-label{font:400 56px/.9 var(--serif)}.compare-area{font:400 22px/1 var(--serif)}.compare-bar{height:3px;border-radius:2px;background:var(--line);display:block}.compare-bar span{display:block;height:100%;border-radius:2px;background:var(--accent)}.compare th{color:var(--soft);font-size:12px;width:92px}.compare>button{justify-self:start}@media (max-width: 880px){#app{grid-template-columns:1fr;grid-template-rows:56dvh minmax(0,1fr)}.side{margin-left:0;margin-top:calc(-1 * var(--r-l));border-radius:var(--r-l) var(--r-l) 0 0;border-left:0;border-top:1px solid var(--line);padding:16px}.head h1{font-size:38px}.left-tools{left:8px;top:8px;width:76px;gap:4px}.switch{min-height:26px;padding:3px 5px;font-size:11px;gap:4px}.section button{min-height:24px;font-size:11px;padding:3px 6px}.section .section-roof{height:30px;border-radius:30px 30px 6px 6px/22px 22px 6px 6px}.sun{left:8px;right:8px;bottom:52px;padding:6px 8px 2px}.sun-readout{font-size:16px}.month{min-width:21px;font-size:11px}.credit{left:8px;right:8px;bottom:24px;font-size:9px}.inside-bar{left:8px;right:8px;top:8px}.room-tag{font-size:11px}.hint{display:none}.inside-title{flex:1;font-size:20px}.pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);right:8px;bottom:30px}.hero-label{font-size:92px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass: rgb(27 28 30 / .86)}}@media (prefers-reduced-transparency: reduce){:root{--glass: var(--ground);--glass-hover: var(--panel)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}
