@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--bg: #0b0f19;--map-bg: #0b0f19;--panel: rgba(18, 26, 42, .88);--panel-card: rgba(24, 34, 54, .94);--panel-elevated: rgba(30, 42, 68, .96);--panel-hover: rgba(36, 52, 82, .8);--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .14);--border-focus: #1a73e8;--text: #f1f5f9;--text-dim: #94a3b8;--text-muted: #64748b;--accent: #1a73e8;--accent-hover: #1557b0;--accent-light: #4285f4;--accent-glow: rgba(26, 115, 232, .35);--accent-subtle: rgba(26, 115, 232, .15);--google-red: #ea4335;--google-yellow: #fbbc04;--google-green: #34a853;--google-blue: #4285f4;--danger: #ef4444;--danger-glow: rgba(239, 68, 68, .25);--success: #22c55e;--radius-xl: 20px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-xs: 6px;--radius-full: 9999px;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .25);--shadow-md: 0 6px 18px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 36px rgba(0, 0, 0, .5);--shadow-floating: 0 8px 32px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--sun-display: block;--moon-display: none}[data-theme=light]{--bg: #f8f9fa;--map-bg: #e8eaed;--panel: rgba(255, 255, 255, .92);--panel-card: #ffffff;--panel-elevated: #f1f3f4;--panel-hover: #f8f9fa;--border: rgba(0, 0, 0, .09);--border-light: rgba(0, 0, 0, .14);--border-focus: #1a73e8;--text: #202124;--text-dim: #5f6368;--text-muted: #80868b;--accent: #1a73e8;--accent-hover: #174ea6;--accent-light: #4285f4;--accent-glow: rgba(26, 115, 232, .22);--accent-subtle: rgba(26, 115, 232, .1);--danger: #d93025;--danger-glow: rgba(217, 48, 37, .18);--success: #188038;--shadow-sm: 0 1px 3px rgba(60, 64, 67, .15), 0 1px 2px rgba(60, 64, 67, .1);--shadow-md: 0 4px 12px rgba(60, 64, 67, .15);--shadow-lg: 0 8px 24px rgba(60, 64, 67, .18);--shadow-floating: 0 6px 24px rgba(60, 64, 67, .2), 0 2px 6px rgba(60, 64, 67, .12);--sun-display: none;--moon-display: block}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html.single-touch-ui :is(#header,#panel,#suggestions-flyout,#place-card,#qr-popover,#map-controls,#corner-actions,#floor-picker,#mobile-picker-toggle,#idle-overlay,#kiosk-label-badge){touch-action:pan-x pan-y}.mappedin-ctrl-attrib{display:none!important}html,body{margin:0;height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--map-bg)}#map{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:var(--map-bg)}#map-loader{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .5s ease-out;pointer-events:none}#map-loader.hidden{opacity:0}.map-loader-ring{width:48px;height:48px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:#1a73e8;animation:loaderSpin .9s linear infinite}.map-loader-text{font-size:.82rem;font-weight:500;color:#ffffff73;letter-spacing:.04em}@keyframes loaderSpin{to{transform:rotate(360deg)}}#header{position:absolute;top:0;right:0;z-index:10;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 18px;pointer-events:none}#header-menu{display:contents}#header-menu-btn{display:none}.header-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;background:var(--panel);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px;font-size:.88rem;font-weight:500;color:var(--text);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.header-pill.icon-only{padding:8px;width:36px;height:36px;justify-content:center;cursor:pointer}#venue-name{font-weight:700;letter-spacing:-.01em;color:var(--text)}#venue-name .header-icon{color:var(--google-red)}#clock{font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:500}#connection-badge{font-size:.82rem;font-weight:600}#kiosk-label-badge{position:fixed;top:0;right:0;z-index:11;display:inline-flex;align-items:center;gap:6px;padding:8px 16px 8px 14px;border-radius:0 0 0 var(--radius-md);background:var(--accent);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.01em;box-shadow:0 2px 12px #0000004d;pointer-events:none}.connection-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--success)}#connection-badge.is-offline .connection-dot{background:var(--danger)}#live-location-badge{font-size:.82rem;font-weight:600}#live-location-badge .connection-dot{background:var(--text-dim)}#live-location-badge.is-active .connection-dot{background:var(--success)}#live-location-badge.is-error .connection-dot{background:var(--danger)}#camera-debug{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:500;color:var(--text-dim);letter-spacing:.01em}#camera-debug:empty{display:none}#theme-btn{cursor:pointer}#reload-btn.is-reloading svg{animation:reloadSpin 1s linear infinite}@keyframes reloadSpin{to{transform:rotate(360deg)}}#theme-btn .sun-icon{display:var(--sun-display);color:var(--google-yellow)}#theme-btn .moon-icon{display:var(--moon-display);color:var(--accent)}#home-btn{cursor:pointer}#theme-btn:hover,#home-btn:hover{background:var(--panel-hover);border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}#theme-btn:active,#home-btn:active{transform:scale(.96)}#bottom-search{position:absolute;left:50%;bottom:28px;translate:-50% 0;z-index:8;display:flex;align-items:center;gap:14px;width:min(520px,calc(100vw - 420px));height:64px;padding:0 26px;background:var(--panel);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:2px solid var(--accent);border-radius:var(--radius-full);box-shadow:var(--shadow-floating);color:var(--text-dim);font-family:inherit;font-size:1.15rem;font-weight:500;text-align:start;cursor:pointer}#bottom-search[hidden]{display:none}#bottom-search>svg{flex-shrink:0;color:var(--accent)}#bottom-search-value{color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bottom-search:active{scale:.98}[data-theme=light] #bottom-search{background:var(--accent);border-color:var(--accent);color:#ffffffeb}[data-theme=light] #bottom-search>svg,[data-theme=light] #bottom-search-value{color:#fff}@media(max-width:639px){#bottom-search{display:none}}#corner-actions{position:absolute;right:18px;bottom:28px;z-index:8;display:flex;align-items:center;gap:8px;pointer-events:none}#map-controls{position:absolute;right:18px;bottom:80px;z-index:8;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.map-ctrl-btn{pointer-events:auto;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--panel);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);box-shadow:var(--shadow-floating);cursor:pointer;padding:0;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.map-ctrl-btn:hover{background:var(--panel-hover);border-color:var(--border-light);color:var(--accent);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.map-ctrl-btn:active{transform:scale(.92)}.ctrl-group{pointer-events:auto;display:flex;flex-direction:column;background:var(--panel);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-floating);overflow:hidden}.ctrl-group .map-ctrl-btn{border:none;border-radius:0;box-shadow:none;background:transparent}.ctrl-group .map-ctrl-btn:not(:last-child){border-bottom:1px solid var(--border)}#rotate-controls{display:flex;flex-direction:column;align-items:center;gap:10px;max-height:160px;opacity:1;overflow:visible;background:transparent;box-shadow:none;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease,visibility 0s linear 0s}#rotate-btns{display:flex;flex-direction:column;align-items:center;gap:10px}#map-controls.rotation-locked #rotate-controls{max-height:0;opacity:0;visibility:hidden;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease,visibility 0s linear .45s}#compass-btn{border-radius:var(--radius-full)}#compass-dial{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.compass-n{position:absolute;top:1px;font-size:8px;font-weight:800;color:var(--google-red);line-height:1}#compass-needle{transition:transform .08s linear}#tilt-btn{font-size:.82rem;font-weight:800;letter-spacing:.04em;color:var(--text)}#tilt-btn.active{background:var(--accent-subtle);border-color:var(--accent-light);color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}#lock-btn{opacity:0;transition:opacity var(--transition-fast)}#lock-btn.revealed{opacity:1}#lock-btn.active{background:var(--danger-glow);border-color:var(--danger);color:var(--danger)}.map-ctrl-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}#panel{position:absolute;top:16px;left:16px;z-index:9;width:min(310px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--panel);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);display:flex;flex-direction:column;gap:0;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}#panel::-webkit-scrollbar{display:none}#panel{scrollbar-width:none}#panel::-webkit-scrollbar-track{background:transparent}#panel::-webkit-scrollbar-thumb{background:var(--border-light)}.drawer-handle{display:none;width:36px;height:4px;background:var(--border-light);border-radius:99px;margin:10px auto 4px}#panel-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 6px;border-bottom:1px solid var(--border)}.panel-logo-img{display:block;width:50%;height:auto;object-fit:contain}.panel-logo-badge-img{display:block;width:40%;height:auto;object-fit:contain}[data-theme=light] #panel-logo-dark,[data-theme=dark] #panel-logo-light,[data-theme=light] #panel-logo-badge-dark,[data-theme=dark] #panel-logo-badge-light{display:none}#mobile-picker-toggle{display:none;position:fixed;top:10px;left:10px;z-index:30;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);color:var(--accent);box-shadow:var(--shadow-floating);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}#mobile-picker-toggle:hover{background:var(--panel-hover);border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}#mobile-picker-toggle:active{transform:scale(.93)}#mobile-picker-toggle.picker-open{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow)}#category-chips{display:flex;flex-wrap:wrap;gap:5px;padding:8px 14px;border-bottom:1px solid var(--border)}.chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-full);padding:5px 12px;font-size:.76rem;font-weight:500;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.chip-icon{width:16px;height:16px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--panel-elevated)}[data-theme=dark] .chip-icon{filter:invert(1) brightness(1.4);background:#ffffff1f}.chip:hover{background:var(--panel-hover);color:var(--text);border-color:var(--border-light)}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}#floor-picker{position:absolute;right:70px;bottom:80px;z-index:8;display:flex;flex-direction:column;gap:8px;pointer-events:none}.floor-pill{pointer-events:auto;min-width:42px;height:42px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:var(--panel);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:.82rem;font-weight:800;letter-spacing:.02em;box-shadow:var(--shadow-floating);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.floor-pill:hover{background:var(--panel-hover);border-color:var(--border-light);transform:translateY(-1px)}.floor-pill:active{transform:scale(.94)}.floor-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px var(--accent-glow)}#lang-switcher{position:relative;pointer-events:auto}#lang-btn-code{font-weight:700;letter-spacing:.03em}#lang-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:160px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--panel-card);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.lang-option{text-align:start;background:transparent;border:none;border-radius:var(--radius-sm);padding:9px 12px;font-size:.86rem;font-weight:500;color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.lang-option:hover{background:var(--panel-hover);color:var(--text)}.lang-option.active{background:var(--accent-subtle);color:var(--accent-light);font-weight:700}.occupancy-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;border-radius:var(--radius-full);font-size:.76rem;font-weight:700;width:fit-content;background:var(--panel-elevated);color:var(--text-dim)}.occupancy-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.occupancy-badge.occupancy-low .occupancy-dot,.suggestion-occupancy.occupancy-low{background:var(--success)}.occupancy-badge.occupancy-moderate .occupancy-dot,.suggestion-occupancy.occupancy-moderate{background:var(--google-yellow, #fbbc04)}.occupancy-badge.occupancy-busy .occupancy-dot,.suggestion-occupancy.occupancy-busy{background:var(--danger)}.suggestion-occupancy{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-inline-start:6px;display:inline-block}.poi-marker{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;transform:translate(-50%,-50%);animation:poiPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes poiPop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.poi-icon{width:32px;height:32px;border-radius:50%;background:var(--poi-color, var(--accent));display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000059,0 0 0 2px #ffffff40;flex-shrink:0}.poi-icon svg{display:block;width:16px;height:16px}.location-logo-marker{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;transform:translate(-50%,-50%);animation:logoPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes logoPop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.location-logo-marker img{display:block;pointer-events:auto;cursor:pointer;object-fit:contain;background:#fff;box-shadow:0 3px 10px #00000059,0 0 0 2px #ffffffe6;padding:var(--logo-padding, 4px)}.location-logo-marker.shape-circle img,.location-logo-marker.shape-square img{width:38px;height:38px}.location-logo-marker.shape-circle img{border-radius:50%}.location-logo-marker.shape-square img{border-radius:2px}.location-logo-marker.shape-auto img{height:38px;width:auto;max-width:64px;border-radius:8px}.location-logo-marker.has-category.shape-circle img{width:24px;height:24px}.location-logo-marker.has-category.shape-auto img{height:24px;max-width:40px}.location-logo-name{background:var(--panel-card);color:var(--text);font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;border:1px solid var(--border-light);box-shadow:var(--shadow-md);white-space:nowrap}#idle-video-wrap{position:fixed;inset:0;z-index:90;background:var(--bg)}#idle-video{display:block;width:100%;height:100%;object-fit:cover}#idle-video-hint{position:absolute;left:50%;bottom:max(32px,4vh);transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:12px 24px;background:var(--panel);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid var(--border-light);border-radius:var(--radius-full);box-shadow:var(--shadow-floating);font-size:clamp(.9rem,1.4vw,1.25rem);font-weight:600;color:var(--text);white-space:nowrap}.idle-hint-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:idle-hint-pulse 1.6s ease-in-out infinite}@keyframes idle-hint-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}#idle-overlay{position:fixed;inset:0;z-index:100;background:transparent;cursor:pointer}#search-row{display:flex;align-items:center;gap:12px;padding:10px 14px 6px}.search-inputs-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.field{position:relative;min-width:0;display:flex;align-items:center;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 12px;height:36px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-subtle)}.field label{display:flex;align-items:center;gap:6px;font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.dot-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.from-dot{background:var(--google-green);box-shadow:0 0 6px #34a85366}.to-dot{background:var(--google-red);box-shadow:0 0 6px #ea433566}.field input{flex:1;min-width:0;width:100%;background:transparent;border:none;outline:none;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text);padding:0 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.field input::placeholder{color:var(--text-muted);font-weight:400}.clear-field{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color var(--transition-fast)}.clear-field:hover{color:var(--text)}#swap-btn{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--panel-card);border:1px solid var(--border);border-radius:50%;color:var(--text-dim);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}#swap-btn svg{transition:transform var(--transition-smooth)}#swap-btn.spinning svg{animation:swap-spin .35s cubic-bezier(.4,0,.2,1)}@keyframes swap-spin{to{transform:rotate(180deg)}}#swap-btn:hover{background:var(--panel-hover);border-color:var(--border-light);color:var(--accent)}#routing-actions-row{display:flex;align-items:center;gap:6px;padding:6px 14px 10px}#go-btn{flex:1;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;box-shadow:0 3px 12px var(--accent-glow);transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast)}#go-btn{position:relative;overflow:hidden}#go-btn.auto-routing:after{content:"";position:absolute;inset:0;background:#ffffff47;transform-origin:left center;animation:autoRouteFill var(--auto-route-ms, 5s) linear forwards;pointer-events:none}@keyframes autoRouteFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#go-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 18px var(--accent-glow);transform:translateY(-1px)}#go-btn:active:not(:disabled){transform:scale(.98)}#go-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.go-spinner{display:flex;align-items:center;justify-content:center}.spinner-ring{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#search-tabs{position:relative;display:flex;gap:6px;padding:8px 14px 6px;animation:fadeIn .25s ease-out}.tab-indicator{position:absolute;top:8px;left:14px;width:calc((100% - 34px)/2);height:34px;background:var(--accent-subtle);border:1px solid var(--accent-light);border-radius:var(--radius-sm);transition:transform .38s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:0}#search-tabs.tab-keyboard-active .tab-indicator{transform:translate(calc(100% + 6px))}.search-tab{position:relative;z-index:1;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 10px;font-size:.76rem;font-weight:600;color:var(--text-dim);cursor:pointer;min-height:34px;transition:color var(--transition-fast),transform var(--transition-fast)}.search-tab:hover{color:var(--text)}.search-tab:active{transform:scale(.97)}.search-tab.active{color:var(--accent-light)}#keyboard-area{display:flex;flex-direction:column}#suggestions-flyout{position:fixed;z-index:9;width:320px;max-height:360px;overflow-y:auto;scrollbar-width:none;background:var(--panel);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);display:none}#suggestions-flyout::-webkit-scrollbar{display:none}#suggestions-flyout:has(#suggestions:not([hidden])){display:block}#suggestions-flyout #suggestions{border-top:none;max-height:none}#suggestions{list-style:none;margin:0;padding:4px 12px 10px;display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto;scrollbar-width:none;border-top:1px solid var(--border);animation:fadeIn .25s ease-out}#suggestions::-webkit-scrollbar{display:none}.suggestion{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 12px;text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.suggestion:active{transform:scale(.98)}.suggestion:hover{background:var(--panel-hover);border-color:var(--border-light)}.suggestion.has-thumb{flex-direction:row;align-items:center;gap:10px}.suggestion-thumb{width:34px;height:34px;border-radius:2px;object-fit:cover;background:#fff;border:1px solid var(--border);flex-shrink:0}.suggestion-thumb.has-category{padding:3px}.suggestion-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.suggestion-name{display:flex;align-items:center;font-size:.9rem;font-weight:600;color:var(--text)}.suggestion-meta{font-size:.76rem;color:var(--text-dim)}.suggestion-heading{list-style:none;padding:8px 12px 4px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.suggestion-nearest-tag{flex-shrink:0;margin-inline-start:8px;padding:1px 7px;border-radius:var(--radius-full);background:var(--google-green, #1e8e3e);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.02em}.suggestion-current-location-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.suggestion-exit-icon{width:34px;height:34px;border-radius:2px;background:#dc2626;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}#nearest-exit-btn{position:absolute;left:18px;bottom:28px;z-index:8;display:inline-flex;align-items:center;gap:7px;padding:8px 16px;background:#dc2626;color:#fff;border:1px solid #dc2626;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);font-family:inherit;font-size:.88rem;font-weight:600;line-height:normal;cursor:pointer}#nearest-exit-btn>svg{width:16px;height:16px}#nearest-exit-btn[hidden]{display:none}#nearest-exit-btn:active{scale:.97}#nearest-exit-btn.is-busy{opacity:.75;cursor:progress}@media(max-width:639px){#nearest-exit-btn{display:none}}.suggestion-nearest-exit .suggestion-name{color:#dc2626}.exit-marker{width:28px;height:28px;border-radius:6px;background:#dc2626;border:2px solid #ffffff;box-shadow:0 2px 8px #00000059;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer}#directions-result{padding:14px 18px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}#result-hero{display:flex;align-items:center;gap:12px;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}#result-route-icon{width:44px;height:44px;border-radius:50%;background:var(--accent-subtle);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}#result-summary{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}#share-route-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--panel-elevated);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}#share-route-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}#result-distance{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}#result-stats{display:flex;align-items:center;gap:8px}.stat-badge{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-dim)}#result-instructions{list-style:none;margin:0;padding:0;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;display:none}#directions-result.steps-expanded #result-instructions{display:flex}#steps-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-card);color:var(--text);font-size:.84rem;font-weight:600;cursor:pointer}.steps-toggle-chevron{transition:transform var(--transition-fast)}#steps-toggle[aria-expanded=true] .steps-toggle-chevron{transform:rotate(180deg)}.instruction-card{display:flex;align-items:center;gap:10px;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:.84rem;font-weight:500;color:var(--text)}.instruction-icon{width:28px;height:28px;border-radius:6px;background:var(--accent-subtle);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.instruction-text{flex:1}#clear-route-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;background:transparent;border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}#clear-route-btn:hover{background:var(--danger-glow)}#place-card{position:absolute;bottom:24px;left:424px;z-index:9;width:320px;background:var(--panel-card);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);padding:16px;display:flex;flex-direction:column;gap:12px;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.place-header{display:flex;align-items:flex-start;gap:10px}.place-logo{width:44px;height:44px;border-radius:var(--radius-md);object-fit:contain;background:var(--panel-elevated);border:1px solid var(--border);flex-shrink:0;padding:2px}.place-photo{width:100%;height:140px;object-fit:cover;border-radius:var(--radius-md);background:var(--panel-elevated);border:1px solid var(--border)}#place-close-btn{margin-left:auto}.category-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent-light);margin-bottom:4px}#place-name{margin:0;font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.25}.icon-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--panel-hover);color:var(--text)}.place-body{font-size:.84rem;color:var(--text-dim)}.place-meta-tags{margin:0 0 4px}.place-id-text{font-size:.74rem;color:var(--text-muted);font-family:monospace}.place-actions{display:flex;gap:8px}.primary-btn{flex:1;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);border:none;border-radius:var(--radius-md);color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px var(--accent-glow);transition:background var(--transition-fast),transform var(--transition-fast)}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.secondary-btn{flex:1;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.secondary-btn:hover{background:var(--panel-hover);border-color:var(--border-light)}.kiosk-radar-pin{position:relative;display:flex;flex-direction:column;align-items:center;pointer-events:none;transition:opacity .3s ease}.kiosk-radar-pin.is-hidden{opacity:0}.radar-wave{position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;background:#1a73e866;animation:radarPing 2s cubic-bezier(0,0,.2,1) infinite}@keyframes radarPing{0%{transform:translate(-50%,-50%) scale(.3);opacity:.9}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.radar-icon{width:34px;height:34px;position:relative;z-index:2;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.radar-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;background:#121a2aeb;color:#fff;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:99px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000004d;white-space:nowrap;z-index:2}.kiosk-pointer-pin{display:flex;align-items:center;justify-content:center;pointer-events:none}.kiosk-pointer-icon{width:42px;height:42px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35))}.dest-map-pin{position:relative;display:flex;flex-direction:column;align-items:center;pointer-events:none}@keyframes pinBounce{0%{transform:translateY(-60%) scale(.6);opacity:0}60%{transform:translateY(8%) scale(1.1);opacity:1}to{transform:translateY(0) scale(1)}}.pin-marker-head{position:relative;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));transform-origin:50% 100%;animation:pinBounce .6s cubic-bezier(.34,1.56,.64,1)}.pin-marker-head svg{display:block;transform-origin:50% 100%}.pin-logo{display:none;margin-bottom:4px;background:#fff;padding:6px;box-shadow:0 3px 10px #00000059,0 0 0 2px #ffffffe6;transform-origin:50% 100%}.pin-logo img{display:block;pointer-events:auto;cursor:pointer;object-fit:contain}.pin-logo.shape-circle{border-radius:50%}.pin-logo.shape-square{border-radius:10px}.pin-logo.shape-circle img,.pin-logo.shape-square img{width:78px;height:78px}.pin-logo.shape-circle img{border-radius:50%}.pin-logo.shape-auto img{max-width:144px;max-height:78px}.dest-map-pin.is-arrived .pin-logo{display:block;animation:pinTitlePop .45s cubic-bezier(.34,1.56,.64,1)}.dest-map-pin.is-travelling .pin-title{visibility:hidden}.pin-pulse{position:absolute;left:50%;bottom:0;width:44px;height:18px;margin-left:-22px;margin-bottom:-9px;border-radius:50%;border:3px solid #ea4335;opacity:0;pointer-events:none}.dest-map-pin.is-arrived .pin-marker-head svg{animation:pinHover 1.1s ease-in-out infinite}.dest-map-pin.is-arrived .pin-pulse{animation:pinPulse 1.6s ease-out infinite}.dest-map-pin.is-arrived .pin-title{animation:pinTitlePop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pinHover{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pinPulse{0%{transform:scale(.3);opacity:.9}to{transform:scale(1.6);opacity:0}}@keyframes pinTitlePop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.pin-title{margin-bottom:2px;background:var(--panel-card);color:var(--text);font-size:.76rem;font-weight:700;padding:3px 9px;border-radius:99px;border:1px solid var(--border-light);box-shadow:var(--shadow-md);white-space:nowrap}#qr-popover{position:fixed;z-index:30;width:220px;padding:14px;background:var(--panel-card);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;animation:fadeIn .2s ease-out}#qr-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}#qr-popover-title{font-size:.88rem;font-weight:700;color:var(--text)}#qr-popover-close{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:none;background:var(--panel-elevated);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}#qr-popover-code{background:#fff;padding:10px;border-radius:var(--radius-md);line-height:0}#qr-popover-code svg{display:block;width:150px;height:150px}#qr-popover-hint{font-size:.74rem;color:var(--text-dim);margin:0;line-height:1.4}#along-route-section{display:flex;flex-direction:column;gap:8px}#along-route-header{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--google-green);text-transform:uppercase;letter-spacing:.04em}#along-route-header svg{flex-shrink:0}#along-route-list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}#along-route-list::-webkit-scrollbar{display:none}.along-route-card{flex:0 0 auto;width:180px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.along-route-card:hover{background:var(--panel-hover);border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.along-route-card:active{transform:scale(.97)}.along-route-card-top{display:flex;align-items:center;gap:8px}.along-route-poi-icon{width:28px;height:28px;border-radius:50%;background:var(--along-poi-color, var(--accent));display:flex;align-items:center;justify-content:center;flex-shrink:0}.along-route-poi-icon svg{display:block;width:14px;height:14px}.along-route-poi-name{font-size:.82rem;font-weight:600;color:var(--text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.along-route-poi-category{font-size:.72rem;font-weight:500;color:var(--text-muted)}.along-route-detour{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--google-green);background:#34a8531a;border-radius:var(--radius-full);padding:2px 8px;width:fit-content}#keyboard{display:flex;flex-direction:column;gap:5px;padding:12px 16px;border-top:1px solid var(--border);animation:fadeIn .25s ease-out}.kb-row{display:flex;gap:4px;justify-content:center}.kb-key{flex:1;height:42px;background:var(--panel-card);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),transform var(--transition-fast)}.kb-key:hover{background:var(--panel-hover)}.kb-key:active{background:var(--accent);color:#fff;transform:scale(.94)}.kb-space{flex:4}.kb-back{flex:2}#error-banner{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:8px;background:var(--panel-card);border:1px solid var(--danger);color:var(--danger);padding:10px 20px;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);font-size:.88rem;font-weight:600;animation:fadeIn .3s ease-out}@media(min-width:640px)and (max-width:1024px){#panel{width:300px;top:14px;left:14px;max-height:calc(100dvh - 28px)}#place-card{left:348px;bottom:20px;width:300px}#map-controls{right:14px;bottom:70px}#floor-picker{right:66px;bottom:70px}#corner-actions{right:14px;bottom:20px}#nearest-exit-btn{left:14px;bottom:20px}}@media(max-width:639px){#header{top:0;right:0;left:0;padding:10px 10px 10px 62px;justify-content:flex-end;gap:8px}#venue-name{flex:1;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.header-pill{padding:7px 12px;font-size:.78rem}.header-pill.icon-only{width:38px;height:38px;padding:0;flex-shrink:0}#header-menu-btn{display:flex;flex-shrink:0}#header-menu,#header.menu-single #header-menu-btn,#header.menu-empty #header-menu-btn{display:none}#header.menu-single #header-menu{display:flex}#header.menu-open #header-menu{display:flex;flex-direction:column;align-items:stretch;position:fixed;top:58px;right:10px;z-index:40;min-width:210px;background:var(--panel);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:6px;gap:3px;box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0a;animation:menuSlideIn .2s cubic-bezier(.34,1.56,.64,1)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}#header.menu-open #header-menu .header-pill{width:100%;justify-content:flex-start;border-radius:var(--radius-sm);background:transparent;border:none;box-shadow:none;padding:10px 14px;font-size:.88rem;gap:10px;color:var(--text);transition:background var(--transition-fast)}#header.menu-open #header-menu .header-pill:hover,#header.menu-open #header-menu .header-pill:active{background:var(--panel-hover)}#header.menu-open #header-menu #lang-switcher{width:100%}#header.menu-open #header-menu #lang-btn{width:100%;justify-content:flex-start;border-radius:var(--radius-sm);background:transparent;border:none;box-shadow:none;padding:10px 14px;font-size:.88rem;gap:10px}#header.menu-open #header-menu #clock{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:2px;color:var(--text-dim);font-size:.82rem}#mobile-picker-toggle{display:flex}#panel{inset:auto 0 0;width:100%;max-height:60dvh;border-radius:20px 20px 0 0;border-bottom:none;border-left:none;border-right:none;box-shadow:0 -8px 32px #00000073,0 -1px 0 var(--border)}.drawer-handle{display:block}#panel-header{padding:10px 16px 8px}#category-chips,#search-tabs,#panel.picker-collapsed #search-row,#panel.picker-collapsed #routing-actions-row,#panel.picker-collapsed #search-tabs,#panel.picker-collapsed #keyboard-area{display:none}#panel:not(.picker-collapsed) #directions-result{display:none}#result-hero,#steps-toggle,#result-instructions{display:none}#search-row{padding:10px 16px 6px}#routing-actions-row{padding:4px 16px 14px}#map-controls{right:10px;bottom:auto;top:62px;transform:none;gap:6px}#corner-actions{inset:62px auto auto 10px}.map-ctrl-btn{width:38px;height:38px}#floor-picker{right:56px;bottom:auto;top:62px;transform:none;gap:6px}.floor-pill{min-width:38px;height:38px;font-size:.76rem}.along-route-card{width:160px;padding:8px 10px}.along-route-poi-name{font-size:.78rem}#place-card{left:12px;right:12px;width:auto;bottom:12px;z-index:12}#lang-menu{position:fixed;inset:auto 12px 12px;min-width:0;max-height:50dvh;overflow-y:auto;padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}.lang-option{padding:13px 14px;font-size:.95rem}}@media(min-width:1440px){#panel{width:360px;top:24px;left:24px}.map-ctrl-btn{width:48px;height:48px}.header-pill{padding:10px 20px;font-size:.95rem}#place-card{left:420px;bottom:32px;width:360px}#floor-picker{right:80px;bottom:80px;gap:10px}.floor-pill{min-width:48px;height:48px;padding:0 12px;font-size:.9rem}.location-logo-marker img{padding:calc(var(--logo-padding, 4px) * 2)}.location-logo-marker.shape-circle img,.location-logo-marker.shape-square img{width:76px;height:76px}.location-logo-marker.shape-auto img{height:76px;max-width:128px}.location-logo-marker.has-category.shape-circle img,.location-logo-marker.has-category.shape-square img{width:48px;height:48px}.location-logo-marker.has-category.shape-auto img{height:48px;max-width:80px}.location-logo-name{font-size:.95rem;padding:4px 12px}}
