:root{--color-canvas:#f9f9fb;--color-surface:#ffffff;--color-ink:#1c2024;--color-ink-muted:#6f6f77;--color-ink-subtle:#8b8d98;--color-ink-faint:#b9bbc6;--color-ink-disabled:#c8c9d2;--color-border-hairline:#f0f0f3;--color-border:#e2e2e4;--gradient-primary:linear-gradient(180deg,#003cff,#0638cd);--color-primary:#003cff;--color-primary-hover:#0638cd;--gradient-ink:linear-gradient(180deg,#2c2c2c,#141414);--gradient-ink-hover:linear-gradient(180deg,#3d3d3d,#202020);--gradient-magenta:linear-gradient(180deg,#ff00ff,#dd00d8);--color-star:#f0cd86;--color-star-empty:#e2e2e4;--color-cream:#fff8eb;--color-cream-border:#f0cd86;--color-cream-ink:#6b5311;--color-open-bg:#eaf9f1;--color-open-fg:#146b47;--color-open-dot:#1b9a63;--color-closed-bg:#f3f3f3;--color-closed-fg:#6f6f77;--color-closed-dot:#b9bbc6;--color-chip-selected-bg:#e5edff;--color-chip-selected-border:#c9d9ff;--color-chip-selected-fg:#0638cd;--color-error:#e11d48;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-pill:999px;--shadow-card:0 1px 1px 0 rgba(44,54,53,0.025),inset 0 0 0 2px var(--color-surface);--shadow-card-md:0 1px 2px 0 rgba(2,6,23,0.06);--shadow-card-lg:0 1px 2px 0 rgba(2,6,23,0.08);--shadow-pin:0 1px 2px 0 rgba(2,6,23,0.16);--shadow-segment:0 1px 1px 0 rgba(44,54,53,0.06),inset 0 0 0 1px var(--color-border);--ease-standard:cubic-bezier(0.2,0.7,0.2,1);--max-width:1120px;--max-width-wide:1280px}:root[data-theme=dark]{--color-canvas:#0e0f13;--color-surface:#181a20;--color-ink:#eceef1;--color-ink-muted:#9a9ca3;--color-ink-subtle:#7d8087;--color-ink-faint:#565a63;--color-ink-disabled:#44474e;--color-border-hairline:#24262c;--color-border:#33353c;--gradient-primary:linear-gradient(180deg,#2f5bff,#1a3fc4);--color-primary:#5b8dff;--color-primary-hover:#7ba3ff;--gradient-ink:linear-gradient(180deg,#46484c,#2b2d30);--gradient-ink-hover:linear-gradient(180deg,#58595d,#37393c);--gradient-magenta:linear-gradient(180deg,#ff33ff,#e619e0);--color-star:#f0cd86;--color-star-empty:#3a3d44;--color-cream:#2a2416;--color-cream-border:#a3812f;--color-cream-ink:#f0cd86;--color-open-bg:#12261c;--color-open-fg:#5fd996;--color-open-dot:#34c483;--color-closed-bg:#2a2c31;--color-closed-fg:#9a9ca3;--color-closed-dot:#5a5d66;--color-chip-selected-bg:#152a52;--color-chip-selected-border:#2d4a8a;--color-chip-selected-fg:#7ba3ff;--color-error:#ff5c7a}*{box-sizing:border-box}body,html{padding:0;margin:0;overflow-x:hidden}body{font-family:var(--font-archivo),system-ui,sans-serif;color:var(--color-ink);background:var(--color-canvas);line-height:1.5;letter-spacing:-.01em}.font-num{font-family:var(--font-inter-tight),system-ui,sans-serif}.font-meta{font-family:var(--font-figtree),system-ui,sans-serif}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--gradient-ink);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:100;font-weight:700}.skip-link:focus{left:0}.skip-link:hover{background:var(--gradient-ink-hover);color:#fff}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(16px,4vw,40px);box-sizing:border-box}.container-wide{max-width:var(--max-width-wide)}.site-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:64px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.site-topbar .container{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding-top:10px;padding-bottom:10px}@media (min-width:960px){.site-topbar .container{flex-wrap:nowrap}}.topbar-menu-btn{display:none;flex:none;width:36px;height:36px;align-items:center;justify-content:center;margin-left:auto;border:none;border-radius:8px;background:none;color:var(--color-ink);cursor:pointer}.topbar-menu-btn:hover{background:var(--color-border-hairline)}.topbar-logo{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:700;white-space:nowrap;color:var(--color-ink)}.topbar-logo-tile{width:32px;height:32px;flex:none;border-radius:8px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.topbar-right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;flex-shrink:0;gap:6px}.nav-link{height:36px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;font-size:15px;font-weight:500;color:var(--color-ink-muted)}.nav-link-active,.nav-link:hover{background:var(--color-border-hairline);color:var(--color-ink)}.topbar-divider{width:1px;height:24px;background:var(--color-border);margin:0 4px}@media (max-width:767px){.topbar-menu-btn{display:flex}.topbar-right{display:none}.mobile-nav-overlay{position:fixed;top:64px;left:0;right:0;bottom:0;z-index:25;background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden}.mobile-nav-scroll{flex:1 1;overflow-y:auto;padding:16px 20px 8px;display:flex;flex-direction:column;gap:4px}.mobile-nav-profile-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-canvas);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);text-decoration:none;color:inherit;margin-bottom:20px}.mobile-nav-avatar{width:44px;height:44px;font-size:15px}.mobile-nav-profile-text{flex:1 1;min-width:0}.mobile-nav-profile-name{display:block;font-size:15px;font-weight:600;color:var(--color-ink)}.mobile-nav-profile-hint{display:block;font-size:13px;color:var(--color-ink-muted);margin-top:2px}.mobile-nav-chevron{flex:none;color:var(--color-ink-faint)}.mobile-nav-section-label{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--color-ink-subtle);text-transform:uppercase;padding:0 4px;margin-bottom:2px}.mobile-nav-row{display:flex;align-items:center;gap:12px;height:52px;padding:0 4px;flex:none;text-decoration:none;color:inherit}.mobile-nav-row-label{flex:1 1;font-size:15px;font-weight:500}.mobile-nav-row-icon{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex:none}.mobile-nav-row-icon-blue{background:var(--color-chip-selected-bg);color:var(--color-chip-selected-fg)}.mobile-nav-row-icon-magenta{background:#fdeef2;color:#dd00d8}.mobile-nav-row-icon-green{background:var(--color-open-bg);color:var(--color-open-fg)}.mobile-nav-row-badge{position:static;box-shadow:none}.mobile-nav-divider{height:1px;background:var(--color-border-hairline);margin:14px 4px;flex:none}.mobile-nav-footer{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--color-border-hairline)}.mobile-nav-footer-lang{display:flex;align-items:center;gap:8px}.mobile-nav-footer-lang .lang-menu{top:auto;bottom:calc(100% + 8px);right:auto;left:0}.mobile-nav-signout{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;font-size:14px;font-weight:600;color:var(--color-error);cursor:pointer}.mobile-nav-login{text-decoration:none}}.account-pill{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;border-radius:var(--radius-pill);border:1px solid var(--color-border-hairline);font-size:15px;font-weight:500;color:var(--color-ink);background:none;cursor:pointer}.account-monogram{width:28px;height:28px;border-radius:999px;background:var(--color-cream);border:1px solid var(--color-cream-border);display:flex;font-size:13px;font-weight:700}.account-monogram,.notification-bell-btn{align-items:center;justify-content:center;flex:none}.notification-bell-btn{position:relative;width:36px;height:36px;display:inline-flex;border-radius:var(--radius-pill);color:var(--color-ink-muted)}.notification-bell-btn:hover{background:var(--color-border-hairline);color:var(--color-ink)}.theme-toggle-btn{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-pill);background:none;color:var(--color-ink-muted);cursor:pointer}.theme-toggle-btn:hover{background:var(--color-border-hairline);color:var(--color-ink)}.notification-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:#dd00d8;color:#fff;font-family:var(--font-inter-tight),sans-serif;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--color-surface)}.account-menu-wrap{position:relative}.account-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-lg);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:30}.account-menu-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--radius-sm);border:none;background:none;width:100%;text-align:left;font-size:15px;font-weight:500;color:var(--color-ink);cursor:pointer}.account-menu-item:hover{background:var(--color-canvas)}.account-menu-divider{height:1px;margin:4px 2px;background:var(--color-border-hairline)}.topbar-login-cta{height:36px;display:inline-flex;align-items:center;padding:0 16px;border-radius:var(--radius-md);background:var(--gradient-ink);color:#fff;font-family:var(--font-inter-tight),sans-serif;font-size:15px;font-weight:500}.topbar-login-cta:hover{background:var(--gradient-ink-hover);color:#fff}.lang-switcher{position:relative}.lang-trigger{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-pill);background:none;font-family:var(--font-inter-tight),sans-serif;font-size:14px;font-weight:600;color:var(--color-ink);cursor:pointer}.lang-trigger-code{letter-spacing:.02em}.lang-flag{flex:none}.lang-flag,.lang-flag-lg{color:var(--color-ink-muted)}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:240px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-lg)}.lang-menu-heading{padding:6px 10px;font-family:var(--font-figtree),sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-subtle)}.lang-menu-item{display:flex;align-items:center;width:100%;gap:10px;padding:8px 10px;border:none;border-radius:var(--radius-md);background:none;text-align:left;cursor:pointer}.lang-menu-item:hover{background:var(--color-canvas)}.lang-menu-text{display:flex;flex-direction:column;flex:1 1;min-width:0}.lang-menu-name{font-size:15px;font-weight:600;color:var(--color-ink)}.lang-menu-region{font-size:13px;color:var(--color-ink-subtle)}.lang-menu-check{flex:none;color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-border);margin-top:auto;background:var(--color-surface)}.footer-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:24px;gap:24px;padding:clamp(24px,4vw,40px) clamp(16px,4vw,40px)}@media (max-width:767px){.footer-main{grid-template-columns:1fr;gap:4px}}.footer-brand{display:flex;flex-direction:column;gap:8px}.footer-brand-desc{font-family:var(--font-figtree),sans-serif;font-size:14px;line-height:1.6;color:var(--color-ink-subtle);max-width:240px}.footer-col-title{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:none;border:none;font-family:inherit;cursor:default;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);margin:0 0 10px}.footer-col-chevron{display:none}.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}@media (max-width:767px){.footer-col-title{cursor:pointer;margin-bottom:0;padding:12px 0}.footer-col-chevron{display:inline-block;flex:none;color:var(--color-ink-faint);transition:transform .15s ease}.footer-col-chevron-open{transform:rotate(180deg)}.footer-col ul{display:none;padding-bottom:12px}.footer-col ul.footer-col-list-open{display:flex}.footer-col{border-bottom:1px solid var(--color-border-hairline)}}.footer-col a{font-size:15px;color:var(--color-ink-muted)}.footer-col a:hover{color:var(--color-ink)}.footer-bottom{border-top:1px solid var(--color-border-hairline);padding:16px clamp(16px,4vw,40px);font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-faint)}.hero-band{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.hero-band .container{padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(36px,6vw,72px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:clamp(28px,5vw,56px);gap:clamp(28px,5vw,56px);align-items:center}.hero-left{display:flex;flex-direction:column;gap:20px;min-width:0;container-type:inline-size}.hero-badge{align-self:flex-start;height:28px;display:flex;align-items:center;gap:7px;padding:0 12px;border-radius:var(--radius-pill);background:var(--color-cream);border:1px solid var(--color-cream-border);font-family:var(--font-figtree),sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em}.hero-badge-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-cream-border)}.hero-title{font-size:clamp(34px,4.4vw,54px);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin:0;text-wrap:pretty}.hero-subhead{font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--color-ink-muted);max-width:460px;margin:0;text-wrap:pretty}.search-bar{display:flex;flex-wrap:wrap;gap:10px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card-md);max-width:580px}.search-field{flex:1.6 1;min-width:150px;display:flex;align-items:center;gap:9px;height:48px;padding:0 14px;border-radius:var(--radius-md);background:var(--color-canvas);color:var(--color-ink-subtle)}.search-field.search-field-secondary{flex:1 1;min-width:175px}.search-field-text{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-field input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-archivo),sans-serif;font-size:16px;letter-spacing:-.01em;color:var(--color-ink)}.search-field input::placeholder{color:var(--color-ink-subtle)}.search-submit{flex:none;height:48px;padding:0 22px;border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font-family:var(--font-inter-tight),sans-serif;font-size:17px;font-weight:500;cursor:pointer}.search-submit:active{transform:translateY(.5px)}@container (max-width: 480px){.search-bar{flex-direction:column}.search-field,.search-submit{width:100%;flex:none}}.hero-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.hero-chips-label{font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle)}.pill-plain{height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-size:14px;font-weight:500;color:var(--color-ink)}.pill-plain:hover{background:var(--color-canvas);color:var(--color-ink)}.hero-right{min-width:0;display:flex;flex-direction:column;gap:12px}.map-teaser-card{border-radius:var(--radius-2xl);border:1px solid var(--color-border-hairline);background:var(--color-surface);box-shadow:var(--shadow-card-lg);overflow:hidden}.map-teaser-canvas{height:clamp(200px,24vw,280px);position:relative}.map-teaser-footer{padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.map-teaser-footer-text{flex:1 1;min-width:160px;display:flex;flex-direction:column;gap:2px}.map-teaser-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.map-teaser-sub{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.btn-dark{flex:none;height:38px;padding:0 16px;border-radius:var(--radius-md);background:var(--gradient-ink);color:#fff;display:inline-flex;align-items:center;font-family:var(--font-inter-tight),sans-serif;font-size:15px;font-weight:500;border:none;cursor:pointer}.btn-dark:hover{background:var(--gradient-ink-hover);color:#fff}.btn-dark-lg{height:42px;font-size:16px;padding:0 18px}.stat-grid{display:flex;gap:12px;flex-wrap:wrap}.stat-card{flex:1 1;min-width:120px;padding:14px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-hairline);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:3px}.stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;font-family:var(--font-inter-tight),sans-serif}.stat-label{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.page-sections{gap:clamp(28px,4vw,44px);padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,48px)}.page-sections,.section-block{display:flex;flex-direction:column}.section-block{gap:14px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-title{font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;margin:0}.section-caption{font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle)}.section-link{font-size:15px;font-weight:500;color:var(--color-primary-hover)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:12px;gap:12px}.cat-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .12s var(--ease-standard);color:var(--color-ink)}.cat-card:hover{border-color:var(--color-chip-selected-border)}.cat-icon-tile{width:40px;height:40px;flex:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.cat-tile-0{background:#fff8eb}.cat-tile-1{background:#e9f8fa}.cat-tile-2{background:#e5edff}.cat-tile-3{background:#eaf9f1}.cat-tile-4{background:#f3eeff}.cat-tile-5{background:#fff0fb}.cat-card-name{font-size:16px;font-weight:600;letter-spacing:-.01em}.cat-card-count{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.area-tile-0{background:linear-gradient(160deg,#fff3de,#ffe9cc)}.area-tile-1{background:linear-gradient(160deg,#e9f8fa,#dbf1f2)}.area-tile-2{background:linear-gradient(160deg,#eaf9f1,#dbf3e6)}.area-tile-3{background:linear-gradient(160deg,#edebff,#e2defb)}.area-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border-hairline);height:112px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;transition:all .12s var(--ease-standard);color:var(--color-ink)}.area-card:hover{border-color:var(--color-ink-disabled)}.area-card-name{font-size:19px;font-weight:700;letter-spacing:-.02em}.area-card-meta{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-muted)}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.activity-card{display:flex;align-items:center;gap:11px;padding:13px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);min-width:0}.activity-avatar{width:34px;height:34px;flex:none;border-radius:var(--radius-pill);background:var(--color-cream);border:1px solid var(--color-cream-border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.activity-text{font-size:14px;line-height:1.45;letter-spacing:-.01em;text-wrap:pretty}.activity-time{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,320px));grid-gap:14px;gap:14px}.contributed-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.contributed-list{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);overflow:hidden;margin-top:10px}.contributed-row{display:flex;align-items:center;gap:12px;padding:12px;color:inherit;text-decoration:none;border-bottom:1px solid var(--color-border-hairline)}.contributed-row:last-child{border-bottom:none}.contributed-row-thumb{width:52px;height:52px;flex:none;border-radius:var(--radius-md);overflow:hidden}.contributed-row-thumb img{width:100%;height:100%;object-fit:cover}.contributed-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.contributed-row-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contributed-row-meta{font-size:13px;color:var(--color-ink-subtle);display:flex;align-items:center;gap:4px}.contributed-show-more-btn{margin-top:10px;border:none;background:none;padding:0;font-size:14px;font-weight:600;color:var(--color-primary);cursor:pointer}.leaderboard-list{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);overflow:hidden;margin-top:10px}.leaderboard-row{display:flex;align-items:center;gap:12px;padding:12px;color:inherit;text-decoration:none;border-bottom:1px solid var(--color-border-hairline)}.leaderboard-row:last-child{border-bottom:none}.leaderboard-rank{width:24px;flex:none;text-align:center;font-weight:700;font-size:15px;color:var(--color-ink-subtle)}.leaderboard-avatar{width:40px;height:40px;flex:none;border-radius:var(--radius-pill);background:var(--color-cream);border:1px solid var(--color-cream-border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;overflow:hidden}.leaderboard-avatar img{width:100%;height:100%;object-fit:cover}.leaderboard-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.leaderboard-name{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-meta,.leaderboard-points{font-size:13px;color:var(--color-ink-subtle)}.leaderboard-meta{display:flex;align-items:center;gap:4px}.leaderboard-comment{display:block;font-size:13px;color:var(--color-ink-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-row{display:flex;flex-direction:column;gap:10px;padding:12px;border-bottom:1px solid var(--color-border-hairline)}.feed-row:last-child{border-bottom:none}.feed-row-header{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.stars{gap:2px;vertical-align:middle}.open-badge,.stars{display:inline-flex}.open-badge{height:22px;align-items:center;gap:6px;padding:0 8px;border-radius:6px;font-family:var(--font-figtree),sans-serif;font-size:12px;font-weight:600;white-space:nowrap}.open-badge-dot{width:5px;height:5px;border-radius:var(--radius-pill)}.open-badge-open{background:var(--color-open-bg);color:var(--color-open-fg)}.open-badge-open .open-badge-dot{background:var(--color-open-dot)}.open-badge-closed{background:var(--color-closed-bg);color:var(--color-closed-fg)}.open-badge-closed .open-badge-dot{background:var(--color-closed-dot)}.place-tile{background:linear-gradient(160deg,#fff3de,#f0cd86)}.place-tile-1{background:linear-gradient(160deg,#dbf1f2,#9fe7ef)}.place-tile-2{background:linear-gradient(160deg,#eaf9f1,#c6f3dc)}.place-tile-3{background:linear-gradient(160deg,#e5edff,#c9d9ff)}.place-card{display:flex;flex-direction:column;border-radius:var(--radius-xl);border:1px solid var(--color-border-hairline);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden;transition:border-color .12s var(--ease-standard);color:var(--color-ink)}.place-card:hover{border-color:var(--color-chip-selected-border)}.place-card-photo{position:relative;height:130px;display:flex;align-items:center;justify-content:center;overflow:hidden}.place-card-photo img{width:100%;height:100%;object-fit:cover}.place-card-photo-glyph{opacity:.38}.score-pill{position:absolute;top:10px;left:10px;height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 9px;border-radius:var(--radius-pill);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);font-family:var(--font-inter-tight),sans-serif;font-size:14px;font-weight:700;color:var(--color-ink)}.place-card-photo .open-badge{position:absolute;top:10px;right:10px}.place-card-body{padding:13px;display:flex;flex-direction:column;gap:5px}.place-card-name{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-card-meta{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.place-card-foot{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;font-family:var(--font-inter-tight),sans-serif}.place-card-foot .place-card-review-count{font-family:var(--font-figtree),sans-serif;font-size:13px;font-weight:400;color:var(--color-ink-subtle)}.favorite-button{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-pill);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);color:var(--color-ink-subtle);cursor:pointer}.favorite-button:disabled{cursor:default;opacity:.6}.favorite-button-active{color:var(--color-ink)}.action-row .favorite-button{position:static;width:42px;height:42px;background:var(--color-surface);border:1px solid var(--color-border);-webkit-backdrop-filter:none;backdrop-filter:none}.place-row{min-width:0;display:flex;gap:14px;padding:14px;border-radius:var(--radius-xl);border:1px solid var(--color-border-hairline);background:var(--color-surface);box-shadow:var(--shadow-card);transition:border-color .12s var(--ease-standard);color:var(--color-ink)}.place-row:hover{border-color:var(--color-chip-selected-border)}.place-row-thumb{flex:none;border-radius:var(--radius-lg);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.place-row-thumb img{width:100%;height:100%;object-fit:cover}.place-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.place-row-name-row{display:flex;align-items:center;gap:8px}.place-row-name{flex:1 1;min-width:0;font-size:17px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.place-row-score-line{display:flex;align-items:center;gap:6px;font-size:15px}.place-row-score{font-family:var(--font-inter-tight),sans-serif;font-weight:600}.place-row-score-meta{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.place-row-blurb{font-size:14px;line-height:1.5;color:var(--color-ink-muted);margin:0}.place-row-footer{display:flex;align-items:center;gap:8px;margin-top:2px}.place-row-price{font-family:var(--font-inter-tight),sans-serif;font-size:15px;font-weight:700}.facility-chip{width:24px;height:24px;border-radius:var(--radius-xs);border:1px solid var(--color-border-hairline);color:var(--color-ink-muted);justify-content:center}.facility-chip,.facility-pill{background:var(--color-canvas);display:inline-flex;align-items:center}.facility-pill{height:32px;gap:7px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border-hairline);font-size:14px;font-weight:500;color:var(--color-ink)}.leaflet-container{width:100%;height:100%;font-family:var(--font-archivo),system-ui,sans-serif;background:#eff7f8;isolation:isolate}.map-pin{position:absolute;transform:translate(-50%,-100%);flex-direction:column;gap:3px;cursor:pointer;border:none;background:none;padding:0}.map-pin,.map-pin-score{display:flex;align-items:center}.map-pin-score{height:26px;gap:5px;padding:0 9px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-inter-tight),sans-serif;font-size:13px;font-weight:700;box-shadow:var(--shadow-pin);white-space:nowrap}.map-pin-selected .map-pin-score{background:#141414;color:#fff}.map-pin-dot{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:0 0 0 3px rgba(255,255,255,.78)}.map-pin-selected .map-pin-dot{background:#141414}.map-controls{z-index:1001;position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:6px}.map-control-btn{width:38px;height:38px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-pin);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:var(--color-ink)}.map-control-btn:disabled{cursor:default}.map-locate-spin{animation:map-locate-spin .9s linear infinite}@keyframes map-locate-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.map-page-back-btn{border:none;background:none;padding:0;align-self:flex-start}.map-page-back-btn,.pill{cursor:pointer;font-size:14px}.pill{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border-radius:var(--radius-pill);font-weight:500;transition:all .12s var(--ease-standard);background:var(--color-surface);color:var(--color-ink-muted);border:1px solid var(--color-border);font:inherit}.pill-selected{background:var(--gradient-ink);color:#fff;border-color:#141414}.pill-tab{height:36px;padding:0 15px;font-size:15px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-size:14px;font-weight:500;color:var(--color-ink-muted);cursor:pointer;font:inherit}.chip.chip-selected{background:var(--gradient-ink);border-color:#141414;color:#fff}.chip-add-new{background:none;color:var(--color-ink-muted)}.chip-add-new,.chip.chip-new{border-style:dashed}.chip-remove-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:inherit;cursor:pointer}.chip-add-input-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.chip-add-input-row input{flex:1 1;min-width:160px;height:42px}.chip-add-confirm-btn{flex:none;height:42px;padding:0 18px;border:none;border-radius:var(--radius-pill);background:var(--gradient-primary);color:#fff;font-size:14px;font-weight:600;font-family:var(--font-inter-tight),sans-serif;cursor:pointer}.chip-add-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.chip-add-cancel-btn{flex:none;height:42px;padding:0 14px;border:none;background:none;color:var(--color-ink-muted);font-size:14px;font-weight:600;font-family:var(--font-inter-tight),sans-serif;cursor:pointer}.chip-add-cancel-btn:hover{color:var(--color-ink)}.chip-add-hint{margin:6px 0 0;font-size:12px;color:var(--color-ink-subtle)}.chip-search-input{margin-bottom:8px}.chip-show-more{background:none;border-style:dashed;color:var(--color-primary-hover)}.chip-no-results{margin:0;font-size:13px;color:var(--color-ink-subtle)}.toggle-switch{width:44px;height:26px;flex:none;border-radius:var(--radius-pill);padding:2px;cursor:pointer;transition:background .12s var(--ease-standard);border:none;display:flex}.toggle-switch-on{background:var(--gradient-primary);justify-content:flex-end}.toggle-switch-off{background:var(--color-border);justify-content:flex-start}.toggle-knob{width:22px;height:22px;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:0 1px 2px 0 rgba(2,6,23,.08)}.empty-state{text-align:center;padding:56px 24px;color:var(--color-ink-muted);flex-direction:column;gap:12px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl)}.empty-state,.empty-state-icon{display:flex;align-items:center}.empty-state-icon{width:70px;height:70px;border-radius:var(--radius-pill);background:var(--color-canvas);border:1px solid var(--color-border-hairline);justify-content:center;color:var(--color-ink-disabled)}.empty-state-title{font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0}.empty-state-body{font-size:15px;line-height:1.5;color:var(--color-ink-muted);max-width:300px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.breadcrumb{display:flex;align-items:center;gap:7px;font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle);flex-wrap:wrap;margin-top:20px}.breadcrumb a{color:var(--color-primary-hover);font-weight:500}.breadcrumb [aria-current=page]{color:var(--color-ink-subtle)}.search-layout{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(32px,5vw,52px)}.search-sidebar{flex:1 1 260px;max-width:300px;min-width:0;position:-webkit-sticky;position:sticky;top:88px}.search-main{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}@media (max-width:767px){.search-sidebar{position:static;max-width:none;width:100%}}.filter-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;gap:18px}.filter-card-head{display:flex;align-items:center;justify-content:space-between}@media (max-width:767px){.filter-card-search .filter-card-head{display:none}}.filter-card-title{font-size:17px;font-weight:700;letter-spacing:-.02em}.filter-clear-link{font-size:14px;font-weight:500;color:var(--color-primary-hover);background:none;border:none;cursor:pointer;padding:0}.filter-section{display:flex;flex-direction:column;gap:9px}.filter-section-title{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint)}.filter-rule{height:1px;background:var(--color-border-hairline);border:none;margin:0}.filter-collapse-toggle-row{display:none}.filter-collapse-content{display:flex;flex-direction:column;gap:18px}@media (max-width:767px){.filter-collapse-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.filter-collapse-toggle{display:inline-flex;align-items:center;gap:6px;flex:none;cursor:pointer;background:none;border:none;padding:2px 0;font-family:inherit;color:inherit}.filter-collapse-clear-link{flex:none}.filter-details-summary-label{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.filter-details-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:var(--gradient-ink);color:#fff;font-size:12px;font-weight:700}.filter-details-chevron{color:var(--color-ink-faint);transition:transform .15s ease}.filter-details-chevron-open{transform:rotate(180deg)}.filter-collapse-content{display:none;margin-top:14px}.filter-collapse-content-open{display:flex}}.radio-row{gap:9px;padding:6px 0;cursor:pointer;background:none;border:none;width:100%;font:inherit;color:inherit}.radio-dot,.radio-row{display:flex;align-items:center}.radio-dot{width:16px;height:16px;flex:none;border-radius:var(--radius-pill);border:1.5px solid var(--color-ink-disabled);justify-content:center}.radio-dot-selected{border-color:var(--color-primary-hover)}.radio-dot-inner{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--color-primary-hover)}.radio-label{flex:1 1;min-width:0;font-size:15px;text-align:left}.radio-label-selected{font-weight:600}.radio-count{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.filter-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.filter-toggle-text{display:flex;flex-direction:column;gap:2px;min-width:0}.filter-toggle-title{font-size:15px;font-weight:600;letter-spacing:-.01em}.filter-toggle-sub{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.search-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-input-wrap{flex:1 1;min-width:220px;display:flex;align-items:center;gap:9px;height:44px;padding:0 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink-subtle)}.search-input-wrap:focus-within{border-color:var(--color-chip-selected-border);box-shadow:0 0 0 3px rgba(0,60,255,.07)}.search-input-wrap input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-archivo),sans-serif;font-size:16px;letter-spacing:-.01em;color:var(--color-ink)}.search-clear-btn{width:19px;height:19px;border-radius:var(--radius-pill);background:var(--color-border);color:#fff;display:flex;justify-content:center;border:none}.search-clear-btn,.sort-btn{flex:none;align-items:center;cursor:pointer}.sort-btn{height:44px;display:inline-flex;gap:8px;padding:0 14px;font-size:15px;font-weight:500;color:var(--color-ink)}.sort-btn,.view-switch{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.view-switch{flex:none;display:flex;gap:3px;padding:3px}.view-switch-btn{width:36px;height:36px;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s var(--ease-standard);background:transparent;border:none;color:var(--color-ink-faint)}.view-switch-btn-active{background:var(--color-border-hairline);color:var(--color-ink)}.active-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.active-filter-label{font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle)}.active-filter-chip{gap:7px;padding:0 8px 0 12px;border-radius:var(--radius-pill);background:var(--color-chip-selected-bg);border:1px solid var(--color-chip-selected-border);color:var(--color-chip-selected-fg)}.active-filter-chip,.active-filter-clear-all{height:30px;display:inline-flex;align-items:center;font-size:14px;font-weight:500}.active-filter-clear-all{padding:0 10px;border-radius:var(--radius-pill);color:var(--color-ink-muted);background:none;border:none;cursor:pointer}.active-filter-clear-all:hover{background:var(--color-border-hairline)}.result-count-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.result-count-text{font-size:17px;font-weight:600;letter-spacing:-.01em}.result-list{display:flex;flex-direction:column;gap:16px}.result-grid-1{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}.result-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),420px));grid-gap:14px;gap:14px}.result-footer-line{padding-top:4px;font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle)}.pagination,.result-footer-line{display:flex;align-items:center;justify-content:center;gap:10px}.pagination{margin:24px 0}.pagination a,.pagination span{padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:16px}.detail-photo-empty{height:clamp(200px,26vw,300px);border-radius:var(--radius-2xl);border:1px dashed var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-ink-disabled)}.detail-photo-empty-text{font-family:var(--font-figtree),sans-serif;font-size:15px;color:var(--color-ink-subtle)}.detail-photo-empty-sub{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.photo-hero-grid{display:grid;height:clamp(220px,30vw,320px);grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:1fr 1fr;grid-gap:8px;gap:8px;border-radius:var(--radius-2xl);overflow:hidden}.photo-hero-grid-1{grid-template-columns:1fr}.photo-hero-grid-2{grid-template-columns:1fr 1fr}.photo-hero-grid-3{grid-template-columns:1.6fr 1fr}.photo-hero-tile{position:relative;border:none;padding:0;background:var(--color-cream);cursor:pointer;overflow:hidden}.photo-hero-grid-3 .photo-hero-tile-0,.photo-hero-tile-0{grid-row:1/3}.photo-hero-grid-3 .photo-hero-tile-1,.photo-hero-grid-3 .photo-hero-tile-2{grid-column:2}.photo-hero-single-backdrop{filter:blur(24px) brightness(.7);transform:scale(1.15)}.photo-hero-single-fg{z-index:1}.photo-hero-more-overlay{position:absolute;inset:0;background:rgba(20,20,20,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff}.photo-hero-more-count{font-size:22px;font-weight:700}.photo-hero-more-cta{font-size:13px;font-weight:500}.photo-lightbox-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:24px}.photo-lightbox-panel{position:relative;width:100%;max-width:960px;max-height:85vh;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-2xl);padding:20px}.photo-lightbox-close{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;border-radius:var(--radius-pill);border:none;background:var(--color-surface);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-lightbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));grid-gap:10px;gap:10px}.photo-lightbox-item{display:block;width:100%;border:none;padding:0;background:none;cursor:pointer}.photo-lightbox-item img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md)}.photo-full-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}.photo-full-frame{position:relative;width:min(90vw,1100px);height:min(85vh,800px)}.photo-full-close{position:absolute;top:16px;right:16px;z-index:1;width:40px;height:40px;border-radius:var(--radius-pill);border:none;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-full-close:hover{background:rgba(255,255,255,.22)}.photo-full-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:44px;height:44px;border-radius:var(--radius-pill);border:none;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-full-nav:hover{background:rgba(255,255,255,.22)}.photo-full-nav-prev{left:16px}.photo-full-nav-next{right:16px}.photo-full-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--font-figtree),sans-serif;font-size:13px;background:rgba(0,0,0,.4);padding:4px 12px;border-radius:var(--radius-pill)}.detail-layout{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.detail-main{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:16px}.detail-sidebar{flex:1 1 280px;max-width:340px;min-width:0;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:88px}@media (max-width:767px){.detail-sidebar{position:static;max-width:none;width:100%}}.detail-title{font-size:clamp(28px,3.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0}.detail-meta-row{gap:10px;flex-wrap:wrap}.detail-meta-row,.detail-score{display:flex;align-items:center}.detail-score{gap:6px}.detail-score-value{font-family:var(--font-inter-tight),sans-serif;font-size:19px;font-weight:700}.detail-score-count{font-family:var(--font-figtree),sans-serif;font-size:15px;color:var(--color-ink-subtle)}.detail-divider{width:1px;height:14px;background:var(--color-border)}.detail-meta-text{font-size:15px;color:var(--color-ink-muted)}.tab-segment{display:inline-flex;gap:6px;padding:4px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-hairline);align-self:flex-start;flex-wrap:wrap}.tab-segment-btn{height:36px;display:inline-flex;align-items:center;padding:0 16px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;letter-spacing:-.01em;border:none;background:transparent;color:var(--color-ink-subtle);white-space:nowrap}.tab-segment-btn-active{background:var(--color-canvas);color:var(--color-ink);box-shadow:var(--shadow-segment)}.info-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:18px;display:flex;flex-direction:column;gap:14px}.info-card-title{font-size:17px;font-weight:700;letter-spacing:-.02em;margin:0}.info-hours-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:15px}.info-hours-day{flex-shrink:0}.info-hours-times{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--color-ink-muted);text-align:right}.social-links-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.social-links-caption{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.social-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));grid-gap:12px;gap:12px}.social-link-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-lg);color:var(--color-ink);min-width:0}.social-link-item:hover{border-color:var(--color-chip-selected-border)}.social-link-icon{flex:none;width:36px;height:36px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;color:#fff;background:var(--color-ink-subtle)}.social-link-icon-facebook{background:#1877f2}.social-link-icon-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b 60%,#8134af)}.social-link-icon-tiktok{background:#111}.social-link-icon-website{background:var(--color-ink-muted)}.social-link-body{min-width:0;display:flex;flex-direction:column;gap:1px}.social-link-name{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600}.social-link-verified{color:var(--color-primary);flex:none}.social-link-handle{font-size:13px;color:var(--color-ink-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-link-handle,.social-links-note{font-family:var(--font-figtree),sans-serif}.social-links-note{font-size:12px;color:var(--color-ink-faint);margin:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.info-item{display:flex;gap:11px;min-width:0}.info-item-icon{flex:none;margin-top:1px;color:var(--color-ink-subtle)}.info-item-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.info-item-label{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.info-item-value{font-size:15px;line-height:1.5;letter-spacing:-.01em;text-wrap:pretty}.info-item-value-link{font-weight:500;color:var(--color-primary-hover)}.no-menu-card{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-xl);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--color-ink-disabled);text-align:center}.no-menu-title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.no-menu-body{font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle);max-width:300px;line-height:1.5}table.menu-table{width:100%;border-collapse:collapse;font-size:16px}table.menu-table td{padding:8px 0;border-bottom:1px solid var(--color-border-hairline)}table.menu-table td.price{text-align:right;font-weight:700;font-family:var(--font-inter-tight),sans-serif;color:var(--color-ink);white-space:nowrap}.reviews-summary-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:18px;display:flex;flex-wrap:wrap;gap:20px}.reviews-summary-left{flex:1 1 240px;min-width:0;display:flex;gap:18px;align-items:center}.reviews-summary-score{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px}.reviews-summary-score-value{font-size:46px;font-weight:700;letter-spacing:-.03em;line-height:1;font-family:var(--font-inter-tight),sans-serif}.reviews-summary-score-count{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.histogram{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:6px}.histogram-row{display:flex;align-items:center;gap:8px}.histogram-n{width:8px;flex:none;font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.histogram-track{flex:1 1;min-width:0;height:6px;border-radius:var(--radius-pill);background:var(--color-border-hairline);overflow:hidden}.histogram-fill{height:100%;border-radius:var(--radius-pill);background:var(--gradient-ink)}.histogram-count{width:16px;flex:none;text-align:right;font-family:var(--font-figtree),sans-serif;font-size:12px;color:var(--color-ink-faint)}.reviews-summary-axis{flex:1 1 260px;min-width:0}.axis-bars{display:flex;flex-direction:column;gap:9px}.axis-row{display:flex;align-items:center;gap:8px}.axis-label{width:112px;flex:none;font-size:14px;color:var(--color-ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axis-track{flex:1 1;min-width:0;height:6px;background:var(--color-border-hairline);overflow:hidden}.axis-fill,.axis-track{border-radius:var(--radius-pill)}.axis-fill{height:100%;background:var(--gradient-magenta)}.axis-value{width:26px;flex:none;text-align:right;font-family:var(--font-inter-tight),sans-serif;font-size:14px;font-weight:600}.review-filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.review-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;gap:9px}.review-card-header{display:flex;align-items:center;gap:10px}.review-card-author-link{display:contents;color:inherit;text-decoration:none}.avatar-mono{width:36px;height:36px;flex:none;border-radius:var(--radius-pill);background:var(--color-cream);border:1px solid var(--color-cream-border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.review-card-headtext{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.review-card-author{font-size:16px;font-weight:600}.review-card-when{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.review-card-body{font-size:16px;line-height:1.55;margin:0}.review-card-photos{display:flex;gap:8px;flex-wrap:wrap}.review-card-photo{width:76px;height:76px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-hairline);flex:none;display:block;padding:0;background:none;cursor:pointer}.review-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.avatar-mono-img{object-fit:cover;padding:0}.review-card-footer{display:flex;align-items:center;gap:16px}.review-card-helpful,.review-card-reply-toggle{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--color-ink-muted);background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-figtree),sans-serif}.review-card-helpful:hover,.review-card-reply-toggle:hover{color:var(--color-ink)}.review-card-helpful-active{color:var(--color-primary);font-weight:600}.review-card-replies{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px solid var(--color-border-hairline)}.review-card-reply-item{display:flex;gap:8px}.review-card-reply-item .avatar-mono{width:28px;height:28px;font-size:12px}.review-card-reply-head{display:flex;align-items:baseline;gap:6px}.review-card-reply-author{font-size:14px;font-weight:600}.review-card-reply-when{font-size:12px;color:var(--color-ink-subtle)}.review-card-reply-owner-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill);background:var(--color-cream);color:var(--color-cream-ink)}.review-card-reply-body{font-size:14px;margin:2px 0 0}.review-card-reply-form{display:flex;gap:8px}.review-card-reply-form input{flex:1 1;height:36px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:14px}.review-card-reply-form button{height:36px;padding:0 14px;border-radius:var(--radius-md);border:none;background:var(--gradient-primary);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.review-card-reply-form button:disabled{opacity:.5;cursor:not-allowed}.action-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.action-row{display:flex;gap:8px}.action-primary-full{width:100%;height:50px;font-size:16.5px}.action-primary{flex:1 1;height:42px;border-radius:var(--radius-md);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;font-family:var(--font-inter-tight),sans-serif;font-size:16px;font-weight:500;border:none;cursor:pointer}.action-primary:hover{color:#fff}.action-primary:active{transform:translateY(.5px)}.action-icon-btn{width:42px;height:42px;flex:none;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-ink)}.action-icon-btn:hover{background:var(--color-canvas)}.mini-map{height:132px;border-radius:var(--radius-md)}.hours-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.hours-card-head{align-items:center;padding:14px 16px 10px}.hours-card-head,.hours-row{display:flex;justify-content:space-between}.hours-row{align-items:flex-start;gap:12px;padding:9px 16px;border-top:1px solid var(--color-border-hairline);font-size:15px}.hours-row-highlight{background:var(--color-cream)}.hours-day{letter-spacing:-.01em;flex-shrink:0}.hours-time{font-family:var(--font-inter-tight),sans-serif;color:var(--color-ink-muted);align-items:flex-end;gap:2px;text-align:right}.hours-time,.similar-card{display:flex;flex-direction:column}.similar-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:16px;gap:12px}.similar-item{display:flex;gap:10px;align-items:center;padding:6px;margin:-6px;border-radius:var(--radius-md);color:var(--color-ink)}.similar-item:hover{background:var(--color-canvas)}.similar-tile{width:44px;height:44px;flex:none;border-radius:9px;overflow:hidden}.similar-tile img{width:100%;height:100%;object-fit:cover}.similar-name{font-size:15px;font-weight:600;letter-spacing:-.01em}.similar-meta{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle)}.cta-card{background:var(--color-cream);border:1px solid var(--color-cream-border);border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;gap:9px}.cta-card-title{font-size:16px;font-weight:700;letter-spacing:-.02em}.cta-card-body{font-size:14px;line-height:1.55;color:var(--color-cream-ink);text-wrap:pretty}.write-review-form{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card)}.write-review-field{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600;color:var(--color-ink-muted)}.write-review-field input,.write-review-field textarea{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:16px;font-weight:400;font-family:inherit;color:var(--color-ink);background:var(--color-surface);resize:vertical}.star-picker{display:flex;gap:4px}.star-button{border:none;background:none;font-size:24px;line-height:1;padding:2px;color:var(--color-star-empty);cursor:pointer}.star-button-filled{color:var(--color-star)}.write-review-error{margin:0;color:var(--color-error);font-size:15px}.write-review-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:700;color:#fff;background:var(--gradient-primary);cursor:pointer;font-family:var(--font-inter-tight),sans-serif}.write-review-submit:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{align-self:flex-start;padding:10px 20px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:16px;font-weight:600;color:var(--color-ink);background:var(--color-surface);cursor:pointer;font-family:var(--font-inter-tight),sans-serif}.secondary-btn:hover{background:var(--color-canvas)}.owner-claim-card p{color:var(--color-ink-muted);margin:0 0 12px}.owner-claim-form{display:flex;flex-direction:column;gap:14px}.owner-claim-form-actions{display:flex;gap:10px}.owner-claim-success{color:var(--color-open-dot);font-weight:600;margin:0}.map-link-row{display:flex;gap:8px}.map-link-row input{flex:1 1;min-width:0}.map-link-apply-btn{flex:none;padding:0 18px;border:none;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font-size:15px;font-weight:600;font-family:var(--font-inter-tight),sans-serif;cursor:pointer}.map-link-apply-btn:disabled{opacity:.5;cursor:not-allowed}.use-location-btn{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary);font-size:14px;font-weight:600;font-family:var(--font-inter-tight),sans-serif;cursor:pointer}.use-location-btn:hover{background:var(--color-canvas)}.write-review-done{padding:18px;border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);background:var(--color-surface)}.write-review-done p{margin:6px 0 0;color:var(--color-ink-muted);font-size:16px}.write-review-login-prompt{font-size:16px}.skeleton-block,.skeleton-line{background:var(--color-border-hairline);border-radius:6px;position:relative;overflow:hidden}.skeleton-block:after,.skeleton-line:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skeleton-block:after,.skeleton-line:after{animation:none}}.skeleton-line{height:14px;margin:6px 0}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.page-login{flex:1 1;align-items:center;justify-content:center;padding:clamp(24px,5vw,64px) clamp(16px,4vw,40px)}.login-wrap,.page-login{display:flex;flex-direction:column}.login-wrap{width:100%;max-width:420px;gap:16px}.login-header{flex-direction:column;gap:8px;text-align:center}.login-header,.login-logo-tile{display:flex;align-items:center}.login-logo-tile{width:44px;height:44px;border-radius:11px;background:var(--gradient-primary);justify-content:center}.login-heading{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0}.login-sub{font-size:15px;line-height:1.5;color:var(--color-ink-muted);max-width:320px;margin:0}.login-card{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card-md);padding:18px;display:flex;flex-direction:column;gap:14px}.login-tabs{display:flex;gap:5px;padding:4px;border-radius:var(--radius-md);background:var(--color-canvas);border:1px solid var(--color-border-hairline)}.login-tab-btn{flex:1 1;height:34px;display:flex;align-items:center;justify-content:center;border-radius:7px;cursor:pointer;font-size:15px;font-weight:500;transition:all .12s var(--ease-standard);border:none;background:transparent;color:var(--color-ink-subtle)}.login-tab-btn-active{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-segment)}.login-form{gap:14px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px;font-size:14px;font-weight:500;color:var(--color-ink-muted)}.login-field input,.login-field select,.login-field textarea{width:100%;padding:10px 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-family:inherit;color:var(--color-ink);background:var(--color-surface);resize:vertical;box-sizing:border-box}.select-wrap{display:block;position:relative}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer}.select-wrap-chevron{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-ink-faint)}.searchable-select{position:relative;flex:1 1;min-width:0}.searchable-select input{width:100%}.searchable-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card-md);padding:4px}.searchable-select-empty{padding:10px 12px;font-size:15px;color:var(--color-ink-subtle)}.searchable-select-option{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:16px;color:var(--color-ink);cursor:pointer}.searchable-select-option-active{background:var(--color-canvas)}.login-field-row{display:flex;align-items:baseline;justify-content:space-between}.login-field-link{font-size:14px;font-weight:500;color:var(--color-primary-hover)}.login-input-wrap{display:flex;align-items:center;gap:9px;height:44px;padding:0 13px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.login-input-wrap-error{border-color:var(--color-error)}.login-input-wrap input,.login-input-wrap select{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-archivo),sans-serif;font-size:16px;letter-spacing:-.01em;color:var(--color-ink)}.login-input-wrap-plain{height:41px}.login-input-wrap-plain input{font-family:inherit;font-size:16px;letter-spacing:normal}.login-field-error{display:flex;align-items:center;gap:6px;font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-error)}.opening-hours-fields{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:var(--radius-md);background:var(--color-canvas)}.opening-hours-time-row{display:flex;gap:16px}.opening-hours-time-row .login-field{flex:1 1}.opening-hours-days-label{font-size:13px;font-weight:500;color:var(--color-ink-muted)}.pw-strength-row{display:flex;align-items:center;gap:9px;padding-top:2px}.pw-strength-track{flex:1 1;height:5px;border-radius:var(--radius-pill);background:var(--color-border-hairline);overflow:hidden}.pw-strength-fill{height:100%;border-radius:var(--radius-pill);transition:all .18s var(--ease-standard)}.pw-strength-label{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle);min-width:60px;text-align:right}.login-checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit}.login-checkbox{width:18px;height:18px;flex:none;margin-top:1px;border-radius:5px;border:1px solid var(--color-ink-disabled);background:var(--color-surface);display:flex;align-items:center;justify-content:center}.login-checkbox-checked{background:var(--gradient-primary);border-color:var(--color-primary-hover)}.login-checkbox-text{flex:1 1;font-size:14px;line-height:1.5;color:var(--color-ink-muted);text-wrap:pretty}.login-submit{height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-inter-tight),sans-serif;font-size:17px;font-weight:500;border:none}.login-submit,.login-submit-enabled{background:var(--gradient-primary);color:#fff}.login-submit-enabled:active{transform:translateY(.5px)}.login-submit-disabled{background:var(--color-border);color:var(--color-ink-faint);cursor:not-allowed}.login-divider-row{display:flex;align-items:center;gap:12px}.login-divider-line{flex:1 1;height:1px;background:var(--color-border-hairline)}.login-divider-text{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.login-social-btn,.login-social-row{display:flex;gap:8px}.login-social-btn{flex:1 1;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);align-items:center;justify-content:center;cursor:pointer;font-size:15px;font-weight:500;color:var(--color-ink)}.login-social-btn:hover{background:var(--color-canvas)}.login-footnote{font-family:var(--font-figtree),sans-serif;font-size:13px;line-height:1.6;color:var(--color-ink-faint);text-align:center;text-wrap:pretty}.login-error{margin:0;color:var(--color-error);font-size:15px}.auth-status{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.auth-signout-button{padding:0 12px;border:none;background:none;font:inherit;font-size:15px;font-weight:500;color:var(--color-ink-muted);cursor:pointer;height:36px}.auth-signout-button:hover{color:var(--color-ink)}.map-page{height:calc(100dvh - 64px);min-height:480px;overflow:hidden;display:flex;align-items:stretch}.map-page-panel{flex:1 1 300px;max-width:380px;min-height:0;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border)}.map-page-panel-head{flex:none;padding:16px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--color-border-hairline)}.map-page-panel-title{font-size:19px;font-weight:700;letter-spacing:-.02em}.map-page-search{display:flex;align-items:center;gap:9px;height:42px;padding:0 13px;background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-md)}.map-page-search input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--font-archivo),sans-serif;font-size:15px;letter-spacing:-.01em;color:var(--color-ink)}.map-filter-trigger-btn{position:relative;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-size:14px;font-weight:600;font-family:var(--font-inter-tight),sans-serif;cursor:pointer}.map-filter-trigger-btn:hover{background:var(--color-canvas)}.map-filter-trigger-badge{position:static;box-shadow:none}.map-filter-drawer-panel{max-width:400px;max-height:88vh;display:flex;flex-direction:column}.map-filter-drawer-header{flex:none;padding:24px 24px 16px}.map-filter-drawer-scroll{flex:1 1;min-height:0;max-height:none;padding:0 24px 24px}.map-filter-drawer-selected{flex:none;display:flex;gap:12px;align-items:center;padding:14px 24px;border-top:1px solid var(--color-border-hairline);background:var(--color-surface)}.map-filter-drawer-overlay{z-index:1003}.map-page-list{flex:1 1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.map-page-row{flex:none;display:flex;gap:11px;padding:11px;border-radius:var(--radius-lg);cursor:pointer;transition:all .12s var(--ease-standard);background:var(--color-surface);border:1px solid var(--color-border-hairline)}.map-page-row-selected{background:var(--color-cream);border-color:var(--color-cream-border)}.map-page-row-tile{width:52px;height:52px;flex:none;border-radius:var(--radius-md);overflow:hidden}.map-page-row-tile img{width:100%;height:100%;object-fit:cover}.map-page-canvas-wrap{flex:999 1 420px;min-width:0;min-height:0;position:relative}.map-page-floating-card{z-index:1001;position:absolute;left:16px;right:16px;bottom:16px;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-pin);padding:14px;display:flex;gap:13px}.map-page-floating-tile{width:72px;height:72px;flex:none;border-radius:var(--radius-lg);overflow:hidden}.map-page-floating-tile img{width:100%;height:100%;object-fit:cover}@media (max-width:767px){.map-page{position:relative}.map-page-panel{position:absolute;left:0;right:0;bottom:0;z-index:1002;width:100%;max-width:none;height:230px;border-right:none;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -4px 20px rgba(2,6,23,.16);transition:height .26s var(--ease-standard)}.map-page-panel-dragging{transition:none}.map-page-sheet-handle{display:flex;align-items:center;justify-content:center;flex:none;height:22px;touch-action:none;cursor:-webkit-grab;cursor:grab}.map-page-sheet-handle-bar{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--color-border)}.map-page-canvas-wrap{position:absolute;inset:0}.map-page-floating-card{display:none}}.about-layout{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;padding-top:clamp(24px,4vw,44px);padding-bottom:clamp(32px,5vw,56px)}.about-nav{flex:1 1 200px;max-width:240px;min-width:0;display:flex;flex-direction:column;gap:4px;position:-webkit-sticky;position:sticky;top:88px}.about-nav-eyebrow{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);padding:0 12px 8px}.about-nav-item{height:38px;flex:none;display:flex;align-items:center;padding:0 12px;border-radius:9px;cursor:pointer;font-size:15px;transition:all .12s var(--ease-standard);background:none;border:none;text-align:left;color:var(--color-ink-muted)}.about-nav-item-active,.about-nav-item:hover{background:var(--color-border-hairline)}.about-nav-item-active{color:var(--color-ink);font-weight:600}.about-content{flex:999 1 440px;min-width:0;display:flex;flex-direction:column;gap:18px}.about-section-title{font-size:clamp(28px,3.2vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0 0 10px}.about-section-body{font-size:17px;line-height:1.6;color:var(--color-ink-muted);max-width:620px;text-wrap:pretty;margin:0}.about-section-subtitle{font-size:20px;font-weight:700;margin:28px 0 12px}.about-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.about-fact-card{padding:16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-hairline);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:3px;min-width:0}.about-fact-value{font-size:26px;font-weight:700;letter-spacing:-.02em}.about-fact-label{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-subtle);text-wrap:pretty}.about-callout{padding:18px;border-radius:var(--radius-xl);background:var(--color-cream);border:1px solid var(--color-cream-border);display:flex;flex-direction:column;gap:8px}.about-callout-title{font-size:17px;font-weight:700;letter-spacing:-.02em}.about-callout-body{font-size:15px;line-height:1.6;color:var(--color-cream-ink);text-wrap:pretty}.axis-doc-table{background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.axis-doc-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 16px;border-top:1px solid var(--color-border-hairline)}.axis-doc-row:first-child{border-top:none}.axis-doc-label{flex:1 1 140px;min-width:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.axis-doc-note{flex:2 1 200px;min-width:0;font-size:14px;line-height:1.5;color:var(--color-ink-muted);text-wrap:pretty}.axis-doc-weight{flex:none;height:26px;display:flex;align-items:center;padding:0 10px;border-radius:7px;background:var(--color-canvas);border:1px solid var(--color-border-hairline);font-family:var(--font-inter-tight),sans-serif;font-size:14px;font-weight:700}.mod-step-list{display:flex;flex-direction:column;gap:10px}.mod-step-card{display:flex;gap:14px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.mod-step-number{width:30px;height:30px;flex:none;border-radius:var(--radius-pill);background:var(--gradient-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-inter-tight),sans-serif;font-size:15px;font-weight:700}.mod-step-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.mod-step-title{font-size:17px;font-weight:600;letter-spacing:-.01em}.mod-step-text{font-size:15px;line-height:1.55;color:var(--color-ink-muted);text-wrap:pretty}.data-sources-card{padding:18px;border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border-hairline);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px}.data-sources-title{font-size:17px;font-weight:700;letter-spacing:-.02em}.data-sources-list{display:flex;flex-direction:column;gap:10px}.data-sources-item{font-size:15px;line-height:1.6;color:var(--color-ink-muted);text-wrap:pretty}.data-sources-item strong{color:var(--color-ink);font-weight:600}.disclaimer-card{padding:16px;border-radius:var(--radius-lg);background:var(--color-canvas);border:1px solid var(--color-border-hairline);font-family:var(--font-figtree),sans-serif;font-size:14px;line-height:1.6;color:var(--color-ink-subtle);text-wrap:pretty}.page-header{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.page-header-sub{font-family:var(--font-figtree),sans-serif;font-size:15px;color:var(--color-ink-subtle)}.page-header-row{flex-direction:row;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.favorites-page-header{flex-direction:row;align-items:center;gap:12px}.favorites-header-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff}.favorites-header-icon,.profile-avatar{flex:none;display:flex;align-items:center;justify-content:center}.profile-avatar{width:58px;height:58px;border-radius:var(--radius-pill);background:var(--color-cream);border:1px solid var(--color-cream-border);font-size:22px;font-weight:700;font-family:var(--font-inter-tight),sans-serif}.profile-stats{display:flex;gap:12px;margin:0 0 24px}.section-block-tight{display:flex;flex-direction:column;gap:12px;margin-top:32px}.my-review-item{padding:16px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:6px}.my-review-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.my-review-name{font-size:16px;font-weight:600}.my-review-score{display:flex;align-items:center;gap:6px;font-size:15px}.my-review-comment{font-size:15px;line-height:1.5;color:var(--color-ink-muted);margin:0}.my-review-bill{font-family:var(--font-figtree),sans-serif;font-size:14px;color:var(--color-ink-subtle)}.status-badge{font-size:13px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);text-transform:uppercase}.status-badge-edit_requested,.status-badge-in_review,.status-badge-pending{background:var(--color-cream);color:var(--color-cream-ink)}.status-badge-hidden,.status-badge-rejected{background:#fde2e1;color:var(--color-error)}.notifications-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.notification-mark-all-btn{flex-shrink:0;padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:none;font:inherit;font-size:14px;font-weight:600;color:var(--color-ink-muted);cursor:pointer;white-space:nowrap}.notification-mark-all-btn:hover{color:var(--color-ink);border-color:var(--color-ink)}.notification-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.notification-tab{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius-pill);background:var(--color-surface);font-size:14px;font-weight:600;color:var(--color-ink-muted);border:none;cursor:pointer;font-family:inherit}.notification-tab-active{background:var(--color-ink);color:#fff}.notification-tab-count{font-size:12px;font-weight:700;padding:1px 7px;border-radius:var(--radius-pill);background:rgba(0,0,0,.06)}.notification-tab-active .notification-tab-count{background:rgba(255,255,255,.2)}.notification-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px;background:var(--color-surface);border:1px solid var(--color-border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.notification-icon{width:38px;height:38px;flex:none;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center}.notification-icon-moderation_result{background:var(--color-cream);color:var(--color-cream-ink)}.notification-icon-report_resolved{background:#e6ecfd;color:var(--color-primary)}.notification-icon-contribution_status{background:#fbe6fb;color:#dd00d8}.notification-icon-moderation_queue_new{background:var(--color-cream);color:var(--color-cream-ink)}.notification-icon-review_helpful_vote{background:var(--color-chip-selected-bg);color:var(--color-chip-selected-fg)}.notification-icon-review_helpful_milestone{background:var(--color-cream);color:var(--color-cream-ink)}.notification-icon-restaurant_hours_changed{background:#fde8d2;color:#b3690a}.notification-icon-new_follower{background:#e0f2fe;color:#0369a1}.notification-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none}.notification-body-link{cursor:pointer}.notification-body-link:hover .notification-title{text-decoration:underline}.notification-title{font-size:16px;font-weight:600}.notification-item-unread .notification-title{font-weight:700}.notification-text{margin:0;font-size:15px;color:var(--color-ink-muted)}.notification-time{font-family:var(--font-figtree),sans-serif;font-size:13px;color:var(--color-ink-faint)}.notification-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#dd00d8;margin-top:4px}.edit-profile-form{display:flex;flex-direction:column;gap:14px;max-width:420px;margin-bottom:32px}.edit-profile-saved{margin:0;color:var(--color-ink);font-size:15px;font-weight:600}.photo-upload-grid{display:flex;flex-wrap:wrap;gap:10px}.photo-upload-thumb{position:relative;width:84px;height:84px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.photo-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-upload-thumb button{position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:15px;line-height:1;cursor:pointer}.photo-upload-thumb-cover{border:2px solid var(--color-primary)}.photo-upload-cover-btn{position:absolute;bottom:2px;left:2px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}.photo-upload-cover-btn[aria-pressed=true]{background:var(--color-primary)}.photo-upload-add{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:14px;color:var(--color-ink-subtle);text-align:center;cursor:pointer;padding:4px}.profile-banner{border-radius:var(--radius-2xl);padding:24px;margin-bottom:20px;background:linear-gradient(120deg,#ffe8d6,#ffd6e8 35%,#dcd6ff 70%,#d6f0ff)}.profile-banner-content{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.profile-banner-avatar{width:76px;height:76px;font-size:26px;background:var(--color-surface)}.profile-avatar-img{object-fit:cover;padding:0}.profile-banner-info{flex:1 1;min-width:200px;display:flex;flex-direction:column;gap:4px}.profile-banner-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-level-badge{display:inline-flex;align-items:center;gap:5px;background:var(--color-cream);color:var(--color-cream-ink);text-transform:none;border:1px solid var(--color-cream-border)}.profile-level-badge svg{color:var(--color-star)}.profile-banner-meta{font-size:14px;color:var(--color-ink-muted);margin:0}.profile-banner-bio{font-size:15px;margin:4px 0 0}.profile-header-actions{display:flex;align-items:center;gap:8px}.profile-level-card{margin-bottom:20px}.profile-level-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.profile-level-track{width:100%;height:12px;background:var(--color-border-hairline);overflow:hidden}.profile-level-fill,.profile-level-track{display:block;border-radius:var(--radius-pill)}.profile-level-fill{height:100%;background:var(--gradient-magenta)}.profile-level-rules-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--color-primary);white-space:nowrap}.profile-stat-label-row{display:flex;align-items:center;gap:6px}.profile-stat-icon{width:20px;height:20px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center}.profile-stat-icon-star{background:#fdf1d6;color:#c98a1b}.profile-stat-icon-photo{background:#e3ecfe;color:#3b6fe0}.profile-stat-icon-saved{background:#ece3fe;color:#7b52d9}.profile-stat-icon-helpful{background:#e1f7e8;color:#2fa360}.profile-badge-chip{display:inline-flex;align-items:center;gap:6px;background:var(--color-cream);border-color:var(--color-cream-border);color:var(--color-cream-ink);cursor:default}.profile-badge-chip-coffee_hunter{background:#e3ecfe;border-color:#c7d7fb;color:#3b6fe0}.profile-badge-chip-helpful_100{background:#e1f7e8;border-color:#bfe8cc;color:#2fa360}@media (max-width:767px){.profile-banner-content{flex-direction:column;align-items:center;text-align:center}.profile-banner-info{align-items:center}.profile-banner-name-row{flex-direction:column;gap:6px}.profile-header-actions{margin-top:4px}.profile-stats.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.profile-stats .stat-card{min-width:0;padding:10px 6px;align-items:center;text-align:center;gap:6px}.profile-stats .stat-value{font-size:17px}.profile-stats .stat-label{font-size:10.5px;line-height:1.2}}.toast-stack{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;width:100%;max-width:420px;padding:0 16px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:0 8px 24px rgba(2,6,23,.12);border:1px solid var(--color-border-hairline);font-size:14px;pointer-events:auto;animation:toast-in .18s var(--ease-standard)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-icon-badge{width:34px;height:34px;flex:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.toast-success .toast-icon-badge{background:var(--color-open-bg);color:var(--color-open-fg)}.toast-error .toast-icon-badge{background:#fdeced;color:var(--color-error)}.toast-message{flex:1 1;font-weight:500;color:var(--color-ink)}.toast-close{width:22px;height:22px;flex:none;background:none;border:none;padding:0;cursor:pointer;color:var(--color-ink-faint);display:flex;align-items:center;justify-content:center}.toast-close:hover{color:var(--color-ink-subtle)}.profile-tab-panel{margin-top:16px}.profile-review-item{gap:8px}.profile-review-criteria{gap:6px}.profile-review-criteria-chip{font-size:12px;padding:4px 10px;cursor:default}.profile-review-action{background:none;border:none;padding:4px 8px;font-size:14px;font-weight:600;color:var(--color-ink-muted);cursor:pointer;font-family:var(--font-figtree),sans-serif}.profile-review-action:hover{color:var(--color-ink)}.profile-review-action-danger{color:var(--color-error)}.profile-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:8px;gap:8px}.profile-photo-tile{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border-hairline)}.profile-edit-modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:24px}.profile-edit-modal-panel{position:relative;width:100%;max-width:560px;background:var(--color-surface);border-radius:var(--radius-2xl);overflow:hidden}.profile-edit-modal-scroll{max-height:88vh;overflow-y:auto;padding:24px}.profile-edit-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-edit-modal-close{flex:none;width:32px;height:32px;border-radius:var(--radius-pill);border:none;background:none;color:var(--color-ink-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.profile-edit-modal-close:hover{background:var(--color-border-hairline)}.profile-edit-modal-sub{font-size:14px;color:var(--color-ink-subtle);margin:0 0 16px}.profile-edit-modal-body{gap:16px}.profile-edit-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px -24px -24px;padding:16px 24px;border-top:1px solid var(--color-border-hairline);background:var(--color-canvas);border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}.profile-edit-modal-footer-status{font-size:13px;color:var(--color-ink-subtle)}.profile-edit-modal-footer-actions{display:flex;gap:10px}.profile-edit-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:480px){.profile-edit-two-col{grid-template-columns:1fr}}.profile-edit-hint{font-size:12px;color:var(--color-ink-subtle);font-weight:400;text-transform:none}.avatar-upload-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.avatar-upload-info{display:flex;flex-direction:column;gap:8px}.avatar-upload-title{font-size:14px;font-weight:500;color:var(--color-ink-muted)}.avatar-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.avatar-upload-label{cursor:pointer;display:inline-flex;align-items:center;gap:6px}:root[data-theme=dark] .leaflet-container{background:#1c1e24}:root[data-theme=dark] .mobile-nav-row-icon-magenta{background:#3a1830}:root[data-theme=dark] .status-badge-hidden,:root[data-theme=dark] .status-badge-rejected,:root[data-theme=dark] .toast-error .toast-icon-badge{background:#3a1620}:root[data-theme=dark] .notification-icon-report_resolved{background:var(--color-chip-selected-bg)}:root[data-theme=dark] .notification-icon-contribution_status{background:#3a1830}:root[data-theme=dark] .notification-icon-restaurant_hours_changed{background:#3a260f;color:#e8934a}:root[data-theme=dark] .notification-icon-new_follower{background:#0c2d40;color:#7dd3fc}:root[data-theme=dark] .profile-stat-icon-star{background:#3a2e12;color:#e0ac4a}:root[data-theme=dark] .profile-badge-chip-coffee_hunter,:root[data-theme=dark] .profile-stat-icon-photo{background:#16233f;color:#6e97ef}:root[data-theme=dark] .profile-badge-chip-coffee_hunter{border-color:#2d4a8a}:root[data-theme=dark] .profile-stat-icon-saved{background:#241a3f;color:#a483ea}:root[data-theme=dark] .profile-badge-chip-helpful_100,:root[data-theme=dark] .profile-stat-icon-helpful{background:#12291b;color:#4ecb84}:root[data-theme=dark] .profile-badge-chip-helpful_100{border-color:#245c38}