@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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{--bg:#0a0a0a;--bg-soft:#121212;--card:#171717;--card-hover:#1f1f1f;--border:#292929;--border-strong:#3d3d3d;--text:#f2f2f2;--text-soft:#a6a6a6;--text-faint:#757575;--primary:#3c83f6;--primary-soft:#3c83f621;--primary-strong:#5996f7;--amber:#f6ae31;--green:#2fbc7a;--sky:#2bb3f3;--danger:#e14747;--radius:16px;--radius-sm:11px;--shadow-1:0 1px 2px #00000080;--shadow-2:0 10px 34px -12px #000000bf;--shadow-pop:0 18px 60px -18px #0950c359;--ease:cubic-bezier(.22, .8, .3, 1);--font:"Inter Variable", system-ui, -apple-system, sans-serif}:root[data-theme=light]{--bg:#f7f7f7;--bg-soft:#fff;--card:#fff;--card-hover:#f2f2f2;--border:#dedede;--border-strong:#c2c2c2;--text:#1c1c1c;--text-soft:#5e5e5e;--text-faint:#8c8c8c;--primary-strong:#0b60ea;--shadow-1:0 1px 2px #00000014;--shadow-2:0 10px 34px -12px #00000038;--shadow-pop:0 14px 44px -14px #0a5adb4d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:#3c83f659}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{max-width:1120px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}.topbar{z-index:40;-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);background:#0a0a0ab8;border-bottom:1px solid #29292999;position:sticky;top:0}[data-theme=light] .topbar{background:#ffffffc7;border-bottom-color:#00000014}[data-theme=light] .navlink:hover{background:#0000000f}.topbar-in{align-items:center;gap:18px;height:60px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-size:17px;font-weight:720;display:flex}.brand svg{color:var(--text)}.brand b{color:var(--text);font-weight:720}.brand-logo{filter:invert();width:auto;height:34px;display:block}[data-theme=light] .brand-logo{filter:none}.topnav{align-items:center;gap:6px;margin-left:auto;display:flex}.navlink{color:var(--text-soft);transition:color .18s var(--ease), background .18s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:13.5px;display:inline-flex}.navlink:hover{color:var(--text);background:#29292980}.navlink.cta{color:var(--bg);background:var(--text);font-weight:620}.navlink.cta:hover{background:var(--text);opacity:.88}.stars{gap:1px;display:inline-flex}.stars svg{width:12px;height:12px}.star-on{color:var(--text);fill:var(--text)}.star-off{color:#4d4d4d}.avatar{background:var(--card);width:44px;height:44px;color:var(--text);border:1px solid var(--border);border-radius:13px;flex-shrink:0;place-items:center;font-size:15px;font-weight:740;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.badge-check{color:var(--text);flex-shrink:0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal{flex-direction:column;min-height:100dvh;display:flex}.pshell{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(14px,3.4vw,30px)}.ptop{z-index:40;-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);border-bottom:1px solid var(--border);background:#0a0a0ad1;position:sticky;top:0}[data-theme=light] .ptop{background:#ffffffd9}.ptop-in{align-items:center;gap:14px;width:100%;max-width:1320px;margin:0 auto;padding:10px clamp(14px,3.4vw,30px);display:flex}.dsearch{border:1px solid var(--border-strong);background:var(--card);max-width:620px;height:48px;box-shadow:var(--shadow-1);transition:box-shadow .2s var(--ease), border-color .2s var(--ease);border-radius:999px;flex:1;align-items:center;gap:4px;padding:0 5px 0 16px;display:flex;position:relative}.dsearch:focus-within,.dsearch:hover{border-color:var(--text);box-shadow:var(--shadow-2)}.dseg{min-width:0;color:var(--text-soft);align-items:center;gap:9px;display:flex}.dseg.grow{flex:1}.dseg input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14.5px}.dseg input::placeholder{color:var(--text-faint)}.dseg.place{border-radius:999px;max-width:210px;padding:8px 12px;font-size:14px}.dseg.place span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.dseg.place span.faint{color:var(--text-faint)}.dseg.place:hover{background:var(--card-hover)}.dsep{background:var(--border);flex-shrink:0;width:1px;height:24px}.dgo{width:38px;height:38px;color:var(--bg);background:var(--text);transition:transform .16s var(--ease), background .16s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.dgo:hover{opacity:.88}.dgo:active{transform:scale(.94)}.pop-scrim{z-index:50;position:fixed;inset:0}.place-pop{z-index:51;border-radius:var(--radius);background:var(--bg-soft);border:1px solid var(--border);width:min(380px,100vw - 28px);box-shadow:var(--shadow-2);animation:pop-in .18s var(--ease);padding:14px;position:absolute;top:calc(100% + 10px);right:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)}}.msearch{text-align:left;border:1px solid var(--border-strong);background:var(--card);height:46px;box-shadow:var(--shadow-1);color:var(--text-soft);border-radius:999px;flex:1;align-items:center;gap:11px;padding:0 16px;display:none}.msearch:active{transform:scale(.99)}.msearch-txt{flex-direction:column;min-width:0;line-height:1.15;display:flex}.msearch-txt b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:650;overflow:hidden}.msearch-txt small{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.ptop-acts{align-items:center;gap:6px;margin-left:auto;display:flex}.iconbtn{width:40px;height:40px;color:var(--text-soft);transition:background .16s var(--ease), color .16s var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.iconbtn:hover{background:var(--card-hover);color:var(--text)}.iconbtn.on{color:var(--text)}.iconbtn .dot{background:var(--text);min-width:16px;height:16px;color:var(--bg);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-style:normal;font-weight:700;display:grid;position:absolute;top:3px;right:2px}.umenu-slot{width:40px;height:40px}.umenu-enter{color:var(--bg);background:var(--text);transition:opacity .16s var(--ease), transform .16s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:620;display:inline-flex}.umenu-enter:hover{opacity:.88}.umenu-enter:active{transform:scale(.97)}.umenu{position:relative}.umenu-btn{transition:background .16s var(--ease), border-color .16s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:5px 8px 5px 5px;display:flex}.umenu-btn:hover,.umenu[aria-expanded=true] .umenu-btn{background:var(--card);border-color:var(--border)}.umenu-avatar{background:var(--card-hover);border:1px solid var(--border-strong);width:30px;height:30px;color:var(--text);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:720;display:grid;overflow:hidden}.umenu-avatar img{object-fit:cover;width:100%;height:100%}.umenu-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:13px;font-weight:600;overflow:hidden}.umenu-chev{color:var(--text-faint)}.umenu-drop{z-index:80;background:var(--bg-soft);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow-2);animation:pop-in .16s var(--ease);border-radius:14px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.umenu-head{border-bottom:1px solid var(--border);flex-direction:column;padding:12px 14px;display:flex}.umenu-head b{font-size:13.5px;font-weight:660}.umenu-head small{color:var(--text-faint);text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}.umenu-items{flex-direction:column;padding:7px;display:flex}.umenu-items a,.umenu-items button{text-align:left;color:var(--text-soft);transition:background .14s var(--ease), color .14s var(--ease);border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.umenu-items a:hover,.umenu-items button:hover{background:var(--card-hover);color:var(--text)}.umenu-items svg{color:var(--text-faint);flex-shrink:0}.umenu-items a:hover svg,.umenu-items button:hover svg{color:var(--text)}.umenu-items .ext{margin-left:auto}.umenu-sep{background:var(--border);height:1px;margin:6px 4px}.umenu-items button.danger,.umenu-items button.danger svg{color:var(--danger)}.umenu-items button.danger:hover{background:color-mix(in oklab, var(--danger) 14%, transparent)}@media (width<=860px){.umenu-name,.umenu-chev{display:none}.umenu-btn{padding:4px}.umenu-enter{padding:9px 13px}.umenu-enter span{display:none}.umenu-enter{gap:0}}.crail-wrap{border-top:1px solid var(--border);position:relative}.crail-nav{z-index:3;width:32px;height:32px;color:var(--text);background:var(--bg-soft);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);transition:transform .16s var(--ease), background .16s var(--ease);border-radius:50%;place-items:center;display:none;position:absolute;top:50%;transform:translateY(-50%)}.crail-nav.left{left:6px}.crail-nav.right{right:6px}.crail-nav:hover{background:var(--card-hover)}.crail-nav:active{transform:translateY(-50%)scale(.92)}@media (width>=861px){.crail-nav{display:grid}}.crail{scrollbar-width:none;scroll-snap-type:x proximity;gap:4px;width:100%;max-width:1320px;margin:0 auto;padding:6px clamp(14px,3.4vw,30px);display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 28px),#0000)}.crail::-webkit-scrollbar{display:none}.crail-i{scroll-snap-align:start;min-width:74px;color:var(--text-faint);transition:color .16s var(--ease), background .16s var(--ease);border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:5px;padding:9px 12px 8px;display:flex}.crail-i span{white-space:nowrap;letter-spacing:-.01em;font-size:11px;font-weight:560}.crail-i:hover{color:var(--text);background:var(--card)}.crail-i.on{color:var(--text)}.crail-i.on span{font-weight:680}.crail-i.on svg{color:var(--text)}.subrail{scrollbar-width:none;gap:7px;width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(14px,3.4vw,30px) 10px;display:flex;overflow-x:auto}.subrail::-webkit-scrollbar{display:none}.subchip{border:1px solid var(--border);color:var(--text-soft);background:var(--card);transition:all .16s var(--ease);border-radius:999px;flex-shrink:0;padding:6px 13px;font-size:12.5px}.subchip:hover{border-color:var(--border-strong);color:var(--text)}.subchip.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.pbar{width:100%;max-width:1320px;margin:0 auto;padding:18px clamp(14px,3.4vw,30px) 4px}.pbar-in{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pbar-title{letter-spacing:-.025em;min-width:0;font-size:clamp(17px,2.4vw,21px);font-weight:700}.pbar-acts{align-items:center;gap:8px;margin-left:auto;display:flex}.chipbtn.ghost{border-color:var(--border);color:var(--text-soft);background:0 0}.chipbtn.ghost:hover{color:var(--text);background:var(--card)}.chipbtn{border:1px solid var(--border-strong);color:var(--text);background:var(--card);transition:all .16s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:550;display:inline-flex}.chipbtn:hover{background:var(--card-hover)}.chipbtn.on{border-color:var(--text);color:var(--text);background:var(--card-hover);font-weight:620}.pmain{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:10px clamp(14px,3.4vw,30px) 40px}.portal.with-map .pmain{grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:20px;max-width:1560px;display:grid}.pmap{border-radius:var(--radius);border:1px solid var(--border);height:calc(100dvh - 152px);position:sticky;top:132px;overflow:hidden}.pmap-load{height:100%;color:var(--text-faint);background:var(--card);place-items:center;display:grid}.rmap{width:100%;height:100%}.rmap-pin{cursor:pointer;filter:drop-shadow(0 3px 6px #00000073);transition:transform .16s var(--ease);display:block}.rmap-pin:hover,.rmap-pin.hot{z-index:5;transform:scale(1.28)translateY(-2px)}.rmap-pin{position:relative}.rmap-n{min-width:18px;height:18px;color:var(--bg);background:var(--text);border:1.5px solid var(--bg);border-radius:999px;place-items:center;padding:0 4px;font-size:10.5px;font-style:normal;font-weight:700;display:grid;position:absolute;top:-3px;right:-5px}.rmap-list{gap:4px;min-width:180px;display:grid}.rmap-list b{color:var(--text-soft);font-size:12px;font-weight:600}.rmap-list button{text-align:left;color:var(--text);background:var(--card);border-radius:9px;padding:7px 9px;font-size:13px}.rmap-list button:hover{background:var(--card-hover)}.pgrid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:22px 18px;display:grid}.portal.with-map .pgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.pcard{min-width:0;animation:card-in .3s var(--ease) both;flex-direction:column;gap:9px;display:flex;position:relative}@keyframes card-in{0%{opacity:0;transform:translateY(7px)}}.pcard-hit{z-index:1;border-radius:var(--radius);position:absolute;inset:0}.pcard-cover{aspect-ratio:4/3;background:radial-gradient(120% 90% at 22% 12%, #ffffff1a, transparent 60%), linear-gradient(var(--a,155deg), color-mix(in oklab, var(--text) var(--m,9%), var(--card)), var(--card) 80%);border:1px solid var(--border);transition:transform .28s var(--ease), box-shadow .28s var(--ease);border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.pcard:hover .pcard-cover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.pcard-cover img{object-fit:cover;width:100%;height:100%}.pcard-mono{letter-spacing:-.045em;color:var(--text);opacity:.22;-webkit-user-select:none;user-select:none;font-size:clamp(30px,4.2vw,40px);font-weight:800}.pcard-badge{width:27px;height:27px;color:var(--text);background:color-mix(in oklab, var(--bg) 62%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:9px;place-items:center;display:grid;position:absolute;bottom:9px;right:9px}.pcard-save{z-index:3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:32px;height:32px;transition:transform .16s var(--ease), background .16s var(--ease);background:#00000061;border-radius:50%;place-items:center;display:grid;position:absolute;top:9px;right:9px}.pcard-save:hover{background:#0000008c;transform:scale(1.07)}.pcard-save.on{color:#fff}.pcard-save.on svg{fill:#fff}[data-theme=light] .pcard-save{color:#383838;background:#ffffffe6;box-shadow:0 1px 4px #00000029}[data-theme=light] .pcard-save:hover{background:#fff}[data-theme=light] .pcard-save.on{color:#1a1a1a}[data-theme=light] .pcard-save.on svg{fill:#1a1a1a}.pcard-dist{z-index:2;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffdb;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:650;position:absolute;bottom:9px;left:9px}[data-theme=dark] .pcard-dist{color:#1a1a1a}.pcard-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pcard-line{align-items:center;gap:5px;min-width:0;display:flex}.pcard-line h3{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:640;overflow:hidden}.pcard:hover .pcard-line h3{text-underline-offset:3px;text-decoration:underline}.pcard-rate{align-items:center;gap:3px;margin-left:auto;font-size:12.5px;font-weight:600;display:inline-flex}.pcard-rate svg{color:var(--text);fill:var(--text)}.pcard-cat,.pcard-local{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.pcard-local{color:var(--text-faint)}.pcard-acts{z-index:2;flex-wrap:wrap;gap:6px;margin-top:6px;display:flex;position:relative}.pact{border:1px solid var(--border);color:var(--text-soft);background:var(--card);transition:all .16s var(--ease);border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;font-weight:580;display:inline-flex}.pact:hover{color:var(--text);border-color:var(--border-strong);background:var(--card-hover)}.pact.zap,.pact.chat{color:var(--text);border-color:var(--border-strong)}.pfix{color:var(--text-soft);margin:0 0 14px;font-size:12.5px}.pfix b{color:var(--text);font-weight:640}.pskel{background:var(--card);border:1px solid var(--border);aspect-ratio:4/3.35;animation:card-in .3s var(--ease) both;border-radius:14px;position:relative;overflow:hidden}.pskel:after{content:"";background:linear-gradient(100deg,#0000 30%,#80808024 50%,#0000 70%);animation:1.4s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.psentinel{height:1px}.ploading{color:var(--text-faint);justify-content:center;align-items:center;gap:9px;padding:26px 0;font-size:13px;display:flex}.pend{text-align:center;color:var(--text-faint);padding:30px 0 10px;font-size:12.5px}.pempty{text-align:center;color:var(--text-soft);padding:60px 16px 80px}.pempty-ico{background:var(--card);border:1px solid var(--border);width:62px;height:62px;color:var(--text-faint);border-radius:20px;place-items:center;margin:0 auto 16px;display:grid}.pempty h3{color:var(--text);font-size:17.5px;font-weight:680}.pempty p{margin-top:6px;max-width:420px;margin-inline:auto;font-size:13.5px}.pempty-acts{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:18px;display:flex}.btn-solid,.btn-ghost{transition:all .16s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:13.5px;font-weight:620;display:inline-flex}.btn-solid{color:var(--bg);background:var(--text)}.btn-solid:hover{opacity:.88}.btn-solid.accent{color:#fff;background:var(--primary);box-shadow:var(--shadow-pop);opacity:1}.btn-solid.accent:hover{background:var(--primary-strong)}.btn-solid:active{transform:scale(.98)}.btn-solid.big{padding:14px 24px;font-size:15px}.btn-solid.wide{width:100%}.btn-ghost{color:var(--text-soft);border:1px solid var(--border-strong)}.btn-ghost:hover{color:var(--text);background:var(--card-hover)}.explore{padding:clamp(26px,6vw,60px) 0 40px}.explore-hero{text-align:center;max-width:640px;margin:0 auto clamp(34px,6vw,56px)}.explore-hero h1{letter-spacing:-.035em;font-size:clamp(28px,6vw,46px);font-weight:760;line-height:1.08}.explore-hero h1 em{color:var(--primary-strong);font-style:normal}.explore-hero p{max-width:480px;color:var(--text-soft);margin:14px auto 22px;font-size:clamp(14px,1.8vw,16px)}.explore-saved{color:var(--text-faint);align-items:center;gap:6px;margin-top:14px;font-size:12.5px;display:inline-flex}.explore-h2{margin-bottom:14px;font-size:15px;font-weight:660}.explore-cats{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.explore-cats button{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--text);transition:all .18s var(--ease);align-items:center;gap:12px;padding:15px 16px;font-size:13.5px;font-weight:560;display:flex}.explore-cats button svg:first-child{color:var(--text);flex-shrink:0}.explore-cats button span{flex:1;min-width:0;line-height:1.25}.explore-cats .explore-go{color:var(--text-faint);opacity:0;transition:opacity .18s var(--ease), transform .18s var(--ease)}.explore-cats button:hover{border-color:var(--border-strong);background:var(--card-hover);transform:translateY(-2px)}.explore-cats button:hover .explore-go{opacity:1;transform:translate(3px)}.savedgrid{gap:9px;max-width:620px;display:grid}.savedrow{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--text);transition:all .16s var(--ease);align-items:center;gap:13px;padding:13px 15px;display:flex}.savedrow:hover{border-color:var(--border-strong);background:var(--card-hover)}.savedrow-ico{background:var(--card-hover);width:38px;height:38px;color:var(--text);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.savedrow-txt{flex-direction:column;flex:1;min-width:0;display:flex}.savedrow-txt b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:620;overflow:hidden}.savedrow-txt small{color:var(--text-faint);font-size:12px}.sheet-scrim{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease);background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.sheet{background:var(--bg-soft);border:1px solid var(--border);width:min(520px,100%);max-height:min(86dvh,760px);box-shadow:var(--shadow-2);animation:sheet-in .24s var(--ease);border-radius:22px;flex-direction:column;display:flex}.sheet.wide{width:min(760px,100%)}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.sheet-head{border-bottom:1px solid var(--border);justify-content:center;align-items:center;padding:16px 52px 12px;display:flex;position:relative}.sheet-head h2{font-size:15px;font-weight:680}.sheet-grip{display:none}.sheet-x{width:34px;height:34px;color:var(--text-soft);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.sheet-x:hover{background:var(--card-hover);color:var(--text)}.sheet-body{-webkit-overflow-scrolling:touch;flex:1;padding:16px 18px 20px;overflow-y:auto}.sheet-foot{border-top:1px solid var(--border);padding:12px 18px;padding-bottom:max(12px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:10px;display:flex}.fgroup{padding-bottom:20px}.fgroup+.fgroup{border-top:1px solid var(--border);padding-top:18px}.fgroup h3{margin-bottom:10px;font-size:13.5px;font-weight:660}.fhint{color:var(--text-faint);margin:-6px 0 10px;font-size:12px}.fchips{flex-wrap:wrap;gap:8px;display:flex}.fchip{border:1px solid var(--border-strong);color:var(--text-soft);background:var(--card);transition:all .16s var(--ease);border-radius:999px;padding:9px 15px;font-size:13px}.fchip:hover:not(:disabled){color:var(--text);background:var(--card-hover)}.fchip.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:620}.fchip:disabled{opacity:.4;cursor:not-allowed}.ftoggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:13.5px;display:flex}.ftoggle+.ftoggle{border-top:1px solid var(--border)}.ftoggle span{color:var(--text);align-items:center;gap:10px;display:inline-flex}.ftoggle span svg{color:var(--text-faint)}.ftoggle input{width:20px;height:20px;accent-color:var(--text);cursor:pointer}.picker{flex-direction:column;gap:10px;display:flex}.picker-mine{border:1px solid var(--border-strong);width:100%;color:var(--text);background:var(--card);transition:all .16s var(--ease);border-radius:13px;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;font-weight:580;display:flex}.picker-mine:hover:not(:disabled){border-color:var(--text);background:var(--card-hover)}.picker-mine svg{color:var(--text)}.picker-now{color:var(--text-soft);margin-left:auto;font-size:11px;font-weight:600}.picker-input{border:1px solid var(--border);background:var(--card);border-radius:13px;align-items:center;gap:9px;padding:11px 13px;display:flex}.picker-input:focus-within{border-color:var(--text)}.picker-input svg{color:var(--text-faint);flex-shrink:0}.picker-input input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.picker-input.big{padding:14px 15px}.picker-input.big input{font-size:15.5px}.picker-x{color:var(--text-faint);place-items:center;display:grid}.picker-x:hover{color:var(--text)}.picker-err{color:var(--text);font-size:12.5px;font-weight:560}.picker-list{flex-direction:column;display:flex}.picker-list button{text-align:left;color:var(--text-soft);transition:background .14s var(--ease), color .14s var(--ease);border-radius:11px;align-items:center;gap:10px;padding:11px 12px;font-size:13.5px;display:flex}.picker-list button:hover{background:var(--card-hover);color:var(--text)}.picker-list button svg{color:var(--text-faint);flex-shrink:0}.picker-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-empty{color:var(--text-faint);padding:8px 2px;font-size:12.5px}.picker-clear{color:var(--text-faint);align-items:center;gap:8px;padding:6px 2px;font-size:12.5px;display:inline-flex}.picker-clear:hover{color:var(--text)}.recents{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.recent{border:1px solid var(--border);color:var(--text-soft);background:var(--card);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;display:inline-flex}.recent:hover{color:var(--text);border-color:var(--border-strong)}.recent.ghost{color:var(--text-faint);border-style:dashed}.quickcats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.quickcats button{text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text-soft);transition:all .16s var(--ease);border-radius:12px;align-items:center;gap:9px;padding:11px 13px;font-size:13px;display:flex}.quickcats button:hover{color:var(--text);border-color:var(--border-strong);background:var(--card-hover)}.quickcats button svg{color:var(--text);flex-shrink:0}.fabmap{z-index:60;left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:var(--bg);background:var(--text);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:13.5px;font-weight:640;display:none;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px -8px #0009}.fabmap:active{transform:translate(-50%)scale(.97)}.pfoot{border-top:1px solid var(--border);margin-top:auto}.pfoot-in{width:100%;max-width:1320px;color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;padding:20px clamp(14px,3.4vw,30px);font-size:12.5px;display:flex}.pfoot-links{gap:16px;margin-left:auto;display:flex}.pfoot-links a:hover{color:var(--text)}@media (width<=900px){.portal.with-map .pmain{display:block}.pmap{z-index:45;bottom:0;left:0;right:0;top:var(--maptop,150px);height:calc(100dvh - var(--maptop,150px));border:0;border-top:1px solid var(--border);border-radius:0;position:fixed}.portal.with-map .plist,.portal.with-map .pfoot{display:none}.portal.with-map .pbar{z-index:46;background:var(--bg);padding-bottom:12px;position:relative}}@media (width<=860px){.dsearch{display:none}.msearch{display:flex}.navlink.cta{display:none}.ptop-in{gap:10px;padding:9px clamp(12px,3.4vw,20px)}.brand-logo{height:27px}.fabmap{display:inline-flex}.chipbtn.only-desk{display:none}.pgrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px 12px}.pmain{padding-bottom:92px}.pbar{padding-top:14px}.pbar-title{width:100%;font-size:16px}.pbar-acts{width:100%;margin-left:0}.explore-cats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sheet-scrim{align-items:end;padding:0}.sheet{width:100%;max-width:none;max-height:92dvh;animation:sheet-up .26s var(--ease);border-bottom:0;border-radius:22px 22px 0 0}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-grip{background:var(--border-strong);border-radius:999px;width:38px;height:4px;display:block;position:absolute;top:7px;left:50%;transform:translate(-50%)}.sheet-head{padding-top:20px}}@media (width<=420px){.pgrid{grid-template-columns:1fr 1fr;gap:16px 10px}.pact{padding:6px 9px}.pact span,.pact-txt{display:none}.pcard-mono{font-size:28px}}.scrim{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .22s var(--ease);background:#0000008c;position:fixed;inset:0}.scrim.open{opacity:1}.drawer{z-index:95;background:var(--bg-soft);border-left:1px solid var(--border);width:min(460px,100vw);transition:transform .26s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(103%);box-shadow:-24px 0 60px #0009}.drawer.open{transform:translate(0)}.drawer-cover{background:linear-gradient(135deg,#3c83f64d,#7743ef24 55%,#0000);height:148px;margin:0 -22px;position:relative;overflow:hidden}.drawer-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.drawer-cover:after{content:"";background:linear-gradient(180deg, transparent 30%, var(--bg-soft));position:absolute;inset:0}.cover-mark{letter-spacing:.06em;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#77a8f938,#9972f31a);color:#0000;-webkit-background-clip:text;background-clip:text;place-items:center;font-size:78px;font-weight:800;display:grid;position:absolute;inset:0 0 14px}.drawer-close{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);width:34px;height:34px;color:var(--text-soft);transition:all .18s var(--ease);background:#0a0a0ab3;border-radius:11px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.drawer-close:hover{color:var(--text);transform:rotate(90deg)}.drawer-body{flex:1;padding:0 22px 30px;overflow-y:auto}.drawer-id{z-index:2;align-items:flex-end;gap:13px;margin-top:-52px;display:flex;position:relative}.drawer-logo{background:var(--card);border:1px solid var(--border-strong);width:68px;height:68px;box-shadow:var(--shadow-2);color:var(--primary-strong);border-radius:20px;flex-shrink:0;place-items:center;font-size:22px;font-weight:760;display:grid;overflow:hidden}.drawer-logo img{object-fit:cover;width:100%;height:100%}.drawer-id h2{letter-spacing:-.02em;text-shadow:0 1px 10px #0a0a0a99;align-items:center;gap:7px;font-size:19px;font-weight:730;display:flex}.drawer-sub{color:var(--text-soft);align-items:center;gap:8px;margin-top:5px;font-size:12.5px;display:flex}.actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.act{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);transition:all .18s var(--ease);align-items:center;gap:7px;padding:9px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.act:hover{border-color:var(--border-strong);background:var(--card-hover);transform:translateY(-1px)}.act svg{width:14px;height:14px}.act.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.act.primary:hover{opacity:.88}.act.wa{color:var(--text)}.sect{margin-top:24px}.sect>h4{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:740}.addr{color:var(--text-soft);gap:8px;margin-top:14px;font-size:13px;display:flex}.addr svg{width:14px;height:14px;color:var(--text-faint);flex-shrink:0;margin-top:2px}.desc{color:#d6d6d6;margin-top:14px;font-size:14px}.tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag{color:var(--text-soft);background:#2929298c;border-radius:999px;padding:4px 10px;font-size:11px}.gallery{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.gallery img{cursor:zoom-in;height:84px;transition:transform .2s var(--ease);border-radius:10px;flex-shrink:0}.gallery img:hover{transform:scale(1.04)}.prod{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.prod+.prod{margin-top:8px}.prod-name{font-size:13.5px;font-weight:590}.prod-desc{color:var(--text-faint);font-size:11.5px}.prod-price{color:var(--text);white-space:nowrap;font-size:13px;font-weight:700}.review{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);padding:11px 13px}.review+.review{margin-top:8px}.review-head{justify-content:space-between;align-items:center;display:flex}.review-head b{font-size:12.5px;font-weight:650}.review p{color:var(--text-soft);margin-top:5px;font-size:13px}.review-reply{color:var(--text-faint);border-left:2px solid #3c83f666;margin-top:8px;padding-left:10px;font-size:12px}.review-reply b{color:var(--text-soft)}.wform{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-sm);margin-top:10px;padding:12px 13px}.wform .pick{gap:3px;margin-bottom:9px;display:flex}.wform .pick svg{cursor:pointer;color:#4d4d4d;width:21px;height:21px;transition:all .15s var(--ease)}.wform .pick svg:hover{transform:scale(1.15)}.wform .pick svg.on{color:var(--text);fill:var(--text)}.wform-row{align-items:flex-end;gap:8px;display:flex}.wform textarea{resize:none;background:var(--bg);border:1px solid var(--border);transition:border-color .18s var(--ease);border-radius:9px;outline:0;flex:1;padding:8px 11px;font-size:13px}.wform textarea:focus{border-color:var(--text)}.wsend{background:var(--text);width:36px;height:36px;color:var(--bg);transition:all .15s var(--ease);border-radius:10px;place-items:center;display:grid}.wsend:disabled{opacity:.35;cursor:default}.wsend:not(:disabled):hover{opacity:.88}.whint{color:var(--text-faint);margin-top:7px;font-size:11.5px}.whint button,.linkbtn{color:var(--text);text-underline-offset:3px;font-weight:620;text-decoration:underline}.linkbtn:hover{text-decoration:underline}.modal-scrim{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadein .18s var(--ease);background:#0009;place-items:center;display:grid;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.modal{background:var(--bg-soft);border:1px solid var(--border-strong);width:min(360px,100vw - 32px);box-shadow:var(--shadow-2);animation:pop .22s var(--ease);border-radius:20px;padding:24px}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(8px)}}.modal h3{letter-spacing:-.02em;font-size:17px;font-weight:720}.modal p{color:var(--text-soft);margin-top:4px;font-size:12.5px}.modal label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:14px 0 5px;font-size:11px;font-weight:700;display:block}.modal input{background:var(--bg);border:1px solid var(--border);width:100%;transition:border-color .18s var(--ease);border-radius:10px;outline:0;padding:10px 12px;font-size:14px}.modal input:focus{border-color:var(--text)}.modal .go{background:var(--text);width:100%;color:var(--bg);transition:opacity .18s var(--ease);border-radius:11px;margin-top:18px;padding:11px;font-weight:650}.modal .go:hover{opacity:.88}.modal .err{color:var(--text);margin-top:9px;font-size:12px;font-weight:560}.mapshell{position:fixed;inset:0}.mapshell>div{width:100%;height:100%}.maplibregl-map{font-family:var(--font)}.map-ui{z-index:30;pointer-events:none;align-items:flex-start;gap:10px;display:flex;position:fixed;top:76px;left:16px;right:16px}.map-panel{pointer-events:auto;-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);border:1px solid var(--border-strong);width:min(370px,100vw - 32px);max-height:calc(100dvh - 144px);box-shadow:var(--shadow-2);animation:rise .4s var(--ease);background:#121212e0;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.map-search{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.map-search svg{color:var(--text-faint);flex-shrink:0}.map-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.topbar .brand,.topbar .topnav{flex-shrink:0}.topbar .brand-logo{height:26px}.topsearch.map-search{border-bottom:0;border:1px solid var(--border-strong);background:var(--card);min-width:0;max-width:560px;height:42px;box-shadow:var(--shadow-1);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;flex:1;margin:0 auto;padding:0 6px 0 14px}.topsearch.map-search:focus-within{border-color:var(--text);box-shadow:var(--shadow-2)}.navlink-logo{filter:invert();opacity:.85;width:auto;height:15px;display:block}[data-theme=light] .navlink-logo{filter:none}.navlink:hover .navlink-logo{opacity:1}@media (width<=640px){.topsearch.map-search{max-width:none;height:40px;padding-left:11px}.topbar-in{gap:8px}.topbar-in .navlink{padding:7px 8px}.topbar-in button.navlink{display:none}.topbar .brand-logo{height:20px}}.map-list{scrollbar-width:thin;padding:6px 8px 8px;overflow-y:auto}.panel-search{padding:10px 12px}.panel-search input{font-size:13.5px}.mrow{text-align:left;width:100%;transition:background .16s var(--ease), border-color .16s var(--ease);border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:10px;display:flex}.mrow:hover{background:var(--card-hover)}.mrow.sel{background:var(--card-hover);border-color:var(--border-strong)}.mrow-ico{background:var(--card-hover);width:38px;height:38px;color:var(--text-soft);border:1px solid var(--border);transition:background .16s var(--ease), color .16s var(--ease);border-radius:12px;flex-shrink:0;place-items:center;font-size:12px;font-weight:720;display:grid}.mrow:hover .mrow-ico,.mrow.sel .mrow-ico{background:var(--text);color:var(--bg);border-color:var(--text)}.mrow-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.mrow-name{align-items:center;gap:5px;min-width:0;font-size:13.5px;font-weight:640;display:flex}.mrow-name .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mrow-meta{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.mrow-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.mrow-rate{align-items:center;gap:3px;font-size:12px;font-weight:640;display:inline-flex}.mrow-rate svg{color:var(--text);fill:var(--text)}.mrow-dist{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.mrow.addr .mrow-meta{color:var(--text-soft)}.map-list-empty{color:var(--text-faint);padding:18px 12px;font-size:13px}.map-count{color:var(--text-faint);border-top:1px solid var(--border);padding:8px 14px 11px;font-size:11px}.seals{flex-direction:column;gap:7px;margin:12px 0 2px;display:flex}.seal{background:#2fbc7a14;border:1px solid #2fbc7a38;border-radius:12px;flex-direction:column;gap:5px;padding:9px 11px;display:flex}.seal-head{color:var(--text);align-items:center;gap:6px;font-size:12.5px;display:flex}.seal-head svg{color:var(--green);flex-shrink:0}.seal-head b{font-weight:650}.seal-auth{color:var(--text-faint);font-size:11.5px}.seal-attrs{flex-wrap:wrap;gap:5px;display:flex}.seal-attrs span{color:var(--text-soft);border:1px solid var(--border);background:#ffffff0d;border-radius:999px;padding:2px 9px;font-size:11px}.geonote{color:var(--text-faint);align-items:flex-start;gap:6px;margin-top:6px;font-size:11.5px;line-height:1.45;display:flex}.geonote svg{flex-shrink:0;margin-top:1px}.map-showall{color:var(--text-faint);margin-left:8px;font-size:10.5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.map-showall.on{color:var(--primary-strong)}.pin{cursor:pointer;transform-origin:bottom;width:26px;height:26px;transition:transform .18s var(--ease);filter:drop-shadow(0 4px 8px #0009)}.pin-cat{width:30px;height:30px}.mrow .avatar.cat{justify-content:center;align-items:center;display:inline-flex}.pin:hover{transform:scale(1.18)}.pin.sel{transform:scale(1.3)}.pin.sel .pin-dot{animation:pulse 1.6s var(--ease) infinite}.maplibregl-map .maplibregl-user-location-dot{box-shadow:0 0 0 7px #3c83f62e,0 0 0 14px #3c83f612}.cluster{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid var(--primary);color:var(--text);letter-spacing:-.01em;transition:transform .15s var(--ease), box-shadow .15s var(--ease);background:#121212e6;border-radius:50%;place-items:center;font-size:12.5px;font-weight:720;display:grid;box-shadow:0 4px 16px #00000080,0 0 0 5px #3c83f624}.cluster:hover{transform:scale(1.12);box-shadow:0 6px 22px #0009,0 0 0 8px #3c83f633}.cluster.venue{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 13px;font-size:12px;font-weight:650;display:flex}.cluster.venue .v-name{text-overflow:ellipsis;max-width:160px;overflow:hidden}.cluster.venue .v-count{background:var(--primary);color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:720}.spider-legs{pointer-events:none}.spider-legs svg line{stroke:#3c83f661;stroke-width:1.5px}.pin.spider{animation:spider-pop .24s var(--ease) backwards}@keyframes spider-pop{0%{opacity:0;transform:scale(.2)}}.spidered .pin:not(.spider),.spidered .cluster{opacity:.18;filter:saturate(.4);pointer-events:none;transition:opacity .2s var(--ease)}.spidered .pin:not(.spider) .pin-name{opacity:0!important}.spidered .pin.spider .pin-name{opacity:1}.pin-name{color:var(--text);text-shadow:0 1px 3px #000,0 0 7px #000;white-space:nowrap;text-overflow:ellipsis;opacity:0;max-width:132px;transition:opacity .2s var(--ease);pointer-events:none;margin-top:1px;font-size:11px;font-weight:640;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.show-labels .pin .pin-name,.pin.focus .pin-name,.pin.hover .pin-name,.pin:hover .pin-name{opacity:1}.pin.hover{z-index:4;transform:scale(1.25)}.pin.focus{z-index:5;filter:drop-shadow(0 6px 16px #3c83f68c);position:relative;transform:scale(1.32)}.pin.focus:after{content:"";width:30px;height:12px;animation:focus-halo 1.8s var(--ease) infinite;pointer-events:none;background:#3c83f666;border-radius:50%;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}@keyframes focus-halo{0%{opacity:.95;transform:translate(-50%)scale(.55)}75%{opacity:0;transform:translate(-50%)scale(1.7)}to{opacity:0;transform:translate(-50%)scale(1.7)}}@keyframes pulse{0%{box-shadow:0 0 #3c83f680}70%{box-shadow:0 0 0 12px #0000}to{box-shadow:0 0 #0000}}.maplibregl-popup .maplibregl-popup-content{font-family:var(--font);background:var(--bg-soft);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);border-radius:14px;padding:12px 14px}.maplibregl-popup .maplibregl-popup-tip{border-top-color:var(--bg-soft)!important;border-bottom-color:var(--bg-soft)!important}.maplibregl-popup .maplibregl-popup-close-button{color:var(--text-faint);font-size:16px;top:4px;right:6px}.popup-name{font-size:13.5px;font-weight:680;display:block}.popup-meta{color:var(--text-soft);margin-top:2px;font-size:11.5px}.popup-link{color:var(--primary-strong);cursor:pointer;margin-top:7px;font-size:12px;font-weight:640;display:inline-block}.map-booting{z-index:20;background:var(--bg);color:var(--text-soft);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex;position:fixed;inset:0}.map-booting-dot{background:var(--primary);width:10px;height:10px;animation:pulse 1.4s var(--ease) infinite;border-radius:50%}.ctx{gap:4px;min-width:224px;margin:-4px -6px;display:grid}.ctx-coords{letter-spacing:.01em;color:var(--primary-strong);text-align:left;cursor:pointer;transition:background .15s var(--ease);border-radius:9px;padding:7px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;font-weight:600}.ctx-coords:hover{background:var(--primary-soft)}.ctx-coords.done{color:var(--green)}.ctx-menu{border-top:1px solid var(--border);padding-top:4px;display:grid}.ctx-menu button,.ctx-menu a{text-align:left;color:var(--text-soft);cursor:pointer;transition:background .13s var(--ease), color .13s var(--ease);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:12.5px;display:flex}.ctx-menu button:hover:not(:disabled),.ctx-menu a:hover{background:var(--card-hover);color:var(--text)}.ctx-menu button.done{color:var(--green)}.ctx-menu .soon{cursor:default;color:var(--text-faint)}.ctx-menu .soon span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:9.5px;font-weight:650}.toggle-panel{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);width:40px;height:40px;color:var(--text-soft);transition:all .18s var(--ease);background:#121212e0;border-radius:13px;place-items:center;margin-left:auto;display:grid}.toggle-panel:hover{color:var(--text)}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);padding:26px 0 40px;font-size:12.5px}.footer a{color:var(--text-soft)}.footer a:hover{color:var(--primary-strong)}@media (width<=640px){.map-panel{width:calc(100vw - 32px);max-height:46dvh}.drawer{width:100vw}}.route-panel{pointer-events:auto;border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in oklab, var(--bg-soft) 92%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);width:min(360px,100vw - 32px);box-shadow:var(--shadow-2);flex-direction:column;display:flex;overflow:hidden}.route-head{justify-content:space-between;align-items:center;padding:10px 10px 0;display:flex}.route-modes{gap:4px;display:flex}.route-modes button{width:38px;height:34px;color:var(--text-faint);transition:all .15s var(--ease);border-radius:10px;place-items:center;display:grid}.route-modes button:hover{color:var(--text);background:var(--card)}.route-modes button.on{color:var(--bg);background:var(--text)}.route-x{width:32px;height:32px;color:var(--text-soft);border-radius:50%;place-items:center;display:grid}.route-x:hover{background:var(--card-hover);color:var(--text)}.route-ends{align-items:center;gap:8px;padding:10px 12px 4px;display:flex}.route-fields{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.rend{border:1px solid var(--border);background:var(--card);border-radius:11px;align-items:center;gap:8px;padding:9px 10px;display:flex;position:relative}.rend:focus-within{border-color:var(--text)}.rend-dot{color:#fff;background:#2474f5;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:10.5px;font-weight:800;display:grid}.rend-dot.b{background:#1f1f1f}[data-theme=dark] .rend-dot.b{color:#1a1a1a;background:#ebebeb}.rend input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:13px}.rend-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.rend-x{color:var(--text-faint);flex-shrink:0;place-items:center;display:grid}.rend-x:hover{color:var(--text)}.rend-pop{z-index:20;background:var(--bg-soft);border:1px solid var(--border);box-shadow:var(--shadow-2);border-radius:11px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.rend-pop button{text-align:left;width:100%;color:var(--text-soft);align-items:center;gap:8px;padding:9px 11px;font-size:12.5px;display:flex}.rend-pop button:hover{background:var(--card-hover);color:var(--text)}.rend-pop button svg{color:var(--text-faint);flex-shrink:0}.rend-pop button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-swap{width:34px;height:34px;color:var(--text-soft);border:1px solid var(--border);background:var(--card);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.route-swap:hover{color:var(--text);background:var(--card-hover)}.route-hint{color:var(--text-faint);padding:4px 14px 8px;font-size:11px}.route-summary{border-top:1px solid var(--border);align-items:baseline;gap:10px;padding:10px 14px;display:flex}.route-summary b{font-size:17px;font-weight:720}.route-summary span{color:var(--text-soft);font-size:13px}.route-summary.busy{color:var(--text-faint);align-items:center;font-size:13px}.route-steps-toggle{color:var(--text-soft);align-items:center;gap:4px;margin-left:auto;font-size:12px;display:inline-flex}.route-steps-toggle:hover{color:var(--text)}.route-error{border-top:1px solid var(--border);color:var(--text);padding:10px 14px;font-size:12.5px}.route-steps{border-top:1px solid var(--border);max-height:38dvh;list-style:none;overflow-y:auto}.route-steps li{border-bottom:1px solid color-mix(in oklab, var(--border) 50%, transparent);gap:10px;padding:8px 14px;display:flex}.route-steps li:last-child{border-bottom:0}.route-steps i{background:var(--card-hover);width:20px;height:20px;color:var(--text-soft);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;font-size:10px;font-style:normal;font-weight:700;display:grid}.route-steps span{min-width:0;font-size:12.5px}.route-steps small{color:var(--text-faint);font-size:11px;display:block}.route-end{color:#fff;background:#2474f5;border:2.5px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:grid;box-shadow:0 2px 8px #00000059}.route-end-b{background:#1f1f1f}.map-route-btn{width:32px;height:32px;color:var(--text-soft);transition:all .15s var(--ease);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.map-route-btn:hover{color:var(--bg);background:var(--text)}.popup-links{gap:12px;display:flex}[data-theme=light] .map-panel,[data-theme=light] .toggle-panel{background:#ffffffdb}[data-theme=light] .cluster{background:#ffffffed;box-shadow:0 4px 16px #0000002e,0 0 0 5px #3c83f61f}[data-theme=light] .pin-name{color:#141414;text-shadow:0 1px 3px #fff,0 0 7px #fff,0 0 2px #fff}[data-theme=light] .drawer-close{background:#fffc}[data-theme=light] .drawer-id h2{text-shadow:none}[data-theme=light] .desc{color:#404040}[data-theme=light] .tag{background:#00000012}[data-theme=light] .star-off,[data-theme=light] .wform .pick svg{color:#bdbdbd}[data-theme=light] .searchbar{background:#ffffffe6}[data-theme=light] .nearchip{background:#ffffffbf}[data-theme=light] .hero h1{background:linear-gradient(180deg, var(--text), #595959);-webkit-background-clip:text;background-clip:text}[data-theme=light] .skel:after{background:linear-gradient(100deg,#0000 30%,#00000012 50%,#0000 70%)}[data-theme=light] .mesh{background:radial-gradient(52rem 30rem at 12% -6%, #3c83f612, transparent 60%), radial-gradient(50rem 34rem at 55% 112%, #2474f50d, transparent 60%), var(--bg)}[data-theme=light] .maplibregl-ctrl-group{background:#ffffffe6}.active-filter{padding:8px 10px 0}.active-filter button{color:var(--text);border:1px solid var(--border-strong);background:var(--card);cursor:pointer;transition:border-color .15s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:620;display:inline-flex}.active-filter button:hover{border-color:var(--danger)}.active-filter .x{color:var(--text-faint);font-size:14px;line-height:1}.active-filter button:hover .x{color:var(--danger)}.me-dot{background:#3b82f6;border:2.5px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 6px #3c83f640,0 2px 6px #0006}.embed-pop{font:500 13px/1.4 Inter Variable,system-ui,sans-serif}.embed-pop a{color:#3b82f6;border-radius:4px;text-decoration:none}.embed-pop a:focus{outline:none}.embed-pop a:focus-visible{outline:2px solid var(--bg-soft);outline-offset:2px}.live-head{z-index:5;background:color-mix(in srgb, var(--card) 92%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;max-width:460px;padding:10px 14px;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 6px 24px #00000040}.live-title{color:var(--text);font-size:15px;font-weight:700}.live-sub{color:var(--text-faint);margin-top:2px;font-size:12px}.live-legend{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.live-legend span{color:var(--text-faint);align-items:center;gap:5px;font-size:11px;display:inline-flex}.live-legend i{border-radius:2px;width:14px;height:4px;display:inline-block}.live-follow{z-index:5;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.embed-pop-sub{color:var(--text-faint);font-size:11.5px}
