:root{--paper:#f2f1ec;--paper-hi:#f8f7f3;--ink:#282828;--ink-soft:#282828b8;--muted:#8b8b87;--line:#b3b3af;--accent:#2747c9;--on-accent:#fff;--bar:64px;--tabs:48px;--side:380px;--pad:20px;--sans:"Hanken Grotesk", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.16 0 0 0 0 0.16 0 0 0 0 0.15 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--paper) var(--grain);color:var(--ink);font:500 15px/1.35 var(--sans);letter-spacing:-.02em;overflow:hidden}button,select,input{font:inherit;color:inherit;letter-spacing:inherit}button,select{cursor:pointer}.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:0}.bar{height:var(--bar);border-bottom:1px solid var(--line);background:var(--paper) var(--grain);z-index:3;display:flex;position:fixed;inset:0 0 auto}.cell{padding:0 var(--pad);border-right:1px solid var(--line);align-items:center;display:flex}.unit-name{width:var(--side);font:700 22px var(--sans);text-transform:uppercase;letter-spacing:-.035em;flex:none}a.unit-name{color:inherit;gap:12px;text-decoration:none}.unit-name .back{border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);flex:none;width:9px;height:9px;margin-left:3px;transform:rotate(45deg)}a.unit-name:hover{color:var(--accent)}a.unit-name:hover .back{border-color:var(--accent)}.facts{white-space:nowrap;flex:1;gap:32px;min-width:0;font-size:12px;overflow:hidden}.facts i{color:var(--muted);margin-right:8px;font-style:normal}.seg{display:flex}.seg button{border:0;border-left:1px solid var(--line);width:104px;font:500 14px var(--mono);text-transform:uppercase;color:var(--ink-soft);background:0 0}.seg button:first-child{border-left:0}.seg button.on{background:var(--accent);color:var(--on-accent)}.seg button:not(.on):hover{color:var(--accent)}.side{inset:var(--bar) auto 0 0;width:var(--side);border-right:1px solid var(--line);z-index:2;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:fixed}.tabs{height:var(--tabs);border-bottom:1px solid var(--line);flex:none;display:flex}.tabs button{border:0;border-left:1px solid var(--line);font:500 12px var(--mono);text-transform:uppercase;color:var(--ink-soft);background:0 0;flex:1}.tabs button:first-child{border-left:0}.tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.tabs button:not(.on):hover{color:var(--accent)}.pane{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;display:none;overflow:hidden auto}.pane.on{display:block}.sub{font:500 11px var(--mono);text-transform:uppercase;color:var(--accent);padding:18px var(--pad) 8px}.note{color:var(--muted);padding:14px var(--pad) 24px;font-size:10px;line-height:1.6}.find{padding:12px var(--pad) 0}.find input{background:var(--paper-hi);border:1px solid var(--line);width:100%;height:40px;font:500 14px var(--sans);border-radius:0;outline:none;padding:0 12px}.find input:focus{border-color:var(--ink)}.cat-head{z-index:2;background:var(--paper) var(--grain);border-bottom:1px solid var(--line);position:sticky;top:0}.cat-head .find{padding-bottom:0}.crumbs{min-height:44px;padding:0 var(--pad);font:500 11px var(--mono);text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.crumbs button{height:44px;color:var(--muted);text-transform:uppercase;text-overflow:ellipsis;background:0 0;border:0;padding:0;overflow:hidden}.crumbs button:not(:disabled):hover{color:var(--accent)}.crumbs button.here{color:var(--ink);cursor:default;flex:0 auto}.crumbs .sep{color:var(--line)}.crumbs .up{flex:none;place-items:center;width:28px;margin-left:-8px;display:grid}.crumbs .up:before{content:"";border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);width:7px;height:7px;margin-left:3px;transform:rotate(45deg)}.crumbs .up:hover:before{border-color:var(--accent)}.crumbs .count{color:var(--muted);flex:none;margin-left:auto;padding-left:12px}.rail{padding:0 var(--pad) 12px;scrollbar-width:none;scroll-padding:0 var(--pad);gap:6px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail.more-l{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}.rail.more-r{-webkit-mask-image:linear-gradient(270deg,#0000,#000 28px);mask-image:linear-gradient(270deg,#0000,#000 28px)}.rail.more-l.more-r{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.rail[hidden]{display:none}.rail button{border:1px solid var(--line);height:32px;font:500 13px var(--sans);letter-spacing:-.01em;color:var(--ink-soft);white-space:nowrap;background:0 0;border-radius:4px;flex:none;padding:0 12px}.rail button:not(.on):hover{border-color:var(--ink);color:var(--ink)}.rail button.on{background:var(--ink);border-color:var(--ink);color:var(--paper-hi)}.tiles{grid-template-columns:repeat(2,1fr);display:grid}.tile{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;flex-direction:column;padding:0;display:flex}.tile:nth-child(odd){border-right:1px solid var(--line)}.tile .pic{aspect-ratio:4/3;background:var(--paper-hi);place-items:center;display:grid;overflow:hidden}.tile .pic img{object-fit:contain;pointer-events:none;width:100%;height:100%}.tile .pic .wait{background:var(--line);width:20px;height:1px}.tile .txt{border-top:1px dashed var(--line);padding:10px 12px 12px}.tile b{font:700 16px/1.1 var(--sans);text-transform:uppercase;letter-spacing:-.03em;display:block}.tile small{font:500 11px var(--mono);text-transform:uppercase;color:var(--muted)}.tile:hover{background:var(--paper-hi)}.tile:hover b{color:var(--accent)}.cats{flex-direction:column;display:flex}.cats button{border:0;border-bottom:1px solid var(--line);width:100%;padding:0 var(--pad);text-align:left;background:0 0;align-items:center;gap:12px;display:flex}.cats .group{height:44px;font:500 11px var(--mono);text-transform:uppercase;color:var(--accent);border-bottom-color:var(--line);padding-top:10px}.cats .group .see{color:var(--muted);margin-left:auto}.cats .group:hover .see{color:var(--accent)}.cats .cat{min-height:52px;font:500 14px var(--sans);letter-spacing:-.01em}.cats .cat.all{text-transform:uppercase;min-height:48px;font-size:13px;font-weight:600}.cats .cat .pic{background:var(--paper-hi);flex:none;place-items:center;width:44px;height:34px;display:grid;overflow:hidden}.cats .cat .pic img{object-fit:contain;pointer-events:none;width:100%;height:100%}.cats .cat .pic .wait{background:var(--line);width:12px;height:1px}.cats .cat .name{flex:1}.cats .cat .n{font:500 11px var(--mono);color:var(--muted)}.cats .cat:after{content:"";border-top:1px solid var(--muted);border-right:1px solid var(--muted);width:6px;height:6px;margin-left:4px;transform:rotate(45deg)}.cats .cat:hover{background:var(--paper-hi)}.cats .cat:hover .name{color:var(--accent)}.grid[hidden]{display:none}.chips{padding:10px var(--pad) 14px;flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--line);height:28px;font:500 11px var(--mono);text-transform:uppercase;background:0 0;padding:0 10px}.chips button.on{background:var(--ink);border-color:var(--ink);color:var(--paper-hi)}.chips button:not(.on):hover{border-color:var(--ink)}.chips.rooms{padding-bottom:6px}.chips.rooms.dim button.on{color:var(--ink);background:0 0}.chips.types{padding:4px var(--pad) 12px;gap:2px 14px}.chips.types button{height:24px;color:var(--ink-soft);text-transform:none;font:500 13px var(--sans);letter-spacing:-.01em;border:0;padding:0}.chips.types button.on{color:var(--accent);box-shadow:inset 0 -1px 0 var(--accent);background:0 0}.chips.types button:not(.on):hover{color:var(--ink)}.card .foot{border-top:1px solid var(--line);height:40px;font:500 12px var(--mono);align-items:stretch;margin-top:auto;display:flex}.card .price{white-space:nowrap;color:var(--ink-soft);flex:1;align-items:center;padding:0 10px;font-size:11px;display:flex}.card .shop{border-left:1px solid var(--line);color:var(--ink);text-transform:uppercase;align-items:center;gap:6px;padding:0 14px;font-size:11px;text-decoration:none;transition:background .15s,color .15s;display:flex}.card .shop:hover,.card .shop:focus-visible{background:var(--accent);color:var(--on-accent);outline:none}.card[hidden],.empty[hidden],.chips[hidden]{display:none}.card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.card{text-align:left;border:0;border-bottom:1px solid var(--line);touch-action:pan-y;cursor:grab;background:0 0;flex-direction:column;padding:0;display:flex}.card:nth-child(odd){border-right:1px solid var(--line)}.card .pic{aspect-ratio:4/3;background:var(--paper-hi);place-items:center;display:grid;overflow:hidden}.card .pic img{object-fit:contain;pointer-events:none;width:100%;height:100%}.card .pic .wait{background:var(--line);width:20px;height:1px}.card .txt{border-top:1px dashed var(--line);padding:8px 12px 10px}.card b{font:600 13px/1.2 var(--sans);text-transform:uppercase;letter-spacing:-.01em;display:block}.card small{-webkit-line-clamp:2;font:500 12px/1.3 var(--sans);color:var(--ink-soft);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card em{font:500 10px var(--mono);color:var(--muted);margin-top:3px;font-style:normal;display:block}.card:hover{background:var(--paper-hi)}.card:hover b{color:var(--accent)}.empty{padding:24px var(--pad);color:var(--muted);grid-column:1/-1;font-size:13px}.styles{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.style{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;padding:12px}.style:nth-child(odd){border-right:1px solid var(--line)}.style .sw{grid-template-columns:2fr 1fr;gap:2px;height:64px;display:grid}.style .sw i{background-position:50%;background-size:cover}.style .wall{border:1px solid var(--line);height:8px;margin:2px 0 8px}.style b{font:600 14px var(--sans);text-transform:uppercase;letter-spacing:-.02em}.style:hover b{color:var(--accent)}.style.on{background:var(--paper-hi);box-shadow:inset 0 0 0 2px var(--accent)}.paint-rooms{padding-top:0}.paints{padding:0 var(--pad);grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.paint{text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.paint i{aspect-ratio:1;border:1px solid var(--line);display:block}.paint span{font:500 10px/1.2 var(--mono);text-transform:uppercase;color:var(--ink-soft)}.paint.on i{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--accent)}.paint:hover span{color:var(--accent)}.paint.reset i{background:repeating-linear-gradient(135deg, var(--paper-hi) 0 6px, var(--line) 6px 7px)}.tile-pick{padding:0 var(--pad);grid-template-columns:repeat(4,1fr);gap:10px 8px;display:grid}.tile-opt{text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.tile-opt .sw{aspect-ratio:1;border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:4px}.tile-opt .t{font:500 10px/1.25 var(--mono);text-transform:uppercase;color:var(--ink-soft)}.tile-opt:hover .sw{border-color:var(--ink)}.tile-opt.on .sw{outline:2px solid var(--accent);outline-offset:1px}.tile-opt.on .t{color:var(--accent)}.toggles{border-top:1px solid var(--line)}.toggle{border:0;border-bottom:1px solid var(--line);width:100%;padding:12px var(--pad);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle b{font:600 14px var(--sans);text-transform:uppercase;letter-spacing:-.01em}.toggle span{font:500 11px var(--mono);text-transform:uppercase;color:var(--muted);white-space:nowrap}.toggle span:before{content:"";border:1px solid var(--muted);vertical-align:0;width:8px;height:8px;margin-right:8px;display:inline-block}.toggle.on span{color:var(--accent)}.toggle.on span:before{background:var(--accent);border-color:var(--accent)}#spec{border-top:1px solid var(--line)}.spec-row{padding:10px var(--pad);border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;column-gap:12px;display:grid}.spec-row .swatch{border:1px solid var(--line);background-position:50%;background-size:cover;grid-row:span 3;width:44px;height:44px}.spec-row .k{font:500 10px var(--mono);text-transform:uppercase;color:var(--muted)}.spec-row .v{font-size:14px}.spec-row .n{font:500 10px/1.4 var(--mono);text-transform:uppercase;color:var(--accent)}.field{min-height:52px;padding:0 var(--pad);border-top:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;display:grid}.field:last-of-type{border-bottom:1px solid var(--line)}.field>span{font:500 11px var(--mono);text-transform:uppercase;color:var(--muted)}.field select{background:var(--paper-hi);border:1px solid var(--line);height:36px;font:500 13px var(--mono);border-radius:0;padding:0 10px}.field.time{grid-template-columns:72px 1fr 64px}.field input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.field output{font:500 14px var(--mono);text-align:right}.compass{background:var(--paper-hi);border:1px solid var(--line);height:36px;font:500 12px var(--mono);text-transform:uppercase;justify-self:start;align-items:center;gap:10px;padding:0 12px;display:flex}.compass i{font-style:normal;transition:transform .3s;display:inline-block}.compass em{color:var(--muted);font-style:normal}.wide{width:calc(100% - 2 * var(--pad));margin:16px var(--pad) 0;background:var(--accent);height:44px;color:var(--on-accent);font:500 13px var(--mono);text-transform:uppercase;border:0;display:block}.wide:hover{background:var(--ink)}.stage{inset:var(--bar) 0 0 var(--side);position:fixed}#scene{touch-action:none;width:100%;height:100%;display:block}.frame{pointer-events:none;position:absolute;inset:14px}.frame:before,.frame:after{content:"";background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 8px);height:7px;position:absolute;left:18px;right:18px}.frame:before{top:0}.frame:after{bottom:0}.frame i{width:11px;height:11px;position:absolute}.frame i:before,.frame i:after{content:"";background:var(--ink);position:absolute}.frame i:before{width:1px;height:11px;top:0;left:5px}.frame i:after{width:11px;height:1px;top:5px;left:0}.frame i:first-child{top:-2px;left:-2px}.frame i:nth-child(2){top:-2px;right:-2px}.frame i:nth-child(3){bottom:-2px;left:-2px}.frame i:nth-child(4){bottom:-2px;right:-2px}.sheet{pointer-events:none;align-items:flex-end;gap:32px;transition:opacity .4s;display:flex;position:absolute;bottom:36px;left:36px}.sheet h1{font:600 40px/.95 var(--sans);text-transform:uppercase;letter-spacing:-.04em}.sheet dl{border-top:1px dashed var(--line);grid-template-columns:auto 1fr;gap:3px 10px;padding-top:8px;font-size:11px;display:grid}.sheet dt{color:var(--muted)}.sheet dt:after{content:" :"}.sheet .legend{border-top:1px dashed var(--line);row-gap:5px;margin:0;padding:8px 0 0;font-size:11px;list-style:none;display:grid}.sheet .legend li{align-items:center;gap:8px;display:flex}.sheet .legend i{flex:none;width:22px;height:6px}.sheet .legend .k-struct{background:#282828}.sheet .legend .k-part{background:#6e6e6b}body[data-view="3d"] .sheet{opacity:0}#labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{white-space:nowrap;flex-direction:column;align-items:center;transition:opacity .4s;display:flex;position:absolute;top:0;left:0}.label .name{font:500 11px var(--mono);text-transform:uppercase}.label .area{font:500 10px var(--mono);color:var(--muted)}.label.quiet .name{color:var(--muted);font-size:9px}.label.dim .name{font:500 10px var(--mono);color:var(--muted);letter-spacing:0}body[data-view="3d"] .label.dim,body[data-view="3d"] .label .area,body[data-view="3d"] .label.quiet{opacity:0}body[data-view="3d"] .label .name{background:var(--paper-hi);border:1px solid var(--line);padding:1px 6px}body.dragging .label{opacity:.25}.hint{color:var(--muted);text-align:right;opacity:0;font-size:11px;line-height:1.6;transition:opacity .4s;position:absolute;bottom:36px;right:36px}body[data-view="3d"] .hint{opacity:1}.sel{background:var(--paper-hi);border:1px solid var(--line);display:none;position:absolute;top:36px;right:36px}.sel.on{display:flex}.sel .what{white-space:nowrap;border-right:1px solid var(--line);padding:8px 14px;line-height:1.2}.sel .what b{font:600 15px var(--sans);text-transform:uppercase;display:block}.sel .what span{font:500 11px var(--mono);color:var(--muted)}.sel-tools{z-index:2;background:var(--paper-hi);border:1px solid var(--ink);border-radius:4px;display:none;position:absolute;top:0;left:0;box-shadow:0 2px 10px #2828281f}.sel-tools.on{display:flex}body.dragging .sel-tools{opacity:.4;pointer-events:none}.sel-tools .act{border:0;border-right:1px solid var(--line);background:0 0;place-items:center;width:40px;height:36px;padding:0;display:grid}.sel-tools .act:last-child{border-right:0}.sel-tools .act:hover{color:var(--accent)}.sel-tools .act.danger:hover{background:var(--accent);color:var(--on-accent)}@media (pointer:coarse){.sel-tools .act{width:48px;height:44px}}.notice-btn{border:0;border-left:1px solid var(--line);color:var(--ink-soft);background:0 0;padding:0 20px;font-size:12px}.notice-btn:hover{color:var(--accent)}.notice{border:1px solid var(--line);background:var(--paper) var(--grain);width:min(620px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--ink);margin:auto;padding:0}.notice::backdrop{background:#28282859}.notice-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.notice h2{font:600 22px var(--sans);text-transform:uppercase;letter-spacing:-.03em}.notice-head button{color:var(--ink-soft);background:0 0;border:0;font-size:12px}.notice-head button:hover{color:var(--accent)}.notice dl{grid-template-columns:110px 1fr;margin:0;display:grid}.notice dt,.notice dd{border-bottom:1px solid var(--line);margin:0;padding:14px 20px}.notice dt{color:var(--accent);border-right:1px solid var(--line);font-size:11px}.notice dd{letter-spacing:-.01em;font-size:14px;line-height:1.5}.notice a{color:var(--ink)}.notice a:hover{color:var(--accent)}.consent{z-index:5;background:var(--paper-hi);border:1px solid var(--line);border-top:2px solid var(--accent);width:min(360px,100vw - 32px);position:fixed;bottom:24px;right:24px}.consent[hidden]{display:none}.consent header{border-bottom:1px dashed var(--line);color:var(--muted);justify-content:space-between;padding:10px 16px;font-size:10px;display:flex}.consent header span:first-child{color:var(--accent)}.consent p{letter-spacing:-.01em;padding:14px 16px 8px;font-size:14px;line-height:1.5}.consent .link{color:var(--accent);background:0 0;border:0;margin:0 16px 14px;padding:0;font-size:11px}.consent .link:hover{text-decoration:underline}.consent-acts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.consent-acts button{height:44px;color:var(--ink-soft);background:0 0;border:0;font-size:12px}.consent-acts button+button{border-left:1px solid var(--line)}.consent-acts button:hover{color:var(--ink);background:var(--paper)}.consent-acts .primary{background:var(--ink);color:var(--paper-hi)}.consent-acts .primary:hover{background:var(--accent);color:var(--on-accent)}#gate{display:none}@media (width<=1100px){:root{--side:300px;--bar:56px;--pad:14px}.unit-name{font-size:18px}.facts span:nth-child(3){display:none}.facts{gap:20px}.seg button{width:76px}.sheet,.hint{bottom:26px;left:26px}.hint{display:none}.sel{top:26px;right:26px}.sheet h1{font-size:30px}.sheet dl{display:none}}@media (width<=767px){#gate{z-index:10;background:var(--paper) var(--grain);align-items:center;padding:0 12px;display:flex;position:fixed;inset:0}#gate>div{text-align:center;width:100%}#gate p{color:var(--ink-soft);max-width:300px;margin:0 auto 16px;font-size:14px}#gate .gate-title{font:600 24px/1 var(--sans);text-transform:uppercase;color:var(--ink);margin-bottom:10px}#gate button{background:var(--accent);color:var(--on-accent);font:500 13px var(--mono);text-transform:uppercase;border:0;padding:11px 18px}:root{--side:0px}.side,.facts{display:none}.unit-name{flex:1;width:auto}}@media (hover:none){.chips button{height:36px}.toggle{padding:16px var(--pad)}}
