.feed-page{width:100%}.feed-layout{gap:var(--stack-gap);display:grid}.feed-layout-main{gap:var(--stack-gap);min-width:0;display:grid}.feed-layout-aside{display:none}@media (width>=1600px){.feed-page{--feed-main-inset:max(var(--layout-gutter), calc(var(--layout-gutter) + (min(100%, var(--content-wide)) - 2 * var(--layout-gutter) - var(--content-column)) / 2))}.feed-layout{grid-template-columns:var(--feed-main-inset) minmax(0, var(--content-column)) minmax(var(--space-5), 1fr) minmax(0, var(--feed-aside-width)) var(--layout-gutter);gap:var(--space-5);box-sizing:border-box;align-items:start;width:100%}.feed-layout-main{grid-column:2}.feed-layout-aside{gap:var(--card-gap);top:calc(4rem + var(--layout-pad-top));grid-column:4;align-self:start;display:grid;position:sticky}}.feed-sidebar-widget{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);box-shadow:var(--shadow-sm);padding:var(--space-4);gap:var(--space-3);display:grid}.feed-sidebar-widget-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.feed-sidebar-widget-header-main{align-items:center;gap:var(--space-2);min-width:0;display:flex}.feed-sidebar-widget-expand{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-zone-canvas);width:1.75rem;height:1.75rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-interactive), border-color var(--transition-interactive), background var(--transition-interactive);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.feed-sidebar-widget-expand:hover{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));background:var(--color-primary-highlight)}.feed-sidebar-widget--flat{box-shadow:none;background:0 0;border:none;padding:0}.feed-sidebar-map-stage--expanded{aspect-ratio:auto;height:100%;min-height:12rem}.feed-sidebar-widget-icon{border-radius:var(--radius-md);background:var(--color-primary-highlight);width:1.75rem;height:1.75rem;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.feed-sidebar-widget-title{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.01em;color:var(--color-text);margin:0;font-weight:700}.feed-sidebar-widget-empty,.feed-sidebar-widget-caption{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;line-height:1.45}.feed-sidebar-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.feed-sidebar-list-item{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg);color:inherit;transition:background var(--transition-interactive);text-decoration:none;display:flex}.feed-sidebar-list-item:hover{background:var(--color-zone-canvas)}.feed-sidebar-thumb{border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover;background:var(--color-zone-canvas);flex-shrink:0;width:2.5rem;height:2.5rem}.feed-sidebar-thumb-fallback{color:var(--color-text-faint);border:1px solid var(--color-border);place-items:center;display:grid}.feed-sidebar-list-text{gap:.1rem;min-width:0;display:grid}.feed-sidebar-list-name{font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.feed-sidebar-list-meta{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feed-sidebar-map-stage{aspect-ratio:4/3;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-canvas);min-height:12rem;position:relative;overflow:hidden}.feed-sidebar-map-leaflet{z-index:0;width:100%;height:100%}.feed-sidebar-map-leaflet .leaflet-control-attribution{background:color-mix(in srgb, var(--color-zone-card) 88%, transparent);font-size:.625rem}.feed-sidebar-map-empty{height:100%;padding:var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);place-items:center;margin:0;line-height:1.45;display:grid}.feed-sidebar-map-marker-icon.leaflet-div-icon{background:0 0;border:none}.feed-sidebar-map-popup{font-size:var(--text-xs);color:var(--color-text);gap:.15rem;display:grid}.feed-sidebar-map-popup-link{color:var(--color-primary);font-weight:600;text-decoration:none}.feed-sidebar-map-popup-link:hover{text-underline-offset:2px;text-decoration:underline}.feed-sidebar-map-popup-meta{color:var(--color-text-muted);font-size:.6875rem}.feed-page-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-1) var(--space-2);display:flex}.feed-page-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text);font-weight:800}.feed-list{gap:var(--card-gap);display:grid}.feed-list--refreshing{opacity:.82;transition:opacity var(--transition-interactive)}@media (prefers-reduced-motion:reduce){.feed-list--refreshing{transition:none}}.feed-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);box-shadow:var(--shadow-sm);transition:box-shadow .35s,border-color .35s;overflow:hidden}.feed-card--focused{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));box-shadow:var(--shadow-sm), 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent)}.feed-card-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.feed-card-author{gap:var(--space-3);flex:1;min-width:0;display:flex}.user-avatar-link{flex-shrink:0;text-decoration:none}.user-avatar{border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:1px solid var(--color-border);flex-shrink:0}.user-avatar-md{width:2.5rem;height:2.5rem}.user-avatar-sm{width:1.75rem;height:1.75rem}.user-avatar-fallback{background:var(--color-primary-highlight);color:var(--color-primary);font-weight:700;font-size:var(--text-sm);place-items:center;display:grid}.feed-card-author-text{flex:1;min-width:0}.feed-card-author-line{line-height:1.3;font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:.2rem;margin:0;display:flex}.feed-card-person-link,.feed-card-person-name{font-weight:700;font-size:inherit;color:var(--color-text);line-height:inherit}.feed-card-person-link{text-decoration:none}.feed-card-person-link:hover{color:var(--color-primary)}.feed-card-inline-name{font-weight:700;font-size:var(--text-sm);color:var(--color-text);text-decoration:none}.feed-card-inline-name:hover{color:var(--color-primary)}.feed-card-with-inline{font-size:inherit;color:var(--color-text-muted);font-weight:400;display:inline}.feed-card-with-inline-label,.feed-card-with-inline-others,.feed-card-author-line-others{color:var(--color-text-muted);font-weight:400}.feed-card-author-name,.feed-card-author-link{font-weight:700;font-size:var(--text-sm);color:var(--color-text);max-width:none;line-height:1.3}.feed-card-author-link{text-decoration:none}.feed-card-author-link:hover{color:var(--color-primary)}.feed-card-location-meta,.feed-card-author-meta{font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;max-width:none;margin-top:.15rem;line-height:1.4;display:flex}.feed-card-location-meta-sep,.feed-card-author-meta-sep{color:var(--color-text-faint)}.feed-card-district{font-weight:500}.feed-card-location{color:var(--color-text);align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.feed-card-location-link{text-decoration:none}.feed-card-location-link:hover{color:var(--color-primary)}.feed-card-timestamp{color:var(--color-text-muted);font-weight:500}.feed-card-price-tier{color:var(--color-success);letter-spacing:.03em;white-space:nowrap;font-weight:700}.feed-card-trust{border-radius:var(--radius-full);padding:.2rem var(--space-3);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;flex-shrink:0;font-weight:700}.feed-card-trust-warn{background:var(--color-warning-highlight);color:var(--color-warning)}.feed-card-media{aspect-ratio:1;background:var(--color-zone-canvas);justify-content:center;align-items:center;display:flex;position:relative}.feed-card-image{-o-object-fit:cover;object-fit:cover;background:var(--color-zone-canvas);width:100%;height:100%}.feed-card-media-empty{place-content:center;justify-items:center;gap:var(--space-2);height:100%;padding:var(--space-5);text-align:center;color:var(--color-text-muted);display:grid}.feed-card-media-empty-icon{opacity:.7;font-size:2.75rem;line-height:1}.feed-card-dots{bottom:var(--space-3);z-index:2;gap:.35rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.feed-card-dot{border-radius:var(--radius-full);cursor:pointer;width:.4rem;height:.4rem;transition:width var(--transition-interactive), background var(--transition-interactive);background:#ffffff80;border:none;padding:0}.feed-card-dot.active{background:#fff;width:1rem}.feed-card-nav{border-radius:var(--radius-full);width:1.75rem;height:1.75rem;color:var(--color-text);cursor:pointer;z-index:2;opacity:0;box-shadow:var(--shadow-sm);transition:opacity var(--transition-interactive);background:#ffffffeb;border:none;position:absolute;top:50%;transform:translateY(-50%)}.feed-card:hover .feed-card-nav,.feed-card:focus-within .feed-card-nav{opacity:1}.feed-card-nav-prev{left:var(--space-2)}.feed-card-nav-next{right:var(--space-2)}.feed-card-nav-prev:after,.feed-card-nav-next:after{content:"";border-top:2px solid;border-right:2px solid;width:.4rem;height:.4rem;margin:auto;display:block}.feed-card-nav-prev:after{transform:rotate(-135deg)}.feed-card-nav-next:after{transform:rotate(45deg)}.feed-card-engagement{gap:var(--space-1);padding:var(--space-2) var(--space-4) 0;display:grid}.feed-card-actions{align-items:center;gap:var(--space-2);display:flex}.feed-card-action-count{font-size:var(--text-sm);font-weight:var(--font-weight-chrome);font-variant-numeric:tabular-nums;color:var(--color-text);-webkit-user-select:none;user-select:none;line-height:1}.feed-card-action-btn{border-radius:var(--radius-full);min-width:2.5rem;height:2.5rem;color:var(--color-text);cursor:pointer;transition:color var(--transition-interactive), transform .12s ease;background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:0 .55rem;display:inline-flex}.feed-card-action-btn-with-count{padding-inline:.45rem .65rem}.feed-card-action-btn:hover:not(:disabled){color:var(--color-text-muted)}.feed-card-action-btn:active:not(:disabled){transform:scale(.9)}.feed-card-like-btn.liked{color:#e0245e}.feed-card-like-btn.liked:hover:not(:disabled){color:#c91d52}.feed-card-like-btn.liked .feed-card-action-count{color:inherit}.feed-card-action-btn-active{color:var(--color-primary)}.feed-card-save-btn{width:2.5rem;min-width:2.5rem;margin-left:auto;padding:0}.feed-card-save-btn.saved{color:var(--color-primary)}.feed-card-action-btn:disabled{opacity:.6;cursor:wait}.feed-card-like-burst{color:#fff;pointer-events:none;z-index:3;filter:drop-shadow(0 2px 8px #00000059);place-items:center;animation:.7s forwards feed-like-burst;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.feed-card-like-burst{animation-duration:.7s!important;animation-iteration-count:1!important}}@keyframes feed-like-burst{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}.feed-card-comments-panel{padding:var(--space-3) 0 0;margin-top:var(--space-2);border-top:1px solid var(--color-divider)}.feed-card-comments{gap:var(--space-2);display:grid}.feed-card-comment-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.feed-card-comment-item{align-items:flex-start;gap:.55rem;display:flex}.feed-card-comment-item .feed-card-inline-name{font-weight:600}.feed-card-comment-body{flex:1;min-width:0}.feed-card-comment-text{font-size:var(--text-sm);word-break:break-word;max-width:none;margin:0;line-height:1.5}.feed-card-comment-body-text{color:var(--color-text);font-weight:400}.feed-card-comment-meta{align-items:center;gap:var(--space-2);margin-top:.2rem;display:flex}.feed-card-comment-time{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.feed-card-comment-delete{font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.feed-card-comment-delete:hover:not(:disabled){color:var(--color-error)}.feed-card-header-aside{-moz-column-gap:var(--space-2);align-items:center;column-gap:var(--space-2);flex-shrink:0;grid-template-columns:auto 2.25rem;display:grid}.feed-card-header-rating-slot{justify-content:flex-end;align-items:center;display:flex}.feed-card-header-menu-slot{flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:.25rem;width:2.25rem;min-height:2.25rem;display:flex;overflow:visible}.feed-card-header-menu-slot .feed-card-trust{white-space:nowrap;align-self:flex-end}.feed-card-more{position:relative}.feed-card-more-btn{border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-interactive), background var(--transition-interactive);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.feed-card-more-btn:hover{color:var(--color-text);background:var(--color-zone-canvas)}.feed-card-more-menu{z-index:5;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);min-width:10.5rem;box-shadow:var(--shadow-md);padding:.25rem;position:absolute;top:calc(100% + .25rem);right:0}.feed-card-more-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.55rem .75rem;font-weight:500;display:inline-flex}.feed-card-more-item:hover:not(:disabled){background:var(--color-zone-canvas)}.feed-card-more-item-danger{color:var(--color-error)}.feed-card-more-item-danger:hover:not(:disabled){background:var(--color-error-highlight)}.feed-card-more-item:disabled{opacity:.6;cursor:wait}.feed-delete-dialog-confirm{background:var(--color-error);border-color:var(--color-error);color:#fff}.feed-delete-dialog-confirm:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.feed-card-ratings{font-size:var(--text-sm);gap:.25rem;margin:0;line-height:1.5;display:grid}.feed-card-ratings-headline{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;padding:.15rem 0;font-weight:500;display:inline-flex}.feed-card-ratings-star{color:var(--color-star);flex-shrink:0}.feed-card-ratings-score{font-variant-numeric:tabular-nums;color:var(--color-text);letter-spacing:-.01em;font-weight:700}.feed-card-ratings-overall-word{color:var(--color-text);font-weight:600}.feed-card-ratings-detail{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;margin:0;font-weight:400;display:flex}.feed-card-ratings-group{white-space:nowrap}.feed-card-ratings-sep{color:var(--color-text-faint);-webkit-user-select:none;user-select:none}.feed-card-ratings-headline .feed-card-ratings-sep,.feed-card-ratings-detail .feed-card-ratings-sep{margin-inline:.35rem}.feed-card-review{gap:.4rem;display:grid}.feed-card-body>.feed-card-tags{margin-top:var(--space-1)}.feed-card-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.feed-card-favorites,.feed-card-with{font-size:var(--text-sm);color:var(--color-text);max-width:none;margin:0;line-height:1.5}.feed-card-favorites-label,.feed-card-with-label{color:var(--color-text-muted);margin-right:.35rem;font-weight:700}.feed-card-comment-form{gap:var(--space-2);padding:.35rem var(--space-3) .35rem var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-zone-canvas);align-items:center;margin-top:.15rem;display:flex}.feed-card-comment-form .input{min-height:2rem;box-shadow:none;background:0 0;border:none;flex:1;padding:0}.feed-card-comment-form .input:focus{box-shadow:none}.feed-card-comment-post{font-size:var(--text-sm);color:var(--color-primary);cursor:pointer;opacity:1;transition:opacity var(--transition-interactive);background:0 0;border:none;flex-shrink:0;padding:0;font-weight:700}.feed-card-comment-post:disabled{opacity:.35;cursor:not-allowed}.feed-card-comment-post:hover:not(:disabled){color:var(--color-primary-hover)}.restaurant-result-card{align-items:center;gap:.8rem;display:flex}.restaurant-result-icon{background:var(--color-surface-offset);width:5rem;height:5rem;color:var(--color-primary);border-radius:.8rem;flex-shrink:0;place-items:center;font-size:1.2rem;display:grid}.restaurant-result-body{flex:1;min-width:0}.restaurant-save-btn{flex-shrink:0}.notifications-page{max-width:36rem;margin-inline:auto}.notifications-toolbar{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.notifications-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.notifications-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);overflow:hidden}.notifications-item.unread{background:var(--color-primary-highlight);border-color:#3b82f659}.notifications-item-link{gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;text-decoration:none;display:flex}.notifications-item-body{flex:1;min-width:0}.notifications-item-text{font-size:var(--text-sm);max-width:none;font-weight:600}.notifications-item-time{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.15rem;display:block}.feed-card-body{padding:.125rem var(--space-4) var(--space-4);gap:var(--space-2);display:grid}.feed-card-body>.feed-card-ratings:first-child{margin-top:0}.feed-card-caption{font-size:var(--text-sm);color:var(--color-text);max-width:none;line-height:1.55}.feed-card-caption-text{white-space:pre-wrap;color:var(--color-text)}.feed-card-warning{background:var(--color-error-highlight);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);border:1px solid #b91c1c47;display:grid}.feed-card-warning p{font-size:var(--text-sm);max-width:none}.feed-skeleton-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-zone-card);overflow:hidden}.feed-skeleton-header{gap:var(--space-3);padding:var(--space-4);display:flex}.feed-skeleton-author{flex:1;gap:.4rem;display:grid}.feed-skeleton-card .skeleton-image{aspect-ratio:1}.feed-skeleton-actions{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);display:flex}.feed-skeleton-pill{border-radius:var(--radius-full);width:3.5rem;height:1.5rem}.notifications-panel-backdrop{z-index:80;background:#0f172a47;position:fixed;inset:0}.notifications-panel{z-index:90;top:4.25rem;right:clamp(var(--space-4), 3vw, var(--space-8));border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);width:min(24rem,100vw - 2rem);max-height:min(32rem,100dvh - 6rem);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr;display:grid;position:fixed;overflow:hidden}.notifications-panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.notifications-panel-title{font-size:var(--text-base);margin:0;font-weight:800}.notifications-panel-header-actions{align-items:center;gap:var(--space-2);display:flex}.notifications-panel-mark-read{color:var(--color-primary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.notifications-panel-mark-read:hover{text-underline-offset:2px;text-decoration:underline}.notifications-panel-body{padding:var(--space-2);overflow-y:auto}.notifications-panel-status{padding:var(--space-3) var(--space-2)}.notifications-panel-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted)}.notifications-panel-empty p{color:var(--color-text);margin-bottom:.35rem;font-weight:700}.notifications-panel-empty span{font-size:var(--text-sm)}@media (width<=767px){.notifications-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:70dvh;inset:auto 0 0}}.feed-discover-backdrop{z-index:95;background:#0f172a52;position:fixed;inset:0}.feed-discover-panel{z-index:100;width:min(100% - var(--space-4), 24rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);max-height:min(88dvh,36rem);box-shadow:var(--shadow-lg);grid-template-rows:auto 1fr;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.feed-discover-panel--map{width:min(100vw - var(--space-4), 52rem);max-height:min(94dvh,56rem)}.feed-discover-panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.feed-discover-panel-title{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:-.01em;color:var(--color-text);margin:0;font-weight:700}.feed-discover-panel-close{border-radius:var(--radius-full);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-interactive), color var(--transition-interactive);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.feed-discover-panel-close:hover{background:var(--color-zone-canvas);color:var(--color-text)}.feed-discover-panel-body{padding:var(--space-4);overflow:auto}.feed-discover-panel--map .feed-discover-panel-body{min-height:0;padding:var(--space-3);flex-direction:column;display:flex}.feed-discover-panel--map .feed-sidebar-map-stage--expanded{flex:auto;width:100%;height:clamp(16rem,52dvh,30rem);min-height:clamp(14rem,42dvh,22rem)}@media (width>=768px){.feed-discover-panel--map .feed-discover-panel-body{padding:var(--space-4)}.feed-discover-panel--map .feed-sidebar-map-stage--expanded{height:clamp(20rem,58dvh,36rem);min-height:clamp(18rem,48dvh,28rem)}}@media (width>=1024px){.feed-discover-panel--map .feed-sidebar-map-stage--expanded{height:clamp(24rem,62dvh,40rem);min-height:clamp(22rem,54dvh,32rem)}}@media (width<=1599px){.feed-discover-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:85dvh;inset:auto 0 0;transform:none}.feed-discover-panel--map{max-height:92dvh}}.app-shell{background:var(--color-zone-canvas);min-height:100dvh}.skip-link{left:var(--space-3);z-index:999;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-5);font-weight:600;font-size:var(--text-sm);text-decoration:none;position:absolute;top:-5rem}.skip-link:focus-visible{top:var(--space-3);outline-offset:3px;outline:2px solid #fff}.app-topbar{z-index:50;justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--color-zone-topbar);height:3.75rem;box-shadow:var(--shadow-topbar);padding-inline:var(--layout-gutter);display:flex;position:sticky;top:0}@media (width>=768px){.app-topbar{grid-template-columns:var(--sidebar-width) minmax(0, 1fr) auto;align-items:center;gap:var(--space-3);height:4rem;padding-inline:0 var(--space-5);display:grid;position:sticky}}.brand-link{align-items:center;gap:var(--space-2);flex-shrink:0;text-decoration:none;display:inline-flex}@media (width>=768px){.brand-link{padding-left:var(--space-5);grid-column:1;justify-self:start;min-width:0}}@media (width<=767px){.brand-text{display:none}}@media (width>=768px) and (width<=1023px){.brand-text{display:none}.brand-link{justify-content:center;width:100%;padding-left:0}}.brand-text{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);letter-spacing:-.03em;font-weight:800;line-height:1}.topbar-main{min-width:0}@media (width>=768px){.topbar-main{grid-column:2;justify-content:center;min-width:0;padding-inline:0;display:flex}}.topbar-search-wrap{flex:1;width:100%;min-width:0;max-width:26rem;position:relative}@media (width>=768px){.topbar-search-wrap{flex:0 1 var(--content-column);width:100%;max-width:var(--content-column)}}@media (width>=768px) and (width<=1023px){.app-topbar{gap:var(--space-2);padding-inline:0 var(--space-4)}.topbar-search-wrap{flex:auto;max-width:min(100%,20rem)}.topbar-actions{gap:var(--space-1)}}.topbar-search{width:100%}.topbar-search-field .search-field-input{background:var(--color-zone-canvas);min-height:2.375rem;font-size:var(--text-sm)}.topbar-search-popup{z-index:40;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden}.topbar-search-popup .search-results-list{max-height:min(16rem,38dvh)}.topbar-search-popup .search-result-body{gap:.2rem}.topbar-search-popup .search-result-main{padding:var(--space-3) var(--space-4)}.topbar-search-popup .search-results-status,.topbar-search-error{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin:0}@media (width<=767px){.topbar-actions{gap:var(--space-1)}}.topbar-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}@media (width>=768px){.topbar-actions{flex-shrink:0;grid-column:3;position:static;transform:none}}.icon-button,button.icon-button,a.icon-button{min-width:var(--touch-target);height:var(--touch-target);cursor:pointer;border-radius:var(--radius-full);background:var(--color-zone-canvas);color:var(--color-text-muted);border:1px solid #1e2a3a1f;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}button.icon-button{appearance:none;font:inherit;padding:0}[data-theme=dark] .icon-button{background:var(--color-surface-offset);border-color:#e4eaf31a}.icon-button:hover{background:var(--color-surface-offset);border-color:var(--color-primary);color:var(--color-primary)}.icon-button:active{background:var(--color-surface-offset-2)}.icon-button svg,.theme-toggle svg{width:var(--icon-topbar);height:var(--icon-topbar);flex-shrink:0}.badge-count{border-radius:var(--radius-full);color:#fff;text-align:center;border:1.5px solid var(--color-zone-topbar);background:#dc2626;min-width:1.1rem;height:1.1rem;padding-inline:.2rem;font-size:.6875rem;font-weight:700;line-height:1.1rem;position:absolute;top:-.2rem;right:-.2rem}.theme-toggle{min-width:var(--touch-target);height:var(--touch-target);cursor:pointer;border-radius:var(--radius-full);background:var(--color-zone-canvas);color:var(--color-text-muted);font:inherit;border:1px solid #1e2a3a1f;justify-content:center;align-items:center;padding:0;display:inline-flex}button.theme-toggle{appearance:none}[data-theme=dark] .theme-toggle{background:var(--color-surface-offset);border-color:#e4eaf31a}.theme-toggle:hover{background:var(--color-surface-offset);border-color:var(--color-primary);color:var(--color-primary)}.app-body{min-height:calc(100dvh - 3.75rem);display:flex}@media (width>=768px){.app-body{min-height:calc(100dvh - 4rem)}}.app-sidebar{display:none}@media (width>=768px){.app-sidebar{width:var(--sidebar-width);border-right:1px solid var(--color-divider);background:var(--color-zone-sidebar);height:calc(100dvh - 4rem);padding:var(--space-5) var(--space-3);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:4rem;overflow:hidden auto}}@media (width>=1024px){.app-sidebar{padding:var(--space-5) var(--space-4)}}@media (width>=1280px){.app-sidebar{padding-inline:var(--space-5)}}.sidebar-nav{gap:var(--space-1);flex-direction:column;flex:1;justify-content:center;width:100%;display:flex}.sidebar-link,a.sidebar-link,button.sidebar-link{min-height:var(--touch-target);align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;width:100%;transition:background var(--transition-interactive), color var(--transition-interactive);font-weight:500;text-decoration:none;display:flex;overflow:hidden}button.sidebar-link{appearance:none;text-align:left;background:0 0;border:none}.sidebar-link:hover{color:var(--color-text);background:#ffffff52}.sidebar-link:active{background:#ffffff85}[data-theme=dark] .sidebar-link:hover{color:var(--color-text);background:#ffffff12}[data-theme=dark] .sidebar-link:active{background:#ffffff1f}.sidebar-link.active{background:var(--color-primary-highlight);color:var(--color-primary);font-weight:600}.sidebar-cta-item{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-divider)}.sidebar-link-cta{background:var(--color-primary-highlight);color:var(--color-primary);font-weight:700}.sidebar-link-cta:hover{background:var(--color-primary);color:#fff}[data-theme=dark] .sidebar-link-cta{background:var(--color-primary-highlight);color:var(--color-primary)}[data-theme=dark] .sidebar-link-cta:hover{background:var(--color-primary);color:#fff}.sidebar-link-icon{width:var(--icon-sidebar);height:var(--icon-sidebar);flex-shrink:0}.sidebar-link-label{font-size:var(--text-sm);display:none}@media (width>=1024px){.sidebar-link-label{display:block}}@media (width>=768px) and (width<=1023px){.app-sidebar{padding-inline:var(--space-2)}.sidebar-link,.sidebar-logout{min-height:var(--touch-target);justify-content:center;padding-inline:0}.sidebar-link-icon,.sidebar-logout .sidebar-link-icon{width:var(--icon-sidebar-compact);height:var(--icon-sidebar-compact)}.sidebar-link{position:relative}.sidebar-link:after{content:attr(data-label);left:calc(100% + var(--space-2));background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-interactive);z-index:100;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.sidebar-link:hover:after{opacity:1}}.sidebar-footer{gap:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--color-divider);flex-direction:column;margin-top:auto;display:flex}.sidebar-logout{min-height:var(--touch-target);align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);color:var(--color-text-muted);font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;text-align:left;cursor:pointer;width:100%;transition:background var(--transition-interactive), color var(--transition-interactive);background:0 0;border:none;font-weight:500;display:flex;overflow:hidden}.sidebar-logout:hover:not(:disabled){color:#b91c1c;background:#b91c1c1c}[data-theme=dark] .sidebar-logout:hover:not(:disabled){color:#f87171;background:#f871711f}.sidebar-logout:disabled{opacity:.5;cursor:not-allowed}@media (width>=768px) and (width<=1023px){.sidebar-footer{align-items:center}.sidebar-logout{justify-content:center;padding-inline:0}}.page-loading{width:100%;min-height:12rem;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.page-loading-label{font-size:.9375rem}.page-content{width:100%;min-width:0;max-width:var(--content-wide);padding-top:var(--layout-pad-top);padding-inline:var(--layout-gutter);padding-bottom:calc(var(--layout-pad-top) + env(safe-area-inset-bottom,0px));flex:1}@media (width<=767px){.page-content{padding-bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom,0px) + var(--layout-pad-top))}}@media (width>=768px){.page-content{flex-direction:column;align-items:center;display:flex}.page-content>:is(.feed-page,.profile-page,.restaurant-page,.restaurant-search-page,.saved-page,.settings-page,.friends-page,.friend-requests-page){width:100%;max-width:var(--content-column)}.page-content>.insights-page{width:100%;max-width:var(--content-insights)}}@media (width>=1600px){:is(.page-content:has(.feed-page),.page-content:has(.profile-page--own)){align-items:stretch;max-width:none;padding-inline:0}.page-content>.feed-page,.page-content>.profile-page--own{width:100%;max-width:none}}.mobile-tabbar{display:none}@media (width<=767px){.mobile-tabbar{z-index:60;min-height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom,0px));padding-top:.25rem;padding-inline:var(--space-2);padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-divider);background:var(--color-zone-topbar);box-shadow:0 -1px 0 var(--color-divider);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.topbar-actions .icon-button svg,.topbar-actions .theme-toggle svg{width:var(--icon-topbar-mobile);height:var(--icon-topbar-mobile)}}.mobile-tab{min-width:var(--touch-target);min-height:var(--mobile-tabbar-height);color:var(--color-text-muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.25rem 0;text-decoration:none;display:flex;position:relative}.mobile-tab:active{opacity:.7}.mobile-tab.active{color:var(--color-primary);font-weight:600}.mobile-tab.active:before{content:"";border-radius:var(--radius-full);background:var(--color-primary);height:2px;position:absolute;top:0;left:30%;right:30%}.mobile-tab-icon{width:var(--icon-tab);height:var(--icon-tab);flex-shrink:0}.mobile-tab-label{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:4.5rem;font-size:.6875rem;font-weight:600;line-height:1.15;overflow:hidden}.mobile-tab-create{width:var(--touch-target-lg);height:var(--touch-target-lg);min-width:var(--touch-target-lg);min-height:var(--touch-target-lg);border-radius:var(--radius-full);border:2px solid var(--color-zone-topbar);background:var(--color-primary);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--color-primary) 32%, transparent);place-self:center;margin:0;padding:0}[data-theme=dark] .mobile-tab-create{box-shadow:0 2px 8px color-mix(in srgb, var(--color-primary) 22%, transparent)}.mobile-tab-create:before{display:none}.mobile-tab-create:active{background:var(--color-primary-hover);transform:scale(.96)}.mobile-tab-create .mobile-tab-icon{width:var(--icon-tab-create);height:var(--icon-tab-create)}@media (width<=767px){.hide-on-mobile{display:none!important}}.auth-layout{background:var(--color-zone-canvas);min-height:100dvh;padding:var(--space-6) var(--space-4);place-items:center;display:grid}.auth-layout--split{width:100%}.auth-layout--split .auth-page-content{gap:var(--space-5)}.auth-layout--split .auth-card--split-match{width:100%;padding:var(--space-6);gap:var(--space-4)}.auth-layout--split .auth-intro{gap:var(--space-4)}.auth-layout--split .auth-signup-block{width:fit-content;max-width:100%;margin-inline:auto;margin-top:var(--space-2);gap:0;display:grid}.auth-layout--split .auth-actions{width:100%;margin-top:var(--space-8)}.auth-layout--split .auth-value-props{width:100%;margin:0;padding:0;display:grid}.auth-signup-block .auth-value-props{margin:0}@media (width>=900px){.auth-layout--split{-moz-column-gap:var(--space-10);justify-content:center;align-items:center;column-gap:var(--space-10);width:100%;padding:var(--space-8) var(--space-6);grid-template-rows:auto;grid-template-columns:24rem 26rem;margin-inline:auto}.auth-layout--split .auth-marketing-panel{display:contents}.auth-layout--split .auth-marketing-preview-stage{gap:var(--space-2);flex-direction:column;grid-area:1/1;display:flex}.auth-layout--split .auth-page-content{flex-direction:column;grid-area:1/2;align-items:stretch;width:100%;max-width:none;display:flex}.auth-layout--split .auth-footer-copy{text-align:left;max-width:none;padding-inline:var(--space-6);margin:0;line-height:1.55}.auth-layout--split .auth-signup-block{width:100%;padding-inline:var(--space-6);margin-inline:0}}.auth-page-content{gap:var(--space-8);width:100%;max-width:28rem;display:grid}.auth-card{gap:var(--space-5);border-radius:var(--radius-2xl);background:var(--color-zone-card);width:100%;box-shadow:var(--shadow-md);padding:var(--space-8);border:1px solid #1e2a3a14;display:grid}[data-theme=dark] .auth-card{border-color:#e4eaf314}@media (width<=480px){.auth-card{padding:var(--space-6);border-radius:var(--radius-xl)}}.auth-intro{text-align:center;justify-items:center;gap:var(--space-5);display:grid}.auth-brand-lockup{align-items:center;gap:var(--space-2);display:inline-flex}.auth-logo-badge{border-radius:var(--radius-xl);background:var(--color-primary-highlight);width:2.75rem;height:2.75rem;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.auth-brand-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text);font-weight:800;line-height:1}.auth-copy-block{gap:var(--space-2);display:grid}.auth-tagline{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text);text-wrap:balance;max-width:22ch;margin-inline:auto;font-size:clamp(1.75rem,1.35rem + 1vw,2.25rem);font-weight:700;line-height:1.2}.auth-subtitle{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);max-width:36ch;margin-inline:auto;line-height:1.65}.auth-value-props{margin:var(--space-2) 0 0;gap:var(--space-2);text-align:left;width:100%;padding:0;list-style:none;display:grid}.auth-value-prop{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.45;display:flex}.auth-value-prop-icon{border-radius:var(--radius-md);background:var(--color-primary-highlight);width:1.75rem;height:1.75rem;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.auth-actions{gap:var(--space-3);display:grid}.auth-google-btn{justify-content:center;align-items:center;gap:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2);width:100%;height:3rem;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex}.auth-google-btn:hover:not(:disabled){background:var(--color-surface-offset)}.auth-google-btn:active:not(:disabled){background:var(--color-surface-offset-2)}.auth-google-btn:disabled{opacity:.55;cursor:not-allowed}.auth-switch-copy{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.auth-switch-link{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-switch-link:hover{text-underline-offset:2px;text-decoration:underline}.auth-logout-link{padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-interactive);background:0 0;border:none;justify-content:center;justify-self:center;align-items:center;gap:.375rem;font-weight:500;display:inline-flex}.auth-logout-link:hover:not(:disabled){color:var(--color-error)}.auth-logout-link:disabled{opacity:.5;cursor:not-allowed}.auth-footer-copy{text-align:center;font-size:var(--text-xs);color:var(--color-text-faint);text-wrap:pretty;margin:0;line-height:1.6}.auth-footer-row1{white-space:nowrap;display:block}.auth-footer-row2{display:block}@media (width<=359px){.auth-footer-row1{white-space:normal}}.auth-step-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);font-weight:700}.auth-form{gap:var(--space-4);display:grid}.auth-field{gap:var(--space-2);display:grid}.auth-field-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.auth-username-input-wrap{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-2);min-height:3rem;transition:border-color var(--transition-interactive), box-shadow var(--transition-interactive);align-items:center;display:flex;overflow:hidden}.auth-username-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-highlight)}.auth-username-input-wrap:focus-within .auth-username-input{box-shadow:none;outline:none}.auth-username-prefix{padding-inline:var(--space-3) .15rem;color:var(--color-text-muted);font-size:var(--text-base);-webkit-user-select:none;user-select:none;font-weight:600}.auth-username-input{min-width:0;height:3rem;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);padding-inline:0 var(--space-3);box-shadow:none;background:0 0;border:none;outline:none;flex:1}.auth-username-input:focus,.auth-username-input:focus-visible{box-shadow:none;outline:none}.auth-username-input::placeholder{color:var(--color-text-faint)}.auth-display-name-input{padding-inline:var(--space-3)}.auth-field-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.auth-submit-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;width:100%;min-height:3rem;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-interactive), transform .12s ease;border:none;font-weight:700;display:inline-flex}.auth-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.auth-submit-btn:active:not(:disabled){background:var(--color-primary-active);transform:scale(.99)}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-loading-screen{place-items:center;gap:var(--space-3);min-height:100dvh;color:var(--color-text-muted);font-size:var(--text-sm);display:grid}@keyframes spin{to{transform:rotate(360deg)}}.auth-spinner{border-radius:var(--radius-full);border:2.5px solid var(--color-border);border-top-color:var(--color-primary);width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes appMenuFadeIn{0%{opacity:0}to{opacity:1}}.app-menu-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;animation:.16s appMenuFadeIn;position:fixed;inset:0}.app-menu-panel{z-index:90;background:var(--color-zone-card);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);position:fixed;overflow:hidden}@media (width<=767px){.app-menu-panel{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding-bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom,0px));border-bottom:none;transition:transform .24s cubic-bezier(.16,1,.3,1);bottom:0;left:0;right:0;transform:translateY(100%)}.app-menu-panel.open{transform:translateY(0)}}@media (width>=768px){.app-menu-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.app-menu-panel{top:4.35rem;right:var(--space-5);width:min(17rem, calc(100vw - var(--space-8)));border-radius:var(--radius-xl);opacity:0;pointer-events:none;transition:opacity .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);transform:translateY(-.35rem)scale(.98)}.app-menu-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}}.app-menu-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.app-menu-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text);font-weight:700}.app-menu-body{padding:var(--space-2);gap:.15rem;display:grid}.app-menu-item{min-height:var(--touch-target);align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-weight:500;text-decoration:none;display:flex}.app-menu-item svg{width:var(--icon-sheet);height:var(--icon-sheet);flex-shrink:0}.app-menu-item-label{flex:1;min-width:0}.app-menu-badge{border-radius:var(--radius-full);background:var(--color-primary);min-width:1.25rem;height:1.25rem;color:var(--color-text-inverse);font-size:.6875rem;font-weight:var(--font-weight-chrome);text-align:center;flex-shrink:0;padding-inline:.35rem;line-height:1.25rem}.app-menu-item:hover{background:var(--color-surface-offset)}.app-menu-item:active{background:var(--color-surface-offset-2)}.app-menu-logout{color:var(--color-error)}.app-menu-logout:hover{background:var(--color-error-highlight)}.app-menu-logout:disabled{opacity:.5;cursor:not-allowed}.app-menu-divider{background:var(--color-divider);height:1px;margin:var(--space-1) var(--space-2)}.theme-preference{align-items:stretch;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.theme-preference-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.theme-preference-segments{width:100%}.theme-preference-segments .filter-segment{flex:1 1 0;min-width:0}.theme-preference--compact .theme-preference-segments .filter-segment{padding-inline:.55rem}.auth-theme-picker{top:var(--space-4);right:var(--space-4);z-index:50;width:min(14rem, calc(100vw - 2 * var(--space-4)));position:fixed}@media (width>=768px){.app-menu-item--mobile-only,.app-menu-divider--mobile-only{display:none}}@media (width>=1600px){.app-menu-item--feed-discover,.app-menu-divider--feed-discover{display:none}}.dining-log-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;position:fixed;inset:0}.dining-log-backdrop-raised{z-index:90}.dining-log-modal{z-index:85;width:min(100% - var(--space-4), 34rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);height:min(92dvh,52rem);max-height:92dvh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.dining-log-header{gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-divider);background:var(--color-zone-card);z-index:2;flex-shrink:0;display:grid;position:relative;overflow:visible}.dining-log-header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.dining-log-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:800}.dining-log-step-label{font-size:var(--text-xs);color:var(--color-text-muted);max-width:none;margin-top:.15rem}.dining-log-steps{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.dining-log-step-bar{border-radius:var(--radius-full);background:var(--color-surface-offset);height:.2rem}.dining-log-step-bar.active{background:var(--color-primary)}.dining-log-draft-chip{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);margin:0}.dining-log-search-wrap{gap:var(--space-2);display:grid;position:relative}.dining-log-search-field{align-items:center;width:100%;display:flex;position:relative}.dining-log-search-icon{z-index:1;width:1.125rem;height:1.125rem;color:var(--color-text-muted);pointer-events:none;flex-shrink:0;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.dining-log-search-input{padding-block:0;width:100%;height:2.75rem;padding-left:2.85rem;padding-right:var(--space-3);text-indent:0}.dining-log-results-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);box-shadow:var(--shadow-md);overflow:hidden}.dining-log-results-status{padding:var(--space-4);font-size:var(--text-sm);max-width:none}.dining-log-form{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dining-log-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-width:0;min-height:0;overflow:clip auto}.dining-log-panel{gap:var(--space-4);padding:var(--space-4);min-width:0;display:grid}.dining-log-section{gap:var(--space-3);min-width:0;display:grid}.dining-log-section-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);min-width:0;overflow-x:clip}.dining-log-date-field{align-items:center;gap:var(--space-2);width:100%;min-width:0;max-width:100%;min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);display:flex;position:relative;overflow:hidden}.dining-log-date-display{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-base);color:var(--color-text);pointer-events:none;flex:1;line-height:1.5;overflow:hidden}.dining-log-date-display.is-empty{color:var(--color-text-faint)}.dining-log-date-icon{color:var(--color-text-muted);pointer-events:none;flex-shrink:0}.dining-log-date-input-native{color:#0000;caret-color:#0000;cursor:pointer;opacity:1;-webkit-user-select:none;user-select:none;appearance:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.dining-log-date-input-native::selection{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-fields-wrapper{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-text{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-month-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-day-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-year-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-hour-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-minute-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-ampm-field{color:#0000;background:0 0}.dining-log-date-input-native::-webkit-datetime-edit-month-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-datetime-edit-day-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-datetime-edit-year-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-datetime-edit-hour-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-datetime-edit-minute-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-datetime-edit-ampm-field:focus{background:0 0;outline:none}.dining-log-date-input-native::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.dining-log-date-input-native:focus-visible{outline:none}.dining-log-date-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a6bb526}.dining-log-results{gap:0;max-height:min(16rem,38dvh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.dining-log-result-item{text-align:left;width:100%;padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-divider);cursor:pointer;background:0 0;display:flex}.dining-log-result-item:last-child{border-bottom:none}.dining-log-result-item:hover{background:var(--color-primary-highlight)}.dining-log-result-icon{border-radius:var(--radius-lg);background:var(--color-primary-highlight);width:2.5rem;height:2.5rem;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.dining-log-result-body{flex:1;gap:.2rem;min-width:0;display:grid}.dining-log-result-name{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.dining-log-result-cuisine{justify-self:start}.dining-log-result-address{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.45}.dining-log-selected{-moz-column-gap:var(--space-3);column-gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-success-highlight);font-size:var(--text-sm);color:var(--color-success);border:1px solid #1c653859;grid-template-columns:auto 1fr;row-gap:.2rem;display:grid}.dining-log-selected-icon{flex-shrink:0;grid-area:1/1;align-self:center}.dining-log-selected-name{min-width:0;font-size:inherit;color:var(--color-success);grid-area:1/2;font-weight:700;line-height:1.3}.dining-log-selected-cuisine{grid-column:2;justify-self:start}.dining-log-selected-address{grid-column:2;min-width:0;line-height:1.45}.dining-log-where{-moz-column-gap:var(--space-3);column-gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-card);grid-template-columns:auto 1fr;row-gap:.15rem;display:grid}.dining-log-where-icon-wrap{border-radius:var(--radius-md);background:var(--color-primary-highlight);width:1.5rem;height:1.5rem;color:var(--color-primary);grid-area:1/1;align-self:center;place-items:center;line-height:0;display:grid}.dining-log-where-icon{flex-shrink:0;display:block}.dining-log-where-name{min-width:0;font-size:var(--text-sm);color:var(--color-text);grid-area:1/2;font-weight:600;line-height:1.3}.dining-log-where-address{font-size:var(--text-sm);grid-column:2;max-width:none;line-height:1.45}.dining-log-photo-grid{gap:var(--space-2);touch-action:pan-y;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dining-log-photo-grid:not(.has-photos){grid-template-columns:1fr}.dining-log-photo-grid:not(.has-photos) .dining-log-photo-add,.dining-log-photo-dropzone{flex-direction:column;justify-content:center;min-height:9rem}.dining-log-photo-grid.is-dragging-files .dining-log-photo-add,.dining-log-photo-grid.is-dragging-files .dining-log-photo-dropzone{border-color:var(--color-primary);background:var(--color-primary-highlight);color:var(--color-primary)}.dining-log-photo-nudge{font-size:var(--text-sm);color:var(--color-primary);font-weight:600}.dining-log-photo-dropzone-nudge{animation:2.4s ease-in-out infinite dining-log-photo-nudge}@keyframes dining-log-photo-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.meal-type-chips{flex-wrap:wrap;gap:.35rem;display:flex}.meal-type-chip{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-zone-canvas);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-interactive), border-color var(--transition-interactive), color var(--transition-interactive);padding:.4rem .7rem;font-weight:600}.meal-type-chip:hover{color:var(--color-text);border-color:var(--color-primary)}.meal-type-chip-active{background:var(--color-primary-highlight);border-color:var(--color-primary);color:var(--color-primary)}.dining-log-exact-time-toggle{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-weight:600}.dining-log-exact-time-toggle:hover{text-decoration:underline}.dining-log-photo-dropzone-title{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.dining-log-photo-reorder-hint{font-size:var(--text-xs);grid-column:1/-1;max-width:none;margin:0}.dining-log-photo-add{justify-content:center;align-items:center;gap:var(--space-2);min-height:5.5rem;padding:var(--space-3);border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition-interactive), color var(--transition-interactive), background-color var(--transition-interactive);font-weight:600;display:inline-flex}.dining-log-photo-hint{font-size:var(--text-xs);color:var(--color-text-faint);font-weight:500}.dining-log-photo-add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}.dining-log-photo-thumb{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-canvas);touch-action:pan-y;transition:border-color var(--transition-interactive), box-shadow var(--transition-interactive), opacity var(--transition-interactive);flex-shrink:0;position:relative;overflow:hidden}.dining-log-photo-thumb.is-reorderable{cursor:default}.dining-log-photo-thumb.is-reorderable.is-dragging{opacity:.45}.dining-log-photo-thumb.is-drop-target{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-highlight)}.dining-log-photo-cover-badge{left:var(--space-2);bottom:var(--space-2);padding:.15rem var(--space-2);border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;background:#0f172ab8;font-weight:700;position:absolute}.dining-log-photo-grip{top:var(--space-2);left:var(--space-2);border-radius:var(--radius-full);width:1.5rem;height:1.5rem;color:var(--color-text-muted);box-shadow:var(--shadow-sm);cursor:grab;touch-action:none;background:#ffffffe0;border:none;place-items:center;padding:0;display:grid;position:absolute}.dining-log-photo-grip:active{cursor:grabbing}.dining-log-photo-more{border:1.5px dashed var(--color-border);background:var(--color-zone-card);color:var(--color-text-muted);cursor:pointer;place-items:center;display:grid}.dining-log-photo-more:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}.dining-log-metadata-hint{font-size:var(--text-sm);max-width:none}.dining-log-metadata-empty{gap:var(--space-3);justify-items:start;display:grid}.dining-log-metadata-card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-card);display:grid}.dining-log-metadata-main{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.dining-log-metadata-datetime{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text);flex-wrap:wrap;font-weight:600;display:flex}.dining-log-auto-badge{padding:.1rem var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;align-items:center;font-weight:700;display:inline-flex}.dining-log-metadata-edit-btn{flex-shrink:0;min-width:2.25rem;height:2.25rem}.dining-log-metadata-line{align-items:center;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;max-width:none;margin:0;display:flex}.dining-log-metadata-line strong{color:var(--color-text);font-weight:600}.dining-log-metadata-edit{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-canvas);display:grid}.dining-log-metadata-edit-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.dining-log-photo-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.dining-log-photo-remove{border-radius:var(--radius-full);color:#fff;background:#0f172ab8;place-items:center;width:1.5rem;height:1.5rem;display:grid;position:absolute;top:.25rem;right:.25rem}.dining-log-scales{gap:var(--space-3);display:grid}.scale-rating{gap:var(--space-2);display:grid}.scale-rating-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);line-height:1.2;display:flex}.scale-rating-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.scale-rating-value{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;font-weight:600}.scale-rating-segmented{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.scale-rating-segment{border:none;border-right:1px solid var(--color-border);min-height:2.75rem;font-size:var(--text-base);color:var(--color-text-muted);cursor:pointer;background:0 0;font-weight:700}.scale-rating-segment:last-child{border-right:none}.scale-rating-segment.active{background:var(--color-primary);color:#fff}.scale-rating-segment:not(.active):hover{background:var(--color-primary-highlight);color:var(--color-primary)}.dining-log-panel-step2{padding-top:var(--space-3)}.dining-log-unified-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);overflow:hidden}.dining-log-subsection{gap:var(--space-3);padding:var(--space-4);display:grid}.dining-log-subsection-divider{background:var(--color-divider);height:1px}.dining-log-category-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=360px){.dining-log-category-grid{grid-template-columns:1fr}}.category-star-rating{gap:var(--space-1);display:grid}.category-star-rating .social-section-title{font-size:var(--text-sm)}.category-star-rating .star-rating--compact .star-rating-stars{justify-content:flex-start}.dining-log-ratings-lead,.dining-log-ratings-hint{font-size:var(--text-sm);margin:0;line-height:1.45}.dining-log-ratings-overall{gap:var(--space-2);margin-top:var(--space-2);display:grid}.dining-log-post-preview{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);display:grid}.dining-log-post-preview-label{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:700}.dining-log-post-preview-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);display:grid}.dining-log-post-preview-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dining-log-post-preview-restaurant{min-width:0;font-size:var(--text-sm);color:var(--color-text);font-weight:700}.dining-log-post-preview-card .feed-card-ratings{font-size:var(--text-sm)}.dining-log-optional-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.dining-log-tag-groups{gap:var(--space-3);display:grid}.dining-log-tag-group{gap:var(--space-2);display:grid}.dining-log-tag-group-label{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;font-weight:600}.dining-log-field-stack{gap:var(--space-3);display:grid}.dining-log-tags,.dining-log-friends{gap:var(--space-2);flex-wrap:wrap;display:flex}.dining-log-companion-count{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.dining-log-meta-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dining-log-visibility{gap:var(--space-2);flex-wrap:wrap;display:flex}.dining-log-footer{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-zone-card);flex-shrink:0;display:grid;box-shadow:0 -4px 12px #1e3c720a}.dining-log-footer-error{font-size:var(--text-xs);margin:0}.dining-log-footer-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.dining-log-footer-actions .btn-primary{border-radius:var(--radius-full);min-width:6.5rem}.dining-log-back-btn{align-items:center;gap:var(--space-1);display:inline-flex}.dining-log-confirm{z-index:95;width:min(100% - var(--space-6), 20rem);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-zone-card);box-shadow:var(--shadow-lg);gap:var(--space-3);display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dining-log-confirm h3{font-size:var(--text-sm);font-weight:700}.dining-log-confirm p{font-size:var(--text-sm);max-width:none;line-height:1.5}.dining-log-confirm-actions{gap:var(--space-2);display:grid}.dining-log-confirm-actions-row{gap:var(--space-2);display:flex}.dining-log-confirm-actions-row .btn{min-height:2.25rem;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);flex:1}.dining-log-confirm-keep{font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;text-align:center;background:0 0;border:none;padding:0;font-weight:600}.dining-log-confirm-keep:hover{color:var(--color-text)}.price-range-chips{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.price-range-chip{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);font-family:var(--font-body);text-align:left;cursor:pointer;transition:background var(--transition-interactive), border-color var(--transition-interactive), color var(--transition-interactive);gap:.1rem;padding:.55rem .65rem;display:grid}.price-range-chip:hover{border-color:var(--color-primary)}.price-range-chip-active{border-color:var(--color-primary);background:var(--color-primary-highlight);color:var(--color-primary)}.price-range-chip-label{font-size:var(--text-base);letter-spacing:.02em;font-weight:800;line-height:1.2}.price-range-chip-hint{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500;line-height:1.3}.price-range-chip-active .price-range-chip-hint{color:var(--color-primary);opacity:.85}.dining-log-hashtag-preview{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=639px){.dining-log-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;min-width:0;max-width:100%;height:94dvh;max-height:94dvh;inset:auto 0 0 auto;transform:none}.dining-log-date-display,.dining-log-date-input-native{font-size:16px}.dining-log-photo-dropzone-nudge{animation:none}}.legal-shell{background:var(--color-zone-canvas);min-height:100dvh}.legal-shell-content{width:100%;max-width:var(--content-column);padding:calc(var(--layout-pad-top) + var(--space-2)) var(--layout-gutter) var(--space-10);margin:0 auto}@media (width>=768px){.legal-shell-content{max-width:var(--content-legal)}}.legal-page{width:100%}.legal-page-header{scroll-margin-top:calc(var(--layout-pad-top) + var(--space-4))}.legal-page .page-header{gap:var(--space-3);margin-bottom:var(--space-5)}.legal-page-back{width:fit-content;font-size:var(--text-sm)}.legal-page-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;line-height:1.5}.legal-document{font-size:var(--text-base);color:var(--color-text);padding-inline:var(--space-6);gap:0;line-height:1.65;display:grid}@media (width>=640px){.legal-document{padding-inline:var(--space-8)}}@media (width>=1024px){.legal-document{padding-inline:var(--space-10)}}.legal-document-intro{gap:var(--space-3);margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-divider);font-size:var(--text-base);color:var(--color-text-muted);display:grid}.legal-document-intro p{margin:0}.legal-section{margin-bottom:var(--space-5);scroll-margin-top:calc(var(--layout-pad-top) + var(--space-6))}.legal-section>:last-child{margin-bottom:0}.legal-section-title{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-weight-title);letter-spacing:-.01em;color:var(--color-text);line-height:1.35}.legal-section p{margin:0 0 var(--space-3)}.legal-section ul,.legal-subsection ul{margin:0 0 var(--space-3);padding-left:1.5rem;list-style:outside}.legal-section li,.legal-subsection li{margin-bottom:var(--space-2);display:list-item}.legal-section li:last-child,.legal-subsection li:last-child{margin-bottom:0}.legal-subsection{margin-top:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--color-divider)}.legal-subsection>:last-child{margin-bottom:0}.legal-subsection-title{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);font-weight:600;line-height:1.4}.legal-subsection p{margin:0 0 var(--space-3)}.legal-document-footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-divider);gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:grid}.legal-document-footer p{margin:0;line-height:1.55}.legal-table-wrap{margin:0 0 var(--space-4)}.legal-table-scroll-hint{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:none}.legal-table-caption{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.legal-table-cards{gap:var(--space-3);display:grid}.legal-table-card{padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-zone-canvas);margin:0}.legal-table-card-title{margin:0 0 var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);font-weight:600;line-height:1.4}.legal-table-card-grid{gap:var(--space-3);margin:0;display:grid}.legal-table-card-row{gap:var(--space-1);display:grid}.legal-table-card-row dt{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-weight:600}.legal-table-card-row dd{font-size:var(--text-sm);color:var(--color-text);margin:0;line-height:1.5}.legal-table-desktop{display:none}@media (width>=900px){.legal-table-cards{display:none}.legal-table-desktop{-webkit-overflow-scrolling:touch;border:1px solid var(--color-divider);border-radius:var(--radius-md);display:block;overflow-x:auto}.legal-table-scroll-hint{display:block}@media (width>=1200px){.legal-table-scroll-hint{display:none}}}.legal-table{border-collapse:collapse;width:100%;min-width:52rem;font-size:var(--text-sm);line-height:1.5}.legal-table th,.legal-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);text-align:left;vertical-align:top}.legal-table tr:last-child td,.legal-table tr:last-child th{border-bottom:0}.legal-table th{z-index:1;font-weight:600;font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;background:var(--color-zone-canvas);color:var(--color-text-muted);box-shadow:inset 0 -1px 0 var(--color-divider);position:sticky;top:0}.legal-table td{color:var(--color-text)}.legal-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-zone-canvas) 45%, transparent)}.legal-table td:first-child,.legal-table th:first-child{color:var(--color-text);min-width:8rem;font-weight:600}@media (width>=1200px){.legal-table{min-width:0}.legal-table-desktop{overflow-x:visible}}.legal-page .page-header a.app-link,.legal-document a.app-link{color:var(--color-primary);transition:color var(--transition-interactive);font-weight:600;text-decoration:none}.legal-page .page-header a.app-link:hover,.legal-document a.app-link:hover{color:var(--color-primary-hover);text-underline-offset:2px;text-decoration:underline}.legal-page .page-header a.app-link:focus-visible,.legal-document a.app-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.rating-pill{font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;align-items:center;gap:.35rem;font-weight:700;line-height:1;display:inline-flex}.rating-pill--subtle,.rating-pill--highlighted{color:var(--color-primary);background:var(--color-primary-highlight);border-radius:var(--radius-md);padding:.5rem .8rem}.rating-pill-star{width:1em;height:1em;color:var(--color-star);flex-shrink:0;display:block;transform:translateY(-.04em)}.rating-pill-score{font-variant-numeric:tabular-nums;line-height:1;display:block}:root,[data-theme=light]{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl:clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-16:4rem;--touch-target:2.75rem;--touch-target-lg:3rem;--mobile-tabbar-height:3.5rem;--icon-topbar:1.125rem;--icon-topbar-mobile:1.25rem;--icon-sidebar:1.25rem;--icon-sidebar-compact:1.5rem;--icon-tab:1.5rem;--icon-tab-create:1.5rem;--icon-sheet:1.25rem;--font-display:"Plus Jakarta Sans", "Helvetica Neue", sans-serif;--font-body:"DM Sans", "Helvetica Neue", sans-serif;--font-weight-chrome:600;--font-weight-title:700;--font-weight-display:800;--color-zone-topbar:#fff;--color-zone-sidebar:#e8eef6;--color-zone-canvas:#f5f6f8;--color-zone-card:#fff;--color-surface:#fff;--color-surface-2:#f8f9fb;--color-surface-offset:#edf2f7;--color-surface-offset-2:#e2eaf3;--color-surface-dynamic:#d3dde9;--color-divider:#e2e8f0;--color-border:#d1dbe8;--color-text:#1e2a3a;--color-text-muted:#4a5e74;--color-text-faint:#8fa3b8;--color-text-inverse:#fff;--color-primary:#1a6bb5;--color-primary-hover:#155d9e;--color-primary-active:#104d87;--color-primary-highlight:#deeaf8;--color-success:#1c6538;--color-success-hover:#164f2c;--color-success-highlight:#d3edd9;--color-error:#b91c1c;--color-error-hover:#991414;--color-error-highlight:#fde8e8;--color-warning:#8a3b0e;--color-warning-hover:#7a3309;--color-warning-highlight:#fef0c2;--color-star:#f59e0b;--color-star-empty:#d0dbe8;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 3px #1e3c7212, 0 1px 2px #1e3c720a;--shadow-md:0 4px 16px #1e3c7217, 0 2px 4px #1e3c720d;--shadow-lg:0 12px 36px #1e3c7221;--shadow-topbar:0 1px 0 #e2e8f0, 0 2px 8px #1e3c720d;--transition-interactive:.16s cubic-bezier(.16, 1, .3, 1);--content-narrow:640px;--content-default:960px;--content-wide:1200px;--content-column:34rem;--content-legal:58rem;--feed-aside-width:22rem;--content-feed:min(52rem, 100%);--content-insights:min(56rem, 100%);--sidebar-width:0px;--layout-gutter:clamp(var(--space-4), 3vw, var(--space-8));--layout-pad-top:var(--space-4);--stack-gap:var(--space-4);--card-gap:var(--space-4)}@media (width>=768px){:root{--layout-gutter:var(--space-5);--layout-pad-top:var(--space-5)}}@media (width>=1024px){:root{--layout-gutter:var(--space-6)}}@media (width>=768px){:root{--sidebar-width:4rem}}@media (width>=1024px){:root{--sidebar-width:11rem}}@media (width>=1280px){:root{--sidebar-width:13rem}}[data-theme=dark]{--color-zone-topbar:#1d2436;--color-zone-sidebar:#141b28;--color-zone-canvas:#0e1117;--color-zone-card:#1d2436;--color-surface:#1d2436;--color-surface-2:#22293d;--color-surface-offset:#252d42;--color-surface-offset-2:#2c3550;--color-surface-dynamic:#333f5e;--color-divider:#202843;--color-border:#2a3455;--color-text:#e4eaf3;--color-text-muted:#8daabe;--color-text-faint:#4d617a;--color-text-inverse:#0e1117;--color-primary:#5ba3f0;--color-primary-hover:#3d8de0;--color-primary-active:#2576cc;--color-primary-highlight:#1a2e4f;--color-success:#4ada80;--color-success-hover:#22c55e;--color-success-highlight:#0e2318;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-highlight:#280f0f;--color-warning:#fbbf24;--color-warning-hover:#f59e0b;--color-warning-highlight:#271b07;--color-star:#fbbf24;--color-star-empty:#2a3455;--shadow-sm:0 1px 3px #0000005c;--shadow-md:0 4px 16px #0000007a;--shadow-lg:0 12px 36px #0000009e;--shadow-topbar:0 1px 0 #202843, 0 2px 8px #00000052}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-zone-topbar:#1d2436;--color-zone-sidebar:#141b28;--color-zone-canvas:#0e1117;--color-zone-card:#1d2436;--color-surface:#1d2436;--color-surface-2:#22293d;--color-surface-offset:#252d42;--color-surface-offset-2:#2c3550;--color-surface-dynamic:#333f5e;--color-divider:#202843;--color-border:#2a3455;--color-text:#e4eaf3;--color-text-muted:#8daabe;--color-text-faint:#4d617a;--color-text-inverse:#0e1117;--color-primary:#5ba3f0;--color-primary-hover:#3d8de0;--color-primary-active:#2576cc;--color-primary-highlight:#1a2e4f;--color-success:#4ada80;--color-success-hover:#22c55e;--color-success-highlight:#0e2318;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-highlight:#280f0f;--color-warning:#fbbf24;--color-warning-hover:#f59e0b;--color-warning-highlight:#271b07;--color-star:#fbbf24;--color-star-empty:#2a3455;--shadow-sm:0 1px 3px #0000005c;--shadow-md:0 4px 16px #0000007a;--shadow-lg:0 12px 36px #0000009e;--shadow-topbar:0 1px 0 #202843, 0 2px 8px #00000052}}*,:before,:after{box-sizing:border-box;margin:0;padding:0;text-shadow:none!important}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;scroll-padding-top:var(--space-16)}body{min-height:100dvh;line-height:1.65;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-zone-canvas)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}ul[role=list],ol[role=list]{list-style:none}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-wrap:balance;color:var(--color-text);line-height:1.2}p,li,figcaption{text-wrap:pretty;max-width:72ch}::selection{color:var(--color-text);background:#1a6bb52e}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}a,button,[role=button]{transition:color var(--transition-interactive), background-color var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive), opacity var(--transition-interactive)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{gap:var(--stack-gap);width:100%;display:grid}.card-stack{gap:var(--card-gap);display:grid}.page-header{gap:var(--space-1);display:grid}.page-header--with-icon{align-items:center;gap:var(--space-3);display:flex}.page-header-icon{border-radius:var(--radius-lg);background:var(--color-primary-highlight);width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:var(--color-primary);flex-shrink:0;place-items:center;display:grid}.page-header-icon svg{flex-shrink:0;width:1.25rem;height:1.25rem}.page-heading,.page-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;color:var(--color-text);margin:0;font-weight:700;line-height:1.25}.page-lead,.page-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);max-width:52ch;margin:0;line-height:1.5}.section-heading{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);align-items:center;gap:.4rem;margin:0;font-weight:600;line-height:1.4;display:inline-flex}@media (width>=768px) and (width<=1023px){.page-lead{display:none}}.muted{color:var(--color-text-muted);font-size:var(--text-sm)}a.app-link{color:var(--color-primary);transition:color var(--transition-interactive);font-weight:600;text-decoration:none}a.app-link:hover{color:var(--color-primary-hover)}a.app-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}a.app-link--inline{color:var(--color-primary);transition:color var(--transition-interactive);font-weight:600;text-decoration:none}a.app-link--inline:hover{color:var(--color-primary-hover);text-decoration:none}a.app-link--inline:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.auth-footer-copy .app-link--inline{color:var(--color-text-muted)}.auth-footer-copy .app-link--inline:hover{color:var(--color-primary)}.settings-muted .app-link,.settings-muted .app-link--inline{font-size:inherit}.period-district-filters{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);flex-wrap:wrap;display:flex}.period-district-filters--refreshing{opacity:.78;transition:opacity var(--transition-interactive)}.filter-segmented{border-radius:var(--radius-full);background:var(--color-zone-canvas);flex:auto;gap:.2rem;min-width:0;padding:.15rem;display:flex}.filter-segment{border-radius:var(--radius-full);min-width:0;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-chrome);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:background var(--transition-interactive), color var(--transition-interactive);background:0 0;border:none;flex:1 1 0;padding:.4rem .5rem}.filter-segment-short{display:none}@media (width<=767px){.period-district-filters{flex-direction:column;align-items:stretch;gap:.35rem;padding:.35rem}.filter-segmented{width:100%}.filter-segment-long{display:none}.filter-segment-short{display:inline}.filter-district-wrap{flex:auto;width:100%;min-width:0}.filter-district-select{font-size:var(--text-xs);padding-block:.4rem}}@media (width>=768px){.period-district-filters{padding:var(--space-3);gap:var(--space-3)}.filter-segmented{flex:0 auto}.filter-segment{flex:0 auto;min-width:5rem;padding:.45rem .85rem}.filter-district-wrap{flex:0 14rem;min-width:11rem;max-width:16rem}}.filter-segment:hover{color:var(--color-text)}.filter-segment-active{background:var(--color-zone-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.filter-district-wrap{flex:auto;min-width:0;position:relative}.filter-district{border-radius:var(--radius-full);background:var(--color-zone-canvas);padding:.15rem}.filter-district-select{border-radius:var(--radius-full);width:100%;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-chrome);color:var(--color-text-muted);cursor:pointer;appearance:none;transition:background var(--transition-interactive), color var(--transition-interactive), box-shadow var(--transition-interactive);background:0 0;border:none;padding:.4rem 1.75rem .4rem .65rem}.filter-district-wrap--selected .filter-district-select{background:var(--color-zone-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.filter-district-wrap:after{content:"";pointer-events:none;border-right:1.75px solid var(--color-text-muted);border-bottom:1.75px solid var(--color-text-muted);width:.5rem;height:.5rem;position:absolute;top:50%;right:.85rem;transform:translateY(-65%)rotate(45deg)}.filter-district-wrap--selected:after{border-color:var(--color-primary)}.filter-district-select:hover{color:var(--color-text)}.filter-district-select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width>=768px){.filter-district-select{padding:.45rem 1.85rem .45rem .85rem}}.card{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);box-shadow:var(--shadow-sm);transition:border-color var(--transition-interactive), box-shadow var(--transition-interactive)}.card-body{padding:var(--space-5)}@media (width>=640px){.card-body{padding:var(--space-6)}}.btn{min-height:var(--space-11);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-3) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-active)}.btn-secondary{background:var(--color-zone-card);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-offset);border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{color:var(--color-text-muted);background:0 0}.btn-ghost:hover{background:var(--color-surface-offset);color:var(--color-text)}.btn-sm{border-radius:var(--radius-md);min-height:2.25rem;padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.input,.select,.textarea{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas);width:100%;color:var(--color-text);padding:var(--space-3) var(--space-4);font-size:var(--text-base);transition:border-color var(--transition-interactive), box-shadow var(--transition-interactive);line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #1a6bb526}.input::-moz-placeholder{color:var(--color-text-faint)}.textarea::-moz-placeholder{color:var(--color-text-faint)}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea,.input,.select,.textarea{font-size:16px}}.label{margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600;display:block}.form-grid{gap:var(--space-5);display:grid}.status-error,.status-success,.status-notice{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid;line-height:1.55}.status-notice{border-color:var(--color-border);color:var(--color-text-muted);background:var(--color-surface-elevated)}.status-error{color:var(--color-error);background:var(--color-error-highlight);border-color:#b91c1c47}.status-message-title{margin:0 0 var(--space-1);font-weight:700;font-size:var(--text-sm);line-height:1.35}.status-message-body{margin:0;line-height:1.55}.status-success{color:var(--color-success);background:var(--color-success-highlight);border-color:#1c653847}.badge{border-radius:var(--radius-full);padding:.15rem var(--space-3);font-size:var(--text-xs);align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-primary{background:var(--color-primary-highlight);color:var(--color-primary)}.badge-warning{background:var(--color-warning-highlight);color:var(--color-warning)}.badge-success{background:var(--color-success-highlight);color:var(--color-success)}.avatar img,.avatar-fallback{border-radius:var(--radius-full);border:1px solid var(--color-border);-o-object-fit:cover;object-fit:cover;width:2.75rem;height:2.75rem}.avatar-fallback{background:var(--color-surface-offset);color:var(--color-text);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);place-items:center;display:grid}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);padding:var(--space-16) var(--space-8);text-align:center;place-items:center;gap:var(--space-3);color:var(--color-text-muted);display:grid}.empty-state-icon{font-size:2.25rem;line-height:1}.empty-state h3{font-size:var(--text-lg);color:var(--color-text);font-weight:700}.empty-state p{font-size:var(--text-sm);max-width:34ch}.utility-page{min-height:min(72vh,36rem);padding-block:var(--space-12);place-items:center;display:grid}.utility-page-card{text-align:center;gap:var(--space-4);width:min(100%,28rem);padding:var(--space-10) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-zone-card);box-shadow:var(--shadow-sm);justify-items:center;display:grid}.utility-page-icon{margin:0;font-size:3rem;line-height:1}.utility-page-title{font-size:var(--text-xl)}.utility-page-description{max-width:32ch;margin-inline:auto}.utility-page-action{margin-top:var(--space-2)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface-offset) 25%, var(--color-surface-dynamic) 50%, var(--color-surface-offset) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-heading{width:45%;height:1.4em;margin-bottom:var(--space-4)}.skeleton-avatar{border-radius:var(--radius-full);width:2.75rem;height:2.75rem}.skeleton-image{aspect-ratio:1;width:100%}.pill{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-zone-canvas);font-size:var(--text-xs);color:var(--color-text);align-items:center;gap:.3rem;padding:.28rem .65rem;font-weight:600;line-height:1.3;display:inline-flex}.pill-muted{color:var(--color-text-muted);background:0 0;font-weight:500}.pill-rating{color:var(--color-star);background:var(--color-warning-highlight);border-color:#f59e0b47}.pill-primary{background:var(--color-primary-highlight);color:var(--color-primary);border-color:#1a6bb547}.pill-hashtag{background:var(--color-zone-canvas);color:var(--color-primary);border-color:#1a6bb533;font-weight:600}.pill-active{border-color:var(--color-primary);background:var(--color-primary-highlight);color:var(--color-primary)}.pill-selectable{cursor:pointer;transition:border-color var(--transition-interactive), background-color var(--transition-interactive), color var(--transition-interactive)}.pill-selectable:hover:not(.pill-active){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}.star-rating{gap:var(--space-2);display:grid}.star-rating-stars{justify-content:center;gap:.2rem;display:flex}.star-rating-btn{border-radius:var(--radius-md);cursor:pointer;min-width:2.75rem;min-height:2.75rem;color:var(--color-star-empty);transition:color var(--transition-interactive), transform .12s ease;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.star-rating-btn svg{flex-shrink:0}.star-rating-btn.active{color:var(--color-star)}.star-rating-stars.is-hovering .star-rating-btn:not(.active){color:var(--color-star-empty)}.star-rating-btn:hover,.star-rating-btn:focus-visible{transform:scale(1.06)}.star-rating-btn:active{transform:scale(.95)}.star-rating--compact .star-rating-stars{justify-content:flex-start}.star-rating--compact .star-rating-btn{min-width:2rem;min-height:2rem}.social-section-title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.01em;color:var(--color-text);margin:0;font-weight:700;display:inline-flex}.social-surface{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-canvas)}.search-field{align-items:center;width:100%;display:flex;position:relative}.search-field-icon{z-index:1;color:var(--color-text-muted);pointer-events:none;flex-shrink:0;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.search-field-input{width:100%;min-height:2.75rem;padding-top:0;padding-bottom:0;padding-right:var(--space-3);padding-left:2.875rem}.search-field-input::-webkit-search-cancel-button{margin-right:.15rem}.search-results-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-zone-card);box-shadow:var(--shadow-md);overflow:hidden}.search-results-status{padding:var(--space-4);font-size:var(--text-sm);max-width:none}.search-results-list{gap:0;max-height:min(18rem,42dvh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--color-divider);background:var(--color-zone-card);align-items:stretch;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item.selected .search-result-main{background:var(--color-zone-canvas)}.search-result-main{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;flex:1;transition:background .15s;display:flex}.search-result-main:hover,.search-result-main:focus-visible{background:var(--color-zone-canvas)}.search-result-item.selected .search-result-icon{background:var(--color-primary);color:#fff}.search-result-icon{border-radius:var(--radius-lg);background:var(--color-zone-canvas);width:2.5rem;height:2.5rem;color:var(--color-text-muted);flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.search-result-main:hover .search-result-icon,.search-result-main:focus-visible .search-result-icon{background:var(--color-primary-highlight);color:var(--color-primary)}.search-result-body{flex:1;gap:.2rem;min-width:0;display:grid}.search-result-name{font-size:var(--text-sm);color:var(--color-text);font-weight:700}.search-result-cuisine{justify-self:start}.search-result-address{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.45}.save-restaurant-btn{cursor:pointer;color:var(--color-text-muted);border:none;transition:color .15s,background .15s,border-color .15s}.save-restaurant-btn:disabled{opacity:.55;cursor:not-allowed}.save-restaurant-btn-icon{background:0 0;place-items:center;display:grid}.save-restaurant-btn-icon.saved,.save-restaurant-btn-pill.saved{color:var(--color-primary)}.save-restaurant-btn-pill{height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-zone-canvas);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.save-restaurant-btn-pill:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-highlight)}.save-restaurant-btn-pill.saved{background:var(--color-primary-highlight);border-color:#1c653859}.search-result-actions{flex-shrink:0;display:flex}.restaurant-map-btn{border:1px solid var(--color-border);background:var(--color-zone-canvas);width:3rem;height:100%;min-height:3rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-interactive), background var(--transition-interactive), border-color var(--transition-interactive);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.restaurant-map-btn:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-highlight)}.search-result-save.save-restaurant-btn-icon{flex-shrink:0;width:3rem}.search-result-save.save-restaurant-btn-icon.saved,.search-result-save.save-restaurant-btn-icon:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-highlight)}.feed-card-save-btn.save-restaurant-btn-icon{width:auto;min-width:2.5rem;min-height:2.5rem}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-11{height:2.75rem}.h-9{height:2.25rem}.w-11{width:2.75rem}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-brand-700{--tw-text-opacity:1;color:rgb(37 95 150/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\:opacity-60::placeholder{opacity:.6}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}
