:root{--ink: #34302a;--ink2: #2b2824;--gold: #c09a50;--gold2: #b8934f;--cream: #f6f1e7;--paper: #f8f5ef;--green: #4e6046;--red: #9a4a3a;--radius: 14px}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--ink2);color:var(--cream);font-family:Montserrat,system-ui,-apple-system,sans-serif}#app{position:fixed;inset:0}#scene{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%;cursor:grab}#scene canvas:active{cursor:grabbing}.topbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;background:linear-gradient(to bottom,rgba(27,25,21,.85),transparent)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold);border:1px solid var(--gold);font-family:Tenor Sans,serif;font-size:18px;letter-spacing:1px}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-family:Tenor Sans,serif;letter-spacing:3px;font-size:15px}.brand-text span{font-size:11px;letter-spacing:.6px;color:#d8d0c0;text-transform:uppercase}.topbar-actions{display:flex;gap:8px;align-items:center}.btn{font:500 13px/1 Montserrat,sans-serif;border-radius:999px;padding:10px 16px;cursor:pointer;border:1px solid rgba(246,241,231,.35);background:#1b19158c;color:var(--cream);text-decoration:none;display:inline-flex;align-items:center;gap:6px;backdrop-filter:blur(8px)}.btn:hover{border-color:var(--gold);color:#fff}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#221d12;border-color:transparent;font-weight:600}.btn-gold:hover{color:#000;filter:brightness(1.07)}.btn-ghost{background:#1b191573}.btn-lg{padding:14px 22px;font-size:14px}.btn-mini{padding:8px 12px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.prologue{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(ellipse at center,#1b191540,#1b1915c7)}.prologue.hidden,.hidden{display:none!important}.prologue-inner{max-width:760px}.prologue-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:12px;margin:0 0 14px}.prologue h1{font-family:Tenor Sans,serif;font-weight:400;font-size:clamp(30px,6vw,58px);line-height:1.04;margin:0 0 16px;text-shadow:0 2px 24px rgba(0,0,0,.5)}.prologue-sub{font-size:clamp(15px,2.4vw,19px);color:#efe8d8;margin:0 0 26px}.prologue-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:18px}.prologue-note{font-size:12px;color:#c9c0ae}.hud{position:absolute;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:14px 16px;flex-wrap:wrap;background:linear-gradient(to top,rgba(27,25,21,.85),transparent)}.hud-left{display:flex;flex-direction:column;gap:4px;max-width:52%}.hint{font-size:12px;color:#e8e0cc;opacity:.92}.perf{font-size:11px;color:var(--gold)}.hud-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-label{font-size:12px;color:#e8e0cc}#time-value{color:var(--gold);font-weight:600}#time-slider{width:150px;accent-color:var(--gold)}#quality{background:#1b1915b3;color:var(--cream);border:1px solid rgba(246,241,231,.3);border-radius:999px;padding:8px 12px;font-size:12px}.panel{position:absolute;top:74px;z-index:25;width:min(380px,calc(100vw - 32px));background:#1b1915eb;border:1px solid rgba(192,154,80,.4);border-radius:var(--radius);padding:16px;backdrop-filter:blur(12px);max-height:calc(100vh - 160px);overflow:auto;box-shadow:0 12px 40px #0006}.panel-right{right:16px}.panel-left{left:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font-family:Tenor Sans,serif;font-weight:400;font-size:19px;margin:0}.panel-text{font-size:14px;line-height:1.55;color:#efe8d8}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.panel-foot{font-size:11px;color:#b8ae96;margin-top:10px}.icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(246,241,231,.3);background:transparent;color:var(--cream);font-size:18px;cursor:pointer;line-height:1}.icon-btn:hover{border-color:var(--gold)}.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(246,241,231,.12);font-size:14px}.kv strong{color:#fff}.kv.price strong{color:var(--gold);font-size:17px}.apt-comment{color:var(--gold);font-size:13px}.apt-note{font-size:12px;color:#c9c0ae}.tour-nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:8px}.tour-step{font-size:12px;color:#c9c0ae}.tour-dots{display:flex;gap:6px;margin-top:12px}.dot{width:8px;height:8px;border-radius:50%;background:#f6f1e740}.dot.on{background:var(--gold)}.fav-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}.fav-item{width:100%;text-align:left;padding:10px 12px;border-radius:10px;background:#f6f1e714;color:var(--cream);border:1px solid rgba(246,241,231,.15);cursor:pointer}.fav-item:hover{border-color:var(--gold)}.fav-empty{font-size:13px;color:#c9c0ae}.calc{margin-top:14px;padding-top:12px;border-top:1px solid rgba(246,241,231,.15)}.calc h3{font-size:14px;margin:0 0 6px}.calc label{font-size:12px;color:#c9c0ae}.calc-out{font-size:13px;margin-top:8px;line-height:1.5}.calc-note{font-size:11px;color:#b8ae96}.btn-fav{position:absolute;left:16px;bottom:86px;z-index:22}.btn-fav span{background:var(--gold);color:#221d12;border-radius:999px;padding:2px 8px;font-weight:700;font-size:12px}.hotspot-tip{position:fixed;z-index:40;max-width:260px;background:#1b1915f0;border:1px solid var(--gold);border-radius:12px;padding:10px 12px;pointer-events:none}.hotspot-tip strong{font-size:13px}.hotspot-tip p{margin:6px 0 0;font-size:12px;line-height:1.45;color:#efe8d8}.poi-layer{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.poi{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;margin:-7px 0 0 -7px;color:var(--cream);font:500 11px/1 Montserrat,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:opacity .35s ease}.poi-dot{position:relative;width:14px;height:14px;border-radius:50%;flex:none;background:radial-gradient(circle,var(--gold) 0 3px,rgba(28,26,22,.55) 3.5px 100%);box-shadow:0 0 0 1px #f6f1e7d9,0 2px 8px #00000073;backdrop-filter:blur(3px)}.poi-dot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(192,154,80,.7);opacity:0;animation:poi-ring 3.2s ease-out infinite}.poi-label{padding:5px 9px;border-radius:999px;white-space:nowrap;background:#1c1a169e;border:1px solid rgba(246,241,231,.18);backdrop-filter:blur(6px);text-shadow:0 1px 2px rgba(0,0,0,.5);transition:opacity .3s ease,transform .3s ease}.poi.far .poi-label{opacity:0;transform:translate(-6px);pointer-events:none}.poi:hover .poi-label,.poi:focus-visible .poi-label{opacity:1;transform:none;border-color:var(--gold)}.poi:hover .poi-dot{box-shadow:0 0 0 1px var(--gold),0 0 14px #c09a5099}.poi:focus-visible{outline:none}.poi.occluded{opacity:.28}.poi.occluded .poi-label{opacity:0}.poi.occluded .poi-dot:after{animation:none}@keyframes poi-ring{0%{transform:scale(.6);opacity:.9}70%,to{transform:scale(1.5);opacity:0}}.poi-card{position:absolute;width:270px;padding:14px 16px 12px;border-radius:4px;pointer-events:none;background:#1c1a16e6;border-top:1px solid var(--gold);backdrop-filter:blur(10px);box-shadow:0 18px 40px #00000059;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}.poi-card.on{opacity:1;transform:none}.poi-card strong{display:block;font:400 17px/1.2 Tenor Sans,serif;color:var(--cream);letter-spacing:.02em}.poi-card p{margin:8px 0 10px;font-size:12.5px;line-height:1.5;color:#e7e0d0}.poi-card small{display:block;font-size:10px;line-height:1.4;color:#f6f1e780}@media(max-width:720px){.poi-label{display:none}.poi-card{width:calc(100vw - 48px)}}.loader{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:var(--ink2)}.loader-card{text-align:center;display:flex;flex-direction:column;gap:8px}.loader-card strong{font-family:Tenor Sans,serif;letter-spacing:6px;color:var(--gold)}.loader-card span{color:#c9c0ae;font-size:13px}.nogl{position:absolute;inset:auto 16px 16px;z-index:45;background:var(--red);padding:12px;border-radius:10px;text-align:center}.disclaimer{position:absolute;left:16px;bottom:2px;z-index:5;font-size:10px;color:#f6f1e78c;margin:0;max-width:60%}@media(max-width:720px){.panel{width:calc(100vw - 24px);right:12px;left:12px;top:64px}.brand-text span,.topbar-actions .btn-ghost{display:none}.hud-left{max-width:100%}#time-slider{width:110px}.disclaimer{display:none}}.btn-mini.active,.btn.active{border-color:var(--gold);color:var(--gold)}.finish-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pill{border:1px solid rgba(246,241,231,.25);background:#f6f1e70f;color:var(--cream);border-radius:999px;padding:6px 11px;font-size:11px;cursor:pointer}.pill.active{background:var(--gold);color:#221d12;border-color:transparent;font-weight:600}#season{background:#1b1915b3;color:var(--cream);border:1px solid rgba(246,241,231,.3);border-radius:999px;padding:8px 11px;font-size:12px}#lang{background:#1b1915b3;color:var(--cream);border:1px solid rgba(246,241,231,.3);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:600}.modal{position:fixed;inset:0;background:#14120f8c;display:flex;align-items:center;justify-content:center;z-index:40;padding:16px}.modal.hidden{display:none}.modal-card{background:#f8f5ef;color:#1c1a16;border-radius:18px;padding:20px;width:min(480px,92vw);max-height:90vh;overflow:auto}.banner-formats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}#banner-title{width:100%;padding:10px 12px;border:1px solid #d2cdca;border-radius:10px;margin-bottom:12px;font:inherit}.banner-preview{width:100%;height:auto;border-radius:12px;margin:8px 0 12px;background:#1c1a16}.panel-wide{width:min(420px,94vw)}.funnel-row{display:grid;grid-template-columns:110px 1fr 40px 44px;align-items:center;gap:8px;padding:6px 0;font-size:13px}.f-bar-wrap{height:14px;background:#eee6d3;border-radius:7px;overflow:hidden}.f-bar{display:block;height:100%;background:linear-gradient(90deg,#9a7a3c,#c09a50);border-radius:7px}.f-count,.f-conv{text-align:right;font-weight:600}.roi-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.roi-kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;font-size:13px}.roi-events{max-height:200px;overflow:auto;font-size:12px}.roi-ev{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed #e5ddc8}.roi-empty{opacity:.6;font-size:13px}.roi-actions{display:flex;gap:8px;margin-top:12px}.ar-overlay{position:fixed;inset:0;z-index:35;pointer-events:none;display:flex;flex-direction:column}.ar-top{pointer-events:auto;display:flex;gap:10px;align-items:center;background:#14120fc7;color:#f6f1e6;padding:10px 14px;border-radius:0 0 14px 14px}.ar-top span{opacity:.8;font-size:13px}.ar-top .icon-btn{margin-left:auto;color:#f6f1e6}.ar-hint{pointer-events:auto;align-self:center;margin-top:12px;background:#14120f99;color:#f6f1e6;padding:8px 14px;border-radius:999px;font-size:13px}.ar-qr-wrap{pointer-events:auto;align-self:flex-end;margin:auto 16px 16px 0;background:#f8f5ef;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:#1c1a16}.ar-scale{pointer-events:auto;align-self:center;margin-bottom:16px;display:flex;gap:8px}.ar-scale button{background:#14120fcc;color:#f6f1e6;border:1px solid rgba(246,241,230,.4);border-radius:999px;padding:7px 16px;cursor:pointer}#btn-sound.active{border-color:var(--gold);color:var(--gold)}#vr-button{display:none!important}.poi--room .poi-dot{background:var(--gold);box-shadow:0 0 0 2px #34302ad9,0 0 0 3px var(--gold)}.poi--room .poi-label:after{content:" →";color:var(--gold)}.room-bar{position:absolute;left:50%;transform:translate(-50%);z-index:16;bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 20px);padding:8px 10px;border-radius:18px;background:#34302ae6;border:1px solid rgba(192,154,80,.45);color:var(--cream);backdrop-filter:blur(6px)}.room-bar.hidden{display:none}.room-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.room-title{font:400 16px/1 Tenor Sans,serif;letter-spacing:.04em;white-space:nowrap;padding-left:6px}.room-sides{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.room-sides.hidden{display:none}.room-side,.room-exit{border:1px solid rgba(192,154,80,.6);background:transparent;color:var(--cream);border-radius:999px;padding:9px 14px;font-size:13px;cursor:pointer;white-space:nowrap;min-height:38px}.room-side.on{background:#c09a5040;border-color:var(--gold)}.room-exit{border-color:var(--gold)}.room-exit:hover,.room-side:hover{background:var(--gold);color:#34302a}.room-note{font-size:11px;line-height:1.3;color:#f6f1e7b8;text-align:center;max-width:640px}body.in-room .hud{display:none}@media(max-width:720px){.room-bar{width:calc(100vw - 20px)}.room-note{font-size:10px}}
