@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.fp{z-index:20;background:#e9e7e1;position:absolute;inset:0;overflow:hidden}.fp-map,.fp-svg{width:100%;height:100%;position:absolute;inset:0}.fp-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.fp-svg:active{cursor:grabbing}.fp-wait{color:var(--muted);font:600 15px var(--body);place-items:center;margin:0;display:grid;position:absolute;inset:0}.fp-error{color:#a4281a}.fp-floorfill{fill:var(--paper);stroke:#b9b6ac}.fp-floorfill-approx{stroke:#8d8a80;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.fp-hall{fill:none;stroke:#d8d4c6;stroke-linecap:round;stroke-linejoin:round}.fp-osmroom{fill:#0000000a;stroke:#a09d93}.fp-target{fill:#fed34c8c;stroke:var(--gold-deep)}.fp-route,.fp-route-case{fill:none;stroke-linecap:round;stroke-linejoin:round}.fp-route-case{stroke:#fff}.fp-route{stroke:#1c64f2}.fp-label{fill:var(--ink);font-family:var(--display);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#fcfbf7eb;stroke-linejoin:round;pointer-events:none;font-weight:600}.fp-label-hall{fill:#7a776d;font-weight:500}.fp-label-washroom,.fp-label-elevator{fill:#6b3fa0}.fp-label-target{fill:#000;stroke:var(--gold);font-weight:700}.fp-mark rect{fill:#fff;stroke:#55524a;stroke-width:1.5px}.fp-mark path{fill:none;stroke:#33312c;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fp-mark-stairs rect{fill:#ffe9b5;stroke:#b77b00}.fp-mark-elevator rect{fill:#eadcf7;stroke:#6b3fa0}.fp-mark-door rect{fill:#dff3e2;stroke:#2c7a3d}.fp-pin path{fill:var(--gold);stroke:#000;stroke-width:2px}.fp-pin-ring{fill:#fff;stroke:#1c64f2;stroke-width:4px}.fp-here circle{fill:#1c64f2;stroke:#fff;stroke-width:3px}.fp-here .fp-here-halo{fill:#1c64f233;stroke:none;animation:1.8s ease-out infinite fp-pulse}@keyframes fp-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.fp-here .fp-here-halo{animation:none}}.fp-top{top:calc(env(safe-area-inset-top,0px) + 10px);left:calc(env(safe-area-inset-left,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute}.fp-top>*{pointer-events:auto}.fp-back{background:var(--sign);color:#fff;height:44px;box-shadow:var(--lift);border:0;border-radius:22px;flex:none;align-items:center;gap:4px;padding:0 14px 0 8px;font-size:15px;font-weight:600;display:inline-flex}.fp-title{border-left:8px solid var(--gold);background:var(--sign);color:#fff;min-width:0;box-shadow:var(--lift);border-radius:4px;align-items:baseline;gap:8px;margin:0;padding:8px 14px;display:flex}.fp-title b{font:700 24px/1 var(--display)}.fp-title span{color:#cfcdc6;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.fp-badge{color:#7a4b00;font:700 12px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--lift);background:#fff3d6;border-radius:3px;flex:none;padding:5px 9px}.fp-floors{top:calc(env(safe-area-inset-top,0px) + 68px);right:calc(env(safe-area-inset-right,0px) + 10px);max-height:calc(100% - 330px);box-shadow:var(--lift);scrollbar-width:none;background:#fcfbf7f0;border-radius:10px;gap:4px;padding:4px;display:grid;position:absolute;overflow-y:auto}.fp-floor{width:44px;height:44px;color:var(--ink);font:700 19px/1 var(--display);background:0 0;border:0;border-radius:7px;padding:0;position:relative}.fp-floor:hover{background:#ece9df}.fp-floor-approx{color:#8a877d}.fp-floor-on,.fp-floor-on:hover{background:var(--sign);color:#fff}.fp-floor-route:after{content:"";width:8px;height:8px;box-shadow:0 0 0 2px var(--paper);background:#1c64f2;border-radius:50%;position:absolute;top:5px;right:5px}.fp-zoom{left:calc(env(safe-area-inset-left,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 68px);box-shadow:var(--lift);background:#fcfbf7f0;border-radius:10px;gap:4px;padding:4px;display:grid;position:absolute}.fp-zoom button{width:44px;height:44px;font:500 26px/1 var(--body);background:0 0;border:0;border-radius:7px;padding:0}.fp-zoom button:hover{background:#ece9df}.fp-here-note{left:calc(env(safe-area-inset-left,0px) + 68px);top:calc(env(safe-area-inset-top,0px) + 72px);box-shadow:var(--lift);pointer-events:none;background:#fcfbf7f0;border-radius:14px;align-items:center;gap:7px;margin:0;padding:5px 10px;font-size:13px;display:flex;position:absolute}.fp-here-note i{background:#1c64f2;border:2px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #1c64f2}.fp-sheet{left:calc(env(safe-area-inset-left,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);border-left:10px solid var(--gold);background:var(--sign);color:#fff;max-width:460px;max-height:min(46vh,380px);box-shadow:var(--lift);border-radius:8px;flex-direction:column;padding:10px 12px 10px 14px;display:flex;position:absolute}.fp-sheet-open{max-height:min(78vh,640px)}.fp-sheet p{margin:0}.fp-sheet-head{color:#fff;text-align:left;background:0 0;border:0;flex:none;align-items:center;gap:10px;width:100%;min-height:40px;padding:0;display:flex}.fp-sheet-to{min-width:0;font:700 26px/1 var(--display);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.fp-sheet-figures{color:#cfcdc6;white-space:nowrap;flex:1 0 auto;font-size:13px}.fp-sheet-figures b{color:var(--gold);font:700 22px/1 var(--display);margin:0 3px 0 8px}.fp-sheet-head .chevron{color:#a5a39c;flex:none;margin-left:auto;transition:transform .2s}.fp-sheet-open .fp-sheet-head .chevron{transform:rotate(180deg)}.fp-sheet-floor{color:var(--gold);font:600 13px/1.3 var(--body);letter-spacing:.03em;text-transform:uppercase;flex:none}.fp-steps{scrollbar-color:#55554f transparent;border-top:1px solid #3a3a37;flex:auto;min-height:0;margin:8px 0 0;padding:0 4px 0 0;list-style:none;overflow-y:auto}.fp-step{color:#f1efe8;border-bottom:1px solid #2c2c2a;align-items:center;gap:10px;min-height:40px;padding:6px 0;font-size:15px;line-height:1.3;display:flex}.fp-step svg{color:var(--gold);flex:none}.fp-step span{flex:1}.fp-step small{color:#a5a39c;font-variant-numeric:tabular-nums;flex:none;font-size:13px}.fp-step-arrive span,.fp-step-stairs span,.fp-step-elevator span,.fp-step-exit span{color:var(--gold);font-weight:600}.fp-more button{color:#cfcdc6;text-align:left;text-underline-offset:3px;background:0 0;border:0;width:100%;min-height:36px;padding:0;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.fp-sheet .fp-note{color:#f3e3b4;background:#33312a;border-radius:4px;flex:none;margin-top:8px;padding:7px 9px;font-size:13px;line-height:1.35}.fp-access{color:#dcd9d0;flex:none;margin-top:8px;font-size:13px}.fp-access summary{cursor:pointer;min-height:32px;line-height:32px}.fp-sheet .fp-access p{margin:0 0 6px;line-height:1.35}.fp-actions{flex:none;gap:8px;margin-top:10px;display:flex}.fp-actions .btn{height:46px;box-shadow:none;border-radius:8px}.fp-actions .btn-gold{color:#000;text-overflow:ellipsis;flex:1;justify-content:center;min-width:0;font-size:16px;overflow:hidden}.fp-actions .btn-quiet{width:46px}.fp-actions .fp-toggle{color:#fff;background:#2a2a28;border-color:#55554f}.fp-actions .fp-toggle-on{border-color:var(--gold);color:var(--gold);background:#4a3f18}.fp-sheet .fp-credit{color:#8f8d86;flex:none;margin-top:7px;font-size:11px;line-height:1.3}@media (min-width:900px){.fp-sheet{width:380px;max-height:calc(100% - 100px);top:74px;bottom:auto;left:68px}.fp-sheet-open{max-height:calc(100% - 100px)}.fp-here-note{top:14px;left:auto;right:68px}.fp-floors{max-height:calc(100% - 100px)}}.sign-link{min-height:36px;color:var(--gold);text-align:left;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:7px;margin-top:6px;padding:0;font-size:13px;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-flex}.fp-zoom .fp-locate{color:var(--ink);place-items:center;display:grid}.fp-zoom .fp-locate-on,.fp-zoom .fp-locate-on:hover{color:#fff;background:#1c64f2}.fp-live-note{top:calc(env(safe-area-inset-top,0px) + 112px);left:calc(env(safe-area-inset-left,0px) + 68px);right:calc(env(safe-area-inset-right,0px) + 68px);color:#5a3a00;max-width:360px;box-shadow:var(--lift);background:#fff3d6;border-radius:8px;margin:0;padding:7px 10px;font-size:13px;line-height:1.35;position:absolute}@media (min-width:900px){.fp-live-note{top:52px;left:auto;right:68px}}.fp-sheet-ask{max-height:min(66vh,560px)}.fp-ask{flex-direction:column;flex:auto;min-height:0;display:flex}.fp-ask-title{font:700 22px/1.15 var(--display);align-items:center;gap:10px;padding:4px 0 10px;display:flex}.fp-ask-title i,.fp-hint i{background:var(--gold);color:#000;width:24px;height:24px;font:700 14px/1 var(--body);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.fp-ask-floors{scrollbar-color:#55554f transparent;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:0;display:grid;overflow-y:auto}.fp-ask-floor{color:#fff;text-align:left;background:#2a2a28;border:1px solid #55554f;border-radius:8px;justify-items:start;gap:2px;min-height:64px;padding:8px 10px;display:grid}.fp-ask-floor:hover{border-color:var(--gold)}.fp-ask-floor b{font:700 26px/1 var(--display)}.fp-ask-floor span{color:#cfcdc6;font-size:12px}.fp-ask-floor em{color:#e9c56a;font-size:11px;font-style:normal}.fp-sheet .fp-hint{color:#cfcdc6;flex:none;align-items:center;gap:10px;margin-top:10px;font-size:14px;line-height:1.35;display:flex}.fp-hint i{color:#fff;background:#55554f}.fp-search{background:#1c1c1a;border:1px solid #55554f;border-radius:8px;flex:none;grid-template-columns:auto 1fr;align-items:center;margin-top:6px;display:grid;position:relative}.fp-search:focus-within{border-color:var(--gold)}.fp-search label{color:#a5a39c;padding:0 4px 0 12px;font-size:13px}.fp-search input{color:#fff;min-width:0;height:46px;font:600 17px var(--body);background:0 0;border:0;outline:0;padding:0 44px 0 6px}.fp-search input::placeholder{color:#8f8d86;font-weight:400}.fp-search-clear{color:#cfcdc6;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:1px;right:1px}.fp-search-hits{border-top:1px solid #3a3a37;grid-column:1/-1;max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.fp-search-hits button{color:#fff;text-align:left;background:0 0;border:0;border-bottom:1px solid #2c2c2a;align-items:baseline;gap:10px;width:100%;min-height:44px;padding:0 12px;display:flex}.fp-search-hits button:hover{background:#2a2a28}.fp-search-hits b{font:700 19px var(--display)}.fp-search-hits span,.fp-search-none{color:#a5a39c;font-size:13px}.fp-search-none{padding:10px 12px;line-height:1.35}.fp-actions .fp-grow{flex:1;justify-content:center}.fp-floor-me:before{content:"";background:#1c64f2;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:4px;left:4px}.prompt{background:var(--gold);color:#000;min-height:46px;font:700 16px var(--body);box-shadow:var(--lift);border:0;border-radius:23px;align-items:center;gap:8px;padding:0 16px 0 14px;display:inline-flex}.prompt:hover{background:#ffdf70}.prompt-stuck{box-shadow:0 0 0 2px #c0392b, var(--lift);background:#fff}.prompt-card{border-left:10px solid var(--gold);background:var(--sign);color:#fff;width:min(100%,320px);box-shadow:var(--lift);border-radius:8px;gap:10px;padding:12px 12px 12px 14px;display:grid}.prompt-card p{gap:2px;margin:0;display:grid}.prompt-card b{font:700 22px/1.1 var(--display)}.prompt-card span{color:#dcd9d0;font-size:14px}.prompt-card-actions{gap:8px;display:flex}.prompt-card-actions .btn{height:44px;box-shadow:none;border-radius:8px}.prompt-card-actions .btn-gold{color:#000;flex:1;justify-content:center;font-size:16px}.prompt-card-actions .prompt-no{color:#fff;background:#2a2a28;border-color:#55554f}.prompt-key{font:700 12px var(--body);border:1px solid #00000073;border-radius:4px;padding:1px 6px}@media (pointer:coarse){.prompt-key{display:none}}:root{--sign:#000;--gold:#fed34c;--gold-deep:#eaab00;--paper:#fcfbf7;--ink:#1b1b19;--muted:#66645e;--line:#dedbd2;--sky:#dfe8ee;--display:"Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--body:"Barlow", "Helvetica Neue", Arial, sans-serif;--lift:0 1px 0 #00000014, 0 10px 28px -12px #14181e73;--gutter:16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation;background:var(--sky);color:var(--ink);font:400 15px/1.45 var(--body);-webkit-font-smoothing:antialiased;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}kbd{background:var(--paper);min-width:1.55em;font:600 11px/1.5 var(--body);text-align:center;border:1px solid #00000047;border-bottom-width:2px;border-radius:3px;margin-right:2px;padding:0 .35em;display:inline-block}.app{position:fixed;inset:0}.app canvas{touch-action:none;display:block}.wordmark{font:700 22px/1 var(--display);letter-spacing:.01em;margin:0}.wordmark span{color:var(--muted);font-weight:600}.loading{background:var(--sign);color:#fff;text-align:left;place-content:center;gap:14px;display:grid;position:absolute;inset:0}.wordmark-large{border-left:10px solid var(--gold);padding-left:18px;font-size:44px}.wordmark-large span{color:var(--gold);display:block}.loading-note,.loading-error{color:#b9b7b0;margin:0;padding-left:28px}.loading-error{color:#ffb4a8;max-width:42ch}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{opacity:0;text-align:center;white-space:nowrap;will-change:transform;text-shadow:0 0 2px var(--paper), 0 0 4px var(--paper), 0 0 7px var(--paper), 0 1px 1px var(--paper);padding-bottom:2px;transition:opacity .25s;position:absolute;top:0;left:0}.label-show{opacity:1}.label b{font:700 17px/1.1 var(--display);letter-spacing:.03em;display:block}.label span{text-overflow:ellipsis;color:#3d3b36;max-width:190px;font:500 11px/1.25 var(--body);display:none;overflow:hidden}.label-detail span,.label-minor span{display:block}.label-minor span{color:#55534d}.label-strong b{border-left:5px solid var(--gold);background:var(--sign);color:#fff;text-shadow:none;padding:3px 8px 2px 7px;font-size:19px;display:inline-block}.label-strong span{color:var(--ink);font-weight:600}.panel{top:var(--gutter);left:var(--gutter);width:min(348px, calc(100vw - 2 * var(--gutter)));flex-direction:column;gap:10px;display:flex;position:absolute}.search,.picked{background:var(--paper);box-shadow:var(--lift);border-radius:4px}.search{padding:14px 14px 12px}.fields{gap:6px;margin-top:12px;padding-right:38px;display:grid;position:relative}.field{grid-template-columns:42px 1fr;align-items:center;display:grid;position:relative}.field-label{color:var(--muted);font-size:13px}.field-value,.field-input{border:1px solid var(--line);text-align:left;background:#fff;border-radius:3px;width:100%;height:38px;padding:0 10px}.field-value{white-space:nowrap;align-items:baseline;gap:8px;display:flex;overflow:hidden}.field-value:hover{border-color:#b9b6ac}.field-value b{font:700 18px/36px var(--display);letter-spacing:.02em;flex:none}.field-value span{text-overflow:ellipsis;color:var(--muted);font-size:13px;overflow:hidden}.field-value-empty{color:var(--muted)}.field-edit{position:relative}.field-input{border-color:var(--ink);box-shadow:0 0 0 3px var(--gold);outline:none}.field-input::placeholder{color:#8d8a82}.options{z-index:5;background:var(--paper);box-shadow:var(--lift), 0 0 0 1px var(--line);border-radius:4px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:-38px}.options-empty{color:var(--muted);padding:10px 12px;font-size:13px}.option{cursor:pointer;white-space:nowrap;border-left:4px solid #0000;border-radius:2px;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.option b{min-width:44px;font:700 17px/1.2 var(--display);letter-spacing:.02em;flex:none}.option span{text-overflow:ellipsis;color:var(--muted);font-size:13px;overflow:hidden}.option-active{border-left-color:var(--gold);background:var(--sign);color:#fff}.option-active span{color:#cfcdc6}.swap{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.swap:hover:not(:disabled){border-color:var(--ink)}.swap:disabled{color:#b5b2a9;cursor:default}.btn{border:1px solid var(--line);background:var(--paper);white-space:nowrap;height:36px;box-shadow:var(--lift);border-radius:3px;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn-dark{border-color:var(--sign);background:var(--sign);color:#fff}.btn-gold{border-color:var(--gold-deep);background:var(--gold)}.btn-gold:hover{background:#ffdf70}.btn-icon{justify-content:center;width:36px;padding:0}.picked{padding:12px 14px}.picked-name{align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.picked-name b{font:700 20px/1.1 var(--display);letter-spacing:.02em}.picked-name span{color:var(--muted);font-size:13px}.picked-actions{gap:8px;display:flex}.picked-actions .btn{box-shadow:none}.picked-actions .btn-icon{margin-left:auto}.sign{border-left:12px solid var(--gold);background:var(--sign);color:#fff;box-shadow:var(--lift);border-radius:2px;padding:14px 16px 14px 20px;animation:.28s cubic-bezier(.2,.8,.2,1) sign-in}@keyframes sign-in{0%{opacity:0;transform:translate(-14px)}}.sign p{margin:0}.sign-to{font:700 40px/.95 var(--display);letter-spacing:.01em}.sign-from{color:#b9b7b0;margin-top:4px;font-size:13px}.sign-figures{border-top:1px solid #3a3a37;gap:26px;margin:14px 0 12px;padding-top:12px;display:flex}.sign-figures dt{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sign-figures dd{font:700 34px/1 var(--display);color:var(--gold);margin:0}.sign-figures small{color:#fff;font:500 14px/1 var(--body);margin-left:5px}.sign-note{color:#cfcdc6;max-width:34ch;font-size:13px}.route-actions{gap:8px;display:flex}.notice{background:var(--paper);box-shadow:var(--lift);border-left:12px solid #d9482f;border-radius:2px;margin:0;padding:10px 14px;font-size:14px}.modes{border:1px solid var(--line);background:#fff;border-radius:3px;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10px;display:grid;overflow:hidden}.mode{border:0;border-left:1px solid var(--line);white-space:nowrap;background:0 0;height:32px;padding:0 4px;font-size:13px;font-weight:600}.mode:first-child{border-left:0}.mode:hover{background:#f1efe8}.mode-on,.mode-on:hover{background:var(--sign);color:#fff}.sign-warn{border-left:3px solid var(--gold);color:#fff;background:#1c1c1a;margin:0 0 10px;padding:8px 10px;font-size:13px}.sign p.sign-split{color:#fff;margin-bottom:10px;font-size:14px;font-weight:600}.steps{color:#e9e7e0;scrollbar-color:#55554f transparent;border-top:1px solid #3a3a37;border-bottom:1px solid #3a3a37;max-height:188px;margin:0 0 12px;padding:10px 0 10px 26px;font-size:13px;line-height:1.35;overflow-y:auto}.step{padding:2px 0 2px 4px}.step::marker{color:#8f8d86;font:600 12px var(--body)}.step small{color:#a5a39c;margin-left:8px;font-size:12px}.step-tunnel span,.step-bridge span{color:var(--gold);font-weight:600}.stairs{gap:4px;margin:0;display:grid}.stair{text-align:left;background:var(--sign);color:#fff;border:0;border-left:6px solid #55554f;border-radius:2px;align-items:center;gap:6px;padding:7px 12px 7px 8px;font-size:14px;font-weight:600;display:flex}.stair kbd{color:#fff;background:#262624;border-color:#6d6b66;font-size:12px}.stair-route{border-left-color:var(--gold)}.stair em{color:var(--gold);margin-left:6px;font-size:12px;font-style:normal;font-weight:500}.views-sep{background:var(--line);width:1px;margin:5px 4px}.legend{background:#fcfbf7e6;border-radius:3px;flex-wrap:wrap;gap:4px 14px;margin:0;padding:6px 10px;font-size:13px;display:flex}.key:before{content:"";vertical-align:middle;background:#5a6474;border-radius:2px;width:18px;height:4px;margin-right:6px;display:inline-block}.key-tunnel:before{background:#2a5bd7}.key-bridge:before{background:#0b9aa8}.key-stairs:before{background:#8d95a3}.views{top:var(--gutter);right:var(--gutter);background:var(--paper);box-shadow:var(--lift);border-radius:4px;padding:3px;display:flex;position:absolute}.view{background:0 0;border:0;border-radius:2px;height:32px;padding:0 14px;font-size:14px;font-weight:600}.view kbd{margin:0 0 0 4px}.view-on{background:var(--sign);color:#fff}.view-on kbd{color:#fff;background:#222;border-color:#555}.corner{left:var(--gutter);bottom:var(--gutter);pointer-events:none;justify-items:start;gap:8px;display:grid;position:absolute}.corner .stairs,.corner .chip-gps{pointer-events:auto}.near,.hint{background:#fcfbf7e6;border-radius:3px;margin:0;padding:6px 10px;font-size:13px}.near b{font:700 16px/1 var(--display);letter-spacing:.03em}.hint{color:#3d3b36;flex-wrap:wrap;gap:4px 16px;display:flex}.credit{right:var(--gutter);bottom:var(--gutter);background:#fcfbf7e6;border-radius:3px;align-items:center;gap:12px;padding:4px 10px;font-size:12px;display:flex;position:absolute}.credit a{color:inherit}.credit-toggle{text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.perf{font-variant-numeric:tabular-nums}.flybar{width:min(640px, calc(100vw - 2 * var(--gutter)));border-left:12px solid var(--gold);background:var(--sign);color:#fff;box-shadow:var(--lift);border-radius:2px;align-items:center;gap:6px;padding:8px 10px 8px 8px;animation:.3s cubic-bezier(.2,.8,.2,1) bar-in;display:flex;position:absolute;bottom:56px;left:50%;transform:translate(-50%)}@keyframes bar-in{0%{opacity:0;transform:translate(-50%,12px)}}.fly-btn,.fly-text{color:#fff;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;min-width:36px;height:36px;padding:0 8px;font-size:14px;font-weight:600;display:grid}.fly-btn:hover:not(:disabled),.fly-text:hover{background:#2a2a28}.fly-btn:disabled{color:#6d6b66;cursor:default}.fly-btn-main{background:var(--gold);width:40px;height:40px;color:var(--sign);border-radius:50%}.fly-btn-main:hover:not(:disabled){background:#ffdf70}.fly-speed{font:700 18px/1 var(--display)}.flybar :focus-visible{outline-color:var(--gold)}.fly-track{flex:1;min-width:0;padding:0 8px}.fly-status{color:#cfcdc6;text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:12px;overflow:hidden}.fly-scrub{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0;display:block}.fly-scrub::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--gold) var(--p), #4a4a46 var(--p));border-radius:2px;height:4px}.fly-scrub::-moz-range-track{background:linear-gradient(to right, var(--gold) var(--p), #4a4a46 var(--p));border-radius:2px;height:4px}.fly-scrub::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px}.fly-scrub::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px}.fly-sep{background:#3a3a37;width:1px;height:22px;margin:0 4px}.view-locate{align-items:center;gap:6px;display:flex}.view-locate svg{width:18px;height:18px}.locate-on,.locate-follow{color:#1c64f2}.locate-wait svg{animation:1.1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.stick{touch-action:none;-webkit-user-select:none;user-select:none;background:#1b1b1938;border:2px solid #ffffffd9;border-radius:50%;flex:none;width:124px;height:124px;position:relative;box-shadow:0 6px 22px -10px #14181e99}.stick:after{content:"";border:1px dashed #ffffff8c;border-radius:50%;position:absolute;inset:5px}.stick-knob{background:var(--paper);border-radius:50%;width:54px;height:54px;margin:-27px;transition:transform .14s ease-out;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #00000059}.stick-on .stick-knob{transition:none}.stick-run{border-color:var(--gold)}.stick-run .stick-knob{background:var(--gold)}.stick-float{right:calc(var(--gutter) + 8px);position:absolute;bottom:64px}.chip{background:#fcfbf7f0;border-radius:16px;margin:0;padding:6px 11px;font-size:13px;line-height:1.35;box-shadow:0 4px 14px -8px #14181e80}.chip-gps{border-radius:10px;align-items:flex-start;gap:8px;max-width:34ch;display:flex}.chip-x{background:#e9e6dc;border:0;border-radius:50%;flex:none;width:22px;height:22px;margin:-2px -4px -2px 0;padding:0;font-size:16px;line-height:22px}.chip-hint{background:var(--sign);color:#fff;border-radius:10px;max-width:26ch}.live-dot{vertical-align:1px;background:#1c64f2;border-radius:50%;width:8px;height:8px;margin-right:7px;animation:1.6s ease-in-out infinite pulse;display:inline-block;box-shadow:0 0 0 3px #1c64f240}.panel-compact{top:calc(env(safe-area-inset-top,0px) + 10px);left:calc(env(safe-area-inset-left,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);gap:8px;width:auto}.panel-compact .search{border-radius:12px;padding:6px}.panel-compact .fields{gap:4px;margin-top:0;padding-right:44px}.panel-compact .fields-single{padding-right:0}.panel-compact .field{grid-template-columns:40px 1fr}.panel-compact .field-label{padding-left:6px}.panel-compact .fields-single .field{grid-template-columns:1fr}.panel-compact .fields-single .field-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.panel-compact .field-value,.panel-compact .field-input{border-radius:8px;height:42px}.panel-compact .field-input,.panel-compact .field-value-empty{font-size:16px}.panel-compact .swap{width:38px;height:38px;right:2px}.panel-compact .options{max-height:50vh;overflow-y:auto}.panel-compact .picked{border-radius:12px}.dock{padding:0 calc(env(safe-area-inset-right,0px) + 10px) calc(env(safe-area-inset-bottom,0px) + 4px) calc(env(safe-area-inset-left,0px) + 10px);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.dock-row{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.dock-left{flex:1;justify-items:start;gap:6px;min-width:0;display:grid}.dock-left>*,.fabs,.dock .sheet,.dock .flybar,.dock .credit{pointer-events:auto}.dock .stairs{width:min(100%,300px)}.dock .stair{border-radius:8px;padding:11px 14px 11px 10px;font-size:15px}.fabs{flex:none;gap:10px;display:grid}.fab{background:var(--paper);width:48px;height:48px;color:var(--ink);box-shadow:var(--lift);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.fab-on{background:var(--sign);color:#fff}.fab.locate-follow{color:#fff;background:#1c64f2}.sheet{border-left:10px solid var(--gold);background:var(--sign);color:#fff;max-height:min(58vh,520px);box-shadow:var(--lift);border-radius:6px;flex-direction:column;padding:10px 12px 12px 14px;animation:.25s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}.sheet p{margin:0}.sheet-head{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:36px;padding:0;display:flex}.sheet-to{min-width:0;font:700 26px/1 var(--display);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.sheet-figures{color:#cfcdc6;white-space:nowrap;flex:1 0 auto;font-size:13px}.sheet-figures b{color:var(--gold);font:700 22px/1 var(--display);margin-left:8px}.sheet-figures b:first-child{margin-left:0}.sheet-head .chevron{color:#b9b7b0;flex:none;transition:transform .2s}.sheet-open .sheet-head .chevron{transform:rotate(180deg)}.sheet-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.sheet .modes{background:#1c1c1a;border-color:#3a3a37;border-radius:8px;margin-top:8px}.sheet .mode{color:#e9e7e0;border-left-color:#3a3a37;height:36px}.sheet .mode:hover{background:#2a2a28}.sheet .mode-on,.sheet .mode-on:hover{background:var(--paper);color:var(--ink)}.sheet .sign-warn,.sheet .sign-split{margin-top:10px}.sheet .steps{max-height:none;margin-top:10px}.sheet .sign-note{max-width:none;margin-top:8px}.sheet-error{color:#ffb4a5;font-size:14px;margin-top:8px!important}.sheet-actions{gap:8px;margin-top:10px;display:flex}.sheet-actions .btn{border-radius:8px;height:44px}.sheet-actions .btn-gold{flex:1;justify-content:center;font-size:16px}.btn-quiet{color:#fff;background:#2a2a28;border:0;justify-content:center;width:44px;padding:0}.dock .flybar{border-radius:6px;width:auto;animation:.25s cubic-bezier(.2,.8,.2,1) sheet-in;position:static;transform:none}.dock .fly-btn,.dock .fly-text{min-width:44px;height:44px}.dock .fly-btn-main{width:46px;height:46px}.dock .credit{white-space:nowrap;background:#fcfbf7cc;align-self:flex-end;gap:8px;padding:1px 7px;font-size:10px;position:static}@media (max-width:720px){.hint,.fly-long,.fly-sep{display:none}.fly-track{min-width:0}.fly-text{padding:0 10px;font-size:14px}}@media (min-width:721px){.panel-compact{width:420px;right:auto}.dock .sheet,.dock .flybar{width:460px;max-width:100%}}@media (max-height:480px){.stick{width:104px;height:104px}.sheet{max-height:70vh}.fabs{grid-auto-flow:column}}@media (prefers-reduced-motion:reduce){.sign,.flybar{animation:none}.label{transition:none}}.navsteps{border-left:10px solid var(--gold);background:var(--sign);color:#fff;max-height:min(60vh,520px);box-shadow:var(--lift);border-radius:6px;flex-direction:column;padding:10px 12px 10px 14px;animation:.25s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex}.navsteps-done{border-left-color:#3fbf6f}.navsteps-head{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:0;display:flex}.navsteps-text{flex:1;gap:3px;min-width:0;display:grid}.navsteps-now{font:700 24px/1.05 var(--display);letter-spacing:.01em}.navsteps-now small{color:var(--gold);font:700 20px/1 var(--display);margin-left:8px}.navsteps-next{color:#cfcdc6;font-size:13px}.navsteps-head .chevron{color:#b9b7b0;flex:none;transition:transform .2s;transform:rotate(180deg)}.navsteps-open .navsteps-head .chevron{transform:none}.navsteps-list{overscroll-behavior:contain;border-bottom:0;max-height:none;margin:10px 0 0;overflow-y:auto}.step-past span,.step-past small{color:#77756e}.step-now span{color:#fff;font-weight:700}.step em{background:var(--gold);color:var(--ink);border-radius:8px;margin-left:8px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:600}.navbar{border-left:10px solid var(--gold);background:var(--sign);color:#fff;box-shadow:var(--lift);border-radius:6px;align-items:center;gap:6px;padding:8px 8px 8px 14px;animation:.25s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex}.navbar p{margin:0}.navbar-left{flex:1;min-width:0}.navbar-figures{color:#cfcdc6;white-space:nowrap;font-size:13px}.navbar-figures b{color:var(--gold);font:700 24px/1 var(--display);margin-left:8px}.navbar-figures b:first-child{margin-left:0}.navbar-to{color:#b9b7b0;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.navbar-btn{color:#fff;background:#2a2a28;border:0;border-radius:8px;flex:none;place-items:center;gap:1px;min-width:56px;height:52px;padding:4px 8px;font-size:11px;font-weight:600;display:grid}.navbar-btn svg{width:20px;height:20px}.navbar-end{color:#ffd2c8;background:#3a2320}.navbar-float{width:min(460px, calc(100vw - 2 * var(--gutter)));position:absolute;bottom:56px;left:50%;transform:translate(-50%)}.dock .navbar{pointer-events:auto}.btn-preview{gap:6px;font-size:14px;width:auto!important;padding:0 12px!important}.tour{z-index:1000;position:fixed;inset:0}.tour-shield{background:#0a0c0e9e;position:absolute;inset:0}.tour-spot{outline:2px solid var(--gold);pointer-events:auto;border-radius:12px;position:absolute}.tour-spot:after{content:"";border-radius:inherit;border:2px solid var(--gold);animation:1.6s ease-out infinite tour-pulse;position:absolute;inset:-2px}@keyframes tour-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.tour-card{border-left:8px solid var(--gold);background:var(--sign);color:#fff;width:min(300px,100vw - 24px);box-shadow:var(--lift);border-radius:6px;padding:14px 16px 12px;animation:.28s cubic-bezier(.2,.8,.2,1) tour-in;position:absolute}@keyframes tour-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}.tour-card:after{content:"";left:var(--arrow,50%);background:var(--sign);width:12px;height:12px;position:absolute;transform:translate(-50%)rotate(45deg)}.tour-below:after{top:-6px}.tour-above:after{bottom:-6px}.tour-count{color:var(--gold);font:600 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px}.tour-card h2{font:600 24px/1.05 var(--display);margin:0 0 6px}.tour-body{color:#e9e7e0;font:400 15px/1.35 var(--body);margin:0}.tour-actions{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.tour-skip{color:#bdbab0;font:500 14px var(--body);background:0 0;border:0;padding:8px 4px}.tour-next{min-width:84px}.tour-art{background:#1c1c1a;border-radius:6px;width:100%;margin:2px 0 8px;display:block}.art-ground{fill:#3a3a37}.art-sun{fill:var(--gold);animation:3s ease-in-out infinite tour-bob}@keyframes tour-bob{50%{transform:translateY(2px)}}.art-building{fill:#2c2c29;stroke:#55534c;stroke-width:1px}.art-path{fill:none;stroke:var(--gold);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:3.2s ease-in-out infinite tour-draw}@keyframes tour-draw{0%{stroke-dashoffset:1px}80%,to{stroke-dashoffset:0}}.art-dot{fill:#fff;stroke:var(--gold);stroke-width:2px}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card,.tour-spot:after,.art-sun,.art-path{transition:none;animation:none}.art-path{stroke-dashoffset:0}}
