@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-greek-ext-400-normal-DjavMoXa.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-400-normal-BD4YxJd9.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-georgian-400-normal-Ab0kIHYR.woff2)format("woff2"),url(/assets/noto-sans-georgian-georgian-400-normal-BPsrO_ny.woff)format("woff");unicode-range:U+589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-greek-ext-400-normal-DjavMoXa.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-400-normal-BD4YxJd9.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-math-400-normal-8wamuY2u.woff2)format("woff2"),url(/assets/noto-sans-georgian-math-400-normal-J_y39SBy.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-symbols-400-normal-3vm56sIu.woff2)format("woff2"),url(/assets/noto-sans-georgian-symbols-400-normal-Bzc-vSXA.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-latin-ext-400-normal-Bgm8k_ZB.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-ext-400-normal-BE11bUsV.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-georgian-latin-400-normal-CX1K6S8k.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-400-normal-BEQsxjQh.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-greek-ext-500-normal-BU_6h58c.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-500-normal-uZk-Ncd4.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-georgian-500-normal-D5jQ9CC-.woff2)format("woff2"),url(/assets/noto-sans-georgian-georgian-500-normal-C3qoC8RR.woff)format("woff");unicode-range:U+589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-greek-ext-500-normal-BU_6h58c.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-500-normal-uZk-Ncd4.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-math-500-normal-CDN63Gk9.woff2)format("woff2"),url(/assets/noto-sans-georgian-math-500-normal-C9kekPyU.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-symbols-500-normal-BpCDvGB_.woff2)format("woff2"),url(/assets/noto-sans-georgian-symbols-500-normal-B8bOMu92.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-latin-ext-500-normal-3_-eTv36.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-ext-500-normal-BqMorGxI.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-georgian-latin-500-normal-DrmAymwd.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-500-normal-CJWu_gTK.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-greek-ext-700-normal-gKmh1nJe.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-700-normal-XEw84V-Q.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-georgian-700-normal-D73X70mP.woff2)format("woff2"),url(/assets/noto-sans-georgian-georgian-700-normal-BGF3pJ79.woff)format("woff");unicode-range:U+589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-greek-ext-700-normal-gKmh1nJe.woff2)format("woff2"),url(/assets/noto-sans-georgian-greek-ext-700-normal-XEw84V-Q.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-math-700-normal-CnSzMpct.woff2)format("woff2"),url(/assets/noto-sans-georgian-math-700-normal-B5ab-_bZ.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-symbols-700-normal-BnyrcnUw.woff2)format("woff2"),url(/assets/noto-sans-georgian-symbols-700-normal-BhcLh-e5.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-latin-ext-700-normal-DKOdwn50.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-ext-700-normal-CnjjCZ5i.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:Noto Sans Georgian;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-georgian-latin-700-normal-BkNa3bWm.woff2)format("woff2"),url(/assets/noto-sans-georgian-latin-700-normal-C35LiCoI.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{--font:"Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--accent:#3e8bff;--accent-press:#2f74e0;--danger:#e5484d;--success:#30a46c;--warn:#f5a524;--radius:22px;--radius-sm:14px;--gap:16px;--panel-w:clamp(380px, 31vw, 500px);--tap:64px;--shadow:0 12px 40px #00000047, 0 2px 8px #0000002e;--ease:cubic-bezier(.2, .8, .2, 1)}:root,:root[data-theme=light]{--bg:#f4f5f7;--surface:#fffffff0;--surface-2:#eef0f3;--surface-3:#e2e5ea;--text:#111418;--text-2:#5b636e;--line:#00000014}:root[data-theme=dark]{--bg:#0b0d10;--surface:#16191ef0;--surface-2:#22262d;--surface-3:#2d323a;--text:#eef0f3;--text-2:#9aa3ae;--line:#ffffff12}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;margin:0;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overscroll-behavior:none;touch-action:manipulation;font-size:20px;line-height:1.35}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:default}input{-webkit-user-select:text;user-select:text}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.app{position:fixed;inset:0}.map,.map.maplibregl-map{position:absolute;inset:0}.maplibregl-ctrl-attrib{font-size:12px}.maplibregl-ctrl-attrib.maplibregl-compact{color:var(--text-2);box-shadow:var(--shadow);background:var(--surface)!important}.maplibregl-ctrl-attrib a{color:inherit!important}.maplibregl-ctrl-attrib-button{filter:var(--attrib-icon,none)}:root[data-theme=dark]{--attrib-icon:invert(1)}.maplibregl-ctrl-bottom-right{right:140px}.panel{top:var(--gap);left:var(--gap);bottom:var(--gap);width:var(--panel-w);background:var(--surface);-webkit-backdrop-filter:blur(18px)saturate(1.2);border-radius:var(--radius);box-shadow:var(--shadow);z-index:10;animation:slide-in .28s var(--ease);flex-direction:column;display:flex;position:absolute;overflow:hidden}.panel[data-view=home]{max-height:calc(100% - 2 * var(--gap));bottom:auto}.panel-expand{border-radius:var(--radius-sm);min-height:56px;color:var(--text-2);justify-content:center;align-items:center;gap:8px;margin:0 12px 10px;font-size:17px;font-weight:600;display:flex}.panel-expand:active{background:var(--surface-2)}@keyframes slide-in{0%{opacity:0;transform:translate(-12px)}}.scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 12px 16px;overflow-y:auto}.scroll::-webkit-scrollbar{display:none}.search{background:var(--surface-2);border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:68px;margin:12px;padding:0 8px 0 18px;display:flex}.search-icon{color:var(--text-2);flex:none}.search input,.search .vfield{background:0 0;border:0;outline:0;flex:1;min-width:0;height:64px;font-size:22px;font-weight:500}.search input::placeholder{color:var(--text-2);font-weight:400}.search input::-webkit-search-cancel-button{display:none}.quick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.quick-tile{background:var(--surface-2);border-radius:var(--radius-sm);align-items:stretch;min-width:0;min-height:76px;transition:transform .12s,background .12s;display:flex;position:relative}.quick-tile:active{background:var(--surface-3);transform:scale(.97)}.quick-go,.quick-tile.add{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.quick-tile.add{border:2px dashed var(--surface-3);background:0 0}.quick-icon.ghost{background:var(--surface-3);color:var(--text)}.quick-go{padding-right:64px}.tile-edit{border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:64px;min-height:64px;color:var(--text-2);place-items:center;display:grid;position:absolute;top:0;bottom:0;right:0}.tile-edit:active{background:var(--surface-3)}.quick.list{grid-template-columns:1fr}.quick.list .quick-tile{min-height:68px}.quick+.section-title{margin-top:6px}.pick-head{border-radius:var(--radius-sm);background:var(--accent);color:#fff;align-items:center;gap:12px;margin:12px 12px 0;padding:10px 8px 10px 16px;font-size:18px;display:flex}.pick-head strong{flex:1;font-weight:600}.pick-head .icon-btn{color:#fff}.panel.picking .search{margin-top:10px}.row-icon.accent{background:var(--accent);color:#fff}.pick-row{border-bottom:1px solid var(--line)}.house-street.static{cursor:default}.house-input.name{font-size:24px;font-weight:600}.fav-edit{flex-direction:column;gap:14px;display:flex}.fav-edit .hint{padding:0}.fav-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:6px;display:grid}.quick-icon{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.quick-text{flex-direction:column;min-width:0;display:flex}.quick-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.quick-text small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.chips{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.chip{background:var(--surface-2);border-radius:26px;align-items:center;gap:8px;height:52px;padding:0 18px;font-size:18px;font-weight:500;transition:transform .12s,background .12s;display:inline-flex}.chip:active{background:var(--surface-3);transform:scale(.95)}.section-head{justify-content:space-between;align-items:center;gap:8px;margin:18px 6px 6px;display:flex}.section-head .section-title{white-space:nowrap;margin:0}.section-actions{align-items:center;gap:2px;display:flex}.section-actions small{white-space:nowrap;margin-right:4px;font-size:15px;font-weight:600}.link-btn{min-height:44px;color:var(--accent);border-radius:10px;padding:0 12px;font-size:16px;font-weight:600;position:relative}.link-btn:active{background:var(--surface-2)}.link-btn:after{content:"";position:absolute;inset:-10px -4px}.row-remove{color:var(--text-2)}.segmented.bank-filter{width:100%;margin:4px 0 6px;display:flex}.bank-filter button{flex:1}.results-head{align-items:center;gap:2px;margin:6px 0 2px -6px;display:flex}.results-head .section-title{margin:0}.chip.edit{color:var(--text-2);padding:0 16px}.chip.editable{background:var(--surface-3);gap:0;padding:0 4px}.chip-label{align-items:center;gap:8px;padding:0 8px;display:inline-flex}.chip.editable:not(:has(.chip-move)) .chip-label{padding-left:14px}.chip-x,.chip-move{flex:none;place-items:center;width:44px;height:52px;display:grid;position:relative}.chip-x:before{content:"";background:var(--danger);border-radius:50%;width:32px;height:32px;position:absolute}.chip-x svg{color:#fff;position:relative}.chip-move{color:var(--text-2);border-right:1px solid var(--line)}.chip-move:active,.chip-x:active{transform:scale(.9)}.chip.addable{border:2px dashed var(--surface-3);color:var(--text-2);background:0 0}.chip.done{background:var(--accent);color:#fff}.shortcuts.editing{padding:4px 0 8px}.shortcuts .section-title small{text-transform:none;letter-spacing:0;margin-top:4px;font-size:15px;font-weight:400;display:block}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:18px 6px 6px;font-size:16px;font-weight:600}.empty,.hint{color:var(--text-2);padding:12px 6px;font-size:18px}.row{border-bottom:1px solid var(--line);align-items:center;display:flex}.row:last-child{border-bottom:0}.row-main{min-height:var(--tap);text-align:left;border-radius:12px;flex:1;align-items:center;gap:14px;min-width:0;padding:10px 6px;display:flex}.row-main:active{background:var(--surface-2)}.row-icon{background:var(--surface-2);width:42px;height:42px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:grid}.row-icon b{color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:100%;height:100%;font-size:17px;display:grid}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-text strong{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.row-text small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.row-dist{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:17px}.login{background:radial-gradient(1200px 600px at 20% 10%, #3e8bff2e, transparent 60%), var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center;gap:40px;padding:48px clamp(24px,6vw,96px);display:grid;position:fixed;inset:0}.login-lang{background:var(--surface-2);border-radius:14px;gap:6px;padding:4px;display:flex;position:absolute;top:20px;right:24px}.login-lang button{min-height:48px;color:var(--text-2);border-radius:10px;padding:0 16px;font-weight:600}.login-lang button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0003}.login-card{flex-direction:column;gap:14px;max-width:620px;display:flex}.login-brand{color:var(--text);display:flex}.login-brand svg{width:auto;height:60px}.login h1{margin-top:18px;font-size:44px;line-height:1.15}.login-sub{color:var(--text-2);font-size:21px}.login-sub b{color:var(--text);font-variant-numeric:tabular-nums}.login-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin-top:14px;font-size:15px;font-weight:600}.login-phone{background:var(--surface);border:3px solid var(--accent);font-variant-numeric:tabular-nums;border-radius:20px;align-items:center;gap:18px;height:92px;padding:0 26px;font-size:40px;font-weight:700;display:flex}.login-phone .cc{color:var(--text-2);font-size:32px;font-weight:600}.login-phone .num.ph{color:var(--text-2);font-weight:500}.login-phone.bad,.login-code.bad{border-color:var(--danger)}.login-code{gap:16px;padding:6px 0;display:flex}.login-code span{background:var(--surface);border:3px solid var(--surface-3);border-radius:20px;place-items:center;width:92px;height:108px;font-size:52px;font-weight:700;display:grid}.login-code span.cur{border-color:var(--accent)}.login-code.bad span{border-color:var(--danger)}.login-error{color:var(--danger);font-size:19px;font-weight:600}.login-note{color:var(--text-2);font-size:18px}.login-links{flex-wrap:wrap;gap:8px;margin-left:-12px;display:flex}.login-qr-btn{align-self:flex-start;min-height:64px;margin-top:8px}.login-back{align-self:flex-start;margin-left:-12px}.login-qr{flex-direction:column;align-items:center;gap:16px;display:flex}.qr.big{border-radius:20px;width:min(420px,60vh);height:min(420px,60vh)}.login-qr-expired{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.login-pad{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.modal h2{font-size:26px}.modal h3{font-size:15px}.terms-intro,.modal section p,.modal li{font-size:18px}.login-pad .terms-consent,.login-qr .terms-consent{text-align:center;grid-column:1/-1;padding-top:6px;font-size:17px;line-height:1.6}.pad-key{background:var(--surface);border-radius:20px;height:clamp(72px,12vh,108px);font-size:38px;font-weight:600;transition:transform 60ms,background 60ms;box-shadow:0 1px #00000059}.pad-key:active{background:var(--surface-3);transform:scale(.96)}.pad-key.fn{background:var(--surface-2);place-items:center;display:grid}.pad-key.ok{background:var(--accent);color:#fff;place-items:center;padding:0 8px;font-size:22px;font-weight:700;display:grid}@media (max-width:900px){.login{grid-template-columns:1fr;align-items:start;gap:24px;padding:72px 20px 20px;overflow-y:auto}.login h1{font-size:32px}.login-phone{height:76px;font-size:30px}.login-code span{width:68px;height:84px;font-size:40px}}.account{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:6px}.account .setting{border-bottom:0}.account-more{flex-wrap:wrap;align-items:center;gap:8px;margin-left:-12px;display:flex}.account-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-confirm small{color:var(--danger);padding-left:12px;font-size:16px}.danger-text{color:var(--danger)}.install-card{z-index:30;bottom:28px;left:calc(var(--panel-w) + var(--gap) * 2);background:var(--surface);border-radius:var(--radius);max-width:860px;box-shadow:var(--shadow);animation:rise-sheet .3s var(--ease);align-items:center;gap:16px;margin:0 auto;padding:14px 16px 14px 14px;display:flex;position:absolute;right:150px}.install-card img{border-radius:14px;flex:none}.install-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:20px;overflow:hidden}.install-text small{color:var(--text-2);font-size:16px}.install-actions{flex:none;gap:8px;display:flex}html.kb-open .install-card{display:none}.install-card.tesla{align-items:flex-start;max-width:640px}.install-card.tesla .install-text strong{white-space:normal}.tesla-steps{color:var(--text-2);flex-direction:column;gap:6px;margin:6px 0 0;padding-left:1.3em;font-size:17px;line-height:1.4;display:flex}.tesla-steps li::marker{color:var(--accent);font-weight:500}.tesla-note{color:var(--text-2);opacity:.8;margin:8px 0 0;font-size:15px}.setting-steps{padding:14px 0}@media (max-width:900px){.install-card{left:var(--gap);right:var(--gap);bottom:var(--gap);flex-wrap:wrap}}:root{--kb-h:0px}html.kb-open{--kb-h:420px}html.kb-open .panel{bottom:calc(var(--kb-h) + var(--gap));max-height:calc(100% - var(--kb-h) - 2 * var(--gap))}html.kb-open .panel[data-view=home]{bottom:auto}html.kb-open .controls{bottom:calc(var(--kb-h) + var(--gap))}html.kb-open .toasts{bottom:calc(var(--kb-h) + 20px)}html.kb-open .voice-overlay{display:none}.vfield{white-space:nowrap;cursor:text;outline:0;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.search .vfield{flex:1;height:64px;font-size:22px;font-weight:500}.vtext{text-overflow:clip;direction:ltr;overflow:hidden}.vplaceholder{color:var(--text-2);text-overflow:ellipsis;font-weight:400;overflow:hidden}.vcaret{background:var(--accent);border-radius:2px;flex:none;width:3px;height:1.2em;margin-left:2px;animation:1s step-end infinite caret}.vfield.focused .vplaceholder{order:2;margin-left:6px}.house-input.vfield{padding:0 20px}.house-input.vfield.focused{border-color:var(--accent)}.house-input.name.vfield .vplaceholder{font-size:22px}@keyframes caret{50%{opacity:0}}.kb{z-index:45;height:var(--kb-h);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;animation:kb-up .18s var(--ease);flex-direction:column;justify-content:space-between;gap:8px;padding:10px 14px 14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000040}@keyframes kb-up{0%{opacity:0;transform:translateY(30px)}}.kb-row{flex:1;justify-content:center;gap:8px;width:100%;max-width:1500px;margin:0 auto;display:flex}.kb-key{background:var(--surface);min-width:0;max-width:118px;color:var(--text);border-radius:12px;flex:1 1 0;place-items:center;font-size:30px;font-weight:500;line-height:1;transition:background 60ms,transform 60ms;display:grid;box-shadow:0 1px #00000059}.kb-key:active{background:var(--accent);color:#fff;transform:scale(.96)}.kb-fn{background:var(--surface-3);font-size:22px;font-weight:600}.kb-digits .kb-key{background:var(--surface-2);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.kb-row.kb-digits{flex:.85}.kb-fn.on{background:var(--accent);color:#fff}.kb-wide{flex-grow:1.6;max-width:190px}.kb-mid{flex-grow:1.4;max-width:170px}.kb-lang{justify-content:center;align-items:center;padding:0 10px;display:flex}.kb-seg{background:var(--surface);border-radius:10px;width:100%;max-width:132px;padding:4px;display:flex}.kb-seg span{color:var(--text-2);text-align:center;border-radius:7px;flex:1;padding:8px 0;font-size:20px;font-weight:700}.kb-seg span.on{background:var(--accent);color:#fff}.kb-space{max-width:620px;color:var(--text-2);flex-grow:5;font-size:18px}.kb-enter{background:var(--accent);color:#fff;flex-grow:2;max-width:240px;font-size:22px;font-weight:700}.num-tag{background:var(--surface-3);color:var(--accent);border-radius:12px;flex:none;padding:6px 12px;font-size:16px;font-weight:700}.house-step{flex-direction:column;gap:12px;padding:4px 12px 16px;display:flex;overflow-y:auto}.house-street{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--surface-2);text-align:left;align-items:center;gap:14px;padding:10px 12px;display:flex}.house-street .row-text{flex:1}.house-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:6px 4px 0;font-size:15px;font-weight:600}.house-row{gap:10px;display:flex}.house-input{border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--surface-2);font-variant-numeric:tabular-nums;outline:0;flex:1;min-width:0;height:72px;padding:0 20px;font-size:32px;font-weight:700}.house-input:focus{border-color:var(--accent)}.house-row .btn{min-width:120px;min-height:72px}.house-ok{color:var(--success);align-items:center;gap:8px;margin:0 4px;font-size:17px;font-weight:600;display:flex}.house-note{color:var(--text-2);margin:0 4px;font-size:16px}.house-nums{flex-wrap:wrap;gap:8px;display:flex}.chip.num{font-variant-numeric:tabular-nums;justify-content:center;min-width:64px;font-size:20px;font-weight:600}.chip.num.on{background:var(--accent);color:#fff}.house-none{margin-top:4px}.place{flex-direction:column;gap:14px;height:100%;padding:12px;display:flex}.place-head{align-items:flex-start;gap:6px;display:flex}.place-title{min-width:0;padding-top:8px}.place-title h2{font-size:28px;font-weight:700;line-height:1.2}.place-title p{color:var(--text-2);margin-top:4px;font-size:18px}.routes{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.route-opt{text-align:left;border-radius:var(--radius-sm);background:var(--surface-2);border:2px solid #0000;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;column-gap:14px;padding:14px 18px;display:grid}.route-opt strong{font-size:26px;font-weight:700}.route-opt span{color:var(--text-2);align-self:center;font-size:18px}.route-opt small{color:var(--text-2);grid-column:1/-1;font-size:17px}.route-opt .route-arrive{justify-self:end;font-size:18px}.route-opt .route-arrive b{color:var(--text);font-variant-numeric:tabular-nums}.route-error{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.route-error p{font-size:19px;font-weight:500}.go-row{gap:10px;display:flex}.go-row .btn.primary{flex:1}.go-row .btn:not(.primary){flex:none;min-width:140px}.replace-confirm{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.replace-confirm p{font-size:19px}.replace-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.empty-state{flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:8px;display:flex}.empty-state .btn{margin:4px 6px}.route-opt.active{border-color:var(--accent)}.route-opt.active strong{color:var(--accent)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;height:86px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.place-actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.place-secondary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.place-secondary .btn{text-align:center;flex-direction:column;gap:4px;min-height:72px;padding:10px 6px;font-size:15px}.btn{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:19px;font-weight:600;transition:transform .12s,background .12s;display:inline-flex;position:relative;overflow:hidden}.btn:active:not(:disabled){background:var(--surface-3);transform:scale(.97)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:active:not(:disabled){background:var(--accent-press)}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:0 0}.btn.big{min-height:76px;font-size:24px}.countdown-bar{transform-origin:0;background:#ffffffb3;width:100%;height:5px;animation:linear forwards countdown;position:absolute;bottom:0;left:0}@keyframes countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow);flex:none;place-items:center;transition:transform .12s;display:grid;position:relative}.icon-btn.ghost{box-shadow:none;background:0 0}.icon-btn:active{transform:scale(.92)}.icon-btn.on{color:var(--accent)}.icon-btn .dot{position:absolute;top:12px;right:12px}.dot{background:var(--success);border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 3px #30a46c40}.controls{right:var(--gap);top:var(--gap);bottom:var(--gap);z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute}.controls>*{pointer-events:auto}.control-stack{flex-direction:column;gap:10px;display:flex}.mic{background:var(--accent);color:#fff;width:104px;height:104px;transition:transform .15s var(--ease), background .2s;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 10px 30px #3e8bff73}.mic:active{transform:scale(.94)}.mic>svg,.mic>.spinner{z-index:1;position:relative}.mic-ring{background:inherit;opacity:.35;border-radius:50%;transition:transform 80ms linear;position:absolute;inset:0}.mic-badge{z-index:2;background:var(--surface);width:38px;height:38px;color:var(--text-2);box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.mic-badge.ok{color:var(--success)}.mic-listening{background:var(--danger);box-shadow:0 10px 30px #e5484d73}.mic-listening .mic-ring{animation:1.4s infinite pulse}.mic-processing{background:var(--surface-3);color:var(--text)}@keyframes pulse{0%{box-shadow:0 0 #e5484d80}to{box-shadow:0 0 0 26px #e5484d00}}.voice-overlay{max-width:min(760px, calc(100% - var(--panel-w) - 220px));background:var(--surface);min-height:84px;box-shadow:var(--shadow);z-index:20;animation:rise .25s var(--ease);border-radius:42px;align-items:center;gap:18px;padding:14px 28px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.app:has(.panel) .voice-overlay{left:calc(var(--panel-w) + var(--gap) + (100% - var(--panel-w) - var(--gap)) / 2)}@keyframes rise{0%{opacity:0;transform:translate(-50%,16px)}}.voice-text{flex-direction:column;min-width:0;display:flex}.voice-text strong,.voice-text span{font-size:22px}.voice-text small{color:var(--text-2);font-size:16px}.bars{align-items:center;gap:5px;height:44px;display:flex}.bars i{background:var(--danger);border-radius:4px;width:7px;height:44px;transition:transform 80ms linear}.nav-top{top:var(--gap);left:var(--gap);width:var(--panel-w);max-height:calc(100% - 3 * var(--gap) - 160px);z-index:11;pointer-events:none;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute}.nav-top>*{pointer-events:auto}.nav-top>.nav-banner,.nav-top>.hazard-chip{flex:none}.nav-banner{cursor:pointer;color:#fff;border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:linear-gradient(160deg,#1e6b3f,#145232);position:relative;overflow:hidden}.nav-handle{opacity:.7;justify-content:center;height:26px;margin-top:-6px;display:flex}.nav-handle svg{transition:transform .2s var(--ease)}.nav-banner.expanded .nav-handle svg{transform:rotate(180deg)}:root[data-theme=dark] .nav-banner{background:linear-gradient(160deg,#1b5e38,#0f3d24)}.nav-main{align-items:center;gap:18px;padding:20px 22px;display:flex}.nav-text{min-width:0}.nav-dist{font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1}.nav-instr{margin-top:6px;font-size:22px;font-weight:500}.nav-road{opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:19px;overflow:hidden}.nav-then{background:#0000002e;align-items:center;gap:10px;padding:10px 22px;font-size:17px;display:flex}.nav-warn{background:var(--warn);color:#111;padding:10px 22px;font-size:18px;font-weight:600}.steps{background:#0000002e;max-height:46vh;margin:0;padding:4px 0 8px;list-style:none;overflow-y:auto}.steps li{border-top:1px solid #ffffff14;align-items:center;gap:14px;padding:10px 22px;font-size:18px;display:flex}.eta{left:var(--gap);bottom:var(--gap);width:var(--panel-w);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);z-index:10;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:16px 16px 16px 22px;display:grid;position:absolute}.eta-cells{flex-wrap:wrap;gap:4px 16px;min-width:0;display:flex}.eta-cells div{flex-direction:column;display:flex}.eta-cells strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px;font-weight:700}.eta-cells div:first-child strong{color:var(--success)}.eta-cells small{color:var(--text-2);font-size:17px}.eta-dest{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;grid-column:1;font-size:17px;overflow:hidden}.eta-actions{flex-direction:column;grid-area:1/2/3;gap:8px;display:flex}.eta-actions .btn{min-height:56px}.eta-actions .btn.on{background:var(--accent);color:#fff}.along{background:var(--surface);border-radius:var(--radius);width:100%;min-height:0;box-shadow:var(--shadow);animation:rise-sheet .25s var(--ease);flex-direction:column;flex:auto;display:flex;overflow:hidden}.along-head{justify-content:space-between;align-items:center;padding:6px 6px 0 20px;display:flex}.along-head strong{font-size:20px}.along-chips{scrollbar-width:none;flex-wrap:nowrap;margin:0;padding:4px 12px 8px;overflow-x:auto}.along-chips .chip{flex:none}.chip.on{background:var(--accent);color:#fff}.along-list{min-height:0;padding:0 12px 12px;overflow-y:auto}.along-row{border-bottom:1px solid var(--line);width:100%}.charger-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.badge{background:var(--surface-3);color:var(--text-2);border-radius:9px;align-items:center;gap:3px;padding:2px 9px;font-size:17px;font-style:normal;font-weight:600;display:inline-flex}.badge.fast{color:var(--success);background:#30a46c29}.badge.tesla{color:var(--danger);background:#e5484d24}.charger-sort{margin:6px 6px 4px}.lanes{gap:6px;padding:4px 22px 14px;display:flex}.lane{color:#ffffff59}.lane.on{color:#fff}.nav-then span:last-child{opacity:.9}.steps li small{opacity:.75;font-variant-numeric:tabular-nums;margin-left:auto}.hazard-chip{background:var(--warn);color:#111;box-shadow:var(--shadow);animation:rise-sheet .25s var(--ease);border-radius:18px;align-items:center;gap:12px;padding:12px 20px;font-size:19px;font-weight:600;display:flex}.hazard-chip.camera{color:#fff;background:#e5484d}.hazard-chip strong{font-variant-numeric:tabular-nums}.hazard-chip.jam{color:#fff;background:#e5484d}.hazard-chip em{opacity:.9;font-variant-numeric:tabular-nums;font-style:normal;font-weight:500}.hazard-pin{background:var(--warn);border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 2px 6px #00000059}.hazard-pin.camera{background:#e5484d}.hazard-pin svg{fill:none;stroke:#111;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hazard-pin.camera svg{stroke:#fff}.route-tags{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.route-tags:empty{display:none}.tag{background:var(--surface-3);color:var(--text-2);border-radius:10px;align-items:center;gap:4px;padding:3px 10px;font-size:17px;font-style:normal;font-weight:600;display:inline-flex}.tag.traffic{color:var(--danger);background:#e5484d26}.puck{width:46px;height:46px}.puck svg{filter:drop-shadow(0 2px 6px #00000059);width:100%;height:100%}.puck-halo{fill:#fff}.puck-arrow{fill:var(--accent)}:root[data-theme=dark] .puck-halo{fill:#1d222a;stroke:#fff;stroke-width:2.5px}.sheet-backdrop{z-index:50;background:#00000073;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:var(--surface);width:min(760px,100% - 32px);max-height:calc(100% - 64px);box-shadow:var(--shadow);animation:rise-sheet .25s var(--ease);border-radius:28px;padding:28px 32px;position:relative;overflow-y:auto}@keyframes rise-sheet{0%{opacity:0;transform:translateY(20px)}}.sheet h2{margin-bottom:14px;font-size:30px}.sheet-close{position:absolute;top:16px;right:16px}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:76px;display:flex}.setting>span{flex-direction:column;display:flex}.setting strong{font-weight:500}.setting small{color:var(--text-2);font-size:16px}.switch{background:var(--surface-3);border-radius:21px;flex:none;width:72px;height:42px;transition:background .2s;position:relative}.switch:after{content:"";width:34px;height:34px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #00000040}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(30px)}.segmented{background:var(--surface-2);border-radius:var(--radius-sm);padding:4px;display:inline-flex}.segmented button{min-height:52px;color:var(--text-2);border-radius:11px;padding:0 18px;font-size:17px;font-weight:500}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000026}.regions{flex-direction:column;display:flex}.region{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:76px;display:flex}.region-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.region-text small{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:16px}.region.done .region-text small{color:var(--success)}.progress{background:var(--surface-2);border-radius:4px;height:8px;margin-top:6px;display:block;position:relative;overflow:hidden}.progress i{background:var(--accent);transition:width .3s;position:absolute;inset:0 auto 0 0}.settings .section-title{margin-top:26px}.settings-foot{color:var(--text-2);justify-content:space-between;align-items:center;margin-top:22px;display:flex}.pair-body{align-items:center;gap:32px;margin-top:12px;display:flex}.qr{border-radius:16px;flex:none;width:260px;height:260px}.pair-info{flex-direction:column;gap:6px;display:flex}.pair-info small{color:var(--text-2);font-size:16px}.pair-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:54px;font-weight:700}.pair-url{word-break:break-all}.pair-status{color:var(--text-2);align-items:center;gap:10px;margin-top:12px;font-weight:500;display:flex}.pair-status:not(.ok) .dot{background:var(--warn);animation:1.2s infinite blink;box-shadow:0 0 0 3px #f5a52440}.pair-status.ok{color:var(--success)}@keyframes blink{50%{opacity:.3}}.banners{top:var(--gap);z-index:30;flex-direction:column;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}:is(.navigating .banners,.app:has(.panel) .banners){left:calc(var(--panel-w) + var(--gap) + (100% - var(--panel-w) - var(--gap) - 120px) / 2)}.banner{background:var(--surface);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:10px;padding:12px 20px;font-size:17px;font-weight:500;display:flex}.banner.warn{background:var(--warn);color:#111}.toasts{z-index:60;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:28px;right:150px}.toast{background:var(--surface);max-width:520px;box-shadow:var(--shadow);animation:rise-sheet .25s var(--ease);cursor:pointer;border-radius:18px;padding:16px 22px;font-size:18px;font-weight:500}.toast.error{background:var(--danger);color:#fff}.toast.has-action{cursor:default;align-items:center;gap:12px;padding:8px 8px 8px 22px;display:flex}.toast.has-action>span{flex:1}.toast-action{background:var(--accent);color:#fff;border-radius:14px;flex:none;min-height:56px;padding:0 20px;font-size:18px;font-weight:700}.toast.error .toast-action,.toast.success .toast-action{background:#ffffff38}.toast-close{opacity:.7;border-radius:14px;flex:none;place-items:center;width:56px;height:56px;display:grid}.icon-btn.muted{color:var(--danger)}.arrival{left:50%;bottom:var(--gap);width:min(720px, calc(100% - 2 * var(--gap) - 140px));background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);z-index:40;animation:rise .25s var(--ease);flex-direction:column;gap:14px;padding:18px 20px;display:flex;position:absolute;transform:translate(-50%)}.app:has(.panel) .arrival{left:calc(var(--panel-w) + var(--gap) + (100% - var(--panel-w) - var(--gap) - 120px) / 2);width:min(640px, calc(100% - var(--panel-w) - 3 * var(--gap) - 120px))}.arrival-head{align-items:center;gap:14px;display:flex}.arrival-icon{background:var(--success);color:#fff;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.arrival-title{flex-direction:column;flex:1;min-width:0;display:flex}.arrival-title small{color:var(--success);font-size:17px;font-weight:600}.arrival-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:24px;overflow:hidden}.arrival-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.toast.success{background:var(--success);color:#fff}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;flex:none;width:26px;height:26px;animation:.8s linear infinite spin}.spinner.light{border-color:currentColor #ffffff4d #ffffff4d;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}.phone{flex-direction:column;align-items:center;gap:18px;height:100%;min-height:100%;padding:32px 20px;display:flex;overflow-y:auto}.phone h1{font-size:26px}.phone-head{color:var(--text-2);align-self:stretch;align-items:center;gap:10px;font-size:17px;font-weight:500;display:flex}.phone-head b{letter-spacing:.1em;color:var(--text)}.phone-conn{flex:1;min-width:0}.dot.warn{background:var(--warn);animation:1.2s infinite blink;box-shadow:0 0 0 3px #f5a52440}.phone-lang{align-self:flex-end;position:static}.phone-head .phone-lang{align-self:center}.phone-lang button{min-height:40px;padding:0 10px;font-size:15px}.phone-sent{border-radius:var(--radius-sm);background:var(--surface-2);align-self:stretch;align-items:center;gap:10px;padding:12px 16px;font-size:17px;display:flex}.phone-sent.ok{color:var(--success)}.phone-sent.failed{color:var(--danger)}.phone-sent .spinner{width:20px;height:20px}.phone-login{justify-content:flex-start}.phone-login .phone-code input{letter-spacing:.08em}.phone-warn{border-radius:var(--radius-sm);background:#f5a52426;align-items:flex-start;gap:10px;max-width:360px;padding:12px 14px;font-size:16px;display:flex}.phone-warn svg{flex:none;margin-top:2px}.phone-done{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-top:15vh;display:flex}.phone-code{flex-direction:column;gap:14px;width:100%;max-width:360px;display:flex}.phone-code input{text-align:center;letter-spacing:.25em;border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--surface-2);outline:0;height:80px;font-size:40px;font-weight:700}.phone-code input:focus{border-color:var(--accent)}.phone-mic{width:180px;height:180px;margin-top:24px}.phone-state{color:var(--text-2);font-size:20px}.phone-last{text-align:center;font-size:22px;font-weight:500}.phone-search{align-self:stretch;margin:12px 0 0}.phone-results{flex-direction:column;align-self:stretch;display:flex}.phone-results .row-main{border-bottom:1px solid var(--line)}.error{color:var(--danger);text-align:center}@media (max-width:900px){:root{--panel-w:calc(100% - 2 * var(--gap))}.panel,.panel[data-view=home]{max-height:55%;bottom:auto}.panel[data-view=place]{top:auto;bottom:var(--gap)}.controls{height:auto;top:auto;bottom:calc(var(--bottom-inset,0px) + var(--gap));transition:bottom .25s var(--ease);gap:12px}.controls .control-stack:first-child{display:none}@media (pointer:coarse){.controls .zoom{display:none}}.nav-top,.eta{width:calc(100% - 2 * var(--gap))}.voice-overlay{max-width:calc(100% - 32px);left:50%}.app:has(.panel) .voice-overlay{max-width:calc(100% - 32px);left:50%}.pair-body{flex-direction:column}.arrival{width:calc(100% - 2 * var(--gap));left:50%}.app:has(.panel) .arrival{width:calc(100% - 2 * var(--gap));left:50%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
