:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--bg:#0b0b0c;--bg-2:#111113;--panel:#1414169e;--line:#ffffff14;--line-2:#ffffff24;--text:#ecebe7;--muted:#8f8d88;--faint:#5f5e5b;--accent:#e9e6df;--accent-2:#a9b2bb;--free:#a7b5a3;--reserved:#c4b096;--sold:#6c6b68;--warn:#c9b28f;--bad:#c0928a;--glass:linear-gradient(180deg, #ffffff16, #ffffff06);--glass-strong:linear-gradient(180deg, #ffffff1f, #ffffff0a);--glass-edge:inset 0 1px 0 #ffffff24, inset 0 -1px 0 #00000040;--blur:blur(22px) saturate(115%);--r:16px;--r-lg:22px;--ease:cubic-bezier(.2, .8, .2, 1);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}#view{position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.bar{left:50%;bottom:max(16px, calc(var(--safe-bottom) + 8px));background:var(--panel);-webkit-backdrop-filter:var(--bf-x,blur(14px));backdrop-filter:var(--bf-x,blur(14px));border:1px solid var(--line);border-radius:14px;gap:4px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.bar button{-webkit-appearance:none;appearance:none;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:10px 14px;font:500 13px/1 inherit}.bar button[aria-pressed=true]{color:var(--text);background:#ffffff1a}.stats{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:60vw;padding:8px 10px;font:11px/1.4 ui-monospace,Menlo,monospace;position:absolute;top:12px;left:12px}.attrib{color:#ffffff8c;text-shadow:0 1px 2px #0009;font-size:10px;position:absolute;bottom:6px;right:8px}.attrib a{color:inherit}.loading{background:var(--bg);color:var(--muted);place-items:center;font-size:14px;transition:opacity .6s;display:grid;position:absolute;inset:0}.loading.done{opacity:0;pointer-events:none}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.big{letter-spacing:-.01em;font-size:22px;font-weight:600}.big small{color:var(--muted);font-size:13px;font-weight:400}.muted{color:var(--muted);font-size:13px}.pad{padding:0 18px}.topbar{left:12px;top:calc(12px + var(--safe-top));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:var(--bf-x,blur(14px));backdrop-filter:var(--bf-x,blur(14px));border-radius:14px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:8px 14px 8px 8px;display:flex;position:absolute}.topbar .name{font-size:15px;font-weight:600}.icon{-webkit-appearance:none;appearance:none;width:36px;height:36px;color:var(--text);cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;font-size:16px}.hint{left:50%;bottom:calc(max(16px, calc(var(--safe-bottom) + 8px)) + 58px);color:var(--text);white-space:nowrap;background:#0a0b0d8c;border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;transform:translate(-50%)}.tip{pointer-events:none;color:var(--text);border:1px solid var(--line);z-index:5;background:#0a0b0dd1;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;position:fixed;top:0;left:0}.loading .spinner,.photo-veil .spinner{border:2px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.9s linear infinite spin}.loading{text-align:center;place-content:center;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.photo-veil{text-align:center;color:var(--text);z-index:20;background:#08090b99;place-content:center;display:grid;position:absolute;inset:0}.panel{right:12px;top:calc(12px + var(--safe-top));bottom:calc(12px + var(--safe-bottom));background:var(--panel);border:1px solid var(--line);width:min(420px,100vw - 24px);-webkit-backdrop-filter:var(--bf-x,blur(18px));backdrop-filter:var(--bf-x,blur(18px));border-radius:18px;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;overflow:auto;transform:translate(calc(100% + 24px))}.panel.open{transform:none}.panel-head{background:linear-gradient(var(--panel) 80%, transparent);z-index:1;justify-content:space-between;align-items:flex-start;padding:16px 16px 8px 18px;display:flex;position:sticky;top:0}.stepper{gap:4px;display:flex}.stepper button{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:10px;width:34px;height:34px;font-size:12px}.stepper button.x{margin-left:6px}.fp-wrap{padding:4px 14px}svg.fp{width:100%;height:auto;display:block}svg.fp .shell{fill:#ffffff08;stroke:#ffffff59;stroke-width:.12px}svg.fp .core{fill:#ffffff14;stroke:none}svg.fp .apt .hit{fill:#0000;stroke:none}svg.fp .apt .room{fill:none;stroke:#ffffff47;stroke-width:.05px}svg.fp .apt{cursor:pointer;outline:none}svg.fp .apt.sold{cursor:default}svg.fp .apt.sold .hit{fill:#9a979024}svg.fp .apt.sel .hit{fill:#7fb4ff73;stroke:#7fb4ff;stroke-width:.15px}svg.fp text{fill:var(--text);text-anchor:middle;pointer-events:none;font-family:inherit}svg.fp text.n{font-size:1.5px;font-weight:700}svg.fp text.a{fill:var(--muted);font-size:1.05px}.legend{color:var(--muted);gap:14px;padding:6px 18px 12px;font-size:12px;display:flex}.lg:before{content:"";vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.lg.free:before{background:var(--free)}.lg.reserved:before{background:var(--reserved)}.lg.sold:before{background:var(--sold)}.card{border:1px solid var(--line);background:#ffffff0d;border-radius:14px;margin:6px 14px 16px;padding:16px}.card .row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.price{color:var(--accent);margin:10px 0 4px;font-size:20px;font-weight:600}.pill{background:#ffffff14;border-radius:999px;padding:4px 9px;font-size:11px}.pill.free{color:var(--free)}.pill.reserved{color:var(--reserved)}.pill.sold{color:var(--sold)}.actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:12px;align-items:center;gap:8px;padding:11px 16px;font:600 14px/1 inherit;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);color:#1c1610;border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.room-labels{pointer-events:none;position:absolute;inset:0}.room-label{border:1px solid var(--line);white-space:nowrap;background:#0c0d0fb8;border-radius:9px;flex-direction:column;align-items:center;padding:5px 9px;font-size:11px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.room-label b{font-size:12px;font-weight:600}.room-label span{color:var(--muted);font-size:10.5px}.apt-info{left:12px;top:calc(12px + var(--safe-top));background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:var(--bf-x,blur(14px));backdrop-filter:var(--bf-x,blur(14px));border-radius:14px;padding:12px 16px;position:absolute}.apt-info .price{margin:6px 0 0;font-size:16px}@media (max-width:720px){.panel{width:auto;max-height:62vh;inset:auto 8px 8px;transform:translateY(calc(100% + 24px))}.panel.open{transform:none}.bar{bottom:max(10px, env(safe-area-inset-bottom))}.bar button{padding:10px;font-size:12px}.topbar .name{font-size:14px}.hint{display:none}}html.tg,html.tg body{overscroll-behavior:none;-webkit-user-select:none;user-select:none}.app{-webkit-overflow-scrolling:touch;padding:calc(10px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));background:var(--bg);flex-direction:column;gap:14px;max-width:640px;margin:0 auto;display:flex;position:absolute;inset:0;overflow-y:auto}.app-head{align-items:center;gap:12px;min-height:48px;display:flex}.app-head .name{font-size:17px;font-weight:600}.app-head>div:nth-child(2){flex:1}.brand{align-items:center;gap:12px;display:flex}.brand .logo{color:#1c1610;background:linear-gradient(145deg,#e3b46b,#a8743a);border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.hero{border:1px solid var(--line);background:linear-gradient(160deg,#e3b46b24,#7fb4ff0f);border-radius:18px;padding:18px}.hero h1{letter-spacing:-.01em;margin:0 0 8px;font-size:22px;line-height:1.2}.hero p{margin:0 0 12px;line-height:1.45}.how{gap:8px;margin:0;padding-left:20px;font-size:14px;line-height:1.4;display:grid}.list{gap:12px;display:grid}.pcard{border:1px solid var(--line);background:#ffffff0d;border-radius:16px;gap:6px;padding:16px;display:grid}.pcard .name{font-size:17px;font-weight:600}.tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tag{color:var(--muted);background:#ffffff12;border-radius:999px;padding:4px 9px;font-size:12px}.tag.ok{color:var(--free);background:#5fbf7a1f}.btn.big{border-radius:14px;justify-content:center;width:100%;padding:15px 18px;font-size:15px}.btn.sm{padding:8px 12px;font-size:13px}.btn.ghost{background:0 0}.btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.demo-card{-webkit-appearance:none;appearance:none;text-align:left;color:var(--text);font:inherit;cursor:pointer;background:#ffffff08;border:1px dashed #ffffff2e;border-radius:16px;gap:4px;padding:16px;display:grid}.demo-card .name{font-weight:600}.attrib-line{color:var(--muted);text-align:center;font-size:11px}.attrib-line a{color:inherit}.toast{left:50%;bottom:calc(90px + var(--safe-bottom));z-index:60;border:1px solid var(--line);max-width:calc(100vw - 32px);color:var(--text);background:#14161af2;border-radius:12px;padding:12px 16px;font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0006}.wz-steps{gap:6px;display:flex}.wz-dot{-webkit-appearance:none;appearance:none;cursor:pointer;background:#ffffff1a;border:0;border-radius:4px;flex:1;height:4px;padding:0}.wz-body{flex:1;align-content:start;gap:12px;display:grid}.wz-foot{background:linear-gradient(transparent, var(--bg) 30%);padding-top:10px;position:sticky;bottom:0}.field{color:var(--muted);gap:6px;font-size:13px;display:grid}.field input,.field select,.search input{width:100%;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:12px;outline:none;padding:12px 13px;font:16px/1.2 inherit}.field input:focus,.search input:focus{border-color:var(--accent)}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.label{color:var(--muted);margin-top:4px;font-size:13px}.search{gap:8px;display:flex}.results{gap:4px;display:grid}.result{-webkit-appearance:none;appearance:none;text-align:left;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:10px;padding:10px 12px;font:14px/1.35 inherit}.map{border:1px solid var(--line);background:#1a1d21;border-radius:16px;height:min(52vh,420px);overflow:hidden}.map-info{padding:2px;font-size:14px;line-height:1.4}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font:13px/1 inherit;display:inline-flex}.chip[aria-pressed=true]{border-color:var(--c,var(--accent));background:color-mix(in srgb, var(--c,var(--accent)) 22%, transparent)}.chips.big .chip{padding:12px 14px;font-size:14px}.chip .sw{border:1px solid #ffffff4d;border-radius:5px;width:16px;height:16px}.big-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{-webkit-appearance:none;appearance:none;text-align:left;color:var(--text);font:inherit;border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:16px;gap:6px;padding:16px;display:grid}.tile .ico{font-size:26px}.tile .muted{font-size:12px}.plan-thumb img{object-fit:contain;background:#fff;border-radius:12px;width:100%;max-height:240px}.room-row{border:1px solid var(--line);background:#ffffff0d;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.room-row .grow{flex:1;min-width:0}.summary{border:1px solid var(--line);background:#ffffff0d;border-radius:16px;gap:2px;padding:6px 14px;display:grid}.sline{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:14px;display:flex}.sline:last-child{border-bottom:0}.sline b{text-align:right;font-weight:600}.leaflet-container{font:12px/1.4 inherit}.cam{z-index:50;color:#fff;background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.cam-card{border:1px solid var(--line);background:#15171b;border-radius:20px;width:min(520px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px 20px;overflow:auto}.cam-card.center{text-align:center}.cam-card h2{margin:6px 0 12px;font-size:20px;line-height:1.25}.cam-steps{gap:10px;margin:0 0 16px;padding-left:22px;font-size:15px;line-height:1.4;display:grid}.cam-actions{gap:8px;display:grid}.cam-actions .btn{justify-content:center;padding:14px}.cam-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cam-frame{border-radius:8px;position:absolute;inset:14% 7% 22%;box-shadow:0 0 0 100vmax #00000073}.cam-frame .c{border:3px solid #fff;width:34px;height:34px;position:absolute}.cam-frame .tl{border-bottom:0;border-right:0;border-radius:8px 0 0;top:-3px;left:-3px}.cam-frame .tr{border-bottom:0;border-left:0;border-radius:0 8px 0 0;top:-3px;right:-3px}.cam-frame .bl{border-top:0;border-right:0;border-radius:0 0 0 8px;bottom:-3px;left:-3px}.cam-frame .br{border-top:0;border-left:0;border-radius:0 0 8px;bottom:-3px;right:-3px}.cam-tip{top:calc(16px + var(--safe-top));text-align:center;background:#0009;border-radius:999px;width:max-content;max-width:calc(100vw - 80px);padding:9px 14px;font-size:14px;line-height:1.3;position:absolute;left:50%;transform:translate(-50%)}.cam-level{border:2px solid #ffffffb3;border-radius:50%;width:64px;height:64px;margin:-32px;position:absolute;top:50%;left:50%}.cam-level i{background:#ffd166;border-radius:50%;width:16px;height:16px;margin:-8px;transition:transform 80ms;position:absolute;top:50%;left:50%}.cam-bar{padding:16px 20px calc(20px + var(--safe-bottom));background:linear-gradient(#0000,#000000a6);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid;position:absolute;bottom:0;left:0;right:0}.cam-bar>:first-child{justify-self:start}.cam-bar>:last-child{justify-self:end}.cam-bar .btn{color:#fff}.shutter{-webkit-appearance:none;appearance:none;cursor:pointer;background:#ffffff40;border:5px solid #fff;border-radius:50%;width:74px;height:74px;padding:0}.shutter:active{background:#fff}.cam-review{object-fit:contain;background:#111;width:100%;height:100%;position:absolute;inset:0}.cam-ghost{opacity:.45;pointer-events:none;width:30%;height:100%;position:absolute;top:0;left:0}.cam-guide-line{pointer-events:none;border-top:1px dashed #ffffff73;height:0;position:absolute;top:50%;left:0;right:0}.cam-count{top:calc(64px + var(--safe-top));text-shadow:0 1px 3px #0009;font-size:15px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.cam-ring{top:calc(92px + var(--safe-top));background:#ffffff40;border-radius:6px;width:120px;height:6px;margin-left:-60px;position:absolute;left:50%;overflow:hidden}.cam-ring:after{content:"";width:calc(var(--p,0) * 100%);background:#5fbf7a;position:absolute;inset:0}.cam-close{top:calc(12px + var(--safe-top));z-index:2;-webkit-appearance:none;appearance:none;color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;width:40px;height:40px;font-size:16px;position:absolute;right:12px}.cam-spacer{width:1px}.ed{z-index:40;padding-top:var(--safe-top);background:#0b0c0e;flex-direction:column;display:flex;position:fixed;inset:0}.ed-head{align-items:center;gap:10px;padding:8px 12px;display:flex}.ed-title{flex:1;font-weight:600}.ed-tabs{gap:4px;padding:0 10px 8px;display:flex;overflow-x:auto}.ed-tabs button{-webkit-appearance:none;appearance:none;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex:none;padding:9px 11px;font:13px/1 inherit}.ed-tabs button[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:#e3b46b1f}.ed-stage{background:#2a2d31;flex:1;min-height:0;position:relative}.ed-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ed-label{fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#000000bf;stroke-width:3px;pointer-events:none;font-weight:700}.ed-label.sub{font-weight:500}.ed-vtx{fill:#fff;stroke:#000;stroke-width:1px;vector-effect:non-scaling-stroke}.ed-draft,.ed-scale{fill:#ffd166;stroke:#000;stroke-width:1px;vector-effect:non-scaling-stroke}.ed-hint{color:var(--muted);border-top:1px solid var(--line);background:#121417;padding:8px 14px;font-size:12.5px;line-height:1.35}.ed-bar{padding:10px 12px calc(12px + var(--safe-bottom));background:#121417;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:8px;min-height:168px;display:flex}.ed-bar .chips{width:100%}.ed-row{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;display:flex;overflow-x:auto}.ed-row .btn{flex:none}.ed-row .btn.primary{margin-left:auto}.ed-row input[type=range]{flex:1;min-width:120px}.ed-field{color:var(--muted);gap:4px;font-size:12px;display:grid}.ed-field input{width:110px;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:10px;padding:9px 10px;font:16px/1.2 inherit}.ed-or{color:var(--muted);align-self:end;padding-bottom:12px;font-size:12px}.pano{z-index:45;background:#000;position:fixed;inset:0}.pano-cv{touch-action:none;width:100%;height:100%;display:block}.pano-top{left:14px;top:calc(14px + var(--safe-top));background:#0000008c;border-radius:12px;padding:10px 14px;position:absolute}.pano-top .name{font-weight:600}.room-label.has-photo{pointer-events:auto;cursor:pointer;border-color:#e3b46b99}.apt-360{left:50%;bottom:calc(max(16px, calc(var(--safe-bottom) + 8px)) + 100px);-webkit-appearance:none;appearance:none;background:var(--accent);color:#1c1610;cursor:pointer;border:0;border-radius:999px;padding:11px 16px;font:600 14px/1 inherit;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #00000059}html.app-mode,html.app-mode body{overflow:hidden}.app-head .owner{white-space:nowrap;margin-left:auto}.sheet{z-index:55;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-card{width:min(560px,100%);padding:20px 18px calc(20px + var(--safe-bottom));border:1px solid var(--line);text-align:left;background:#15171b;border-radius:22px 22px 0 0;gap:10px;display:grid}.sheet-card h2{margin:0;font-size:20px}.sheet-card p{margin:0;line-height:1.4}.sheet-card input{width:100%;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:12px;padding:12px;font:15px/1.2 inherit}.sheet-card .spinner{border:2px solid #ffffff26;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;margin:8px auto;animation:.9s linear infinite spin}.sheet-card .cam-actions .btn{width:100%}.illus-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.illus-row figure{gap:6px;margin:0;display:grid}.illus-row figcaption{font-size:13px;font-weight:600}.illus-wrap svg,svg.illus{border-radius:10px;width:100%;height:auto;display:block}.cam-card .illus-wrap{margin:4px 0 14px}.big-actions.three{grid-template-columns:1fr}.big-actions.three .tile{grid-template-rows:auto auto;grid-template-columns:36px 1fr;align-items:center;column-gap:12px}.big-actions.three .tile .ico{grid-row:1/span 2;font-size:26px}.tag.warn{color:#ffd166;background:#ffd1661f}.cam-tip.bad{background:#b71c1cd9}.cam-lens{left:50%;bottom:calc(118px + var(--safe-bottom));background:#00000080;border-radius:999px;gap:6px;padding:5px;display:flex;position:absolute;transform:translate(-50%)}.cam-lens button{-webkit-appearance:none;appearance:none;color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;width:44px;height:44px;font:600 13px/1 inherit}.cam-lens button[aria-pressed=true]{color:#1c1610;background:#ffd166}.cam-arrow{color:#fff;background:#00000080;border:3px solid #fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:34px;font-weight:700;animation:1s ease-in-out infinite nudge;display:grid;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.cam-arrow.back{color:#ff8a80;border-color:#ff8a80;animation-name:nudgeBack;left:18px;right:auto}.cam-arrow.ok{color:#5fbf7a;border-color:#5fbf7a;animation:none}@keyframes nudge{50%{transform:translate(8px,-50%)}}@keyframes nudgeBack{50%{transform:translate(-8px,-50%)}}@media (prefers-reduced-motion:reduce){.cam-arrow{animation:none}}.cam-auto{top:calc(12px + var(--safe-top));-webkit-appearance:none;appearance:none;color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:999px;padding:9px 12px;font:600 12px/1 inherit;position:absolute;left:12px}.cam-warn{left:16px;right:16px;top:calc(16px + var(--safe-top));color:#fff;background:#b71c1ceb;border-radius:14px;gap:4px;padding:14px 16px;font-size:14px;line-height:1.35;display:grid;position:absolute}.cam-bar.three{grid-template-columns:1fr 1fr 1fr}.cam-bar.three>*{justify-self:stretch}.cam-bar.three .btn{justify-content:center}.cam-card.wide{width:min(720px,100vw - 24px)}.pano-review{background:#000;border-radius:12px;margin:6px 0 10px;overflow-x:auto}.pano-review canvas{width:auto;max-width:none;height:220px;display:block}.price{margin-top:14px;font-size:15px}.price b{letter-spacing:-.01em;font-size:28px}.pay-status{min-height:1.2em;margin:4px 2px;font-size:14px;line-height:1.4}.pay-done{text-align:center}.big-ok{color:#10140f;background:var(--free);border-radius:50%;place-items:center;width:64px;height:64px;margin:4px auto 12px;font-size:32px;display:grid}.seg{gap:8px;display:flex}.copy-row{-webkit-appearance:none;appearance:none;border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff0d;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;font:14px/1.3 inherit;display:grid}.copy-row b{word-break:break-all;text-align:right;font-weight:600}.copy-row .copy-ic{color:var(--accent);font-size:16px}.warn{color:var(--accent);font-size:13px}.sheet-card{max-height:calc(100dvh - var(--safe-top) - 24px);overscroll-behavior:contain;overflow-y:auto}.sheet-card>.btn{justify-content:center}.manual{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.manual summary{cursor:pointer;color:var(--muted);font-size:14px}.manual[open] summary{margin-bottom:10px}.wallet-pick{gap:12px;justify-content:flex-start!important}.wallet-pick img{border-radius:8px}.btn[hidden]{display:none!important}.how.small,.muted.small{font-size:13px}html,body{background:var(--bg)}html.app-mode body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(40% 32% at 18% 8%, #c4baa821, transparent 70%), radial-gradient(38% 30% at 92% 38%, #96a2b01a, transparent 70%), radial-gradient(50% 36% at 40% 100%, #7876701a, transparent 70%), var(--bg);position:fixed;inset:-20%}.app{padding-bottom:calc(110px + var(--safe-bottom));background:0 0;gap:16px}h1,h2,.name,.big{letter-spacing:-.02em}.hero,.pcard,.tile,.room-row,.summary,.demo-card,.card,.result,.copy-row,.manual,.map,.cam-card,.sheet-card,.toast,.topbar,.panel,.apt-info,.bar,.lang-sw,.dock,.wz-foot{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.hero,.pcard,.tile,.room-row,.summary,.demo-card,.card,.copy-row,.manual{background:var(--glass);border:1px solid var(--line);box-shadow:var(--glass-edge);border-radius:var(--r-lg)}.home-head{padding-top:4px}.brand{gap:12px}.brand .logo{background:var(--glass-strong);border:1px solid var(--line-2);width:42px;height:42px;box-shadow:var(--glass-edge);color:var(--accent);border-radius:13px}.brand .logo .mark{width:26px;height:26px}.brand .name{font-size:17px;font-weight:600}.brand .muted{font-size:12.5px}.lang-sw{background:var(--glass);border:1px solid var(--line);box-shadow:var(--glass-edge);border-radius:999px;gap:2px;margin-left:auto;padding:3px;display:flex}.lang-sw button{-webkit-appearance:none;appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 10px;font:500 12px/1 inherit;transition:background .2s,color .2s}.lang-sw button[aria-pressed=true]{color:var(--text);background:#ffffff1f;box-shadow:inset 0 1px #ffffff1f}.hero{padding:24px 20px 20px}.hero h1{max-width:16ch;margin:0 0 10px;font-size:27px;font-weight:600;line-height:1.12}.hero p{margin:0 0 18px;font-size:14.5px;line-height:1.5}.steps{gap:2px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);grid-template-columns:30px 1fr;align-items:start;gap:12px;padding:11px 0;display:grid}.steps .n{width:26px;height:26px;color:var(--text);border:1px solid var(--line-2);background:#ffffff0a;border-radius:50%;place-items:center;font:600 12px/1 inherit;display:grid}.steps li>div{gap:2px;font-size:14.5px;display:grid}.steps b{font-weight:600}.steps .muted{font-size:13.5px;line-height:1.4}.btn{border:1px solid var(--line-2);background:var(--glass);box-shadow:var(--glass-edge), 0 6px 18px #0000002e;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--text);letter-spacing:-.005em;transition:transform .18s var(--ease), background .2s, border-color .2s, opacity .2s;-webkit-tap-highlight-color:transparent;border-radius:14px;padding:12px 16px;font:500 14px/1.1 inherit;position:relative}.btn:active{transform:scale(.975)}@media (hover:hover){.btn:hover{border-color:#ffffff38}}.btn.primary{color:#121212;background:linear-gradient(#f6f4eff0,#dedad2e0);border-color:#ffffff8c;box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #0000001f,0 10px 28px #00000059}.btn.ghost{box-shadow:none;border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.btn.danger{color:var(--bad);border-color:#c0928a59}.btn[aria-pressed=true]{color:var(--text);background:var(--glass-strong);border-color:#fff6}.btn.big{border-radius:18px;padding:16px 18px;font-size:15.5px;font-weight:600}.btn.sm{border-radius:12px;padding:9px 12px;font-size:13px}.btn:disabled{opacity:.4}.icon{background:var(--glass);border:1px solid var(--line);box-shadow:var(--glass-edge);color:var(--text);width:40px;height:40px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:12px}.dock{left:50%;bottom:calc(12px + var(--safe-bottom));z-index:30;border:1px solid var(--line-2);background:#1616188c;border-radius:24px;width:min(608px,100vw - 24px);padding:8px;position:fixed;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1a,0 16px 40px #00000073}.dock .btn.big{width:100%}.pcard{gap:8px;padding:18px}.pcard .eyebrow{font-size:11px}.pcard .name{font-size:18px}.pcard .actions{gap:8px;margin-top:10px}.pcard .actions .btn{flex:auto;justify-content:center}.eyebrow{letter-spacing:.1em;color:var(--faint);font-size:11px;font-weight:500}.tag{border:1px solid var(--line);color:var(--muted);background:#ffffff0d;padding:4px 9px;font-size:11.5px}.tag.ok{color:var(--free);background:#a7b5a314;border-color:#a7b5a32e}.tag.warn{color:var(--warn);background:#c9b28f14;border:1px solid #c9b28f33}.demo-card{border-style:solid;padding:18px 44px 18px 18px;position:relative}.demo-card .name{font-size:16px}.demo-go{color:var(--muted);font-size:18px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.attrib-line{color:var(--faint)}.wz-dot{background:#ffffff14;height:3px}.wz-dot.done{background:#ffffff52}.wz-dot.cur{background:var(--accent)}.wz-foot{bottom:calc(4px + var(--safe-bottom));border:1px solid var(--line-2);background:#1616188c;border-radius:24px;margin:0 -8px;padding:8px;position:sticky;box-shadow:inset 0 1px #ffffff1a,0 16px 40px #00000073}.field{color:var(--muted);font-size:12.5px}.field input,.field select,.search input,.ed-field input,.sheet-card input{border:1px solid var(--line);color:var(--text);background:#ffffff09;border-radius:14px;padding:13px 14px;transition:border-color .2s,background .2s}.field input:focus,.search input:focus,.ed-field input:focus,.sheet-card input:focus{background:#ffffff0f;border-color:#ffffff4d}.label{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-top:8px;font-size:12px}.chip{background:var(--glass);border:1px solid var(--line);box-shadow:var(--glass-edge);color:var(--muted)}.chip[aria-pressed=true]{color:var(--text);background:var(--glass-strong);border-color:#ffffff59}.tile{padding:18px}.tile .ico{filter:grayscale()brightness(1.4);opacity:.9;font-size:22px}.map{border-radius:var(--r-lg);border:1px solid var(--line)}.result{background:var(--glass);border-radius:12px}.sheet{-webkit-backdrop-filter:var(--bf-x,blur(4px));backdrop-filter:var(--bf-x,blur(4px));animation:fadeIn .25s var(--ease);background:#00000073}.sheet-card{border:1px solid var(--line-2);animation:sheetUp .35s var(--ease);background:#18181ab8;border-bottom:0;border-radius:28px 28px 0 0;padding-top:26px;position:relative;box-shadow:inset 0 1px #ffffff1a,0 -20px 60px #00000080}.sheet-card:before{content:"";background:#ffffff2e;border-radius:4px;width:38px;height:4px;margin-left:-19px;position:absolute;top:9px;left:50%}.sheet-card .spinner,.loading .spinner,.photo-veil .spinner{border-color:#ffffff1a;border-top-color:var(--accent)}.toast{border:1px solid var(--line-2);bottom:calc(100px + var(--safe-bottom));animation:fadeIn .25s var(--ease);background:#1c1c1eb8;border-radius:16px;box-shadow:inset 0 1px #ffffff14,0 14px 40px #00000073}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}}@keyframes fadeIn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-card,.toast{animation:none}.btn{transition:none}}.price b{letter-spacing:-.03em;font-size:34px;font-weight:600}.big-ok{background:var(--glass-strong);border:1px solid var(--line-2);color:var(--text);box-shadow:var(--glass-edge)}.copy-row{border-radius:14px}.copy-row .copy-ic,.warn{color:var(--muted)}.wallet-pick img{filter:saturate(.6)}.topbar,.apt-info,.panel,.bar{border-color:var(--line-2);background:#1414168c;box-shadow:inset 0 1px #ffffff14,0 12px 32px #00000059}.bar{border-radius:18px;padding:5px}.bar button{border-radius:13px;font-weight:500}.bar button[aria-pressed=true]{background:#ffffff1f;box-shadow:inset 0 1px #ffffff1f}.price{color:var(--text)}.apt-360{color:#121212;background:linear-gradient(#f6f4eff0,#dedad2e0)}.room-label{-webkit-backdrop-filter:var(--bf-x,blur(10px));backdrop-filter:var(--bf-x,blur(10px));background:#10101299}.room-label.has-photo{border-color:#e9e6df73}svg.fp .apt.free .hit{fill:#a7b5a338}svg.fp .apt.reserved .hit{fill:#c4b09638}svg.fp .apt.free:hover .hit,svg.fp .apt.free:focus .hit{fill:#a7b5a366}svg.fp .apt.reserved:hover .hit{fill:#c4b09661}svg.fp .apt.sel .hit{fill:#e9e6df52;stroke:var(--accent)}.ed-tabs button[aria-pressed=true]{background:#ffffff14;border-color:#ffffff59}.cam-card{border-color:var(--line-2);background:#161618d9;border-radius:24px}.cam-tip{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);background:#10101299}.cam-tip.good{background:#465244c7}.cam-tip.bad,.cam-warn{background:#5c3e3ad9}.cam-frame.good{box-shadow:0 0 0 100vmax #00000073, inset 0 0 0 2px var(--free)}.cam-frame.good .c{border-color:var(--free)}.cam-frame.bad .c{border-color:var(--bad)}.cam-level i{background:var(--accent)}.cam-level.ok{border-color:var(--free)}.cam-level.ok i,.cam-ring:after{background:var(--free)}.cam-lens button[aria-pressed=true]{background:var(--accent);color:#121212}.cam-arrow.back{border-color:var(--bad);color:var(--bad)}.cam-arrow.ok{border-color:var(--free);color:var(--free)}.cam-auto[aria-pressed=true]{background:#465244d9}.illus-row figcaption.ok{color:var(--free)}.illus-row figcaption.bad{color:var(--bad)}.ed-draft,.ed-scale{fill:var(--accent)}.map .leaflet-tile-pane{filter:grayscale()invert()brightness(.82)contrast(.92)}.map .leaflet-control-zoom a{color:var(--text);border-color:var(--line);background:#18181acc}.map .leaflet-control-attribution{color:var(--muted);background:#0c0c0d99}.map .leaflet-control-attribution a{color:var(--text)}.wz-foot{z-index:1000}.wz-foot:empty{display:none}.wz-foot:has(>.btn[hidden]:only-child){display:none}.app{padding-bottom:calc(16px + var(--safe-bottom))}.app:has(>.dock){padding-bottom:calc(110px + var(--safe-bottom))}.wz-foot{bottom:0}.ic{opacity:.9;flex:none}.tile .ico{filter:none;border:1px solid var(--line);width:40px;height:40px;color:var(--text);background:#ffffff0a;border-radius:12px;place-items:center;display:grid}.big-actions.three .tile{grid-template-columns:44px 1fr}.btn.primary .ic{opacity:.85}.sheet{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000080}.sheet-card{-webkit-backdrop-filter:var(--bf-x,blur(30px) saturate(115%));backdrop-filter:var(--bf-x,blur(30px) saturate(115%));background:#161618d6}.leaflet-div-icon.pin{background:0 0;border:0}.pin i{background:var(--accent);border:4px solid #0b0b0cd9;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 0 0 1px #ffffff59,0 6px 16px #00000080}
