#chrome{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:system-ui,sans-serif;color:#fff}#chrome .logo{position:absolute;top:env(safe-area-inset-top,18px);left:18px;display:flex;align-items:center;gap:8px;pointer-events:auto;color:#fff;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.2px;text-shadow:0 1px 4px rgba(0,0,0,.6);transition:opacity .2s}#chrome .logo:hover{opacity:.8}#chrome .logo>*{position:relative;z-index:1}#chrome .logo .word:before{content:"";position:absolute;top:-10px;right:-18px;bottom:-10px;left:-18px;z-index:-1;background:#0c4a6e9e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent),linear-gradient(to bottom,transparent,#000 34%,#000 66%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent),linear-gradient(to bottom,transparent,#000 34%,#000 66%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}#chrome .logo .mark{width:28px;height:28px;display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}#chrome .info{position:absolute;left:16px;bottom:16px;max-width:70vw;text-shadow:0 1px 6px rgba(0,0,0,.7)}#chrome .info .title{font-size:18px;font-weight:600}#chrome .info .subtitle{font-size:13px;opacity:.85}#chrome .grad{position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.5))}#chrome .ctrls{position:absolute;right:16px;bottom:16px;display:flex;gap:8px;pointer-events:auto}#chrome .cbtn{width:40px;height:40px;border-radius:8px;background:#14181e8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}#chrome .cbtn:hover{background:#282e38b3}#chrome .cbtn.wide{width:auto;padding:0 12px;font-size:13px}#chrome .cbtn.active{background:#7fd1ff59;border-color:#7fd1ff99}#chrome .cbtn:disabled{opacity:.45;cursor:progress}#loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d12;font-family:system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .4s;z-index:10}#loading.hidden{opacity:0;pointer-events:none}#loading .brand,#error .brand{display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.3px;color:#fff}#loading .brand .mark,#error .brand .mark{width:64px;height:64px;display:block}#loading .bar{width:180px;height:4px;border-radius:2px;background:#ffffff26;overflow:hidden}#loading .bar>i{display:block;height:100%;width:0%;background:#7fd1ff;transition:width .2s}#error{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d12;font-family:system-ui,sans-serif;color:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;z-index:11}#error.show{display:flex}#error button{pointer-events:auto;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#282e38b3;color:#fff;cursor:pointer}@media (max-width: 900px){#chrome .ctrls{left:16px;flex-wrap:wrap;justify-content:flex-end}#chrome .info{bottom:calc(16px + var(--ctrls-h, 40px) + 8px);max-width:calc(100vw - 32px)}#chrome .info .title,#chrome .info .subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.hp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#00000059;font-family:system-ui,sans-serif;color:#fff}.hp-backdrop[hidden],.hp-toast[hidden]{display:none}.hp-panel{box-sizing:border-box;width:min(460px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;border-radius:12px;background:#0e1218eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #00000080;outline:none}.hp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.hp-head h2{margin:0;font-size:16px;font-weight:600;letter-spacing:.2px}.hp-close{width:36px;height:36px;flex:none;border-radius:8px;background:#282e38b3;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:20px;line-height:1;cursor:pointer}.hp-close:hover{background:#3c4450cc}.hp-close:focus-visible{outline:2px solid #7fd1ff;outline-offset:2px}.hp-rows{list-style:none;margin:0;padding:0}.hp-rows li{display:flex;align-items:baseline;gap:12px;padding:7px 0;border-top:1px solid rgba(255,255,255,.08);font-size:14px;line-height:1.35}.hp-rows li:first-child{border-top:0}.hp-in{flex:0 0 56%;display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:#ffffffd9;font-size:13px}.hp-do{flex:1 1 auto}.hp-gesture{padding:2px 8px;border-radius:999px;background:#7fd1ff33;border:1px solid rgba(127,209,255,.45);font-size:12.5px;white-space:nowrap}.hp-panel kbd,.hp-toast kbd{display:inline-block;min-width:1.5em;padding:2px 6px;border-radius:5px;box-sizing:border-box;text-align:center;font:600 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-bottom-width:2px}.hp-notes{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}.hp-notes p{margin:4px 0;font-size:13px;color:#fffc}.hp-notes:empty{display:none}.hp-toast{position:fixed;z-index:7;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%,6px);max-width:calc(100vw - 32px);box-sizing:border-box;padding:9px 16px;border-radius:999px;text-align:center;pointer-events:none;font:500 13.5px/1.35 system-ui,sans-serif;color:#fff;background:#0e1218e0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 18px #00000073;opacity:0;transition:opacity .35s,transform .35s}.hp-toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion: reduce){.hp-toast{transition:none}}@media (max-height: 460px){.hp-panel{padding:10px 14px 12px;width:min(560px,100%)}.hp-rows li{padding:4px 0;font-size:13px}.hp-toast{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}#portal-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;font-family:system-ui,sans-serif;color:#fff}#portal-layer svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}#portal-layer polygon.pf-outline{fill:#7fd1ff12;stroke:#a0deffe6;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(127,209,255,.9));animation:pf-breathe 3.2s ease-in-out infinite}#portal-layer polygon.pf-outline.aimed{fill:#aae1ff29;stroke:#fffffff2;stroke-width:3.5;filter:drop-shadow(0 0 12px rgba(160,222,255,1));animation:none}@keyframes pf-breathe{0%,to{stroke-opacity:.55}50%{stroke-opacity:1}}#portal-layer .pf-label{position:absolute;transform:translate(-50%,calc(-100% - 12px));padding:4px 10px;border-radius:999px;white-space:nowrap;background:#0c18269e;border:1px solid rgba(160,222,255,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:13px;font-weight:600;letter-spacing:.2px;text-shadow:0 1px 3px rgba(0,0,0,.6);transition:background .15s,border-color .15s}#portal-layer .pf-label.aimed{background:#285a82c7;border-color:#ffffffd9}#portal-layer .pf-label .pf-hint{display:none;margin-left:8px;font-weight:400;opacity:.8}#portal-layer .pf-label.aimed .pf-hint{display:inline}@media (prefers-reduced-motion: reduce){#portal-layer polygon.pf-outline{animation:none}}#portal-fade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#000;opacity:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-family:system-ui,sans-serif;color:#fff}#portal-fade.on{pointer-events:auto;cursor:progress}#portal-fade .pf-title{font-size:20px;font-weight:600;letter-spacing:.4px;opacity:0;transition:opacity .4s .25s}#portal-fade.on .pf-title{opacity:.9}#portal-fade .pf-bar{width:140px;height:2px;border-radius:1px;background:#ffffff24;overflow:hidden;opacity:0;transition:opacity .3s .8s}#portal-fade.on .pf-bar{opacity:1}#portal-fade .pf-bar>i{display:block;height:100%;width:0;background:#7fd1ff;transition:width .2s}#annotation-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;font-family:system-ui,sans-serif;color:#fff;transition:opacity .18s ease}@media (prefers-reduced-motion: reduce){#annotation-layer{transition:none}}#annotation-layer .an-pin{position:absolute;left:0;top:0;will-change:transform,opacity}#annotation-layer .an-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #14181e8c,0 1px 6px #0000008c}#annotation-layer .an-label{position:absolute;left:0;bottom:9px;transform:translate(-50%);padding:4px 11px 5px;border-radius:8px;white-space:nowrap;text-align:center;background:#14181e9e;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-shadow:0 1px 3px rgba(0,0,0,.6)}#annotation-layer .an-title{font-size:13px;font-weight:600;letter-spacing:.2px}#annotation-layer .an-sub{font-size:11px;font-weight:400;opacity:.8;margin-top:1px}#floormap{position:fixed;z-index:6;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;font-family:system-ui,sans-serif;color:#fff;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}#floormap>*{pointer-events:auto}#floormap[hidden]{display:none}#floormap .fm-toggle{display:flex;align-items:center;gap:7px;height:38px;padding:0 13px 0 10px;border-radius:10px;background:#14181e9e;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#floormap .fm-toggle:hover{background:#282e38bf}#floormap .fm-toggle[aria-expanded=true]{background:#7fd1ff47;border-color:#7fd1ff99}#floormap .fm-toggle svg{width:18px;height:18px;display:block}#floormap .fm-toggle kbd{font:inherit;font-size:11px;opacity:.7;border:1px solid rgba(255,255,255,.35);border-radius:4px;padding:0 4px;margin-left:2px}#floormap .fm-panel{display:none;flex-direction:column;width:324px;border-radius:12px;overflow:hidden;background:#14181ebd;border:1px solid rgba(255,255,255,.2);box-shadow:0 6px 24px #00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#floormap.fm-open .fm-panel{display:flex}#floormap.fm-large .fm-panel{width:min(92vw,1000px)}#floormap .fm-head{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 8px;border-bottom:1px solid rgba(255,255,255,.12)}#floormap .fm-tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}#floormap .fm-tabs::-webkit-scrollbar{display:none}#floormap .fm-tab{flex:0 0 auto;height:28px;padding:0 9px;border-radius:8px;border:1px solid transparent;background:transparent;color:#ffffffc7;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;position:relative}#floormap .fm-tab:hover{background:#ffffff1a}#floormap .fm-tab[aria-selected=true]{background:#7fd1ff4d;border-color:#7fd1ff8c;color:#fff}#floormap .fm-tab.fm-here:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#3d9bff;box-shadow:0 0 0 1.5px #14181ecc}#floormap .fm-iconbtn{width:28px;height:28px;border-radius:8px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}#floormap .fm-iconbtn:hover{background:#ffffff1f}#floormap .fm-body{position:relative;transition:opacity .18s ease}#floormap .fm-svg{display:block;width:100%;height:232px;touch-action:manipulation;user-select:none;-webkit-user-select:none}#floormap.fm-large .fm-svg{height:min(72vh,680px)}#floormap .fm-svg.fm-go{cursor:pointer}#floormap .fm-foot{fill:#f3efe6}#floormap .fm-room{fill:#fffdf7;transition:fill .12s}#floormap .fm-room.fm-blocked{fill:url(#fm-hatch)}#floormap .fm-room.fm-hover{fill:#d6ebff}#floormap .fm-wall{fill:#2a3140}#floormap .fm-door{stroke:#fffdf7;stroke-linecap:butt;fill:none;vector-effect:non-scaling-stroke}#floormap .fm-door.fm-portal{stroke:#3d9bff}#floormap .fm-pillar{fill:#2a3140}#floormap .fm-label{fill:#232a38;font-weight:600;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#fffdf7d9;stroke-width:.12em;cursor:pointer}#floormap .fm-label.fm-dim{fill:#6d7380;font-weight:500;cursor:default}#floormap .fm-tag{fill:#1b6fd1;font-weight:700;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#fffdf7e6;stroke-width:.14em;pointer-events:none}#floormap .fm-label:hover:not(.fm-dim){fill:#0b64c2}#floormap .fm-me .fm-cone{fill:#2f8cff5c}#floormap .fm-me .fm-pip{fill:#2f8cff;stroke:#fff;stroke-width:2}#floormap .fm-note{min-height:18px;padding:5px 10px 7px;font-size:12px;color:#ffffffd1}#floormap .fm-note.fm-warn{color:#ffd37a}#floormap .fm-spots{display:flex;flex-direction:column;gap:6px;padding:12px}#floormap .fm-spot{text-align:left;padding:10px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:14px;cursor:pointer}#floormap .fm-spot:hover{background:#7fd1ff38}#floormap .fm-loading{padding:40px 12px;text-align:center;font-size:13px;color:#ffffffb3}@media (max-width: 700px),(max-height: 500px){#floormap{top:calc(env(safe-area-inset-top,0px) + 12px);right:10px}#floormap .fm-panel{width:min(calc(100vw - 20px),340px)}#floormap.fm-large .fm-panel{width:calc(100vw - 20px)}#floormap .fm-svg{height:min(46vh,300px)}#floormap.fm-large .fm-svg{height:calc(100vh - 210px)}#floormap .fm-tab{height:34px}#floormap .fm-iconbtn{width:34px;height:34px}#floormap .fm-toggle kbd{display:none}}@media (prefers-reduced-motion: reduce){#floormap .fm-room{transition:none}}@media (prefers-reduced-motion: reduce){#floormap .fm-body{transition:none}}
