*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#000}.app{display:flex;height:100vh;flex-direction:column}.header{background:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e5e5;z-index:1000}.header-left{display:flex;align-items:center;gap:2rem}.logo{font-size:1.5rem;font-weight:700;color:#000;text-decoration:none}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#666;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#000}.dev-link{background:#000;color:#fff!important;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s;text-decoration:none;font-family:Monaco,Menlo,Courier New,monospace}.dev-link:hover{background:#333;color:#fff!important}.notify-btn{background:#000;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.notify-btn:hover{background:#333}.coming-soon-banner{background:#000;color:#fff;padding:.75rem;text-align:center;font-weight:500;border-bottom:1px solid #e5e5e5}.main-content{display:flex;flex:1;overflow:hidden}.event-drawer{width:400px;background:#f9f9f9;border-right:1px solid #e5e5e5;overflow-y:auto;padding:1rem}.event-drawer h2{margin-bottom:1rem;font-size:1.2rem;color:#000}.sport-filter{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e5e5}.sport-filter h3{font-size:.9rem;color:#666;margin-bottom:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.sport-buttons{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin;scrollbar-color:#ccc transparent}.sport-buttons::-webkit-scrollbar{height:4px}.sport-buttons::-webkit-scrollbar-track{background:transparent}.sport-buttons::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.sport-btn{background:#fff;color:#666;border:1px solid #e5e5e5;padding:.5rem 1rem;border-radius:16px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;white-space:nowrap;flex-shrink:0}.sport-btn:hover{border-color:#ccc;background:#f5f5f5;color:#333}.sport-btn.active{background:#000;color:#fff;border-color:#000}.category-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.category-pill{background:#fff;color:#666;border:1px solid #e5e5e5;padding:.4rem .75rem;border-radius:12px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.category-pill:hover{border-color:#ccc;color:#333}.category-pill.active{background:#000;color:#fff;border-color:#000}.clear-filters-btn{background:#fff;color:#666;border:1px solid #e5e5e5;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;width:100%;margin-top:.75rem;transition:all .2s}.clear-filters-btn:hover{background:#f5f5f5;color:#000;border-color:#ccc}.event-card{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #e5e5e5;cursor:pointer;transition:all .2s}.event-card:hover{border-color:#000;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.event-card-hovered{border-color:#000!important;background:#f5f5f5!important;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.event-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.75rem}.event-card h3{font-size:1.1rem;margin-bottom:.25rem}.event-type{background:#000;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.event-time{color:#666;font-size:.9rem;margin-bottom:.5rem}.event-details{color:#333;font-size:.9rem;line-height:1.5}.event-details div{margin-bottom:.25rem}.register-link{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:#000;color:#fff;text-decoration:none;border-radius:6px;font-size:.85rem;font-weight:500;transition:background .2s}.register-link:hover{background:#333}.map-container{flex:1;position:relative}.leaflet-container{width:100%;height:100%;background:#f5f5f5}.custom-marker-wrapper,.custom-marker-wrapper-simplified{background:transparent;border:none}.custom-marker{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:.4rem .7rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 8px #00000026;transition:all .3s ease;position:relative}.custom-marker:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.custom-marker.marker-hovered{transform:scale(1.15);transform-origin:center center;box-shadow:0 4px 16px #00000080;border:1px solid #333!important;background:#000!important;transition:all .3s ease}.custom-marker.marker-hovered .marker-type{color:#fff!important;transition:color .3s ease}.custom-marker.marker-hovered .marker-separator{color:#666!important;transition:color .3s ease}.custom-marker.marker-hovered .marker-time{color:#999!important;transition:color .3s ease}.marker-type{color:#000;font-weight:700;font-size:.7rem;letter-spacing:.2px;white-space:nowrap;transition:color .3s ease}.marker-separator{color:#ddd;font-weight:300;font-size:.7rem;transition:color .3s ease}.marker-time{color:#666;font-size:.65rem;font-weight:500;white-space:nowrap;transition:color .3s ease}.simplified-marker{background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:10px;padding:.2rem .5rem;min-width:30px;height:20px;cursor:pointer;position:relative;transition:all .3s ease;box-shadow:0 1px 3px #0000001a}.simplified-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.5rem;opacity:0;white-space:nowrap;transition:opacity .3s ease;pointer-events:none}.simplified-marker:hover{border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:.4rem .7rem;min-width:120px;width:auto;height:30px;box-shadow:0 2px 8px #00000026}.simplified-marker:hover .simplified-content{opacity:1}.simplified-marker.marker-hovered{border:1px solid #333!important;border-radius:20px;padding:.4rem .7rem;min-width:120px;width:auto;height:30px;box-shadow:0 4px 16px #00000080;background:#000!important;transform:scale(1.05);transform-origin:center center;transition:all .3s ease}.simplified-marker.marker-hovered .simplified-content{opacity:1;transition:opacity .3s ease}.simplified-marker.marker-hovered .marker-type{color:#fff!important}.simplified-marker.marker-hovered .marker-separator{color:#666!important}.simplified-marker.marker-hovered .marker-time{color:#999!important}.leaflet-popup-content-wrapper{background:#fff;color:#000;border-radius:8px;border:1px solid #e5e5e5;box-shadow:0 2px 12px #00000026}.leaflet-popup-tip{background:#fff;box-shadow:0 2px 12px #00000026}.popup-content h3{color:#000;margin-bottom:.5rem}.popup-content p{margin:.25rem 0;font-size:.9rem;color:#333}.popup-register-link{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:#000;color:#fff!important;text-decoration:none;border-radius:6px;font-size:.85rem;font-weight:500;transition:background .2s}.popup-register-link:hover{background:#333;color:#fff!important}.info-page{padding:3rem;max-width:1200px;margin:0 auto}.info-page h1{color:#000;margin-bottom:2rem;font-size:2.5rem}.info-page h2{color:#333;margin-top:2rem;margin-bottom:1rem;font-size:1.8rem}.info-page p{color:#333;line-height:1.8;margin-bottom:1rem;font-size:1.1rem}.info-page ul{color:#333;line-height:1.8;margin:1rem 0 1rem 2rem}.info-page li{margin-bottom:.5rem}.coming-soon-badge{display:inline-block;background:#000;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;margin-left:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 4px 24px #00000026}.modal h2{color:#000;margin-bottom:1rem}.modal p{color:#333;margin-bottom:1.5rem;line-height:1.6}.modal input{width:100%;padding:.75rem;background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#000;font-size:1rem;margin-bottom:1rem}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.modal-buttons button{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.modal-buttons .primary{background:#000;color:#fff}.modal-buttons .primary:hover{background:#333}.modal-buttons .secondary{background:#f5f5f5;color:#000;border:1px solid #e5e5e5}.modal-buttons .secondary:hover{background:#e5e5e5}@media (max-width: 768px){.event-drawer{width:100%;position:absolute;left:0;top:0;bottom:0;z-index:900;transform:translate(-100%);transition:transform .3s}.event-drawer.open{transform:translate(0)}.nav-links{display:none}}
