:root{--bg: #0f0e0d;--bg-2: #171614;--glass: rgba(20, 19, 17, .72);--glass-2: rgba(32, 30, 27, .78);--line: rgba(236, 230, 220, .1);--line-2: rgba(236, 230, 220, .18);--ink: #ece6dc;--muted: rgba(236, 230, 220, .62);--faint: rgba(236, 230, 220, .4);--accent: #c9a46a;--accent-ink: #15130f;--radius: 14px;--display: "Cormorant Garamond", "Times New Roman", serif;--ui: Manrope, Inter, system-ui, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:13px/1.5 var(--ui);color:var(--ink);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,.chip{font:inherit;color:inherit;cursor:pointer;border:0;background:none;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:10px}::selection{background:var(--accent);color:var(--accent-ink)}#stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 40%,#1d1b18 0%,var(--bg) 70%);min-height:0;min-width:0;overflow:hidden}#stage canvas{display:block}#topbar{position:fixed;top:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:calc(14px + var(--safe-t)) calc(20px + var(--safe-r)) 14px calc(20px + var(--safe-l));background:linear-gradient(180deg,#0a0908c7,#0a090800);pointer-events:none}#topbar>*{pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;justify-self:start}.mono{width:38px;height:38px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;font:600 15px var(--display);letter-spacing:.04em;color:var(--accent)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font:600 22px var(--display);letter-spacing:.02em}.brand-sub{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:3px}.top-actions{justify-self:end;display:flex;gap:8px;align-items:center}.chip{display:inline-flex;align-items:center;white-space:nowrap;height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-weight:600;font-size:12.5px;letter-spacing:.04em;transition:border-color .2s,background .2s}.chip:hover{border-color:var(--accent)}.chip.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tour-link .short{display:none}.dock-link{display:inline-flex;gap:6px;margin-top:12px;color:var(--accent);font-weight:600;text-decoration:none;font-size:12.5px}.dock-link:hover{text-decoration:underline;text-underline-offset:3px}.icon{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-items:center;font-size:15px;transition:border-color .2s}.icon:hover{border-color:var(--accent)}.seg{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.seg button{flex:1;min-height:32px;padding:0 14px;border-radius:999px;font-weight:600;font-size:12.5px;color:var(--muted);letter-spacing:.03em;white-space:nowrap;transition:color .2s,background .2s}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--ink);color:var(--accent-ink)}.floors button{min-width:44px}#panel{position:fixed;z-index:4;left:calc(16px + var(--safe-l));top:calc(76px + var(--safe-t));bottom:calc(16px + var(--safe-b));width:300px;overflow-y:auto;overscroll-behavior:contain;padding:6px 18px 18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 20px 60px #00000073;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}body.panel-closed #panel{transform:translate(calc(-100% - 40px));opacity:0;pointer-events:none}#panel section{padding:16px 0;border-top:1px solid var(--line)}#panel section.intro{border-top:0;padding-top:12px}.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.sub{margin:8px 0 0;color:var(--muted);line-height:1.55}#panel h2{font:700 10.5px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}#panel .seg{background:#ffffff0a;-webkit-backdrop-filter:none;backdrop-filter:none}.tog{display:flex;align-items:center;gap:12px;padding:7px 0;cursor:pointer;color:var(--ink);font-weight:500}.tog input{position:absolute;opacity:0;pointer-events:none}.sw{position:relative;width:34px;height:20px;border-radius:999px;background:#ffffff1f;border:1px solid var(--line-2);flex:none;transition:background .2s,border-color .2s}.sw:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.tog input:checked+.sw{background:var(--accent);border-color:var(--accent)}.tog input:checked+.sw:after{transform:translate(14px);background:var(--accent-ink)}.tog input:focus-visible+.sw{outline:1.5px solid var(--accent);outline-offset:2px}.range{display:flex;align-items:center;gap:12px;padding:2px 0 8px 46px;color:var(--muted)}.range input{flex:1;accent-color:var(--accent)}#panel button.primary,#panel button.ghost{display:block;width:100%;text-align:left;min-height:42px;padding:0 16px;border-radius:12px;font-weight:600;letter-spacing:.02em;margin-bottom:8px;transition:background .2s,border-color .2s}#panel button.primary{background:var(--ink);color:var(--accent-ink)}#panel button.primary:hover{background:#fff}#panel button.primary.ghost,#panel button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}#panel button.ghost:hover{border-color:var(--accent)}#panel button:disabled{opacity:.4;cursor:default}.row{display:flex;gap:8px;margin-top:10px}.row button{flex:1;text-align:center!important;font-size:12px}#rooms{display:flex;flex-direction:column;gap:2px}#rooms button{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;text-align:left;font-weight:500}#rooms button:hover{background:#ffffff0f}#rooms small{color:var(--faint);white-space:nowrap}details{border-top:1px solid var(--line);padding-top:14px}summary{cursor:pointer;font-weight:600;color:var(--muted)}details ul{padding-left:18px;color:var(--muted);font-size:12px}details li{margin-bottom:6px}.disclaimer{margin:16px 0 0;font-size:11.5px;color:var(--faint);line-height:1.5;border-left:2px solid var(--accent);padding-left:10px}#hint{position:absolute;left:50%;bottom:calc(18px + var(--safe-b));transform:translate(-50%);max-width:calc(100% - 32px);padding:9px 18px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--muted);font-size:12px;letter-spacing:.02em;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#progress{position:absolute;left:0;right:0;top:0;height:2px;background:#ffffff0f;z-index:6}#progress-bar{height:100%;width:0;background:var(--accent)}#rec-dot{position:absolute;top:calc(84px + var(--safe-t));right:calc(20px + var(--safe-r));color:#ff6b5e;font-weight:700;letter-spacing:.1em;padding:5px 12px;border-radius:999px;background:var(--glass);border:1px solid var(--line)}#plan-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#090807f5;display:grid;grid-template-rows:auto 1fr}.plan-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;padding:calc(16px + var(--safe-t)) calc(20px + var(--safe-r)) 14px calc(20px + var(--safe-l));border-bottom:1px solid var(--line)}.plan-head h2{font:600 26px var(--display);margin:2px 0 0}.plan-actions{display:flex;gap:8px}#plan-tabs{max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}#plan-viewer{width:100vw;overflow:hidden;grid-template-columns:minmax(0,1fr)}#plan-viewer .plan-head>*{min-width:0}#plan-canvas{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#f7f5f0}#plan-canvas.dragging{cursor:grabbing}#plan-img{position:absolute;left:0;top:0;transform-origin:0 0;-webkit-user-select:none;user-select:none;max-width:none;image-rendering:auto}.plan-zoom{position:fixed;right:calc(20px + var(--safe-r));bottom:calc(20px + var(--safe-b));display:flex;gap:8px;align-items:center;z-index:21}@media (max-width: 1100px){.brand-sub{display:none}#panel{width:280px}}@media (max-width: 720px),(max-height: 500px){body{display:flex;flex-direction:column}#stage{position:relative;flex:1;inset:auto}#topbar{grid-template-columns:auto 1fr auto;gap:8px;padding:calc(10px + var(--safe-t)) calc(10px + var(--safe-r)) 10px calc(10px + var(--safe-l))}.brand-text{display:none}.mono{width:34px;height:34px;font-size:13px}.floors{justify-self:center}.floors button{min-width:30px;padding:0 7px;font-size:12px}.top-actions{gap:6px}.tour-link .long{display:none}.tour-link .short{display:inline}#btn-fs{display:none}.chip{height:34px;padding:0 12px}.icon{width:34px;height:34px}#panel{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:46%;flex:none;order:2;border-radius:18px 18px 0 0;border-width:1px 0 0;padding:4px 18px calc(18px + var(--safe-b));box-shadow:0 -16px 40px #0006}body.panel-closed #panel{transform:none;height:0;padding:0;border:0;opacity:0}#hint{font-size:11px;white-space:normal;text-align:center;border-radius:12px}.plan-head h2{font-size:22px}#plan-tabs{order:3;flex:1 1 100%}}@media (max-width: 360px){#topbar{gap:6px}.mono{width:30px;height:30px;font-size:12px}.floors button{min-width:26px;padding:0 5px}.chip{padding:0 10px}}@media (max-height: 500px) and (min-width: 721px){#panel{height:55%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation:none!important}}
