@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");:root{--bg-primary:#FFFFFF;--bg-secondary:#F5F6F8;--bg-card:#FFFFFF;--bg-card-hover:#FAFAFA;--bg-glass:rgba(255,255,255,0.92);--accent:#FF6B00;--accent-light:#FF8C33;--accent-pale:#FFF3EB;--accent-glow:rgba(255,107,0,0.2);--green:#2ECC71;--amber:#E67E22;--text-primary:#1A1A1A;--text-secondary:#666666;--text-muted:#999999;--border:#EEEEEE;--border-light:#E0E0E0;--shadow:0 4px 20px rgba(0,0,0,0.06);--shadow-sm:0 2px 8px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 30px rgba(0,0,0,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--font:"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--transition:0.25s cubic-bezier(0.4,0,0.2,1);--sidebar-width:400px;--header-height:0px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow:hidden;font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#D0D0D0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#B0B0B0}#logo-badge{position:fixed;top:16px;left:16px;display:flex;align-items:center;gap:7px;padding:10px 20px;background:#FFFFFF;border-radius:50px;box-shadow:0 2px 12px rgba(0,0,0,.1);font-size:16px;font-weight:800;color:var(--accent);z-index:200;white-space:nowrap;letter-spacing:-.3px;-webkit-user-select:none;-moz-user-select:none;user-select:none}#logo-badge span{font-size:20px}#content{position:fixed;top:0;left:0;right:0;bottom:0;display:flex}#map{flex:1 1;height:100%}#sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-primary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 10px;flex-shrink:0}.sidebar-header h2{font-size:19px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.sidebar-count{font-size:14px;color:var(--accent);font-weight:700;background:var(--accent-pale);padding:3px 10px;border-radius:12px}.sidebar-view-toggle{padding:4px 0;border:none;background:none;color:var(--text-muted);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:2px}.sidebar-view-toggle:after{content:"›";font-size:16px;font-weight:400;transition:transform var(--transition)}.sidebar-view-toggle:hover{color:var(--accent)}.sidebar-view-toggle:hover:after{transform:translateX(3px)}.filter-scroll{display:flex;gap:7px;padding:8px 20px 14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;cursor:-webkit-grab;cursor:grab;-webkit-overflow-scrolling:touch}.filter-scroll::-webkit-scrollbar{display:none}.filter-scroll:active{cursor:-webkit-grabbing;cursor:grabbing}.chip{display:inline-flex;align-items:center;gap:3px;padding:7px 14px;border:1.5px solid var(--border-light);border-radius:22px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;-webkit-tap-highlight-color:transparent}.chip:hover{background:var(--accent-pale);color:var(--accent)}.chip.active,.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);color:#FFFFFF;box-shadow:0 3px 12px var(--accent-glow)}.chip.active:hover{background:var(--accent-light);border-color:var(--accent-light)}.sidebar-tab-wrapper{position:relative;width:100%;flex-shrink:0}.sidebar-tab-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:12px;width:40px;background:linear-gradient(to right,transparent,var(--bg-primary));pointer-events:none}.sidebar-tab-bar{display:flex;gap:6px;padding:0 20px 14px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;border-bottom:1.5px solid var(--border-light);margin-bottom:0;cursor:-webkit-grab;cursor:grab;-webkit-overflow-scrolling:touch}.sidebar-tab-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.sidebar-tab-bar::-webkit-scrollbar{display:none}.sidebar-tab{padding:7px 14px;border:1.5px solid var(--border-light);border-radius:20px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap;display:flex;align-items:center;gap:5px;flex-shrink:0}.sidebar-tab:hover{background:var(--accent-pale);color:var(--accent);border-color:var(--accent)}.sidebar-tab.active{background:var(--accent);color:#FFFFFF;border-color:var(--accent)}.sidebar-tab-count{font-size:11px;opacity:.7}.sidebar-menu-grid{flex:1 1;overflow-y:auto;padding:16px 20px 24px;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}.sidebar-menu-item{padding:12px 18px;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.sidebar-menu-item:hover{background:var(--accent-pale);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.sidebar-menu-item.active{background:var(--accent);border-color:var(--accent);color:#FFFFFF;box-shadow:0 2px 8px var(--accent-glow)}.sidebar-menu-item.updated{animation:menuUpdatePulse .5s ease;border-color:var(--accent);position:relative}.sidebar-menu-item.updated:not(.active){background:var(--accent-pale)}@keyframes menuUpdatePulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.menu-update-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700;line-height:1.4;background:#22c55e;color:#FFFFFF;animation:badgePopIn .3s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0}@keyframes badgePopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.sidebar-menu-empty{width:100%;padding:40px 20px;text-align:center;font-size:14px;color:var(--text-muted)}.load-more-container{display:flex;justify-content:center;padding:12px 0 4px;position:relative}.load-more-btn{padding:12px 28px;border:1.5px solid var(--accent);border-radius:var(--radius-xl);background:var(--bg-primary);color:var(--accent);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent}.load-more-btn:hover{background:var(--accent);color:#FFFFFF;box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.load-more-btn:active{transform:translateY(1px)}.load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.load-more-toast{position:absolute;bottom:100%;margin-bottom:4px;padding:8px 16px;background:var(--bg-card);border:1.5px solid var(--accent);border-radius:20px;font-size:13px;font-weight:600;color:var(--accent);text-align:center;animation:toastSlideUp .3s cubic-bezier(.175,.885,.32,1.275);white-space:nowrap;box-shadow:var(--shadow-md);z-index:10}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar-selected-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;margin:0 14px 12px;background:var(--accent-pale);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;animation:fadeIn .25s ease}.sidebar-selected-label{font-size:14px;color:var(--text-primary)}.sidebar-selected-label strong{color:var(--accent);font-weight:700}.sidebar-selected-clear{padding:5px 12px;border:1.5px solid var(--accent);border-radius:16px;background:#FFFFFF;color:var(--accent);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap}.sidebar-selected-clear:hover{background:var(--accent);color:#FFFFFF}#restaurant-list{flex:1 1;overflow-y:auto;padding:10px 14px 24px}.restaurant-card{display:flex;align-items:flex-start;gap:14px;padding:18px;margin-bottom:10px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);animation:cardSlideIn .4s ease backwards}.restaurant-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.restaurant-card.active{border-color:var(--accent);background:var(--accent-pale);box-shadow:0 0 0 1px var(--accent),var(--shadow-md)}.card-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--bg-secondary);border-radius:var(--radius-sm);flex-shrink:0}.card-body{flex:1 1;min-width:0}.card-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.2px}.card-menu,.card-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-menu{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.card-meta{gap:12px;font-size:12px}.card-distance,.card-meta{display:flex;align-items:center}.card-distance{color:var(--accent);font-weight:700;gap:3px}.card-price{color:var(--amber);font-weight:700}.card-rating{color:var(--green);font-weight:700;display:flex;align-items:center;gap:2px}.card-tags{gap:5px}.card-tag{font-size:11px;padding:3px 9px;border-radius:10px;background:var(--accent-pale);color:var(--accent);font-weight:600}.card-link-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid var(--border-light);box-shadow:0 2px 6px rgba(0,0,0,.06);border-radius:50%;transition:all var(--transition);text-decoration:none;flex-shrink:0;align-self:center;margin-left:auto}.card-link-btn:hover{transform:scale(1.1)}.card-link-btn svg{width:28px;height:28px}.card-address{font-size:11px;color:var(--text-muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-slot{padding:8px 0;margin-bottom:10px}.ad-slot,.adfit-container{display:flex;justify-content:center}.adfit-container{min-height:50px;border-radius:var(--radius-sm);overflow:hidden}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.marker-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#FFFFFF;border:2.5px solid var(--accent);border-radius:50%;box-shadow:0 3px 12px rgba(0,0,0,.15);transition:all .2s ease;cursor:pointer;position:relative}.marker-icon:hover{transform:scale(1.15);box-shadow:0 4px 16px var(--accent-glow)}.marker-icon.active{background:var(--accent);transform:scale(1.2) translateY(-12px);box-shadow:0 4px 20px var(--accent-glow)}.marker-icon.active:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--accent);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.info-window{background:#FFFFFF;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;min-width:220px;max-width:280px;box-shadow:var(--shadow-lg);font-family:var(--font);color:var(--text-primary)}.info-window .iw-name{font-size:16px;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:6px}.info-window .iw-menu{font-size:13px;color:var(--text-secondary);margin-bottom:3px}.info-window .iw-meta{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;font-weight:700}.info-window .iw-distance{color:var(--accent)}.info-window .iw-rating{color:var(--green)}.info-window .iw-link-btn{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid var(--border-light);box-shadow:0 2px 6px rgba(0,0,0,.06);border-radius:50%;transition:all var(--transition);text-decoration:none}.info-window .iw-link-btn:hover{transform:translateY(-50%) scale(1.1)}.info-window .iw-link-btn svg{width:24px;height:24px}.info-window .iw-address{font-size:11px;color:var(--text-muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-bar{position:fixed;top:16px;left:calc((100vw - var(--sidebar-width)) / 2);transform:translateX(-50%);align-items:center;gap:8px;z-index:200;animation:fadeIn .4s ease;width:max-content;max-width:90vw;flex-wrap:wrap;justify-content:center}.map-action-buttons{position:absolute;bottom:24px;right:calc(var(--sidebar-width) + 16px);z-index:150;display:flex;flex-direction:column;gap:8px;align-items:center}.map-action-btn{width:44px;height:44px;background:#FFFFFF;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;transition:all .2s;animation:fadeIn .3s ease}.map-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.map-action-btn:active{transform:translateY(1px)}.search-area-btn{color:var(--accent)}.search-area-btn:hover{color:var(--accent);background:var(--accent-pale)}.location-select-crosshair{top:50%;left:calc((100vw - var(--sidebar-width)) / 2);transform:translate(-50%,-50%);z-index:150;pointer-events:none;justify-content:flex-end;height:0}.location-select-crosshair,.location-select-pin{position:absolute;display:flex;flex-direction:column;align-items:center}.location-select-pin{bottom:0;animation:dropPin .4s cubic-bezier(.175,.885,.32,1.275);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}@keyframes dropPin{0%{transform:translateY(-40px);opacity:0}to{transform:translateY(0);opacity:1}}.location-confirm-panel{position:absolute;bottom:24px;left:calc((100vw - var(--sidebar-width)) / 2);transform:translateX(-50%);background:#FFFFFF;padding:16px 24px;border-radius:100px;box-shadow:0 8px 32px rgba(0,0,0,.15);display:flex;gap:12px;z-index:200;animation:slideUpFade .3s cubic-bezier(.16,1,.3,1);width:max-content;max-width:90vw}.location-cancel-btn{padding:12px 24px;border:1px solid var(--border);background:#FFFFFF;color:var(--text-secondary);border-radius:24px;font-family:var(--font);font-weight:700;font-size:15px;cursor:pointer;transition:all .2s}.location-cancel-btn:hover{background:var(--bg-secondary)}.location-confirm-btn{padding:12px 32px;border:none;background:var(--accent);color:#FFFFFF;border-radius:24px;font-family:var(--font);font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 4px 12px var(--accent-glow);transition:all .2s}.location-confirm-btn:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 6px 16px var(--accent-glow)}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@property --gradient-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes spinGradient{0%{--gradient-angle:0deg}to{--gradient-angle:360deg}}.floating-ai-btn{display:flex;align-items:center;gap:8px;padding:10px 22px;border:2px solid transparent;border-radius:50px;background:#FFFFFF;background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,conic-gradient(from var(--gradient-angle,0deg),#ff6b00,#ff2a85,#8a2be2,#00d2ff,#ff2a85,#ff6b00) border-box;color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:all var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent;animation:spinGradient 3s linear infinite}.floating-ai-btn:hover{background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,conic-gradient(from var(--gradient-angle,0deg),#ff6b00,#ff2a85,#8a2be2,#00d2ff,#ff2a85,#ff6b00) border-box;box-shadow:0 6px 20px rgba(0,0,0,.15);transform:translateY(-2px)}.floating-ai-btn.active{background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,var(--accent) border-box;color:var(--accent);animation:none;box-shadow:0 4px 20px var(--accent-glow)}.floating-ai-btn.active:hover{background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,var(--accent-light) border-box;transform:translateY(-2px)}.floating-ai-icon{font-size:16px}.floating-ai-text{letter-spacing:-.3px}.floating-ai-clear{margin-left:4px;font-size:12px;opacity:.8}.floating-random-btn{display:flex;align-items:center;gap:8px;padding:10px 22px;border:2px solid transparent;border-radius:50px;background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,conic-gradient(from var(--gradient-angle,0deg),#ff6b00,#ff2a85,#8a2be2,#00d2ff,#ff2a85,#ff6b00) border-box;color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:all var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent;animation:spinGradient 3s linear infinite}.floating-random-btn:hover{background:linear-gradient(var(--bg-card-hover),var(--bg-card-hover)) padding-box,conic-gradient(from var(--gradient-angle,0deg),#ff6b00,#ff2a85,#8a2be2,#00d2ff,#ff2a85,#ff6b00) border-box;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.floating-random-btn:active{transform:translateY(1px)}.floating-random-icon{font-size:18px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.floating-random-btn:hover .floating-random-icon{animation:shakeDice .6s ease-in-out infinite}@keyframes shakeDice{0%{transform:rotate(0deg)}25%{transform:rotate(-20deg) scale(1.1)}50%{transform:rotate(20deg) scale(1.1)}75%{transform:rotate(-20deg) scale(1.1)}to{transform:rotate(0deg) scale(1)}}.menu-recommend-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease}.menu-recommend-container{width:90%;max-width:520px;max-height:85vh;background:linear-gradient(var(--bg-primary),var(--bg-primary)) padding-box,conic-gradient(from var(--gradient-angle,0deg),#ff6b00,#ff2a85,#8a2be2,#00d2ff,#ff2a85,#ff6b00) border-box;border:3px solid transparent;border-radius:var(--radius-lg);box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .35s cubic-bezier(.4,0,.2,1),spinGradient 4s linear infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.menu-recommend-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 8px;flex-shrink:0}.menu-recommend-header h2{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.menu-recommend-close{width:32px;height:32px;border:none;background:var(--bg-secondary);border-radius:50%;font-size:14px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.menu-recommend-close:hover{background:var(--border);color:var(--text-primary)}.menu-recommend-desc{padding:0 24px 12px;font-size:13px;color:var(--text-muted)}.menu-tab-wrapper{position:relative;width:100%}.menu-tab-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:12px;width:40px;background:linear-gradient(to right,transparent,var(--bg-primary));pointer-events:none}.menu-tab-bar{display:flex;gap:6px;padding:0 20px 16px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;border-bottom:1.5px solid var(--border-light);margin-bottom:12px;cursor:-webkit-grab;cursor:grab;-webkit-overflow-scrolling:touch}.menu-tab-bar:active{cursor:-webkit-grabbing;cursor:grabbing}.menu-tab-bar::-webkit-scrollbar{display:none}.menu-tab{padding:7px 14px;border:1.5px solid var(--border-light);border-radius:20px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap;display:flex;align-items:center;gap:5px;flex-shrink:0}.menu-tab:hover{background:var(--accent-pale);color:var(--accent);border-color:var(--accent)}.menu-tab.active{background:var(--accent);color:#FFFFFF;border-color:var(--accent)}.menu-tab-count{font-size:11px;opacity:.7}.menu-grid{flex:1 1;overflow-y:auto;padding:8px 20px 24px;display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;min-height:140px}.menu-item{padding:12px 18px;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:6px}.menu-item-icon{font-size:18px;line-height:1;flex-shrink:0}.menu-item:hover{background:var(--accent-pale);border-color:var(--accent);color:var(--accent)}.menu-item.selected{background:var(--accent);color:#FFFFFF;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}.menu-empty{width:100%;padding:40px 20px;text-align:center;font-size:14px;color:var(--text-muted)}.menu-recommend-footer{padding:16px 20px;flex-shrink:0;border-top:1px solid var(--border)}.menu-confirm-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-md);background:var(--accent);color:#FFFFFF;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;transition:all var(--transition)}.menu-confirm-btn:hover:not(:disabled){background:var(--accent-light)}.menu-confirm-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}#bottom-sheet{display:none}#loading-overlay{position:fixed;inset:0;background:#FFFFFF;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease}#loading-overlay.hidden{opacity:0;pointer-events:none}.loading-spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;margin-bottom:20px}.loading-text{font-size:16px;color:var(--text-primary);font-weight:700}.loading-sub{font-size:13px;color:var(--text-muted);margin-top:6px}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-results-icon{font-size:48px;margin-bottom:16px}.no-results-text{font-size:15px;color:var(--text-primary);font-weight:600}.no-results-sub{font-size:13px;color:var(--text-muted);margin-top:6px}@media (max-width:768px){:root{--header-height:48px;--sidebar-width:0px}.header-logo{font-size:16px}.header-logo span{font-size:20px}#sidebar{display:none}#map{width:100%;height:100%}#bottom-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;height:85vh;background:var(--bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 30px rgba(0,0,0,.1);z-index:150;transform:translateY(calc(85vh - 50vh));transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform;touch-action:none}#bottom-sheet.dragging{transition:none}#bottom-sheet[data-state=peek]{transform:translateY(calc(85vh - 140px))}#bottom-sheet[data-state=half]{transform:translateY(calc(85vh - 50vh))}#bottom-sheet[data-state=full]{transform:translateY(0)}.sheet-handle{display:flex;justify-content:center;padding:12px 0 4px;flex-shrink:0;cursor:-webkit-grab;cursor:grab;position:relative}.sheet-search-area-btn{position:absolute;right:16px;top:-100px;width:40px;height:40px;background:#FFFFFF;color:var(--accent);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;transition:all .2s;z-index:10;animation:fadeIn .3s ease}.sheet-search-area-btn:active{background:var(--accent-pale);transform:scale(.95)}.sheet-refresh-location-btn{position:absolute;right:16px;top:-52px;width:40px;height:40px;background:#FFFFFF;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;transition:all .2s;z-index:10}.sheet-refresh-location-btn:active{background:var(--bg-secondary);transform:scale(.95)}.sheet-handle-bar{width:36px;height:4px;background:#D0D0D0;border-radius:2px}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:6px 20px;flex-shrink:0}.sheet-header h2{font-size:16px;font-weight:800;color:var(--text-primary)}.sheet-count{font-size:13px;color:var(--accent);font-weight:700;background:var(--accent-pale);padding:2px 8px;border-radius:10px}#bottom-sheet .filter-scroll{padding:4px 16px 10px}.chip{padding:5px 11px;font-size:12px}#restaurant-list-mobile{flex:1 1;overflow-y:auto;padding:10px 12px 100px;-webkit-overflow-scrolling:touch}#bottom-sheet .sidebar-tab-bar{padding:0 16px 10px}#bottom-sheet .sidebar-tab{padding:5px 11px;font-size:12px}#bottom-sheet .sidebar-menu-grid{padding:12px 16px 100px}#bottom-sheet .sidebar-menu-item{padding:10px 14px;font-size:13px}#bottom-sheet .sidebar-selected-banner{padding:8px 16px}.floating-bar{top:12px;left:50%;transform:translateX(-50%);width:100%;padding:0 16px}.map-action-buttons{display:none}.floating-ai-btn{padding:8px 16px;font-size:13px;flex-shrink:0}.floating-random-btn{padding:8px 18px;font-size:13px;flex-shrink:0}.floating-random-icon{font-size:16px}.location-select-crosshair{left:50%}.location-confirm-panel{left:50%;bottom:40px;padding:12px 16px;gap:8px;width:90vw}.location-cancel-btn,.location-confirm-btn{flex:1 1;text-align:center;padding:14px 0}.menu-recommend-container{width:95%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:absolute;bottom:0}.menu-recommend-overlay{align-items:flex-end}.menu-recommend-header{padding:16px 20px 6px}.menu-recommend-header h2{font-size:18px}.menu-grid{min-height:200px}}.fade-in{animation:fadeIn .3s ease}@keyframes shake{0%,to{transform:rotate(0deg)}20%{transform:rotate(-20deg)}40%{transform:rotate(20deg)}60%{transform:rotate(-15deg)}80%{transform:rotate(10deg)}}.shake{animation:shake .6s ease}@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap");.menu-board-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#FDFBF7;color:#1A1A1A;z-index:100;overflow-x:hidden;font-family:var(--font)}.menu-board-slider{display:flex;width:200%;height:100%;transition:transform .5s cubic-bezier(.25,.8,.25,1)}.menu-board-slider.view-random{transform:translateX(-50%)}.menu-board-page{width:50%;flex-shrink:0;height:100%;overflow-y:auto;position:relative}.menu-board-container{max-width:800px;margin:0 auto;padding:60px 20px 100px}.menu-board-header{text-align:center;margin-bottom:50px}.top-nav-container{display:flex;justify-content:flex-end;padding-bottom:20px;width:100%}.nav-actions{display:flex;gap:16px}.icon-btn{background:none;border:none;cursor:pointer;color:#1A1A1A;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.icon-btn:hover{opacity:.6}.menu-board-title{font-family:Playfair Display,serif;font-size:3rem;font-weight:400;letter-spacing:12px;margin-bottom:5px;color:#1A1A1A}.menu-board-subtitle{font-family:Playfair Display,serif;font-style:italic;font-size:1.4rem;color:#726255;margin-bottom:20px}.menu-board-location{font-size:.85rem;color:#A89888;font-weight:500;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:-10px;animation:fadeIn .5s ease}.menu-board-location .location-pin{font-size:.8rem}.menu-board-desc{font-size:.9rem;color:#8C7B6D;margin-bottom:20px}.map-action-sticky{position:fixed;bottom:20px;left:0;width:100%;z-index:100;pointer-events:none}.floating-action-btn,.map-action-sticky{display:flex;justify-content:center;align-items:center}.floating-action-btn{pointer-events:auto;padding:14px 32px;border:none;border-radius:40px;background:#FFFFFF;color:#4A3B32;font-family:var(--font);font-weight:700;font-size:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px rgba(0,0,0,.12);gap:8px}.floating-action-btn:hover{background:#F8F5F0;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.floating-action-btn:active{transform:translateY(0)}.menu-board-grid{column-count:1;column-gap:40px}@media (min-width:768px){.menu-board-grid{column-count:2;column-gap:50px}}.menu-board-section{display:flex;flex-direction:column;page-break-inside:avoid;break-inside:avoid;margin-bottom:40px}.menu-board-footer{text-align:center;margin-top:50px;padding-top:40px;border-top:1px solid #e0e0e0}.menu-section-title{font-family:var(--font);font-size:1.3rem;font-weight:800;color:#5C4E43;margin-bottom:16px;letter-spacing:1px}.menu-section-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.menu-item-row{display:flex;justify-content:space-between;align-items:baseline;cursor:pointer;padding:4px 0;transition:opacity .2s}.menu-item-row:hover{opacity:.6}.menu-item-name{font-size:1rem;font-weight:500;color:#3E3028}.menu-item-count{font-family:Playfair Display,serif;font-size:1.1rem;color:#4A3B32;display:flex;align-items:center}.menu-item-arrow{font-family:var(--font);font-size:.8rem;color:#D5C8BB;margin-left:10px;opacity:0;transform:translateX(-4px);transition:all .2s}.menu-item-row:active .menu-item-arrow,.menu-item-row:hover .menu-item-arrow{opacity:1;color:#E67E22;transform:translateX(0)}@media (max-width:768px){.menu-item-arrow{opacity:.5;transform:translateX(0)}}.menu-board-empty{text-align:center;padding:40px;color:#8C7B6D;column-span:all}.action-elements-section{text-align:center;margin-top:40px;display:flex;flex-direction:column;align-items:center}.section-divider{border:none;border-top:1px solid #eaeaea;margin:50px auto;width:80%;max-width:400px}.value-prop-section{text-align:center;margin-bottom:50px;padding:0 20px}.value-prop-section p{font-family:var(--font);font-size:1rem;line-height:1.8;color:#333333;max-width:700px;margin:0 auto;word-break:keep-all}.info-guide-section{margin-top:60px;margin-bottom:60px;padding-top:40px;border-top:1px solid #e0e0e0}.guide-section-title{font-family:var(--font);font-size:1.4rem;font-weight:800;color:#1A1A1A;margin-bottom:30px;text-align:center}.guide-list{display:flex;flex-direction:column;gap:24px;max-width:600px;margin:0 auto}.guide-article{background:rgba(255,255,255,.4);border:1px solid #eaeaea;border-radius:12px;padding:24px;transition:all .3s}.guide-article:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.04);background:#FFFFFF}.guide-article h3{font-family:var(--font);font-size:1.1rem;font-weight:700;color:#1A1A1A;margin-bottom:8px}.guide-article p{font-family:var(--font);font-size:.95rem;color:#555555;line-height:1.6}.ad-section{display:flex;justify-content:center;margin-bottom:60px}.minimal-footer{margin-top:40px;padding-top:40px;padding-bottom:0;display:flex;flex-direction:column;align-items:center;gap:30px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;font-family:var(--font);font-size:.9rem;font-weight:500;color:#666666}.footer-links span{cursor:pointer;transition:color .2s}.footer-links span:hover{color:#1A1A1A}.social-icons{display:flex;gap:16px}.social-btn{background:none;cursor:pointer;color:#666666;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:8px;border-radius:50%;border:1px solid transparent}.social-btn:hover{color:#1A1A1A;background:rgba(0,0,0,.03)}.random-section{page-break-inside:avoid;break-inside:avoid;margin-bottom:40px}.random-pick-row:active{background-color:rgba(74,59,50,.1);transform:scale(.98)}.random-pick-row .menu-item-name{font-weight:700;color:#4A3B32}.random-click-hint{font-family:var(--font);font-size:.85rem;font-weight:800;color:#E67E22;animation:bounceHorizontal 1.5s infinite}@keyframes bounceHorizontal{0%,to{transform:translateX(0)}50%{transform:translateX(-4px)}}.random-pick-row:hover{background-color:rgba(74,59,50,.08)}.random-container{display:flex;flex-direction:column;min-height:100%}.random-result-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding-bottom:20px;padding-top:40px}.card-stack-container{position:relative;width:100%;max-width:380px;margin:0 auto 30px;perspective:1000px}.magazine-card{width:100%;background:#FDFBF7;border:1px solid #e4dacd;border-radius:8px;box-shadow:0 10px 30px rgba(92,78,67,.08);overflow:hidden;position:relative;transition:all .4s cubic-bezier(.25,.8,.25,1)}.stack-card-back1,.stack-card-back2{position:absolute;top:0;left:0;height:100%;z-index:1;display:flex;align-items:center;justify-content:center}.stack-card-back1{transform:translateY(12px) scale(.95) rotate(-2deg);opacity:.9;z-index:2}.stack-card-back2{transform:translateY(24px) scale(.9) rotate(3deg);opacity:.7;z-index:1}.mystery-mark{font-family:Playfair Display,serif;font-size:8rem;font-weight:800;color:#EBE1D7;opacity:.8}.active-card{z-index:3;cursor:-webkit-grab;cursor:grab}.active-card:active{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(.98)}.swap-animation{animation:swapCard .6s cubic-bezier(.68,-.55,.27,1.55)}@keyframes swapCard{0%{transform:translate(0) rotate(0deg);opacity:1}45%{transform:translate(120%,30px) rotate(15deg);opacity:0}55%{transform:translate(-120%,-30px) rotate(-15deg);opacity:0}to{transform:translate(0) rotate(0deg);opacity:1}}.card-texture-overlay{bottom:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");z-index:10}.card-texture-overlay,.card-weather-effect{position:absolute;top:0;left:0;right:0;pointer-events:none}.card-weather-effect{height:160px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);z-index:2}.card-image-placeholder{width:100%;height:220px;background:#EBE1D7;display:flex;align-items:center;justify-content:center;font-size:5rem;border-bottom:2px solid #5c4e43;position:relative}.card-image-placeholder img{width:100%;height:100%;object-fit:cover}.card-content-body{padding:24px;display:flex;flex-direction:column;gap:12px;text-align:left;position:relative;z-index:5}.card-menu-title{font-family:var(--font);font-size:2rem;font-weight:800;color:#3E3028;margin:0;line-height:1.2}.card-menu-description{font-size:.95rem;color:#726255;margin:0;line-height:1.5}.card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag{background:#F4EFEB;color:#5C4E43;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:600}.card-action-link{margin-top:20px;align-self:flex-start;font-size:1rem;font-weight:700;color:#E67E22;border-bottom:2px solid #e67e22;padding-bottom:2px;transition:all .2s;display:inline-block}.active-card:hover .card-action-link{color:#D35400;border-color:#D35400;transform:translateX(4px)}.magazine-controls{display:flex;width:100%;max-width:400px;justify-content:space-between;align-items:center;margin-top:10px;gap:20px}.magazine-back-btn{background:transparent;border:none;font-family:var(--font);font-size:1rem;font-weight:600;color:#8C7B6D;cursor:pointer;transition:color .2s;padding:10px 0}.magazine-back-btn:hover{color:#4A3B32}.magazine-reroll-btn{background:#E67E22;color:#FFF;border:none;border-radius:30px;padding:14px 24px;font-family:var(--font);font-size:1.1rem;font-weight:800;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(230,126,34,.3);display:flex;align-items:center;gap:8px}.magazine-reroll-btn:hover{background:#D35400;transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,126,34,.4)}.menu-board-fixed-bottom{position:fixed;bottom:0;left:0;right:0;padding:30px 20px 40px;background:linear-gradient(0deg,#F8F5F0 60%,transparent);text-align:center;z-index:110;pointer-events:none}.menu-board-tomap-btn{pointer-events:auto;padding:14px 38px;border:none;border-radius:40px;background:#FFFFFF;color:#4A3B32;font-family:var(--font);font-weight:800;font-size:1.1rem;cursor:pointer;box-shadow:0 6px 20px rgba(74,59,50,.15);transition:all .3s}.menu-board-tomap-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(74,59,50,.2);background:#4A3B32;color:#F8F5F0}.floating-bar{display:flex;gap:10px}.floating-menu-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:30px;background:#FFFFFF;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.08);font-family:var(--font);font-size:14px;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all var(--transition)}.floating-menu-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}.guide-page-wrapper{height:100vh;overflow-y:auto;background-color:#FDFBF7;color:#1A1A1A;font-family:var(--font)}.guide-page-container{max-width:800px;margin:0 auto;padding:40px 20px 80px}.guide-page-header{margin-bottom:50px;position:relative}.guide-top-nav{margin-bottom:30px}.guide-back-btn{background:none;border:none;font-family:var(--font);font-size:1rem;font-weight:600;color:#666666;cursor:pointer;padding:8px 0;display:flex;align-items:center;transition:color .2s}.guide-back-btn:hover{color:#1A1A1A}.guide-page-title{font-size:2.2rem;font-weight:800;color:#1A1A1A;margin-bottom:12px;padding-top:20px}.guide-page-subtitle{font-size:1.1rem;color:#666666}.guide-article.clickable{cursor:pointer}.guide-article-meta{display:flex;gap:12px;margin-bottom:12px;font-size:.85rem;font-weight:600}.guide-category{color:#E67E22}.guide-date{color:#999999}.guide-detail-header{margin-bottom:40px;border-bottom:1px solid #eaeaea;padding-bottom:30px}.guide-detail-title{font-size:2rem;font-weight:800;color:#1A1A1A;line-height:1.4;margin-top:8px}.guide-detail-body{font-size:1.05rem;line-height:1.8;color:#333333}.guide-lead{font-size:1.15rem;color:#4A4A4A;font-weight:500;margin-bottom:40px;padding:24px;background:rgba(230,126,34,.05);border-left:4px solid #e67e22;border-radius:4px}.guide-detail-body h2{font-size:1.4rem;font-weight:800;color:#1A1A1A;margin-top:50px;margin-bottom:20px}.guide-detail-body p{margin-bottom:20px}.guide-detail-body ul{padding-left:20px;margin-bottom:30px;list-style-type:none}.guide-detail-body li{margin-bottom:16px;position:relative;padding-left:12px}.guide-detail-body li:before{content:"•";color:#E67E22;font-weight:700;position:absolute;left:-8px}.guide-detail-body strong{color:#1A1A1A;font-weight:700}.guide-detail-conclusion{margin-top:60px;padding-top:40px;border-top:1px solid #eaeaea;text-align:center}.guide-page-footer{margin-top:80px;display:flex;flex-direction:column;align-items:center;gap:40px}.guide-back-to-home{padding:12px 32px;border-radius:30px;background:#1A1A1A;color:#FFFFFF;font-family:var(--font);font-size:1rem;font-weight:700;border:none;cursor:pointer;transition:all .2s}.guide-back-to-home:hover{background:#333333;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#FDFBF7;border-radius:20px;width:85%;max-width:360px;padding:36px 28px 28px;box-shadow:0 15px 40px rgba(0,0,0,.15);position:relative;text-align:center;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes popIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#999;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:#333}.modal-title{font-family:var(--font);font-weight:800;font-size:1.4rem;color:#1A1A1A;margin-bottom:16px;letter-spacing:-.02em}.modal-text{font-family:var(--font);font-size:.95rem;line-height:1.55;color:#555555;margin-bottom:32px;word-break:keep-all}.modal-confirm-btn{background-color:#333333;color:#FFFFFF;font-family:var(--font);font-weight:700;font-size:1rem;border:none;border-radius:12px;width:100%;padding:14px 0;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(51,51,51,.2)}.modal-confirm-btn:hover{background-color:#1A1A1A;transform:translateY(-2px);box-shadow:0 6px 16px rgba(26,26,26,.25)}.radius-selector{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;flex-wrap:wrap}.radius-selector-label{font-weight:700;margin-right:4px}.radius-btn,.radius-selector-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.radius-btn{padding:8px 18px;border:1.5px solid var(--border);border-radius:50px;background:var(--bg-card);font-family:var(--font);font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.radius-btn:hover{color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.08)}.radius-btn.active,.radius-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.radius-btn.active{background:var(--accent);color:#FFFFFF;box-shadow:0 4px 14px var(--accent-glow)}.radius-btn.active:hover{background:var(--accent-light);border-color:var(--accent-light)}.radius-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.radius-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 0;font-size:13px;font-weight:600;color:var(--text-muted);animation:fadeIn .2s ease}.radius-loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.radius-result-count{font-size:12px;color:var(--text-muted);text-align:center;padding-bottom:6px;animation:fadeIn .3s ease}