@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(./jost-cyrillic-500-normal-DtB2bvF0.woff2)format("woff2"),url(./jost-cyrillic-500-normal-DlHwnXyv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(./jost-latin-ext-500-normal-BkvHgcKf.woff2)format("woff2"),url(./jost-latin-ext-500-normal-Cpxiadwk.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:Jost;font-style:normal;font-display:swap;font-weight:500;src:url(./jost-latin-500-normal-41lBe9I9.woff2)format("woff2"),url(./jost-latin-500-normal-B-AtzreL.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:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(./jost-cyrillic-600-normal-BEDXyecp.woff2)format("woff2"),url(./jost-cyrillic-600-normal-D0Fzn8un.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(./jost-latin-ext-600-normal-D8I9kjga.woff2)format("woff2"),url(./jost-latin-ext-600-normal-Pm6OqGZB.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:Jost;font-style:normal;font-display:swap;font-weight:600;src:url(./jost-latin-600-normal-C497H-z9.woff2)format("woff2"),url(./jost-latin-600-normal-Bv_M0d15.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2)format("woff2"),url(./source-sans-3-cyrillic-ext-400-normal-BqOlcezh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2)format("woff2"),url(./source-sans-3-cyrillic-400-normal-DkNBMcYd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2)format("woff2"),url(./source-sans-3-greek-ext-400-normal-CN4VBqpr.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-greek-400-normal-DZReXJla.woff2)format("woff2"),url(./source-sans-3-greek-400-normal-DyO2Yfz5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2)format("woff2"),url(./source-sans-3-vietnamese-400-normal-eMQk7hmk.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(./source-sans-3-latin-ext-400-normal-D5P-Ud2J.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(./source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(./source-sans-3-latin-400-normal-RR2C27NP.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2)format("woff2"),url(./source-sans-3-cyrillic-ext-600-normal-Cjpx_pje.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2)format("woff2"),url(./source-sans-3-cyrillic-600-normal-CloKWf-q.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-greek-ext-600-normal-DynePNDL.woff2)format("woff2"),url(./source-sans-3-greek-ext-600-normal-CnpzyT-3.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-greek-600-normal-BSO157bq.woff2)format("woff2"),url(./source-sans-3-greek-600-normal-B42bzTIr.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-vietnamese-600-normal-B2sTNYey.woff2)format("woff2"),url(./source-sans-3-vietnamese-600-normal-BzH4Q14_.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2)format("woff2"),url(./source-sans-3-latin-ext-600-normal-D2VZAM8_.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(./source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(./source-sans-3-latin-600-normal-Ck0n4g8U.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}:root{--color-brand-deep:#073d08;--color-brand-dark:#0f6b10;--color-brand:#179118;--color-brand-lime:#8fe08a;--color-brand-mint:#d9f5d6;--color-amber:#f5b301;--color-ink:#0b0f0b;--color-ink-2:#333d4f;--color-ink-3:#64748b;--color-line:#e2e8f0;--color-paper:#fff;--panel:#073d08c7;--font-display:"Jost", Futura, system-ui, sans-serif;--font-body:"Source Sans 3", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}*{box-sizing:border-box}html,body{background:var(--color-ink);height:100%;font-family:var(--font-body);color:var(--color-paper);touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui .help,#ui .error,#ui .loading,#ui .menu{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}[hidden]{display:none!important}svg{stroke-width:2px;width:18px;height:18px}.top{padding:calc(12px + var(--safe-t)) calc(14px + var(--safe-r)) 12px calc(14px + var(--safe-l));background:linear-gradient(#0b0f0b8c,#0000);justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.info{align-items:center;gap:10px;min-width:0;display:flex}.mark{flex:none;height:34px}.info-text{min-width:0}.title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 6px #0006;font-size:18px;font-weight:500;line-height:22px;overflow:hidden}.sub{opacity:.95;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-size:14px;display:flex;overflow:hidden}.price{font-family:var(--font-display);color:var(--color-ink);background:var(--color-amber);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600}.tools{flex:none;gap:6px;display:flex}.tool{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:38px;font-family:var(--font-display);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.tool.icon{justify-content:center;width:38px;padding:0}.tool:hover{background:var(--color-brand-dark)}.tool.on{background:var(--color-brand)}.menu{top:calc(62px + var(--safe-t));right:calc(14px + var(--safe-r));background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;min-width:200px;max-height:60vh;padding:6px;display:flex;position:absolute;overflow:auto}.menu button{text-align:left;border-radius:8px;padding:10px 12px;font-size:15px}.menu button:hover{background:var(--color-brand-dark)}.menu-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;opacity:.75;padding:8px 12px 4px;font-size:12px;font-weight:600}.quality-menu{width:270px}.quality-menu button{align-items:flex-start;gap:10px;display:flex}.quality-menu button svg{color:var(--color-brand-lime);flex:none;margin-top:2px}.quality-menu button:not(.active) svg{visibility:hidden}.quality-menu b{font-family:var(--font-display);font-weight:600;display:block}.quality-menu small{opacity:.8;font-size:13px;line-height:18px;display:block}.labels{position:absolute;inset:0;overflow:hidden}.label{transform-origin:50% 100%;color:var(--color-ink);font-family:var(--font-display);white-space:nowrap;pointer-events:auto;background:#ffffffeb;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:14px;font-weight:500;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 2px 10px #00000040}.label .dot{background:var(--color-brand);border-radius:50%;width:8px;height:8px}.label small,.menu.rooms small{font-family:var(--font-body);opacity:.75;font-size:12px;font-weight:400;display:block}.label small{line-height:15px}.sizes:before{content:"·";opacity:.7;margin-right:8px}#address:empty+.sizes:before{content:none}.hint,.toast{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:15px;position:absolute;left:50%;transform:translate(-50%)}.hint{bottom:calc(28px + var(--safe-b))}.toast{top:calc(66px + var(--safe-t));white-space:normal;text-align:center;max-width:calc(100vw - 32px)}.debug{left:calc(10px + var(--safe-l));bottom:calc(10px + var(--safe-b));white-space:nowrap;text-overflow:ellipsis;background:#0009;border-radius:6px;max-width:90vw;padding:4px 10px;font:12px/18px ui-monospace,monospace;position:absolute;overflow:hidden}.corner-mark{right:calc(14px + var(--safe-r));bottom:calc(14px + var(--safe-b));opacity:.55;-webkit-user-select:none;user-select:none;width:120px;position:absolute}.joy{background:#073d0859;border:2px solid #ffffff80;border-radius:50%;width:124px;height:124px;margin:-62px 0 0 -62px;position:absolute}.joy-knob{background:#ffffffd9;border-radius:50%;width:54px;height:54px;position:absolute;top:50%;left:50%;box-shadow:0 0 18px #8fe08a99}.loading{z-index:5;place-items:center;transition:opacity .5s ease-out;display:grid;position:absolute;inset:0}.loading.done{opacity:0}.loading-bg{background:linear-gradient(160deg, var(--color-brand-deep), #021a03);background-position:50%;background-size:cover;position:absolute;inset:0}.loading-bg[style*=url]{filter:blur(14px)brightness(.45);transform:scale(1.06)}.loading-card{text-align:center;width:min(320px,80vw);position:relative}.loading-mark{height:64px;margin-bottom:18px}.loading-title{font-family:var(--font-display);margin-bottom:18px;font-size:22px;font-weight:500}.bar{background:#ffffff2e;border-radius:6px;height:6px;overflow:hidden}.bar-fill{background:var(--color-brand-lime);width:0;height:100%;transition:width .2s ease-out}.loading-pct{font-family:var(--font-display);opacity:.8;font-variant-numeric:tabular-nums;margin-top:10px;font-size:14px}.help,.error{z-index:6;background:#0b0f0b73;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.help-card,.error-card{background:var(--color-paper);width:min(440px,100%);color:var(--color-ink-2);border-radius:16px;padding:24px;position:relative;box-shadow:0 20px 50px #00000059}.help-card ul{margin:4px 0 20px;padding-left:18px;line-height:25px}.help-card li{margin-bottom:8px}.help-card b{color:var(--color-ink);font-weight:600}.eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-brand-dark);align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--color-brand);border-radius:50%;width:7px;height:7px}kbd{font-family:var(--font-display);border:1px solid var(--color-line);color:var(--color-ink);border-bottom-width:2px;border-radius:6px;padding:0 6px;font-size:13px}.btn{background:var(--color-brand);color:#fff;width:100%;height:46px;font-family:var(--font-display);border-radius:10px;font-size:16px;font-weight:600}.btn:hover{background:var(--color-brand-dark)}.close{color:var(--color-ink-3);position:absolute;top:14px;right:14px}.error-card p{line-height:23px}.error-card .btn{margin-top:8px}@media (width<=640px){.info{padding-right:52px}.tools{top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));flex-direction:column;position:absolute}.menu{right:calc(62px + var(--safe-r));top:calc(12px + var(--safe-t))}.quality-menu{width:min(270px,100vw - 80px)}.tool span{display:none}.tool{justify-content:center;width:40px;height:40px;padding:0}.mark{height:28px}.title{font-size:16px}}
