.VoteButtons-module__YPYmlG__voteContainer{align-items:center;gap:var(--space-2);display:flex}.VoteButtons-module__YPYmlG__voteBtn{align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);font-size:.8125rem;font-weight:500;display:flex}.VoteButtons-module__YPYmlG__voteBtn:hover:not(:disabled){border-color:var(--color-border-dark);background:var(--color-bg-alt)}.VoteButtons-module__YPYmlG__voteBtn:disabled{opacity:.6;cursor:not-allowed}.VoteButtons-module__YPYmlG__upvote.VoteButtons-module__YPYmlG__active{color:#15803d;background:#dcfce7;border-color:#22c55e}.VoteButtons-module__YPYmlG__upvote:hover:not(:disabled):not(.VoteButtons-module__YPYmlG__active){color:#22c55e;border-color:#86efac}.VoteButtons-module__YPYmlG__downvote.VoteButtons-module__YPYmlG__active{color:#dc2626;background:#fee2e2;border-color:#ef4444}.VoteButtons-module__YPYmlG__downvote:hover:not(:disabled):not(.VoteButtons-module__YPYmlG__active){color:#ef4444;border-color:#fca5a5}.VoteButtons-module__YPYmlG__count{text-align:center;min-width:1ch}.VoteButtons-module__YPYmlG__small .VoteButtons-module__YPYmlG__voteBtn{padding:var(--space-1)var(--space-2);gap:2px;font-size:.75rem}.VoteButtons-module__YPYmlG__small .VoteButtons-module__YPYmlG__count{font-size:.6875rem}.VoteButtons-module__YPYmlG__toast{color:#fff;z-index:9999;background:#22c55e;border-radius:8px;padding:12px 24px;font-size:.9375rem;font-weight:500;animation:.3s ease-out VoteButtons-module__YPYmlG__toastSlideIn;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes VoteButtons-module__YPYmlG__toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}
.ShareButtons-module__iQZDeW__shareContainer{position:relative}.ShareButtons-module__iQZDeW__shareBtn{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e5e5);color:var(--color-text-secondary,#666);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.ShareButtons-module__iQZDeW__shareBtn:hover{border-color:var(--color-primary,#e63946);color:var(--color-primary,#e63946)}.ShareButtons-module__iQZDeW__dropdown{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e5e5);z-index:100;border-radius:8px;min-width:160px;padding:.5rem;animation:.15s ShareButtons-module__iQZDeW__fadeIn;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 4px 16px #0000001a}@keyframes ShareButtons-module__iQZDeW__fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ShareButtons-module__iQZDeW__shareOption{width:100%;color:var(--color-text,#1a1a1a);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;transition:all .15s;display:flex}.ShareButtons-module__iQZDeW__shareOption:hover{background:var(--color-surface-alt,#f8f8f8)}.ShareButtons-module__iQZDeW__shareOption svg{flex-shrink:0}.ShareButtons-module__iQZDeW__shareOption:first-child svg{color:#07c160}.ShareButtons-module__iQZDeW__shareOption:nth-child(2) svg{color:#fe2c55}.ShareButtons-module__iQZDeW__shareOption:nth-child(3) svg{color:#000}.ShareButtons-module__iQZDeW__shareOption:nth-child(4) svg{color:#1877f2}.ShareButtons-module__iQZDeW__shareOption:nth-child(5) svg{color:#25d366}.ShareButtons-module__iQZDeW__shareOption:nth-child(6) svg{color:#08c}.ShareButtons-module__iQZDeW__divider{background:var(--color-border,#e5e5e5);height:1px;margin:.5rem 0}@media (max-width:768px){.ShareButtons-module__iQZDeW__dropdown{left:auto;right:0}}
.Comments-module__cI_EEa__commentsSection{border-top:1px solid #eee;margin-top:2rem;padding-top:2rem}.Comments-module__cI_EEa__commentsHeader{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.Comments-module__cI_EEa__commentsHeader h3{color:#333;margin:0;font-size:1.25rem;font-weight:600}.Comments-module__cI_EEa__commentCount{color:#666;font-size:.9rem}.Comments-module__cI_EEa__commentForm{background:#f9f9f9;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.Comments-module__cI_EEa__formHeader{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.Comments-module__cI_EEa__formHeader h4{color:#333;margin:0;font-size:1rem;font-weight:600}.Comments-module__cI_EEa__loginHint{color:#666;font-size:.85rem}.Comments-module__cI_EEa__loginHint a{color:#e63946;font-weight:500;text-decoration:none}.Comments-module__cI_EEa__loginHint a:hover{text-decoration:underline}.Comments-module__cI_EEa__starRating{gap:2px;display:inline-flex}.Comments-module__cI_EEa__starRating.Comments-module__cI_EEa__small{font-size:.9rem}.Comments-module__cI_EEa__starFilled{color:#ffc107}.Comments-module__cI_EEa__starEmpty{color:#ddd}.Comments-module__cI_EEa__starRatingInput{align-items:center;gap:.25rem;margin-bottom:.75rem;display:flex}.Comments-module__cI_EEa__ratingLabel{color:#666;margin-right:.5rem;font-size:.85rem}.Comments-module__cI_EEa__starButton{cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;transition:transform .1s}.Comments-module__cI_EEa__starButton:hover{transform:scale(1.2)}.Comments-module__cI_EEa__clearRating{color:#999;cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem}.Comments-module__cI_EEa__clearRating:hover{color:#666}.Comments-module__cI_EEa__commentTextarea{resize:vertical;border:1px solid #ddd;border-radius:8px;width:100%;min-height:100px;padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.Comments-module__cI_EEa__commentTextarea:focus{border-color:#e63946;outline:none}.Comments-module__cI_EEa__commentTextarea:disabled{cursor:not-allowed;background:#f0f0f0}.Comments-module__cI_EEa__formFooter{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.Comments-module__cI_EEa__charCount{color:#999;font-size:.8rem}.Comments-module__cI_EEa__submitButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e63946 0%,#c1121f 100%);border:none;border-radius:8px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;transition:opacity .2s,transform .2s}.Comments-module__cI_EEa__submitButton:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.Comments-module__cI_EEa__submitButton:disabled{opacity:.5;cursor:not-allowed}.Comments-module__cI_EEa__errorMessage{color:#dc3545;margin-top:.5rem;font-size:.85rem}.Comments-module__cI_EEa__commentsList{flex-direction:column;gap:1rem;display:flex}.Comments-module__cI_EEa__loading,.Comments-module__cI_EEa__noComments{text-align:center;color:#666;padding:2rem;font-size:.95rem}.Comments-module__cI_EEa__commentItem{background:#fff;border:1px solid #eee;border-radius:10px;padding:1rem}.Comments-module__cI_EEa__commentHeader{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.Comments-module__cI_EEa__userInfo{align-items:center;gap:.75rem;display:flex}.Comments-module__cI_EEa__userAvatar{object-fit:cover;border-radius:50%;width:40px;height:40px}.Comments-module__cI_EEa__userAvatarFallback{color:#fff;background:linear-gradient(135deg,#e63946 0%,#c1121f 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;display:flex}.Comments-module__cI_EEa__userMeta{flex-direction:column;gap:.15rem;display:flex}.Comments-module__cI_EEa__userName{color:#333;font-size:.95rem;font-weight:600}.Comments-module__cI_EEa__commentDate{color:#999;font-size:.8rem}.Comments-module__cI_EEa__commentActions{align-items:center;gap:.75rem;display:flex}.Comments-module__cI_EEa__deleteButton{color:#999;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;transition:all .2s}.Comments-module__cI_EEa__deleteButton:hover:not(:disabled){color:#dc3545;border-color:#dc3545}.Comments-module__cI_EEa__deleteButton:disabled{opacity:.5;cursor:not-allowed}.Comments-module__cI_EEa__commentContent{color:#444;white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.6}.Comments-module__cI_EEa__pagination{border-top:1px solid #eee;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.Comments-module__cI_EEa__pageButton{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.Comments-module__cI_EEa__pageButton:hover:not(:disabled){color:#e63946;border-color:#e63946}.Comments-module__cI_EEa__pageButton:disabled{opacity:.5;cursor:not-allowed}.Comments-module__cI_EEa__pageInfo{color:#666;font-size:.85rem}@media (max-width:600px){.Comments-module__cI_EEa__commentsSection{margin-top:1.5rem;padding-top:1.5rem}.Comments-module__cI_EEa__commentForm{padding:1rem}.Comments-module__cI_EEa__formHeader{flex-direction:column;align-items:flex-start;gap:.5rem}.Comments-module__cI_EEa__commentHeader{flex-direction:column;gap:.75rem}.Comments-module__cI_EEa__commentActions{justify-content:space-between;width:100%}.Comments-module__cI_EEa__starRatingInput{flex-wrap:wrap}.Comments-module__cI_EEa__submitButton{width:100%}.Comments-module__cI_EEa__formFooter{flex-direction:column-reverse;gap:.75rem}.Comments-module__cI_EEa__charCount{align-self:flex-end}}
.ImageCarousel-module__JTA4Ma__container{background-color:#1a1a1a;flex-direction:column;width:100%;height:100%;min-height:100%;display:flex;position:relative;overflow:hidden}.ImageCarousel-module__JTA4Ma__track{touch-action:pan-y pinch-zoom;flex:1;position:relative;overflow:hidden}.ImageCarousel-module__JTA4Ma__slides{will-change:transform;height:100%;transition:transform .3s ease-out;display:flex}.ImageCarousel-module__JTA4Ma__slide{flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.ImageCarousel-module__JTA4Ma__image{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.ImageCarousel-module__JTA4Ma__arrow{cursor:pointer;z-index:10;opacity:0;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .2s,background-color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.ImageCarousel-module__JTA4Ma__arrow svg{color:#333;width:18px;height:18px}.ImageCarousel-module__JTA4Ma__track:hover .ImageCarousel-module__JTA4Ma__arrow,.ImageCarousel-module__JTA4Ma__container:hover .ImageCarousel-module__JTA4Ma__arrow,.ImageCarousel-module__JTA4Ma__container:focus-within .ImageCarousel-module__JTA4Ma__arrow{opacity:1}.ImageCarousel-module__JTA4Ma__arrow:hover{background:#fff;transform:translateY(-50%)scale(1.05)}.ImageCarousel-module__JTA4Ma__arrow:active{transform:translateY(-50%)scale(.95)}.ImageCarousel-module__JTA4Ma__arrowLeft{left:10px}.ImageCarousel-module__JTA4Ma__arrowRight{right:10px}.ImageCarousel-module__JTA4Ma__dots{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0006;border-radius:12px;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ImageCarousel-module__JTA4Ma__dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background-color .2s,transform .2s}.ImageCarousel-module__JTA4Ma__dot:hover{background:#fffc}.ImageCarousel-module__JTA4Ma__dotActive{background:#fff;transform:scale(1.2)}.ImageCarousel-module__JTA4Ma__counter{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#00000080;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500;position:absolute;top:10px;right:10px}.ImageCarousel-module__JTA4Ma__placeholder{background:linear-gradient(135deg,#f0f0f0 0%,#e0e0e0 100%);flex:1;justify-content:center;align-items:center;width:100%;min-height:280px;display:flex}.ImageCarousel-module__JTA4Ma__placeholderIcon{color:#bbb;width:48px;height:48px}@media (max-width:768px){.ImageCarousel-module__JTA4Ma__arrow{opacity:.8;width:32px;height:32px}.ImageCarousel-module__JTA4Ma__arrow svg{width:16px;height:16px}.ImageCarousel-module__JTA4Ma__arrowLeft{left:8px}.ImageCarousel-module__JTA4Ma__arrowRight{right:8px}.ImageCarousel-module__JTA4Ma__container:hover .ImageCarousel-module__JTA4Ma__arrow{opacity:.8}.ImageCarousel-module__JTA4Ma__dots{gap:5px;padding:5px 8px;bottom:10px}.ImageCarousel-module__JTA4Ma__dot{width:6px;height:6px}.ImageCarousel-module__JTA4Ma__counter{padding:3px 8px;font-size:11px;top:8px;right:8px}}@media (max-width:480px){.ImageCarousel-module__JTA4Ma__arrow{display:none}}.ImageCarousel-module__JTA4Ma__container:focus,.ImageCarousel-module__JTA4Ma__arrow:focus-visible{outline-offset:2px;outline:2px solid #4285f4}.ImageCarousel-module__JTA4Ma__dot:focus-visible{outline-offset:2px;outline:2px solid #fff}
.RestaurantDetail-module__lPE4xG__main{background:var(--color-bg,#fafafa);min-height:100vh}.RestaurantDetail-module__lPE4xG__header{background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#e5e5e5);padding:.5rem 0}.RestaurantDetail-module__lPE4xG__container{max-width:900px;margin:0 auto;padding:0 1rem}.RestaurantDetail-module__lPE4xG__backBtn{color:var(--color-text-muted,#999);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.85rem;text-decoration:none;transition:all .15s;display:inline-flex}.RestaurantDetail-module__lPE4xG__backBtn:hover{color:var(--color-primary,#e63946);background:var(--color-surface-alt,#f8f8f8)}.RestaurantDetail-module__lPE4xG__content{padding:1rem 0}.RestaurantDetail-module__lPE4xG__layout{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e5e5);border-radius:8px;display:flex;overflow:hidden}.RestaurantDetail-module__lPE4xG__imageSection{background:var(--color-surface-alt,#1a1a1a);flex:0 0 45%;min-width:280px;max-width:420px;position:relative;overflow:hidden}.RestaurantDetail-module__lPE4xG__image{object-fit:cover;width:100%;height:100%;display:block}.RestaurantDetail-module__lPE4xG__imagePlaceholder{background:linear-gradient(135deg,#f8f8f8 0%,#e5e5e5 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:5rem;display:flex}.RestaurantDetail-module__lPE4xG__infoSection{flex-direction:column;flex:1;gap:.75rem;min-height:360px;padding:1.25rem 1.5rem;display:flex}.RestaurantDetail-module__lPE4xG__rankBadge{background:var(--color-primary,#e63946);color:#fff;border-radius:9999px;justify-content:center;align-items:center;width:fit-content;padding:.25rem .75rem;font-size:.9rem;font-weight:700;display:inline-flex}.RestaurantDetail-module__lPE4xG__name{color:var(--color-text,#1a1a1a);margin:0;font-size:1.5rem;font-weight:700;line-height:1.3}.RestaurantDetail-module__lPE4xG__englishName{color:var(--color-text-muted,#999);margin:0;font-size:.9rem}.RestaurantDetail-module__lPE4xG__sources{flex-wrap:wrap;gap:.5rem;display:flex}.RestaurantDetail-module__lPE4xG__sourceTag{background:var(--color-surface-alt,#f8f8f8);color:var(--color-text-secondary,#666);cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;text-decoration:none;transition:all .2s;display:inline-flex}.RestaurantDetail-module__lPE4xG__sourceTag:hover{background:var(--color-surface,#fff);border-color:var(--color-border,#e0e0e0);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.RestaurantDetail-module__lPE4xG__sourceCount{color:var(--color-text-secondary,#999);margin-left:.15rem;font-size:.7rem}.RestaurantDetail-module__lPE4xG__votePrompt{color:#8b6914;background:linear-gradient(135deg,#fff8e6 0%,#fff3d4 100%);border:1px solid #f0d78c;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.RestaurantDetail-module__lPE4xG__votePromptLink{color:#8b6914;font-weight:500;text-decoration:underline}.RestaurantDetail-module__lPE4xG__votePromptLink:hover{color:#6b5010}.RestaurantDetail-module__lPE4xG__statsRow{flex-wrap:wrap;gap:.75rem;display:flex}.RestaurantDetail-module__lPE4xG__scoreBox,.RestaurantDetail-module__lPE4xG__reviewsBox{flex-direction:column;gap:.25rem;display:flex}.RestaurantDetail-module__lPE4xG__scoreLabel,.RestaurantDetail-module__lPE4xG__reviewsLabel{color:var(--color-text-muted,#999);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.RestaurantDetail-module__lPE4xG__scoreValue{color:var(--color-text,#1a1a1a);font-size:1.5rem;font-weight:700}.RestaurantDetail-module__lPE4xG__reviewsValue{color:var(--color-text-secondary,#666);font-size:1.25rem;font-weight:600}.RestaurantDetail-module__lPE4xG__scoreExcellent .RestaurantDetail-module__lPE4xG__scoreValue{color:#16a34a}.RestaurantDetail-module__lPE4xG__scoreGreat .RestaurantDetail-module__lPE4xG__scoreValue{color:#22c55e}.RestaurantDetail-module__lPE4xG__scoreGood .RestaurantDetail-module__lPE4xG__scoreValue{color:#84cc16}.RestaurantDetail-module__lPE4xG__scoreAverage .RestaurantDetail-module__lPE4xG__scoreValue{color:#eab308}.RestaurantDetail-module__lPE4xG__scoreBelow .RestaurantDetail-module__lPE4xG__scoreValue{color:#f97316}.RestaurantDetail-module__lPE4xG__actionsRow{border-top:1px solid var(--color-border,#e5e5e5);align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.5rem;display:flex}.RestaurantDetail-module__lPE4xG__favoriteBtn{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e5e5);color:var(--color-text-secondary,#666);cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.RestaurantDetail-module__lPE4xG__favoriteBtn:hover{border-color:var(--color-primary,#e63946);color:var(--color-primary,#e63946)}.RestaurantDetail-module__lPE4xG__favoriteBtn.RestaurantDetail-module__lPE4xG__favorited{border-color:var(--color-primary,#e63946);color:var(--color-primary,#e63946);background:#fee2e2}.RestaurantDetail-module__lPE4xG__metaList{flex-direction:column;gap:.5rem;display:flex}.RestaurantDetail-module__lPE4xG__metaItem{gap:.5rem;font-size:.9rem;display:flex}.RestaurantDetail-module__lPE4xG__metaLabel{color:var(--color-text-muted,#999);min-width:3rem}.RestaurantDetail-module__lPE4xG__metaValue{color:var(--color-text,#1a1a1a)}.RestaurantDetail-module__lPE4xG__addressRow,.RestaurantDetail-module__lPE4xG__phoneRow{color:var(--color-text-secondary,#666);align-items:flex-start;gap:.5rem;font-size:.9rem;display:flex}.RestaurantDetail-module__lPE4xG__addressRow svg,.RestaurantDetail-module__lPE4xG__phoneRow svg{color:var(--color-text-muted,#999);flex-shrink:0;margin-top:2px}.RestaurantDetail-module__lPE4xG__phoneRow a{color:var(--color-primary,#e63946);text-decoration:none}.RestaurantDetail-module__lPE4xG__phoneRow a:hover{text-decoration:underline}.RestaurantDetail-module__lPE4xG__links{border-top:1px solid var(--color-border,#e5e5e5);flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.RestaurantDetail-module__lPE4xG__linkBtn{background:var(--color-surface-alt,#f8f8f8);border:1px solid var(--color-border,#e5e5e5);color:var(--color-text,#1a1a1a);border-radius:6px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.RestaurantDetail-module__lPE4xG__linkBtn:hover{background:var(--color-primary,#e63946);border-color:var(--color-primary,#e63946);color:#fff}@media (max-width:768px){.RestaurantDetail-module__lPE4xG__container{padding:0 .75rem}.RestaurantDetail-module__lPE4xG__layout{flex-direction:column}.RestaurantDetail-module__lPE4xG__imageSection{aspect-ratio:16/10;flex:none;width:100%;min-width:auto;max-width:none}.RestaurantDetail-module__lPE4xG__infoSection{min-height:auto;padding:1rem}.RestaurantDetail-module__lPE4xG__name{font-size:1.25rem}.RestaurantDetail-module__lPE4xG__links{flex-direction:column}.RestaurantDetail-module__lPE4xG__linkBtn{justify-content:center}}@media (max-width:480px){.RestaurantDetail-module__lPE4xG__statsRow{gap:1rem}.RestaurantDetail-module__lPE4xG__metaItem{flex-direction:column;gap:.25rem}.RestaurantDetail-module__lPE4xG__metaLabel{min-width:auto}}
