@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:inherit;font-weight:var(--font-weight-medium);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;position:relative}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-inverse);border-color:var(--color-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.btn-outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover:not(:disabled){background-color:var(--color-surface-elevated);border-color:var(--color-text-muted)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-light);color:var(--color-primary)}.btn-sm{height:var(--button-height-sm);padding:0 var(--spacing-3);font-size:var(--font-size-sm);gap:var(--spacing-1)}.btn-md{height:var(--button-height-md);padding:0 var(--spacing-4);font-size:var(--font-size-base);gap:var(--spacing-2)}.btn-lg{height:var(--button-height-lg);padding:0 var(--spacing-6);font-size:var(--font-size-lg);gap:var(--spacing-2)}.btn-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon svg{width:1em;height:1em}.btn-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:spin .7s linear infinite}.btn-loading .btn-content{visibility:hidden}.btn-loading .btn-spinner{position:absolute}.btn:active:not(:disabled){transform:scale(.98)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);letter-spacing:.01em;border-radius:var(--radius-md);white-space:nowrap}.badge-sm{padding:2px var(--spacing-2);font-size:11px}.badge-md{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.badge-default{background-color:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-success{background-color:#0596691a;color:var(--color-success)}.badge-warning{background-color:#d977061a;color:var(--color-warning)}.badge-danger{background-color:#dc26261a;color:var(--color-danger)}.badge-info{background-color:#0284c71a;color:var(--color-info)}.badge-meetup{background-color:transparent;color:var(--color-meetup);border:1px solid currentColor;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);opacity:.7}.badge-eventbrite{background-color:transparent;color:var(--color-eventbrite);border:1px solid currentColor;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);opacity:.7}.badge-luma{background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.badge-partiful{background-color:transparent;color:var(--color-partiful);border:1px solid currentColor;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);opacity:.7}.badge-urgency-critical{background-color:var(--color-urgency-critical);color:#fff;font-weight:var(--font-weight-semibold);animation:subtlePulse 2.5s ease-in-out infinite}.badge-urgency-high{background-color:var(--color-urgency-high);color:#fff;font-weight:var(--font-weight-semibold)}.badge-urgency-tomorrow{background-color:var(--color-urgency-tomorrow);color:#fff;font-weight:var(--font-weight-semibold)}.badge-urgency-medium{background-color:var(--color-urgency-medium);color:#fff;font-weight:var(--font-weight-semibold)}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.85}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-4);animation:fadeIn var(--duration-fast) var(--ease-out)}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-xl);max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-xl);animation:modalSlideUp var(--duration-normal) var(--ease-out);display:flex;flex-direction:column}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:600px}.modal-lg{width:100%;max-width:800px}.modal-full{width:100%;max-width:95vw;height:90vh}.modal-close{position:absolute;top:var(--spacing-4);right:var(--spacing-4);background-color:var(--color-surface);border:none;border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;color:var(--color-text-secondary);transition:var(--transition);box-shadow:var(--shadow-md)}.modal-close:hover{background-color:var(--color-surface-elevated);color:var(--color-text)}.modal-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-border-light)}.modal-title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-right:var(--spacing-12)}.modal-body{flex:1;overflow-y:auto}@media (max-width: 768px){.modal-backdrop{padding:0;align-items:flex-end}.modal-content{max-height:95vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-sm,.modal-md,.modal-lg{max-width:100%}}.spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-8)}.spinner-fullpage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);z-index:var(--z-modal)}.spinner-icon{position:relative;display:flex;align-items:center;justify-content:center}.spinner-icon:before{content:"";position:absolute;width:100%;height:100%;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.spinner-icon-svg{color:var(--color-primary);animation:pulse 2s ease-in-out infinite}.spinner-sm .spinner-icon:before{width:40px;height:40px}.spinner-md .spinner-icon:before{width:80px;height:80px}.spinner-lg .spinner-icon:before{width:100px;height:100px}.spinner-message{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;font-weight:var(--font-weight-medium)}.coffee-mug-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-6)}.coffee-mug-loader-fullpage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-background);z-index:1000}.coffee-mug-svg{color:var(--color-text)}.mug-body{transform-origin:center;animation:mugGlow 2.5s ease-out forwards}@keyframes mugGlow{0%,70%{filter:none}80%,to{filter:drop-shadow(0 0 8px rgba(139,69,19,.3))}}.coffee-fill{fill:#8b4513;transform-origin:center bottom;animation:fillCoffee 2.5s ease-out forwards;animation-iteration-count:1}.coffee-mug-loader--animating .coffee-fill{animation:fillCoffee 2.5s ease-out infinite}@keyframes fillCoffee{0%{height:0;y:88;opacity:0}5%{opacity:1}30%{height:28;y:60}60%{height:45;y:43}80%{height:56;y:32}to{height:56;y:32}}.coffee-surface{fill:#6f3611;animation:rippleSurface 2.5s ease-out forwards;animation-iteration-count:1;transform-origin:center}.coffee-mug-loader--animating .coffee-surface{animation:rippleSurface 2.5s ease-out infinite}@keyframes rippleSurface{0%,5%{opacity:0;cy:88}10%{opacity:1}30%{cy:60}60%{cy:43}80%,to{opacity:1;cy:32}}.steam{color:var(--color-text-secondary);opacity:0;animation:steamAppear 2.5s ease-out forwards}@keyframes steamAppear{0%,65%{opacity:0}70%{opacity:.7}to{opacity:.7}}.steam-line{animation:steamRise 1.5s ease-out infinite;animation-delay:1.75s}.steam-line-1{animation-delay:1.75s}.steam-line-2{animation-delay:1.95s}.steam-line-3{animation-delay:2.15s}@keyframes steamRise{0%{opacity:0;transform:translateY(0) scaleX(1)}20%{opacity:.8}60%{opacity:.5}to{opacity:0;transform:translateY(-15px) scaleX(1.3)}}.heart-icon{animation:heartAppear 2.5s ease-out forwards}@keyframes heartAppear{0%,50%{opacity:0}70%{opacity:.6}to{opacity:.8}}.heart{fill:#fff6;animation:heartbeat 1s ease-in-out infinite;animation-delay:1.8s;transform-origin:center}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.coffee-mug-message{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin:0;font-weight:var(--font-weight-medium);animation:messageAppear 2.5s ease-out forwards,messagePulse 1.2s ease-in-out infinite 2.5s}@keyframes messageAppear{0%{opacity:.4}80%{opacity:.7}to{opacity:1}}@keyframes messagePulse{0%,to{opacity:.8}50%{opacity:1}}.coffee-mug-loader--sm{gap:var(--spacing-2);padding:var(--spacing-3)}.coffee-mug-loader--sm .coffee-mug-message{font-size:var(--font-size-sm)}.coffee-mug-loader--lg{gap:var(--spacing-6);padding:var(--spacing-8)}.coffee-mug-loader--lg .coffee-mug-message{font-size:var(--font-size-lg)}@media (prefers-color-scheme: dark){.coffee-fill{fill:sienna}.coffee-surface{fill:#8b4513}.heart{fill:#fff3}}.event-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default);display:flex;flex-direction:column;height:100%;cursor:pointer;border:1px solid var(--color-border-light)}.event-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.event-card__image{width:100%;height:var(--card-image-height);background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--color-surface-elevated);position:relative;flex-shrink:0}.event-card__image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.4) 100%);display:flex;align-items:flex-start;justify-content:flex-start;padding:var(--spacing-3)}.event-card__favorite{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--color-text-muted);z-index:10}.event-card__favorite:hover{background:white;color:var(--color-danger);transform:scale(1.08)}.event-card__favorite.is-active{background:var(--color-danger);color:#fff}.event-card__favorite.is-active:hover{background:#b91c1c}.event-card__content{padding:var(--spacing-4);flex:1;display:flex;flex-direction:column;gap:var(--spacing-3)}.event-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-2);min-height:28px}.event-card__header-left{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.event-card__chapter{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#fff;white-space:nowrap}.event-card__chapter svg{flex-shrink:0;width:12px;height:12px}.event-card__distance{background:var(--color-primary-light);color:var(--color-primary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.event-card__title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--duration-fast);min-height:var(--card-title-min-height)}.event-card:hover .event-card__title{color:var(--color-primary)}.event-card__details{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3) 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.event-card__detail{display:flex;align-items:flex-start;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.event-card__detail svg{flex-shrink:0;margin-top:2px;color:var(--color-text-muted)}.event-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:var(--spacing-2);padding-top:var(--spacing-1)}.event-card__actions-secondary{display:flex;align-items:center;gap:var(--spacing-2)}.event-card__action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:var(--button-height-sm);line-height:1;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--spacing-3);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition);position:relative;white-space:nowrap;box-sizing:border-box}.event-card__action-btn:hover{border-color:var(--color-text-muted);color:var(--color-text);background:var(--color-surface-elevated)}.event-card__action-btn svg{width:14px;height:14px}.event-card__primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:var(--button-height-sm);line-height:1;background:var(--color-primary);color:#fff;text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:0 var(--spacing-4);border-radius:var(--radius-md);border:none;white-space:nowrap;transition:var(--transition);position:relative;cursor:pointer;box-sizing:border-box}.event-card__primary-btn:hover,.event-card__primary-btn:focus{background:var(--color-primary-hover);color:var(--color-text-inverse)}a.event-card__primary-btn,a.event-card__primary-btn:hover,a.event-card__primary-btn:visited{color:#fff}a.event-card__primary-btn:hover{color:var(--color-text-inverse)}.event-card__primary-btn svg{width:14px;height:14px}.event-card__toast{position:absolute;top:-32px;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;animation:fadeInOut 2s ease;z-index:10}@media (max-width: 768px){.event-card__image{height:var(--card-image-height-mobile)}.event-card__content{padding:var(--spacing-3)}.event-card__footer{flex-wrap:wrap;gap:var(--spacing-2)}.event-card__actions-secondary{gap:var(--spacing-1)}.event-card__action-btn{padding:0 var(--spacing-2);font-size:var(--font-size-xs)}.event-card__primary-btn{padding:0 var(--spacing-3);font-size:var(--font-size-xs)}}.chapter-cta-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);display:flex;flex-direction:column;height:100%;position:relative;border:2px solid var(--color-warning)}.chapter-cta-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-warning)}.chapter-cta-card__image{width:100%;height:var(--card-image-height);background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--color-surface-elevated);position:relative;flex-shrink:0}.chapter-cta-card__image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.1) 100%);display:flex;align-items:flex-start;justify-content:flex-end;padding:var(--spacing-3)}.chapter-cta-card__badge{display:flex;align-items:center;gap:var(--spacing-1);background:var(--color-warning);color:#fff;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.5px;box-shadow:var(--shadow-md)}.chapter-cta-card__content{padding:var(--spacing-4);flex:1;display:flex;flex-direction:column;gap:var(--spacing-3)}.chapter-cta-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text);min-height:var(--card-title-min-height)}.chapter-cta-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);min-height:var(--card-description-min-height)}.chapter-cta-card__details{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.chapter-cta-card__detail{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.chapter-cta-card__detail svg{flex-shrink:0;color:var(--color-warning)}.chapter-cta-card__cta-text{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3);background:rgba(245,158,11,.1);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.chapter-cta-card__cta-text svg{flex-shrink:0}.chapter-cta-card__button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);background:var(--color-warning);color:#fff;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-decoration:none;transition:var(--transition);box-shadow:var(--shadow-md);margin-top:auto;border:none}.chapter-cta-card__button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);filter:brightness(1.1);color:#fff}.chapter-cta-card__button:active{transform:translateY(0)}@media (max-width: 768px){.chapter-cta-card__image{height:var(--card-image-height-mobile)}}.event-list{margin-top:var(--spacing-4);margin-bottom:var(--spacing-12)}.event-list__header{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border-light)}.event-list__header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.event-list__title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.02em}.event-list__count{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);position:relative}.event-list__info-btn{background:none;border:none;padding:var(--spacing-1);cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;transition:color var(--duration-fast);border-radius:var(--radius-sm)}.event-list__info-btn:hover{color:var(--color-primary)}.event-list__tooltip{position:absolute;top:100%;right:0;margin-top:var(--spacing-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-lg);min-width:240px;z-index:var(--z-tooltip);animation:fadeInUp var(--duration-fast) var(--ease-out)}.event-list__tooltip p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-2);line-height:var(--line-height-relaxed)}.event-list__tooltip-time{color:var(--color-text)}.event-list__tooltip-close{position:absolute;top:var(--spacing-2);right:var(--spacing-2);background:none;border:none;font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;line-height:1;padding:var(--spacing-1);border-radius:var(--radius-sm)}.event-list__tooltip-close:hover{color:var(--color-text)}.event-list__filters{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;margin-top:var(--spacing-3)}.event-list__filters-label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.event-list__filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#fff;border:none;cursor:pointer;transition:var(--transition)}.event-list__filter-chip:hover{filter:brightness(.9)}.event-list__filter-chip--chapter{background:var(--color-primary)}.event-list__filter-chip--meetup{background:var(--color-meetup)}.event-list__filter-chip--eventbrite{background:var(--color-eventbrite)}.event-list__filter-chip--luma{background:var(--color-luma)}.event-list__filter-chip--partiful{background:var(--color-partiful)}.event-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-6)}.event-list__empty{text-align:center;padding:var(--spacing-16) var(--spacing-4)}.event-list__empty-icon{font-size:3rem;margin-bottom:var(--spacing-4);opacity:.6}.event-list__empty h2{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.event-list__empty p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.event-list__view-more{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-8)}.event-list__view-more-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:var(--transition)}.event-list__view-more-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.event-list__view-more-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (max-width: 768px){.event-list__grid{grid-template-columns:1fr;gap:var(--spacing-4)}.event-list__header-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.event-list__title{font-size:var(--font-size-xl)}}.event-modal__image{width:100%;height:var(--modal-image-height);background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--color-surface-elevated);flex-shrink:0}.event-modal__actions{position:sticky;top:0;z-index:9;display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-surface);border-bottom:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.event-modal__actions-main{display:flex;flex-direction:column;gap:var(--spacing-2);flex:1}.event-modal__primary-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);height:var(--button-height-md);padding:0 var(--spacing-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition);position:relative;box-sizing:border-box}.event-modal__primary-btn:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.event-modal__toast{position:absolute;top:-35px;left:50%;transform:translate(-50%);background:var(--color-secondary);color:#fff;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;animation:fadeInOut 2s ease;z-index:10}.event-modal__platform{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.event-modal__favorite{background:none;border:2px solid var(--color-border);border-radius:var(--radius-full);width:var(--button-height-lg);height:var(--button-height-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--color-text-secondary);flex-shrink:0;box-sizing:border-box}.event-modal__favorite:hover{border-color:var(--color-danger);color:var(--color-danger)}.event-modal__favorite.is-active{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.event-modal__actions-secondary{display:flex;gap:var(--spacing-2);flex-shrink:0}.event-modal__action-btn{background:none;border:2px solid var(--color-border);border-radius:var(--radius-full);width:var(--button-height-lg);height:var(--button-height-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--color-text-secondary);flex-shrink:0;box-sizing:border-box;position:relative}.event-modal__action-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(58,134,255,.1)}.event-modal__body{padding:var(--spacing-6)}.event-modal__header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-4)}.event-modal__details{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6);padding:var(--spacing-4);background:var(--color-surface-elevated);border-radius:var(--radius-md)}.event-modal__detail{display:flex;align-items:flex-start;gap:var(--spacing-3);color:var(--color-text);font-size:var(--font-size-base)}.event-modal__detail svg{flex-shrink:0;color:var(--color-primary);margin-top:2px}.event-modal__distance{margin-left:var(--spacing-2)}.event-modal__description h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);color:var(--color-text)}.event-modal__description-content{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.event-modal__description-content p{margin-bottom:var(--spacing-3)}.event-modal__description-content a{color:var(--color-primary)}.event-modal__no-description{color:var(--color-text-muted);font-style:italic}.event-modal__links{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--color-border)}.event-modal__links h4{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);color:var(--color-text)}.event-modal__links ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-2)}.event-modal__links a{color:var(--color-primary);font-size:var(--font-size-sm);transition:color var(--duration-fast)}.event-modal__links a:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.event-modal__image{height:var(--modal-image-height-mobile)}.event-modal__body{padding:var(--spacing-4)}}.region-navigator{position:relative}.region-navigator__controls{display:flex;align-items:center;gap:var(--spacing-3)}.region-navigator__wrapper{position:relative;z-index:var(--z-dropdown);flex:1}.region-navigator__detect-wrapper{position:relative}.region-navigator__detect{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);flex-shrink:0}.region-navigator__detect:hover:not(:disabled){background:var(--color-primary-hover)}.region-navigator__detect:disabled{opacity:.6;cursor:not-allowed}.region-navigator__detect.has-error{background:var(--color-warning);animation:shake .4s ease-in-out}.region-navigator__detect.has-ip-location{box-shadow:0 0 0 2px var(--color-success)}.region-navigator__detect-indicator{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--color-success);border-radius:var(--radius-full);border:2px solid var(--color-surface);animation:pulse 2s ease-in-out infinite}.region-navigator__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.location-error-tooltip{position:absolute;top:calc(100% + var(--spacing-2));right:0;width:var(--tooltip-max-width);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:calc(var(--z-dropdown) + 100);animation:tooltipFadeIn .15s ease-out;overflow:hidden}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.location-error-tooltip:before{content:"";position:absolute;top:-6px;right:18px;width:12px;height:12px;background:var(--color-warning);transform:rotate(45deg);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.location-error-tooltip__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-warning);color:#fff}.location-error-tooltip__content{padding:var(--spacing-4)}.location-error-tooltip__browser-dropdown{flex:1;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.location-error-tooltip__label{margin:0 0 var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.location-error-tooltip__steps li{margin-bottom:var(--spacing-2)}.location-error-tooltip__retry{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;margin-top:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition)}.region-navigator__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-dropdown) - 1);background:transparent}.region-nav{position:relative}.region-nav__list{display:flex;list-style:none;margin:0;padding:0}.region-nav__trigger{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition);min-width:200px}.region-nav__trigger:hover{border-color:var(--color-text-muted)}.region-nav__trigger[data-state=open]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.region-nav__trigger-icon{flex-shrink:0;color:var(--color-text-muted)}.region-nav__trigger[data-state=open] .region-nav__trigger-icon{color:var(--color-primary)}.region-nav__trigger-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.region-nav__chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-default)}.region-nav__trigger[data-state=open] .region-nav__chevron{transform:rotate(180deg);color:var(--color-primary)}.region-nav__viewport{position:absolute;top:100%;left:0;margin-top:var(--spacing-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;z-index:var(--z-popover);animation:slideDown .15s var(--ease-out);transform-origin:top left}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.region-nav__panel{display:flex;min-height:340px;max-height:440px}.region-nav__timezones-column{width:180px;padding:var(--spacing-2);overflow-y:auto;border-right:1px solid var(--color-border-light);flex-shrink:0}.region-nav__cities-column{width:0;overflow:hidden;opacity:0;transition:width .15s ease,opacity .15s ease;border-right:1px solid var(--color-border-light);background:var(--color-bg);flex-shrink:0}.region-nav__cities-column.is-visible{width:200px;opacity:1}.region-nav__cities-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);border-bottom:1px solid var(--color-border-light);background:var(--color-surface)}.region-nav__cities-header-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.region-nav__cities-list{padding:var(--spacing-2);overflow-y:auto;max-height:392px}.region-nav__map{width:340px;background:var(--color-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.us-map-inline{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.us-map-inline svg{width:100%;height:auto}.us-map-inline--interactive{position:relative}.map-marker{cursor:default}.map-marker--clickable{cursor:pointer}.map-marker--clickable:hover circle:last-child{filter:brightness(1.1)}.map-marker__hover-ring{transition:opacity .12s ease;opacity:0}.map-marker--clickable:hover .map-marker__hover-ring{opacity:1;fill:#ffffff26}.map-marker__pulse{animation:markerPulse 2s ease-in-out infinite;transform-origin:center}@keyframes markerPulse{0%,to{opacity:1}50%{opacity:.5}}.map-marker--selected{filter:brightness(1.15)}.map-marker__glow{animation:markerGlow 2s ease-in-out infinite;transform-origin:center}@keyframes markerGlow{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.35;transform:scale(1.08)}}.map-tooltip{position:fixed;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-text);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:none;z-index:9999;white-space:nowrap;animation:tooltipFadeIn .12s ease}.map-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--color-text)}.map-tooltip__city{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-bg)}.map-tooltip__state{font-size:var(--font-size-xs);color:var(--color-bg);opacity:.75}.region-nav__all-btn{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast)}.region-nav__all-btn:hover{background:var(--color-primary-light)}.region-nav__all-btn.is-selected{background:var(--color-primary);color:#fff}.region-nav__detect-btn{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast)}.region-nav__detect-btn:hover:not(:disabled){background:var(--color-primary-light)}.region-nav__detect-btn:disabled{opacity:.5;cursor:not-allowed}.region-nav__detect-btn .is-spinning{animation:spin 1s linear infinite}.region-nav__divider{height:1px;background:var(--color-border-light);margin:var(--spacing-2) 0}.region-nav__timezones{display:flex;flex-direction:column;gap:2px}.region-nav__timezone-btn{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast)}.region-nav__timezone-btn:hover,.region-nav__timezone-btn.is-open{background:var(--color-primary-light)}.region-nav__timezone-btn.is-open{color:var(--color-primary)}.region-nav__timezone-btn.is-open .region-nav__timezone-count{background:var(--color-primary);color:#fff}.region-nav__timezone-btn.is-open .region-nav__timezone-arrow{color:var(--color-primary)}.region-nav__timezone-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.region-nav__timezone-label{flex:1;text-align:left;display:flex;align-items:center;gap:var(--spacing-2)}.region-nav__timezone-badge{display:inline-flex;align-items:center;padding:2px 6px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.region-nav__timezone-btn.is-user-timezone{background:var(--color-primary-light)}.region-nav__timezone-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface-elevated);padding:2px 8px;border-radius:var(--radius-full);transition:var(--transition-fast)}.region-nav__timezone-arrow{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-default)}.region-nav__city{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast);text-align:left}.region-nav__city:hover{background:var(--color-surface)}.region-nav__city.is-selected{background:var(--color-primary);color:#fff}.region-nav__city svg{flex-shrink:0;opacity:.4;width:12px;height:12px}.region-nav__city.is-selected svg{opacity:1}.region-nav__city-name{flex:1}.region-nav__city-state{font-size:var(--font-size-xs);font-family:var(--font-family-mono);color:var(--color-text-muted);min-width:24px;text-align:right}.region-nav__city.is-selected .region-nav__city-state{color:#ffffffbf}.mobile-navigator{position:relative;width:100%}.mobile-navigator__controls{display:flex;gap:var(--spacing-3)}.mobile-navigator__trigger{flex:1;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition)}.mobile-navigator__trigger:active{transform:scale(.98)}.mobile-navigator__trigger.is-open{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.mobile-navigator__label{flex:1;text-align:left}.mobile-navigator__chevron{transition:transform var(--duration-normal) var(--ease-default);color:var(--color-text-muted)}.mobile-navigator__trigger.is-open .mobile-navigator__chevron{transform:rotate(180deg);color:var(--color-primary)}.mobile-navigator__detect{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;position:relative;z-index:10}.mobile-navigator__detect:hover{background:var(--color-primary-hover)}.mobile-navigator__detect:active{transform:scale(.95);background:var(--color-primary-hover)}.mobile-navigator__detect.is-loading{opacity:.7;pointer-events:none}.mobile-navigator__detect:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.mobile-navigator__detect.has-ip-location{box-shadow:0 0 0 2px var(--color-success)}.mobile-navigator__detect-indicator{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background:var(--color-success);border-radius:var(--radius-full);border:2px solid var(--color-surface);animation:pulse 2s ease-in-out infinite}.mobile-navigator__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite}.mobile-navigator__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;animation:fadeIn .15s ease}.mobile-navigator__panel{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg);z-index:1000;display:flex;flex-direction:column;animation:slideUp .2s var(--ease-out);overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-navigator__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light);background:var(--color-surface)}.mobile-navigator__title{margin:0;font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.mobile-navigator__close{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.mobile-navigator__close:active{background:var(--color-surface-elevated)}.mobile-navigator__main-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.mobile-navigator__content{overflow-y:auto;padding:var(--spacing-4);flex-shrink:0}.mobile-navigator__option{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition);margin-bottom:var(--spacing-2)}.mobile-navigator__option:hover{border-color:var(--color-primary)}.mobile-navigator__option:active{transform:scale(.98)}.mobile-navigator__option.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mobile-navigator__dot{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.mobile-navigator__timezone-label{flex:1;text-align:left}.mobile-navigator__count{padding:var(--spacing-1) var(--spacing-3);background:var(--color-surface-elevated);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.mobile-navigator__option.is-selected .mobile-navigator__count{background:rgba(255,255,255,.2);color:#fff}.mobile-navigator__arrow{transform:rotate(-90deg);color:var(--color-text-muted)}.mobile-navigator__divider{height:1px;background:var(--color-border-light);margin:var(--spacing-4) 0}.mobile-navigator__detail{flex:1;display:flex;flex-direction:column;overflow:hidden}.mobile-navigator__back{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:none;border:none;color:var(--color-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border-bottom:1px solid var(--color-border-light)}.mobile-navigator__back:active{background:var(--color-surface)}.mobile-navigator__cities{flex:1;overflow-y:auto;padding:var(--spacing-4);min-height:300px}.mobile-navigator__subtitle{display:flex;align-items:center;gap:var(--spacing-2);margin:0 0 var(--spacing-3) 0;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.mobile-navigator__city-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.mobile-navigator__city{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition)}.mobile-navigator__city:active{transform:scale(.98)}.mobile-navigator__city.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mobile-navigator__city-name{flex:1;text-align:left}.mobile-navigator__city-state{font-size:var(--font-size-sm);font-family:var(--font-family-mono);color:var(--color-text-muted);min-width:24px;text-align:right}.mobile-navigator__city.is-selected .mobile-navigator__city-state{color:#ffffffbf}.mobile-navigator__map-toggle{width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface);border:none;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition);flex-shrink:0}.mobile-navigator__map-toggle:active{background:var(--color-bg)}.mobile-navigator__map{width:100%;height:200px;background:var(--color-bg);border-top:1px solid var(--color-border-light);flex-shrink:0}.mobile-navigator__map .us-map-inline{padding:var(--spacing-2);height:100%;display:flex;align-items:center;justify-content:center}.mobile-navigator__map--main{flex:1;min-height:250px;max-height:350px;border-top:1px solid var(--color-border-light)}.location-error-tooltip--mobile{position:fixed;bottom:var(--spacing-4);left:var(--spacing-4);right:var(--spacing-4);max-width:none;z-index:1001}.location-error-tooltip--mobile:before{display:none}@media (max-width: 767px){.region-navigator--desktop{display:none}}@media (min-width: 768px){.region-navigator--mobile{display:none}}@media (max-width: 1000px){.region-nav__panel{min-height:300px}.region-nav__timezones-column{width:160px}.region-nav__cities-column.is-visible{width:180px}.region-nav__map{width:280px}}.filter-bar{padding:var(--spacing-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6);border:1px solid var(--color-border-light)}@media (min-width: 769px){.filter-bar{padding:var(--spacing-6)}}.region-select{display:flex;align-items:center;gap:var(--spacing-2);width:100%}.region-select__dropdown{flex:1;height:var(--input-height-lg);padding:0 var(--spacing-4);padding-right:var(--spacing-10);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;background-size:20px;box-sizing:border-box}.region-select__dropdown:hover{border-color:var(--color-primary)}.region-select__dropdown:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3a86ff33}.region-select__dropdown optgroup{font-weight:var(--font-weight-bold);color:var(--color-text);background:var(--color-surface);padding:var(--spacing-2)}.region-select__dropdown option{font-weight:var(--font-weight-normal);padding:var(--spacing-2)}.region-select__detect{display:flex;align-items:center;justify-content:center;width:var(--input-height-lg);height:var(--input-height-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition);flex-shrink:0}.region-select__detect:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.05)}.region-select__detect:disabled{opacity:.7;cursor:not-allowed}.region-select__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .8s linear infinite}.region-select__detect-wrapper{position:relative}.region-select__detect.has-error{background:#f59e0b;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.location-error-tooltip{position:absolute;top:calc(100% + var(--spacing-2));right:0;width:var(--tooltip-max-width);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000026;z-index:1000;animation:tooltipFadeIn .2s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.location-error-tooltip:before{content:"";position:absolute;top:-8px;right:18px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--color-border)}.location-error-tooltip:after{content:"";position:absolute;top:-6px;right:19px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--color-surface)}.location-error-tooltip__header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:#f59e0b;border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:#fff}.location-error-tooltip__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.location-error-tooltip__title{flex:1;margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.location-error-tooltip__close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;opacity:.8;cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:var(--transition)}.location-error-tooltip__close:hover{opacity:1;background:rgba(255,255,255,.2)}.location-error-tooltip__content{padding:var(--spacing-4);padding-left:var(--spacing-6)}.location-error-tooltip__browser-select{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.location-error-tooltip__browser-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.location-error-tooltip__browser-dropdown{flex:1;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.location-error-tooltip__label{margin:0 0 var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.location-error-tooltip__steps{margin:0;padding-left:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-relaxed)}.location-error-tooltip__steps li{margin-bottom:var(--spacing-2);padding-left:var(--spacing-1)}.location-error-tooltip__steps li:last-child{margin-bottom:0}.location-error-tooltip__retry{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:calc(100% - var(--spacing-8));margin:0 var(--spacing-4) var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition)}.location-error-tooltip__retry:hover{background:var(--color-primary-hover)}@media (max-width: 768px){.region-select__dropdown{height:var(--input-height-md);padding:0 var(--spacing-3);padding-right:var(--spacing-8);font-size:var(--font-size-sm)}.region-select__detect{width:var(--input-height-md);height:var(--input-height-md)}.location-error-tooltip{width:var(--tooltip-max-width-mobile);right:-10px}.location-error-tooltip:before,.location-error-tooltip:after{right:28px}}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:var(--z-sticky)}.header__container{display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.header__logo{display:flex;align-items:center;gap:var(--spacing-3);text-decoration:none;color:var(--color-text)}.header__logo-icon{color:var(--color-primary);transition:transform var(--duration-normal) var(--ease-default)}.header__logo:hover .header__logo-icon{transform:rotate(-8deg)}.header__logo-text{display:flex;flex-direction:column;gap:2px}.header__title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:1.1;letter-spacing:-.02em}.header__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);line-height:1.2}.header__tagline{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);opacity:1;transform:translateY(0);transition:opacity var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default);min-height:1.2em;line-height:1.2}.header__tagline--animating{opacity:0;transform:translateY(-4px)}.header__theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-full);background:var(--color-surface-elevated);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition)}.header__theme-toggle:hover{background:var(--color-primary-light);color:var(--color-primary)}.header__theme-toggle:active{transform:scale(.95)}.header__theme-toggle svg{transition:transform var(--duration-normal) var(--ease-default)}.header__theme-toggle:hover svg{transform:rotate(15deg)}@media (max-width: 768px){.header__title{font-size:var(--font-size-lg)}.header__subtitle{font-size:var(--font-size-xs)}.header__tagline{font-size:11px}.header__theme-toggle{width:36px;height:36px}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border-light);padding:var(--spacing-8) 0;margin-top:auto}.footer__container{text-align:center}.footer__sources{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-2)}.footer__credits{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--duration-fast)}.footer__link:hover{color:var(--color-primary-hover)}.scroll-to-top{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);width:var(--button-height-lg);height:var(--button-height-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:var(--z-fixed);animation:fadeInUp var(--duration-normal) var(--ease-out)}.scroll-to-top:hover{background:var(--color-primary-hover);transform:translateY(-4px);box-shadow:var(--shadow-xl)}.scroll-to-top:active{transform:translateY(-2px)}@media (max-width: 768px){.scroll-to-top{bottom:var(--spacing-4);right:var(--spacing-4);width:var(--button-height-md);height:var(--button-height-md)}}:root{--color-primary: #0d7377;--color-primary-hover: #0a5c5f;--color-primary-light: rgba(13, 115, 119, .08);--color-secondary: #64748b;--color-secondary-hover: #475569;--color-accent: #14b8a6;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-shadow: rgba(15, 23, 42, .04);--color-shadow-lg: rgba(15, 23, 42, .08);--color-success: #059669;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #0284c7;--color-meetup: #e11d48;--color-eventbrite: #ea580c;--color-luma: #1e293b;--color-partiful: #7c3aed;--color-source-meetup: #fecdd3;--color-source-eventbrite: #fed7aa;--color-source-luma: #e2e8f0;--color-source-partiful: #ddd6fe;--color-urgency-critical: #dc2626;--color-urgency-high: #ea580c;--color-urgency-tomorrow: #059669;--color-urgency-medium: #0284c7;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-6: 24px;--spacing-8: 32px;--spacing-12: 48px;--spacing-16: 64px;--spacing-24: 96px;--spacing-xs: var(--spacing-2);--spacing-sm: var(--spacing-4);--spacing-md: var(--spacing-6);--spacing-lg: var(--spacing-8);--spacing-xl: var(--spacing-12);--font-family-heading: "Geist", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Geist Mono", "SF Mono", "Fira Code", "Consolas", monospace;--font-family: var(--font-family-base);--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .05em;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--border-radius: var(--radius-lg);--border-radius-sm: var(--radius-md);--duration-fast: .12s;--duration-normal: .18s;--duration-slow: .28s;--ease-default: cubic-bezier(.25, .1, .25, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition: all var(--duration-normal) var(--ease-default);--transition-fast: all var(--duration-fast) var(--ease-default);--transition-slow: all var(--duration-slow) var(--ease-default);--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 2px 4px var(--color-shadow), 0 4px 8px var(--color-shadow);--shadow-lg: 0 4px 8px var(--color-shadow), 0 8px 16px var(--color-shadow-lg);--shadow-xl: 0 8px 16px var(--color-shadow), 0 16px 32px var(--color-shadow-lg);--shadow-card: 0 1px 3px rgba(15, 23, 42, .04), 0 1px 2px rgba(15, 23, 42, .02);--shadow-card-hover: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--button-height-sm: 32px;--button-height-md: 40px;--button-height-lg: 48px;--input-height-sm: 32px;--input-height-md: 40px;--input-height-lg: 48px;--card-image-height: 180px;--card-image-height-mobile: 160px;--card-title-min-height: 2.5rem;--card-description-min-height: 3.6rem;--modal-image-height: 280px;--modal-image-height-mobile: 180px;--tooltip-max-width: 320px;--tooltip-max-width-mobile: 280px;--container-max-width: 1200px;--header-height: 64px;--color-bg-rgb: 248, 250, 252;--color-primary-rgb: 13, 115, 119;--color-text-rgb: 30, 41, 59}[data-theme=dark]{--color-primary: #14b8a6;--color-primary-hover: #2dd4bf;--color-primary-light: rgba(20, 184, 166, .12);--color-secondary: #94a3b8;--color-secondary-hover: #cbd5e1;--color-accent: #2dd4bf;--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-light: #1e293b;--color-shadow: rgba(0, 0, 0, .2);--color-shadow-lg: rgba(0, 0, 0, .3);--color-source-meetup: rgba(225, 29, 72, .15);--color-source-eventbrite: rgba(234, 88, 12, .15);--color-source-luma: rgba(241, 245, 249, .1);--color-source-partiful: rgba(124, 58, 237, .15);--color-luma: #f1f5f9;--shadow-card: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .1);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--color-bg-rgb: 15, 23, 42;--color-primary-rgb: 20, 184, 166;--color-text-rgb: 241, 245, 249}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-primary: #14b8a6;--color-primary-hover: #2dd4bf;--color-primary-light: rgba(20, 184, 166, .12);--color-secondary: #94a3b8;--color-secondary-hover: #cbd5e1;--color-accent: #2dd4bf;--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-light: #1e293b;--color-shadow: rgba(0, 0, 0, .2);--color-shadow-lg: rgba(0, 0, 0, .3);--color-source-meetup: rgba(225, 29, 72, .15);--color-source-eventbrite: rgba(234, 88, 12, .15);--color-source-luma: rgba(241, 245, 249, .1);--color-source-partiful: rgba(124, 58, 237, .15);--color-luma: #f1f5f9;--shadow-card: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .1);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--color-bg-rgb: 15, 23, 42;--color-primary-rgb: 20, 184, 166;--color-text-rgb: 241, 245, 249}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--duration-slow) var(--ease-default),color var(--duration-slow) var(--ease-default)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.03em}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}a:hover{color:var(--color-primary-hover)}small{font-size:var(--font-size-sm);color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary);color:#fff}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-4)}@media (min-width: 768px){.container{padding:0 var(--spacing-6)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInOut{0%,to{opacity:0}10%,90%{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;padding:var(--spacing-6) 0}@media (min-width: 768px){.main{padding:var(--spacing-8) 0}}.error-message{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-lg);padding:var(--spacing-6);text-align:center;margin:var(--spacing-6) 0}.error-message p{color:var(--color-danger);margin-bottom:var(--spacing-4);font-weight:var(--font-weight-medium)}.error-message button{background:var(--color-danger);color:#fff;border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition)}.error-message button:hover{background:#b91c1c}
