*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1e293b;background:#fafafa;line-height:1.65;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}a{color:#ea580c;text-decoration:none;transition:color 0.2s ease}a:hover{color:#f97316;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.2;font-weight:600;color:#1e293b}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}button,select,input{cursor:pointer;font-family:inherit;font-size:inherit}input{cursor:text}@keyframes fadeSlideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.site-header{background:#fff;color:#1e293b;padding:0.85rem 1.25rem;position:relative;z-index:1010;border-bottom:1px solid #e4e4e7}.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header .site-brand{display:flex;align-items:center;gap:0.5rem;text-decoration:none;color:#1e293b}.site-header .site-brand:hover{text-decoration:none;color:#1e293b}.site-header .site-logo{height:36px;width:auto}.site-header .site-brand-text{display:flex;flex-direction:column}.site-header .site-title{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.2rem;font-weight:600;color:#1e293b;letter-spacing:-0.02em;line-height:1.2}.site-header .site-title .site-title-tld{font-weight:400;color:#ea580c}.site-header .site-brand:hover .site-title{color:#64748b}.site-header .site-tagline{font-size:0.68rem;color:#a1a1aa;letter-spacing:0.01em;line-height:1.2}@media (max-width: 575px){.site-header .site-tagline{display:none}}.site-header nav{display:flex;gap:0.35rem;align-items:center;flex-shrink:0}@media (max-width: 767px){.site-header nav a:not(.nav-cta):not(.nav-github){display:none}}.site-header nav a{color:#1e293b;padding:0.4rem 0.9rem;font-size:0.82rem;font-weight:500;border-radius:6px;background:#f4f4f5;transition:background 0.2s, transform 0.15s;letter-spacing:0.02em}.site-header nav a:hover{background:#e4e4e7;text-decoration:none;transform:translateY(-1px)}.site-header nav a.nav-cta{background:#ea580c;color:#fff;font-weight:600}.site-header nav a.nav-cta:hover{background:#f97316}.site-header .nav-github{display:inline-flex;align-items:center;justify-content:center;padding:0.4rem;background:none}.site-header .nav-github svg{width:18px;height:18px}.site-header .nav-github:hover{background:#e4e4e7}.site-header .header-search{display:none}@media (min-width: 992px){.site-header .header-search{display:block;flex:1;max-width:480px;position:relative;z-index:1001}}.site-header .header-search .search-bar{margin-bottom:0}.site-header .header-search .search-input{background:#f4f4f5;border-color:#e4e4e7;color:#1e293b;padding:0.5rem 0.85rem;font-size:0.85rem}.site-header .header-search .search-input::placeholder{color:#a1a1aa}.site-header .header-search .search-input:focus{background:#fff;border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,0.15)}.site-footer{background:#fff;color:#a1a1aa;text-align:center;padding:1.75rem 1rem;margin-top:auto;font-size:0.82rem;border-top:1px solid #e4e4e7;letter-spacing:0.01em}.site-footer p{margin-bottom:0.4rem}.site-footer p:last-child{margin-bottom:0}.site-footer .footer-links{display:flex;justify-content:center;gap:1.25rem}.site-footer a{color:#64748b}.site-footer a:hover{color:#ea580c;text-decoration:none}.page-content{flex:1}.container{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.home-layout{display:flex;flex-direction:column;height:calc(100vh - 55px - 80px)}@media (max-width: 991px){.home-layout{height:calc(100vh - 55px);overflow:hidden;position:relative}}@media (min-width: 992px){.home-layout{flex-direction:row;height:calc(100vh - 55px)}}.map-container{width:100%;height:50vh;min-height:300px;position:relative}@media (max-width: 991px){.map-container{height:100%;min-height:0}}@media (min-width: 992px){.map-container{flex:1;height:100%}}.map-container #map{width:100%;height:100%}.sidebar{width:100%;overflow-y:auto;padding:1.25rem;background:#fff}@media (max-width: 991px){.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:1020;border-radius:14px 14px 0 0;box-shadow:0 -6px 32px rgba(0,0,0,0.12);height:calc(100vh - 70px);transition:transform 0.3s ease;will-change:transform;padding-top:0;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(calc(100% - 220px))}.sidebar.drawer-peek{transform:translateY(calc(100% - 220px))}.sidebar.drawer-half{transform:translateY(calc(100% - 65vh));height:65vh;overflow-y:auto}.sidebar.drawer-dragging{transition:none}}@media (min-width: 992px){.sidebar{width:440px;height:100%;border-left:1px solid #e4e4e7}}.drawer-handle{display:none}@media (max-width: 991px){.drawer-handle{display:flex;justify-content:center;align-items:center;padding:14px 0 10px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drawer-handle:active{cursor:grabbing}.drawer-handle .drawer-chevron{width:24px;height:24px;color:#a1a1aa;transition:transform 0.3s ease}}.sidebar.drawer-half .drawer-chevron{transform:rotate(180deg)}@media (max-width: 991px){body:has(.home-layout){height:100vh;overflow:hidden}}@media (max-width: 991px){body:has(.home-layout) .site-footer{display:none}}.content-page{max-width:720px;margin:0 auto;padding:2.5rem 1rem;animation:fadeSlideIn 0.5s ease both}.content-page h1{margin-bottom:1rem;font-size:2.25rem;color:#1e293b}.content-page h2{margin-top:2.25rem;margin-bottom:0.75rem;color:#1e293b;font-size:1.6rem}.content-page h3{margin-top:1.75rem;margin-bottom:0.6rem}.content-page p,.content-page ul,.content-page ol{margin-bottom:1rem}.content-page ul,.content-page ol{padding-left:1.5rem}.content-page code{background:#f4f4f5;padding:0.15rem 0.4rem;border-radius:5px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:0.85rem;color:#1e293b}.content-page pre{background:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:10px;overflow-x:auto;margin-bottom:1rem;border:1px solid rgba(30,41,59,0.15)}.content-page pre code{background:none;padding:0;color:inherit}.content-page table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:0.9rem;border:1px solid #e4e4e7;border-radius:10px;overflow:hidden}.content-page table th,.content-page table td{padding:0.65rem 0.85rem;text-align:left;border-bottom:1px solid #e4e4e7}.content-page table th{background:#f4f4f5;font-weight:600;font-size:0.82rem;color:#1e293b}.content-page table td:first-child{white-space:nowrap;font-weight:500}.content-page table tr:last-child td{border-bottom:none}.filter-bar{margin-bottom:0.5rem;padding-bottom:0.5rem}@media (max-width: 991px){.filter-bar{margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid #e4e4e7}}.search-bar{position:relative;margin-bottom:0.5rem}@media (min-width: 992px){.sidebar-search{display:none}}.search-icon{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#a1a1aa;pointer-events:none;z-index:1}.search-input{width:100%;padding:0.7rem 2.25rem 0.7rem 1rem;border:1.5px solid #e4e4e7;border-radius:10px;font-size:1rem;outline:none;background:#fff;color:#1e293b;transition:border-color 0.25s, box-shadow 0.25s}.search-input:focus{border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,0.12)}.search-input::placeholder{color:#a1a1aa}.filter-row{display:flex;gap:0.4rem;align-items:center;margin-bottom:0.5rem}@media (max-width: 991px){.filter-row{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:3px;margin:-3px}}.filter-select{padding:0.45rem 0.6rem;border:1.5px solid #e4e4e7;border-radius:10px;font-size:0.8rem;color:#1e293b;background:#fff;outline:none;cursor:pointer;transition:border-color 0.2s}.filter-select:focus{border-color:#ea580c}.filter-select:disabled{opacity:0.45;cursor:not-allowed}.locate-btn{display:inline-flex;align-items:center;gap:0.35rem;padding:0.45rem 0.7rem;background:#fff;color:#1e293b;border:1.5px solid #e4e4e7;border-radius:10px;font-size:0.8rem;white-space:nowrap;cursor:pointer;transition:background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s;margin-left:auto}.locate-btn svg{color:#ea580c;flex-shrink:0}.locate-btn:hover{border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,0.1);transform:translateY(-1px)}.locate-btn:disabled{opacity:0.45;cursor:not-allowed;transform:none}.location-suggestions{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1000;background:#fff;border:1.5px solid #e4e4e7;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,0.08);max-height:240px;overflow-y:auto;padding:0.25rem 0}.location-suggestions.is-visible{display:block}.location-suggestion{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0.6rem 1rem;background:none;border:none;text-align:left;font-size:0.9rem;cursor:pointer;color:#1e293b;transition:background 0.15s}.location-suggestion svg{color:#a1a1aa;flex-shrink:0}.location-suggestion:hover{background:#f4f4f5}.location-pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.35rem 0.55rem 0.35rem 0.65rem;background:#f4f4f5;border-radius:999px;font-size:0.8rem;color:#1e293b;margin-bottom:0.25rem;border:1px solid #e4e4e7}.location-pill svg{flex-shrink:0;color:#ea580c}.location-pill button{background:none;border:none;color:#a1a1aa;font-size:1rem;line-height:1;padding:0 0.15rem;cursor:pointer;transition:color 0.15s}.location-pill button:hover{color:#1e293b}.club-list{display:flex;flex-direction:column;gap:0.6rem}.club-card{display:block;text-decoration:none;color:#1e293b;background:#fff;border:1.5px solid #e4e4e7;border-radius:10px;padding:0.9rem 1rem;cursor:pointer;transition:box-shadow 0.25s ease, border-color 0.25s ease, transform 0.2s ease;animation:fadeSlideIn 0.35s ease both}.club-card:nth-child(1){animation-delay:.03s}.club-card:nth-child(2){animation-delay:.06s}.club-card:nth-child(3){animation-delay:.09s}.club-card:nth-child(4){animation-delay:.12s}.club-card:nth-child(5){animation-delay:.15s}.club-card:nth-child(6){animation-delay:.18s}.club-card:nth-child(7){animation-delay:.21s}.club-card:nth-child(8){animation-delay:.24s}.club-card:nth-child(9){animation-delay:.27s}.club-card:nth-child(10){animation-delay:.3s}.club-card:nth-child(11){animation-delay:.33s}.club-card:nth-child(12){animation-delay:.36s}.club-card:nth-child(13){animation-delay:.39s}.club-card:nth-child(14){animation-delay:.42s}.club-card:nth-child(15){animation-delay:.45s}.club-card:nth-child(16){animation-delay:.48s}.club-card:nth-child(17){animation-delay:.51s}.club-card:nth-child(18){animation-delay:.54s}.club-card:nth-child(19){animation-delay:.57s}.club-card:nth-child(20){animation-delay:.6s}@media (min-width: 992px){.club-card:hover{border-color:#c4c4ca;box-shadow:0 6px 20px rgba(0,0,0,0.06);transform:translateY(-2px);text-decoration:none}.club-card:hover .club-name{color:#ea580c}}.club-card .club-card-body{display:flex;align-items:center;gap:0.75rem}.club-card .club-icon-wrap{flex-shrink:0}.club-card .club-icon-wrap img{width:60px;height:60px;border-radius:8px;object-fit:cover;display:block;border:1px solid #e4e4e7}.club-card .club-card-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.club-card .club-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;margin-bottom:0.35rem}.club-card .club-name{font-size:0.95rem;font-weight:600;color:#1e293b;flex:1;min-width:0}.club-card .club-distance{font-size:0.72rem;color:#ea580c;background:rgba(234,88,12,0.08);padding:0.2rem 0.55rem;border-radius:999px;white-space:nowrap;flex-shrink:0;font-weight:500}.club-card .club-meta{font-size:0.82rem;color:#a1a1aa;margin-bottom:0.5rem}.club-card .club-meta span+span::before{content:" \00b7 "}.club-card .club-tags{display:flex;flex-wrap:wrap;gap:0.3rem}.tag{display:inline-block;font-size:0.72rem;font-weight:500;padding:0.18rem 0.5rem;border-radius:999px;background:#f4f4f5;color:#64748b;letter-spacing:0.015em}.tag-day{background:#334155;color:#fff}.tag-cost{background:#d1fae5;color:#059669}.club-detail{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem;animation:fadeSlideIn 0.5s ease both}.club-detail h1{color:#1e293b;margin-bottom:0.5rem;font-size:2.1rem}.club-detail .club-location-subtitle{display:block;font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:0.45em;font-weight:400;color:#a1a1aa;margin-top:0.2rem;letter-spacing:0.01em}.club-detail .club-detail-heading{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}@media (max-width: 767px){.club-detail .club-detail-heading{flex-direction:column;align-items:center;text-align:center}}.club-detail .club-detail-icon{flex-shrink:0}.club-detail .club-detail-icon img{width:100px;height:100px;border-radius:10px;object-fit:cover;display:block;border:2px solid #e4e4e7}@media (max-width: 767px){.club-detail .club-detail-icon img{width:140px;height:140px}}.club-detail .club-detail-heading-text{flex:1;min-width:0}.club-detail .club-detail-heading-text h1{margin-bottom:0}.club-detail .club-detail-meta{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:0.65rem}@media (max-width: 767px){.club-detail .club-detail-meta{justify-content:center}}.club-detail .detail-map{width:100%;height:280px;border-radius:10px;margin-bottom:2rem;border:2px solid #e4e4e7;overflow:hidden}.club-detail .detail-info{margin-bottom:2rem;background:#f4f4f5;border-radius:10px;padding:1.25rem 1.5rem;border:1px solid #e4e4e7}.club-detail .detail-info dt{font-weight:600;font-size:0.75rem;color:#a1a1aa;text-transform:uppercase;letter-spacing:0.06em;margin-top:1.15rem}.club-detail .detail-info dt:first-child{margin-top:0}.club-detail .detail-info dd{margin:0.25rem 0 0 0;color:#1e293b}.club-detail .club-description{line-height:1.75;color:#1e293b}.club-detail .club-description p{margin-bottom:1rem}.club-detail .club-links{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:2rem}.club-detail .club-links a{display:inline-flex;align-items:center;gap:0.4rem;padding:0.6rem 1.15rem;border:1.5px solid #e4e4e7;border-radius:10px;font-size:0.88rem;color:#1e293b;background:#fff;transition:border-color 0.2s, box-shadow 0.2s, transform 0.15s}.club-detail .club-links a:hover{border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,0.1);transform:translateY(-1px);text-decoration:none}.result-count{font-size:0.82rem;color:#a1a1aa;margin-bottom:0.85rem;font-style:italic}noscript .club-list{margin-top:1rem}.leaflet-popup-content-wrapper{border-radius:10px !important;box-shadow:0 6px 24px rgba(0,0,0,0.08) !important;border:1.5px solid #e4e4e7}.leaflet-popup-content{margin:0.75rem 1rem;min-width:260px;font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.leaflet-popup-content .popup-body{display:flex;align-items:center;gap:0.5rem}.leaflet-popup-content .popup-icon-wrap{flex-shrink:0}.leaflet-popup-content .popup-icon-wrap img{width:56px;height:56px;border-radius:6px;object-fit:cover;display:block;border:1px solid #e4e4e7}.leaflet-popup-content .popup-content{flex:1;min-width:0}.leaflet-popup-content .popup-name{font-weight:600;font-size:0.92rem;margin-bottom:0.1rem}.leaflet-popup-content .popup-name a{color:#1e293b;text-decoration:none}.leaflet-popup-content .popup-name a:hover{color:#ea580c}.leaflet-popup-content .popup-venue{font-size:0.78rem;color:#a1a1aa;margin-bottom:0.3rem}.leaflet-popup-content .popup-tags{display:flex;flex-wrap:wrap;gap:0.2rem}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background-color:rgba(234,88,12,0.2)}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background-color:#ea580c;color:#fff;font-weight:600;font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.marker-cluster-small div{background-color:#ea580c}.marker-cluster-medium div{background-color:#d24f0b}.marker-cluster-large div{background-color:#b9460a}
