:root{--card: #ffffff;--ink: #17212b;--mute: #6b7684;--line: #e7ebf0;--wash: #f3f6f9;--accent: #0a70b5;--accent-deep: #065196;--accent-soft: #dcebf9;--shadow: 0 10px 34px rgba(16, 32, 52, .14), 0 2px 6px rgba(16, 32, 52, .06);--f-ui: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}[hidden]{display:none!important}html,body{height:100%;margin:0;background:#dfe5ea;color:var(--ink);overflow:hidden}body{font-family:var(--f-ui);font-size:14px;-webkit-font-smoothing:antialiased;touch-action:none}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#view{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;cursor:grab}#view.dragging{cursor:grabbing}body.mode-hop #view,body.mode-doll #view{cursor:pointer}.fade{transition:opacity .45s ease,transform .45s ease}body.idle .fade{opacity:0;pointer-events:none}body.idle .dock,body.idle .levels{transform:translate(-50%,12px)}body.idle .joy{opacity:.35}.chip-logo{position:fixed;z-index:5;top:calc(env(safe-area-inset-top,0px) + 14px);left:16px;background:var(--card);border-radius:14px;padding:9px 13px;box-shadow:var(--shadow);display:flex}.chip-logo img{height:24px;width:auto;display:block;max-width:180px;object-fit:contain}@media (max-width: 560px){.chip-logo img{height:19px}.chip-logo{padding:8px 11px}}.dock{position:fixed;z-index:6;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;align-items:center;gap:4px;background:var(--card);border-radius:30px;padding:7px;box-shadow:var(--shadow)}.dock .sep{width:1px;height:26px;background:var(--line);margin:0 6px}.nb{width:48px;height:48px;border:0;border-radius:50%;background:none;display:grid;place-items:center;color:#7a8492}.nb svg{width:23px;height:23px}.nb:hover{color:var(--ink)}.nb[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}@media (max-width: 400px){.nb{width:44px;height:44px}.dock .sep{margin:0 3px}}.levels{position:fixed;z-index:6;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 86px);display:flex;gap:4px;background:var(--card);border-radius:999px;padding:4px;box-shadow:var(--shadow)}.levels button{border:0;background:none;padding:7px 14px;border-radius:999px;font-weight:600;font-size:12.5px;color:var(--mute)}.levels button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.tip{position:fixed;z-index:7;pointer-events:none;background:var(--ink);color:#fff;font-size:12px;font-weight:500;padding:5px 9px;border-radius:8px;transform:translate(-50%,-100%);white-space:nowrap;opacity:0;transition:opacity .15s}.tip.on{opacity:1}.joy{position:fixed;left:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);width:112px;height:112px;border-radius:50%;background:#ffffff47;border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:4;touch-action:none;transition:opacity .45s}.joy i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;box-shadow:0 3px 12px #10203440}#hotspots{position:fixed;inset:0;z-index:3;pointer-events:none}.hs{position:absolute;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:3px solid #fff;background:var(--accent);color:#fff;display:grid;place-items:center;padding:0;pointer-events:auto;box-shadow:0 0 0 6px #ffffff4d,0 4px 12px #00000040;transition:opacity .2s}.hs.off{opacity:0;pointer-events:none}.card{position:fixed;z-index:8;background:var(--card);border-radius:20px;box-shadow:var(--shadow)}.hs-card{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 90px);width:min(380px,calc(100% - 24px));max-height:calc(100% - 140px);overflow:auto;touch-action:pan-y}@media (max-width: 560px){.hs-card{left:12px;right:12px;width:auto}}.hs-card .imgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.hs-card .imgs img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.hs-card .imgs img:only-child{grid-column:1 / -1;aspect-ratio:16 / 9}.hs-card video,.hs-card iframe{width:100%;aspect-ratio:16 / 9;display:block;border:0;background:#000}.hs-card .body{padding:16px 18px 18px;display:grid;gap:10px}.hs-card .head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.hs-card .eyebrow{font-size:12px;color:var(--mute);font-weight:600}.hs-card h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.hs-card p{margin:0;color:#4d5866;line-height:1.5;font-size:13.5px}.hs-card .price{font-weight:700}.hs-card .row{display:flex;gap:8px}.x{width:32px;height:32px;border-radius:50%;border:0;background:var(--wash);display:grid;place-items:center;color:var(--mute);flex:0 0 auto}.btn{border:1px solid var(--line);background:var(--card);padding:11px 16px;border-radius:999px;font-weight:600;text-align:center;text-decoration:none;color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-deep)}.btn.link{border:0;background:none;color:var(--mute)}.btn.grow{flex:1 1 auto}.toast{top:calc(env(safe-area-inset-top,0px) + 16px);left:50%;transform:translate(-50%);padding:10px 16px;font-size:13px;font-weight:500;max-width:min(520px,calc(100% - 32px));text-align:center;z-index:9;border-radius:14px;transition:opacity .25s}@media (max-width: 560px){.toast{top:calc(env(safe-area-inset-top,0px) + 62px)}}.watermark{position:fixed;z-index:4;top:calc(env(safe-area-inset-top,0px) + 18px);right:16px;background:#17212b99;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;pointer-events:none}.powered{position:fixed;z-index:4;right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--mute);background:#ffffffc7;padding:4px 8px;border-radius:999px;text-decoration:none}.powered img{height:11px;width:auto}@media (max-width: 560px){.powered{bottom:calc(env(safe-area-inset-bottom,0px) + 74px)}}.loading{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:#f3f6f9;overflow:hidden}.loading-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f3f6f926,#f3f6f9e6 55%,#f3f6f9 75%);pointer-events:none}.loading-box{position:relative;z-index:1;width:min(340px,calc(100% - 48px));display:grid;gap:12px;justify-items:center;text-align:center}.loading-logo{max-width:min(240px,70vw);max-height:64px;height:auto}.loading h1{margin:4px 0 0;font-size:22px;font-weight:700;letter-spacing:-.02em}.loading h1:empty{display:none}.loading p{margin:0;color:#4d5866}.loading .pb{width:100%;height:3px;background:var(--line);border-radius:2px;overflow:hidden}.loading .pb i{display:block;height:100%;width:0;background:var(--accent);transition:width .15s}.loading-t{font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums}.lead{width:100%;display:grid;gap:10px;margin-top:8px;text-align:left}.lead-title{font-weight:600;color:var(--ink)!important}.lead input:not([type=checkbox]){border:1px solid #dfe5ea;border-radius:12px;padding:12px 14px;background:#fff}.lead .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#4d5866;line-height:1.45}.lead .consent input{accent-color:var(--accent);margin-top:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}body.preview:after{content:"";position:fixed;inset:0;z-index:3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='220'%3E%3Ctext x='170' y='115' text-anchor='middle' transform='rotate(-24 170 110)' font-family='Plus Jakarta Sans, Arial, sans-serif' font-size='22' font-weight='700' letter-spacing='3' fill='white' fill-opacity='.34' stroke='black' stroke-opacity='.08' stroke-width='.6'%3EPREVIEW · ARCHVIEWVR%3C/text%3E%3C/svg%3E");background-repeat:repeat}.dock [hidden]{display:none!important}.room-label{position:fixed;z-index:4;left:50%;top:calc(env(safe-area-inset-top,0px) + 18px);transform:translate(-50%,-6px);background:#ffffffeb;color:var(--ink);font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity .3s,transform .3s}.room-label.on{opacity:1;transform:translate(-50%)}body.idle .room-label.on{opacity:.75}.dock:not(:has(>:not([hidden]))){display:none}body.brand-wait .loading-logo,body.brand-wait #brand-logo{visibility:hidden}.hs svg{width:15px;height:15px}body.placing canvas{cursor:crosshair}.hs-card .gallery{position:relative;background:#000}.hs-card .gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.hs-card .gal{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:#ffffffe6;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #0003}.hs-card .gal.prev{left:10px}.hs-card .gal.next{right:10px}.hs-card .gal-n{position:absolute;right:10px;bottom:10px;background:#0000008c;color:#fff;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:999px}.hs-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hs-line{stroke:#fff;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:opacity .2s}.hs-anchor{fill:var(--accent);stroke:#fff;stroke-width:2;transition:opacity .2s}.hs-line.off,.hs-anchor.off{opacity:0}@media (min-width: 561px){.hs-card.anchored{right:auto;bottom:auto;max-height:calc(100% - 120px)}}body.dark{--card: #1c232b;--ink: #eef2f6;--mute: #9aa6b3;--line: #2e3945;--wash: #26303a;--shadow: 0 10px 34px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .25);color-scheme:dark}body.dark .loading{background:#12171d}body.dark .loading:after{background:linear-gradient(180deg,#12171d1a,#12171dd9 55%,#12171d 75%)}body.dark .loading p,body.dark .hs-card p,body.dark .lead .consent{color:var(--mute)}body.dark .lead input:not([type=checkbox]){background:var(--wash);border-color:var(--line)}body.dark .room-label{background:#1c232beb}body.dark .powered{background:#1c232bc7}body.dark .nb{color:var(--mute)}body.dark .nb:hover{color:var(--ink)}body.dark .btn.primary{color:#fff}body[data-shape=soft] .dock{border-radius:18px}body[data-shape=soft] .nb,body[data-shape=soft] .levels button{border-radius:12px}body[data-shape=soft] .levels,body[data-shape=soft] .btn,body[data-shape=soft] .room-label{border-radius:14px}body[data-shape=soft] .hs-card,body[data-shape=soft] .chip-logo{border-radius:16px}body[data-shape=square] .dock,body[data-shape=square] .levels,body[data-shape=square] .chip-logo{border-radius:6px}body[data-shape=square] .nb,body[data-shape=square] .levels button,body[data-shape=square] .btn,body[data-shape=square] .room-label,body[data-shape=square] .x{border-radius:4px}body[data-shape=square] .hs-card{border-radius:6px}body[data-shape=square] .lead input:not([type=checkbox]){border-radius:4px}body[data-shape=soft] .lead input:not([type=checkbox]){border-radius:10px}.loading video.loading-bg{object-fit:cover}.loading .explore{margin-top:8px;padding:13px 34px;font-size:15px;animation:explore-in .6s ease both}@keyframes explore-in{0%{opacity:0;transform:translateY(6px)}}.loading{transition:opacity .5s ease}.loading.slow{transition:opacity 1.6s ease}.loading.slow .loading-bg{transition:transform 1.6s ease;transform:scale(1.04)}.loading.leaving{opacity:0;pointer-events:none}.take-home{left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 90px);width:300px;padding:14px;display:flex;gap:14px;align-items:center;z-index:7}.th-qr{width:96px;height:96px;flex:none;border-radius:10px;overflow:hidden;background:#fff;padding:4px;box-sizing:border-box}.th-qr svg{width:100%;height:100%;display:block}.th-qr.blur svg{filter:blur(3px);opacity:.5}.th-t{display:grid;gap:4px}.th-t strong{font-size:14.5px}.th-t span{font-size:12.5px;color:var(--mute);line-height:1.45}.take-home.kiosk{left:auto;right:24px;bottom:44px;width:340px;padding:16px}.take-home.kiosk .th-qr{width:112px;height:112px}.take-home.kiosk .th-t strong{font-size:16px}body.kiosk #b-share,body.kiosk #b-snap{display:none}body.guided .fade,body.guided .room-label,body.guided #hotspots,body.guided .joy{opacity:0!important;pointer-events:none}body.guided #view{cursor:pointer}.kiosk-ui{position:fixed;inset:0;z-index:6;pointer-events:none}.k-card{position:absolute;left:32px;bottom:44px;max-width:min(560px,calc(100% - 420px));color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35);display:grid;gap:10px}.k-step{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.k-card h2{margin:0;font-size:clamp(30px,4.2vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1.02}.k-bars{display:flex;gap:6px;margin-top:6px}.k-bars i{flex:1 1 0;max-width:64px;height:4px;border-radius:2px;background:#ffffff59;overflow:hidden}.k-bars b{display:block;height:100%;width:0;background:#fff}.k-bars i.done b{width:100%}.k-hint{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 24px);transform:translate(-50%);background:#ffffffeb;color:var(--ink);font-weight:600;font-size:14px;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow);animation:k-pulse 3s ease-in-out infinite}body.dark .k-hint{background:#1c232beb}@keyframes k-pulse{50%{opacity:.7}}.kiosk-ui:before{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent)}.k-fade{position:fixed;inset:0;z-index:5;background:var(--card);opacity:0;pointer-events:none;transition:opacity .55s ease}.k-fade.on{opacity:1}@media (max-width: 760px){.k-card{max-width:calc(100% - 48px);left:20px;bottom:30px}.take-home.kiosk{display:none}}body.guided .chip-logo{opacity:1!important}.dbg-list{position:fixed;z-index:7;top:60px;right:12px;width:230px;max-height:calc(100% - 150px);overflow:auto;background:#fffffff2;color:#17212b;border-radius:12px;box-shadow:var(--shadow);padding:6px;font-size:12px;touch-action:pan-y}.dbg-head{padding:6px 8px 8px;color:#4d5866;border-bottom:1px solid #e7ebf0;margin-bottom:4px}.dbg-list button{display:flex;width:100%;gap:8px;align-items:center;border:0;background:none;padding:5px 8px;border-radius:8px;text-align:left;color:inherit}.dbg-list button:hover{background:#f3f6f9}.dbg-list i{width:9px;height:9px;border-radius:50%;flex:none}.dbg-list span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.dbg-list em{font-style:normal;color:#6b7684;font-variant-numeric:tabular-nums;white-space:nowrap}
