.LocationBanner_banner__qRtTW{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#ffffff,#f8fafc);border-top:1px solid #e2e8f0;box-shadow:0 -4px 20px rgba(0,0,0,.1);z-index:1000;padding:1rem;backdrop-filter:blur(8px);animation:LocationBanner_slideUpFromBottom__EzH2M .3s ease-out}@keyframes LocationBanner_slideUpFromBottom__EzH2M{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.LocationBanner_content__dsRQo{display:flex;align-items:center;gap:1rem;max-width:1200px;margin:0 auto}.LocationBanner_locationIcon__KrUam{flex-shrink:0;display:flex;align-items:center}.LocationBanner_bannerText__wexcH{flex:1;color:#1f2937;font-weight:500;font-size:.95rem}.LocationBanner_actions__JKI2E{display:flex;gap:.75rem;flex-shrink:0}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.875rem;border:1px solid}.LocationBanner_whyButton__FtNGF{background:transparent;color:#6b7280;border-color:#d1d5db}.LocationBanner_whyButton__FtNGF:hover{background:#f3f4f6;color:#374151}.LocationBanner_denyButton__RNsVG{background:transparent;color:#ef4444;border-color:#fca5a5}.LocationBanner_denyButton__RNsVG:hover{background:#fef2f2;color:#dc2626}.LocationBanner_allowButton__RW2yg{background:#28c7ed;color:white;border-color:#28c7ed}.LocationBanner_allowButton__RW2yg:hover{background:#22b5d6;border-color:#22b5d6}.LocationBanner_allowButton__RW2yg:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed}.LocationBanner_success__tWqKi{border-top-color:#10b981}.LocationBanner_error__p7GB4{border-top-color:#ef4444}@media (max-width:768px){.LocationBanner_banner__qRtTW{padding:1rem .75rem calc(1rem + env(safe-area-inset-bottom))}.LocationBanner_content__dsRQo{flex-wrap:wrap;gap:.75rem}.LocationBanner_bannerText__wexcH{font-size:.875rem;order:1;width:100%;text-align:center;margin:.5rem 0}.LocationBanner_locationIcon__KrUam{order:0}.LocationBanner_actions__JKI2E{order:2;width:100%;justify-content:center;gap:.5rem}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{flex:1;max-width:120px;padding:.75rem .5rem;font-size:.8rem}}.LocationBanner_modalOverlay__WHPd2{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.LocationBanner_modal__u9Okj{background:white;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.15);max-width:500px;width:100%;overflow:hidden;max-height:90vh;overflow-y:auto}.LocationBanner_modalHeader__iAzEH{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.LocationBanner_modalHeader__iAzEH h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.LocationBanner_modalClose__QJTWv{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.LocationBanner_modalClose__QJTWv:hover{background-color:#f3f4f6;color:#374151}.LocationBanner_modalContent__87pSK{padding:1.5rem}.LocationBanner_reason__54UVd{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}.LocationBanner_reasonIcon__9oIoz{font-size:1.5rem;flex-shrink:0;margin-top:.25rem}.LocationBanner_reason__54UVd h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.LocationBanner_reason__54UVd p{margin:0;color:#6b7280;line-height:1.5}.LocationBanner_modalActions__v0_Bz{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;justify-content:flex-end}.LocationBanner_modalAllow__e3v_e,.LocationBanner_modalDeny__EsY_1{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid}.LocationBanner_modalDeny__EsY_1{background:transparent;color:#6b7280;border-color:#d1d5db}.LocationBanner_modalDeny__EsY_1:hover{background:#f3f4f6;color:#374151}.LocationBanner_modalAllow__e3v_e{background:#28c7ed;border-color:#28c7ed}.LocationBanner_modalAllow__e3v_e:hover{background:#22b5d6;border-color:#22b5d6}.LocationBanner_modalAllow__e3v_e:disabled{background:#94a3b8;border-color:#94a3b8}.LocationBanner_modalDeny__EsY_1:hover{background:#e5e7eb}.LocationBanner_modalAllow__e3v_e{flex:2;background:#1f2937;color:white;border:none;padding:.75rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.LocationBanner_modalAllow__e3v_e:hover:not(:disabled){background:#111827;transform:translateY(-1px)}.LocationBanner_modalAllow__e3v_e:disabled{opacity:.7;cursor:not-allowed}.LocationBanner_safariRetryMessage__bmBT7{background:#fef3c7;border-top:1px solid #f59e0b;padding:.75rem 1rem;margin-top:.5rem;border-radius:0 0 8px 8px;animation:LocationBanner_slideDown__wlHw5 .3s ease-out}.LocationBanner_retryMessageContent__ADi3f{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#92400e}.LocationBanner_retryIcon__jAPB4{flex-shrink:0;font-size:1rem}.LocationBanner_retryText__Of52C{flex:1;line-height:1.4}.LocationBanner_retryCloseButton__vUvE1{background:none;border:none;color:#92400e;cursor:pointer;padding:.25rem;border-radius:4px;font-size:1.2rem;line-height:1;transition:background-color .2s ease;flex-shrink:0}.LocationBanner_retryCloseButton__vUvE1:hover{background:rgba(146,64,14,.1)}@keyframes LocationBanner_slideDown__wlHw5{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.LocationBanner_banner__qRtTW{padding:.5rem 1rem;left:.5rem;right:.5rem;bottom:.5rem;border-radius:1rem}.LocationBanner_bannerContainer__JHkuC{padding:.5rem 1rem;flex-direction:column;align-items:center}.LocationBanner_content__dsRQo{flex-direction:column;gap:.75rem;padding:1rem;text-align:center}.LocationBanner_text__TQZ7P h4{font-size:.95rem;margin-bottom:.25rem}.LocationBanner_text__TQZ7P p{font-size:.8rem}.LocationBanner_actions__JKI2E{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{padding:.5rem 1rem;font-size:.875rem;flex:1;min-width:70px}.LocationBanner_dismissButton__n6Pnd{position:absolute;top:.5rem;right:.5rem;font-size:1.25rem;width:28px;height:28px}}@media (max-width:480px){.LocationBanner_banner__qRtTW{bottom:0;left:0;right:0;border-radius:0;border-bottom:none}.LocationBanner_bannerContainer__JHkuC{flex-direction:column;padding:.5rem}.LocationBanner_content__dsRQo{padding:.75rem 1rem}.LocationBanner_actions__JKI2E{gap:.25rem}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{padding:.5rem .75rem;font-size:.8rem}}@media (max-width:600px){.LocationBanner_locationBannerContainer__hDoMX{max-width:100vw!important;overflow-x:hidden!important}}.LocationManager_desktopLocationBtn__dhODI{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font-size:1rem;color:#28c7ed;padding:.25rem .75rem;border-radius:6px;transition:background-color .2s ease;position:relative;z-index:1}.LocationManager_desktopLocationBtn__dhODI:hover{background-color:rgba(40,199,237,.1)}.LocationManager_locationText__kPA1Z{color:#222;font-weight:500}.LocationManager_mobileLocationBtn__bVm_7{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:6px;transition:background-color .2s ease;position:relative;z-index:1}.LocationManager_mobileLocationBtn__bVm_7:hover{background-color:rgba(40,199,237,.1)}.LocationManager_mobileLocationPin__n65Va{display:flex;align-items:center}.LocationManager_mobileLocationText__mU2N7{color:#222;font-weight:500;font-size:.9rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.LocationManager_modalOverlay__QW6YG{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;opacity:1;visibility:visible}.LocationManager_modal___lxhP{background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.15);max-width:400px;width:100%;overflow:hidden;position:relative;max-height:90vh;overflow-y:auto;margin:auto;transform:translateY(0)}.LocationManager_modalHeader__CNt56{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:1.1rem;color:#1f2937}.LocationManager_modalClose__Meipq{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.LocationManager_modalClose__Meipq:hover{background-color:#f3f4f6;color:#374151}.LocationManager_modalBody__7pcz_{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.LocationManager_modalInput__ag_bD{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.LocationManager_modalInput__ag_bD:focus{outline:none;border-color:#28c7ed;box-shadow:0 0 0 3px rgba(40,199,237,.1)}.LocationManager_modalInput__ag_bD:disabled{background-color:#f9fafb;color:#6b7280}.LocationManager_modalSubmit__ZeMHs{width:100%;background:#28c7ed;color:white;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.LocationManager_modalSubmit__ZeMHs:hover:not(:disabled){background:#22b5d6}.LocationManager_modalSubmit__ZeMHs:disabled{background:#94a3b8;cursor:not-allowed}.LocationManager_modalGeolocate__0rDbU{width:100%;background:#28c7ed;color:white;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.LocationManager_modalGeolocate__0rDbU:hover:not(:disabled){background:#22b5d6}.LocationManager_modalGeolocate__0rDbU:disabled{background:#94a3b8;cursor:not-allowed}.LocationManager_modalError__7pKLc{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem;font-size:.9rem;margin-top:.5rem}.LocationManager_safariInstructions__Z8mOh{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:.75rem;margin-bottom:1rem;font-size:.875rem;color:#1e40af;line-height:1.4}.LocationManager_safariInstructions__Z8mOh strong{color:#1d4ed8}@media (max-width:768px){.LocationManager_modalOverlay__QW6YG{align-items:center;justify-content:center;padding:1rem;display:flex}.LocationManager_modal___lxhP{margin:0;max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);position:relative;transform:none}.LocationManager_modalHeader__CNt56{padding:1rem;font-size:1rem}.LocationManager_modalBody__7pcz_{padding:1rem}.LocationManager_mobileLocationText__mU2N7{max-width:120px;font-size:.85rem}}.IntroModal_overlay__kl_0P{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:IntroModal_fadeIn__XaPMu .3s ease-out}@keyframes IntroModal_fadeIn__XaPMu{0%{opacity:0}to{opacity:1}}.IntroModal_modal__7e5Zi{background:linear-gradient(135deg,#ffffff,#f8fafc);border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.15),0 0 0 1px rgba(255,255,255,.8);max-width:520px;width:100%;max-height:90vh;overflow:hidden;position:relative;animation:IntroModal_modalSlideIn__Wubat .4s cubic-bezier(.34,1.56,.64,1)}@keyframes IntroModal_modalSlideIn__Wubat{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.IntroModal_closeButton__dRJ7u{position:absolute;top:1rem;right:1rem;background:rgba(107,114,128,.1);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#6b7280;cursor:pointer;transition:all .2s ease;z-index:1}.IntroModal_closeButton__dRJ7u:hover{background:rgba(107,114,128,.2);color:#374151;transform:scale(1.1)}.IntroModal_content__afRxl{padding:2.5rem 2rem 2rem;text-align:center;display:flex;flex-direction:column;gap:2rem}.IntroModal_logoSection__DKd9b{display:flex;justify-content:center;margin-bottom:.5rem}.IntroModal_chainLogo__RP3rI{width:80px;height:auto;filter:drop-shadow(0 4px 12px rgba(40,199,237,.3));animation:IntroModal_gentleBob__XfOq5 3s ease-in-out infinite}@keyframes IntroModal_gentleBob__XfOq5{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.IntroModal_welcomeSection__iC7qp{display:flex;flex-direction:column;gap:1.5rem}.IntroModal_title__RVFCW{font-size:2.25rem;font-weight:800;color:#1f2937;margin:0;background:linear-gradient(135deg,#3b82f6,#28c7ed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.IntroModal_description__UhhaW{display:flex;flex-direction:column;gap:1.25rem;color:#374151;line-height:1.6}.IntroModal_paragraph__A_Aln{font-size:1.1rem;margin:0}.IntroModal_paragraph__A_Aln strong{color:#28c7ed;font-weight:700}.IntroModal_finalParagraph__0DSUb{font-size:1.1rem;margin:0;color:#059669;font-weight:600}.IntroModal_actionSection__JSEOM{margin-top:1rem}.IntroModal_getStartedButton__a7CyL{background:linear-gradient(135deg,#28c7ed,#3b82f6);color:white;border:none;border-radius:50px;padding:1rem 3rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(40,199,237,.4);text-transform:uppercase;letter-spacing:.5px}.IntroModal_getStartedButton__a7CyL:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(40,199,237,.6);background:linear-gradient(135deg,#22b5d6,#2563eb)}.IntroModal_getStartedButton__a7CyL:active{transform:translateY(0)}@media (max-width:640px){.IntroModal_modal__7e5Zi{max-width:95vw;border-radius:16px}.IntroModal_content__afRxl{padding:2rem 1.5rem 1.5rem;gap:1.5rem}.IntroModal_title__RVFCW{font-size:1.875rem}.IntroModal_finalParagraph__0DSUb,.IntroModal_paragraph__A_Aln{font-size:1rem}.IntroModal_chainLogo__RP3rI{width:70px}.IntroModal_getStartedButton__a7CyL{padding:.875rem 2.5rem;font-size:1rem}}@media (max-width:480px){.IntroModal_content__afRxl{padding:1.75rem 1.25rem 1.25rem}.IntroModal_title__RVFCW{font-size:1.75rem}.IntroModal_closeButton__dRJ7u{top:.75rem;right:.75rem;width:32px;height:32px;font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.IntroModal_chainLogo__RP3rI,.IntroModal_modal__7e5Zi,.IntroModal_overlay__kl_0P{animation:none}.IntroModal_getStartedButton__a7CyL:hover{transform:none}}