@keyframes pulse-stop{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(231,76,60,.5)}50%{transform:scale(1.15);box-shadow:0 0 8px 2px rgba(231,76,60,.4)}}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes cta-gleam{0%,80%{left:-100%}to{left:200%}}@keyframes you-row-pulse{0%,to{box-shadow:none}50%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 30%,transparent)}}@keyframes rankingPulse{0%,to{border-color:#000;box-shadow:none}50%{border-color:var(--primary-color);box-shadow:0 0 8px var(--primary-color)}}@keyframes podium-gleam{0%{left:-100%}to{left:150%}}@keyframes celebrationFadeOut{to{opacity:0}}@keyframes rocketLaunch{0%{transform:translateY(40px) scale(.6);opacity:0}40%{transform:translateY(-10px) scale(1.1);opacity:1}60%{transform:translateY(-30px) scale(1);opacity:1}to{transform:translateY(-20px) scale(1);opacity:1}}@keyframes accordion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes welcomeBannerSlide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(1rem)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drag-handle-pulse{0%,to{background:var(--text-secondary);transform:scale(1)}50%{background:var(--primary-color);transform:scale(1.4)}}@keyframes messenger-pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes ob-hint-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body,html{overscroll-behavior:none;overflow-x:hidden}.leaflet-control-attribution{display:none!important}.panel-attribution{display:none}.panel-attribution a{color:var(--text-muted);text-decoration:underline}#activitySectionContent a{color:var(--accent-primary);text-decoration:underline}.pickup-placement-icon{overflow:visible}.pickup-placement-icon,.signpost-icon{background:0 0!important;border:0!important}.signpost-marker{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;position:relative;transition:transform .15s ease,filter .15s ease}.signpost-marker:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.signpost-marker svg.signpost-svg{width:44px;height:44px;position:relative;z-index:1}.signpost-sport-icon{position:absolute;top:4px;left:50%;transform:translateX(-55%);font-size:var(--fs-md);line-height:1;pointer-events:none;z-index:2}.signpost-full .signpost-sport-icon{opacity:1}#pickupCustomSport,.signpost-slots,.skill-radio-label input[type=radio]{display:none}.pickup-badge,.signpost-slots-legacy{position:absolute;border-radius:var(--radius);height:18px;font-size:var(--fs-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap}.pickup-badge{top:-11px;right:-8px;z-index:2;background:var(--badge-bg, #1e3a5f);color:var(--badge-text, #fff);padding:0 5px;box-sizing:border-box;line-height:1;font-family:var(--font-sans)}.signpost-full .pickup-badge{opacity:.5}.signpost-slots-legacy{bottom:-4px;right:-4px;background:var(--signpost-slot-bg);color:var(--signpost-slot-color);padding:0 .3rem}.signpost-full .signpost-slots{background:#666;color:#fff}.signpost-full .signpost-svg{opacity:.5}.signpost-demo{opacity:1}.signpost-expired{opacity:.45;filter:grayscale(.4)}.signpost-skill-badge{position:absolute;top:-9px;left:-4px;background:var(--primary-color);color:#fff;border-radius:var(--radius);height:14px;min-width:14px;padding:0 3px;font-size:var(--fs-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;z-index:3}.pickup-time-slots{margin:.5rem 0}.time-slot-row{justify-content:space-between;padding:.3rem .5rem;border-radius:var(--radius-sm);margin:.15rem 0;background:var(--surface-elevated, var(--surface));font-size:var(--fs-sm, 0.875rem)}.time-slot-best{background:color-mix(in srgb,var(--primary-color) 20%,transparent);font-weight:600}.time-slot-votes{color:var(--text-secondary);font-size:var(--fs-xs, 0.75rem)}.pickup-confirmed-time,.time-slot-row{display:flex;align-items:center;gap:.5rem}.pickup-confirmed-time{gap:.4rem;padding:.4rem .6rem;border-radius:var(--radius);background:color-mix(in srgb,var(--primary-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--primary-color) 30%,transparent);font-size:var(--fs-sm)}.pickup-confirmed-time-value{font-weight:600;color:var(--text-primary)}.pickup-comments-section{margin-top:.75rem;border-top:1px solid var(--border);padding-top:.5rem}.pickup-selected-slots-summary{margin:.35rem 0}.pickup-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .2s}.pickup-card:hover{border-color:var(--primary-color)}.pickup-card--expired{opacity:.55}.pickup-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.pickup-card-sport{font-size:var(--fs-lg)}.pickup-card-title{font-weight:600;font-size:var(--fs-sm);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pickup-card-meta,.pickup-card-slots{font-size:var(--fs-2xs);color:var(--text-secondary)}.pickup-card-slots{font-weight:600}.pickup-card-slots.pickup-slots-full{color:var(--text-muted)}.pickup-card-meta{display:flex;gap:.75rem;flex-wrap:wrap}.pickup-card-meta .pickup-location-details{font-style:italic}.pickup-detail{padding:0;container-type:inline-size}.pickup-detail-cols{display:block}.pickup-main-col{min-width:0}.pickup-side-col{min-width:0;margin-top:1rem}@container (min-width: 900px){.pickup-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;align-items:start}.pickup-side-col{border-left:1px solid var(--border);padding-left:1rem;padding-right:.75rem;margin-top:0}}.pickup-detail-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.pickup-detail-sport{font-size:var(--fs-2xl)}.pickup-detail-info{flex:1}.pickup-detail-info h4{margin:0;font-size:var(--fs-lg);font-weight:700}.pickup-detail-info .pickup-detail-meta{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:.15rem}.pickup-detail-description{font-size:var(--fs-sm);margin-bottom:.5rem;color:var(--text-primary);line-height:1.5}.pickup-detail-location,.pickup-info-row{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem}.pickup-info-row{gap:.4rem;margin-bottom:.35rem}.pickup-section-label{font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:.5rem 0 .25rem}.pickup-participants-list{list-style:none;padding:0;margin:0 0 .5rem}.pickup-participant{display:flex;align-items:center;gap:.5rem;padding:.35rem .4rem;font-size:var(--fs-sm);border-radius:var(--radius);transition:background .1s}.pickup-participant:hover{background:var(--surface-hover)}.pickup-participant-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.pickup-participant-name{flex:1}.pickup-participant-admin,.pickup-skill-badge{font-size:var(--fs-2xs);color:var(--text-muted)}.pickup-skill-badge{display:inline-block;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-sm);vertical-align:middle;margin-left:.25rem;background:var(--border);color:var(--text-secondary)}.pickup-skill-section{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;margin:.35rem 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-md)}.pickup-skill-section-label{color:var(--text-secondary);font-weight:500;white-space:nowrap}.pickup-skill-section-value{font-weight:600;color:var(--text)}.pickup-skill-beginner{background:#d4edda;color:#155724}.pickup-skill-intermediate{background:#fff3cd;color:#856404}.pickup-skill-advanced{background:#f8d7da;color:#721c24}[data-theme=dark] .pickup-skill-beginner{background:#14532d;color:#86efac}[data-theme=dark] .pickup-skill-intermediate{background:#713f12;color:#fde68a}[data-theme=dark] .pickup-skill-advanced{background:#7f1d1d;color:#fca5a5}.pickup-skill-0{background:#e5e7eb;color:#1f2937}.pickup-skill-1{background:#d1fae5;color:#064e3b}.pickup-skill-2{background:#fef3c7;color:#713f12}.pickup-skill-3{background:#fed7aa;color:#7c2d12}.pickup-skill-4{background:#fecaca;color:#7f1d1d}.pickup-skill-5{background:#c7d2fe;color:#312e81}[data-theme=dark] .pickup-skill-0{background:#374151;color:#d1d5db}[data-theme=dark] .pickup-skill-1{background:#064e3b;color:#a7f3d0}[data-theme=dark] .pickup-skill-2{background:#713f12;color:#fde68a}[data-theme=dark] .pickup-skill-3{background:#7c2d12;color:#fdba74}[data-theme=dark] .pickup-skill-4{background:#7f1d1d;color:#fca5a5}[data-theme=dark] .pickup-skill-5{background:#312e81;color:#c7d2fe}.skill-range-col,.skill-range-radios{display:flex;gap:.25rem}.skill-range-col{flex:1;flex-wrap:wrap;align-items:center}.skill-range-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;width:100%;margin-bottom:.1rem}.skill-radio-label{cursor:pointer;margin:0}.skill-radio-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600;background:var(--surface);border:1.5px solid var(--border);color:var(--text);transition:background .15s,border-color .15s}.skill-radio-label input[type=radio]:checked+.skill-radio-chip{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (max-width:600px){.skill-radio-chip{width:36px;height:36px;font-size:var(--fs-md)}}.pickup-detail-venue{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem}.pickup-rating-section{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.5rem}.pickup-create-form label,.pickup-rating-section h5{font-size:var(--fs-sm);font-weight:600}.pickup-rating-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.pickup-rating-name{font-size:var(--fs-sm);font-weight:500}.pickup-rating-buttons{display:flex;flex-wrap:wrap;gap:.3rem}.btn-rating{font-size:var(--fs-2xs);padding:.2rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);transition:background .15s}.btn-rating:hover{background:var(--bg-secondary)}.btn-rating-selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pickup-actions{display:flex;flex-direction:column;gap:.5rem}.pickup-actions .btn{min-width:80px}.time-slot-checkbox{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.pickup-create-form{display:flex;flex-direction:column;gap:.75rem}.pickup-create-form label{margin-bottom:.2rem}.pickup-create-form input,.pickup-create-form select,.pickup-create-form textarea{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:var(--fs-sm)}.pickup-create-form textarea{resize:vertical;min-height:60px}.pickup-create-form .btn-primary{align-self:stretch}.pickup-date-filters{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.pickup-date-chip{padding:.2rem .6rem;font-size:var(--fs-xs);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.pickup-date-chip:hover{background:var(--surface-hover);color:var(--text-primary)}.pickup-date-chip--active{background:var(--primary-color);border-color:var(--primary-color);color:var(--on-primary)}#pickupTimePickerModal .modal-content{max-width:90vw;min-width:320px;width:700px;padding:1.5rem;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}#pickupTimePickerModal #pickupTimePickerCalendar{flex:1;overflow-y:auto;min-height:0}#pickupTimePickerModal .calendar-slot-summary{position:static;flex-shrink:0;max-height:100px;overflow-y:auto;border-top:1px solid var(--border);padding-top:.4rem;margin-top:.5rem}#pickupTimePickerModal .mobile-cal-day-tabs{gap:4px;margin-bottom:.75rem}#pickupTimePickerModal .mobile-cal-day-tab{min-width:44px;padding:.45rem .25rem}#pickupTimePickerModal .mobile-cal-day-num{font-size:var(--fs-base)}#pickupTimePickerModal .mobile-cal-slots{max-height:max(55vh,320px)}#pickupTimePickerModal .mobile-cal-slot{min-height:52px;padding:0 1rem;gap:1rem;font-size:var(--fs-base)}#pickupTimePickerModal .mobile-cal-slot-bar{height:36px;border-radius:var(--radius-sm)}#pickupTimePickerModal .mobile-cal-slot-time{min-width:52px;font-size:var(--fs-xs)}#pickupTimePickerModal .btn-cal-nav{min-width:40px;min-height:40px}.pickup-map-placement-prompt{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:var(--surface);border:2px solid var(--primary-color);border-radius:var(--radius);padding:.5rem 1rem;font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);z-index:1000;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15)}.no-transitions,.no-transitions *,.no-transitions ::after,.no-transitions ::before{transition:none!important}:root{--danger-color:#dc2626;--danger-hover:#ef4444;--success-color:#22c55e;--success-text:#15803d;--warning-color:#b45309;--primary-color:#3b82f6;--primary-hover:#2563eb;--bg-card:var(--surface);--hover-bg:var(--surface-hover);--bg-hover:var(--surface-hover);--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--radius-sm:4px;--radius:0.5rem;--radius-lg:12px;--radius-pill:999px;--header-height:100px;--font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--font-mono:'Courier New', Courier, monospace;--fs-2xs:0.625rem;--fs-xs:0.7rem;--fs-sm:0.75rem;--fs-md:0.85rem;--fs-base:1rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:1.75rem;--avail-viewer:rgba(59, 130, 246, 0.45);--avail-target:rgba(147, 51, 234, 0.4);--avail-both:rgba(234, 179, 8, 0.45);--avail-viewer-solid:rgba(59, 130, 246, 0.6);--avail-target-solid:rgba(147, 51, 234, 0.6);--avail-both-solid:rgba(234, 179, 8, 0.65);--ranking-item-bg:#ffffff;--background:#f8fafc;--surface:#ffffff;--surface-hover:#f1f5f9;--surface-elevated:#ffffff;--text-primary:#1e293b;--text-secondary:#475569;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--border-color:#cbd5e1;--shadow:rgba(0, 0, 0, 0.08);--shadow-md:rgba(0, 0, 0, 0.12);--shadow-lg:rgba(0, 0, 0, 0.16);--bg-primary:var(--background);--bg-secondary:#f1f5f9;--accent-primary:#2563eb;--on-primary:#ffffff;--leaflet-bg:#e2e8f0;--google-btn-bg:#ffffff;--google-btn-text:#1f1f1f;--google-btn-hover-bg:#f1f5f9;--google-btn-border:#cbd5e1;--badge-text:#ffffff;--badge-bg:#1e3a5f;--header-user-bg:rgba(0, 0, 0, 0.06);--header-user-border:#cbd5e1;--header-user-text:#1e293b;--attribution-bg:#f1f5f9;--attribution-text:#64748b;--attribution-link:#475569;--login-footer-text:#64748b;--search-btn-border:var(--primary-color);--active-badge-bg:#1e293b;--signpost-slot-bg:#1e293b;--signpost-slot-color:#F5E6C8}[data-theme=dark]{--background:#111111;--surface:#161b22;--ranking-item-bg:#161b22;--surface-hover:#1f2937;--surface-elevated:#1f2937;--text-primary:#f1f1f1;--text-secondary:#cbd5e1;--text:#f1f1f1;--text-muted:#9ca3af;--border:#1e293b;--border-color:#334155;--shadow:rgba(0, 0, 0, 0.5);--shadow-md:rgba(0, 0, 0, 0.7);--shadow-lg:rgba(0, 0, 0, 0.8);--bg-primary:var(--background);--bg-secondary:#1f2937;--primary-color:#3b82f6;--primary-hover:#60a5fa;--accent-primary:#93bbfd;--on-primary:#ffffff;--warning-color:#fde047;--success-text:#4ade80;--danger-color:#ef4444;--danger-hover:#f87171;--leaflet-bg:#0f172a;--google-btn-bg:#131314;--google-btn-text:#e3e3e3;--google-btn-hover-bg:#2c2c2e;--google-btn-border:#1e293b;--badge-text:#1a1a2e;--badge-bg:#ffffff;--header-user-bg:rgba(255, 255, 255, 0.1);--header-user-border:rgba(255, 255, 255, 0.3);--header-user-text:#ffffff;--attribution-bg:#222222;--attribution-text:#999999;--attribution-link:#aaaaaa;--login-footer-text:#999999;--search-btn-border:#ffffff;--active-badge-bg:#0f172a;--signpost-slot-bg:#222222;--signpost-slot-color:#F5E6C8}@media (prefers-color-scheme:dark){:root:not([data-theme]){--background:#111111;--surface:#161b22;--surface-hover:#1f2937;--surface-elevated:#1f2937;--text-primary:#f1f1f1;--text-secondary:#cbd5e1;--text:#f1f1f1;--text-muted:#9ca3af;--border:#1e293b;--border-color:#334155;--shadow:rgba(0, 0, 0, 0.5);--shadow-md:rgba(0, 0, 0, 0.7);--shadow-lg:rgba(0, 0, 0, 0.8);--bg-primary:var(--background);--bg-secondary:#1f2937;--primary-color:#3b82f6;--primary-hover:#60a5fa;--accent-primary:#93bbfd;--on-primary:#ffffff;--warning-color:#fde047;--success-text:#4ade80;--danger-color:#ef4444;--danger-hover:#f87171;--leaflet-bg:#0f172a;--google-btn-bg:#131314;--google-btn-text:#e3e3e3;--google-btn-hover-bg:#2c2c2e;--google-btn-border:#1e293b;--badge-text:#1a1a2e;--header-user-bg:rgba(255, 255, 255, 0.1);--header-user-border:rgba(255, 255, 255, 0.3);--header-user-text:#ffffff;--attribution-bg:#222222;--attribution-text:#999999;--attribution-link:#aaaaaa;--login-footer-text:#999999;--search-btn-border:#ffffff;--active-badge-bg:#0f172a;--signpost-slot-bg:#222222;--signpost-slot-color:#F5E6C8}}:root.impersonating{--primary-color:#e74c3c;--primary-hover:#c0392b;--success-color:#e74c3c;--accent-primary:#c0392b;--on-primary:#ffffff}.impersonation-disabled{opacity:.3!important;pointer-events:none!important;cursor:not-allowed!important}.btn-impersonate,.btn-stop-impersonate{border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center}.btn-impersonate{background:0 0;border:0;color:var(--accent-primary);padding:.15rem;opacity:.7}.btn-impersonate:hover{opacity:1}.btn-stop-impersonate{background:var(--danger-color);border:1px solid var(--danger-color);color:#fff;padding:.25rem .5rem;font-size:var(--fs-md);animation:pulse-stop 1.5s ease-in-out 3}.btn-stop-impersonate:hover{background:#c0392b;border-color:#c0392b;color:#fff}.proxy-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.proxy-card-info{display:flex;flex-direction:column;gap:.125rem}.proxy-card-name-row{display:flex;align-items:center;gap:.375rem}.proxy-card-name{font-weight:600;font-size:var(--fs-sm)}.proxy-card-badge{background:var(--danger-color);color:var(--badge-text);border-radius:50%;min-width:18px;height:18px;font-size:var(--fs-2xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.btn-impersonate-proxy,.proxy-card-ladder{font-size:var(--fs-2xs);color:var(--text-secondary)}.btn-impersonate-proxy{display:inline-flex;align-items:center;gap:.25rem;background:var(--primary-color);color:var(--on-primary);border:0;padding:.25rem .5rem;border-radius:var(--radius);cursor:pointer;font-weight:600}.btn-impersonate-proxy:hover{background:var(--primary-hover)}*{scrollbar-color:var(--primary-color) var(--surface);scrollbar-width:thin;margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}html{background:var(--background)}.app-container,body{height:100vh;height:100dvh}body{font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);background:var(--background);overflow:hidden}.app-container{display:flex;flex-direction:column}.app-header{position:relative;background:var(--surface);border-bottom:2px solid var(--primary-color);padding-top:env(safe-area-inset-top,0);padding-left:var(--spacing-md);padding-right:var(--spacing-md);padding-bottom:0;box-shadow:0 1px 3px var(--shadow);z-index:1100;flex-shrink:0}.header-bar{display:flex;align-items:center;gap:var(--spacing-md);min-height:52px;max-width:100%}.primary-nav{overflow-x:clip}.icon-bell,.icon-trophy{width:1.2em;height:1.2em;vertical-align:-.15em;color:var(--primary-color)}.icon-bell{width:1.1em;height:1.1em;color:var(--accent-primary)}.header-title{font-size:var(--fs-xl);font-weight:700;color:var(--text-primary);white-space:nowrap;margin:0}.header-controls{display:flex;align-items:center;gap:var(--spacing-xs);flex:1 0 auto}.main-content{display:flex;overflow:hidden}.main-content,.map-container{flex:1;position:relative}#map{width:100%;height:100%}.map-search-wrap{position:absolute;top:10px;left:60px;right:10px;z-index:1000;max-width:400px;pointer-events:none}.map-search-bar{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px rgba(0,0,0,.15);padding:0 .5rem;gap:.4rem;pointer-events:auto}.map-search-icon{width:18px;height:18px;flex-shrink:0;color:var(--text-secondary)}.map-search-input{flex:1;border:0;background:0 0;color:var(--text-primary);font-size:var(--fs-sm);padding:.5rem 0;outline:0}.map-search-input::placeholder{color:var(--text-secondary);opacity:.7}.map-search-clear{background:0 0;border:0;color:var(--text-secondary);font-size:var(--fs-lg);cursor:pointer;padding:0 .2rem;line-height:1}.map-search-clear:hover{color:var(--text-primary)}.map-search-results{display:none;position:absolute;pointer-events:auto;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.15);max-height:300px;overflow-y:auto}.map-search-results.open{display:block}.map-search-result{padding:.5rem .75rem;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary);border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:.5rem}.map-search-result:last-child{border-bottom:none}.competition-rules-section summary:hover,.map-search-result:hover{background:var(--hover-bg)}.map-search-result-icon{flex-shrink:0;color:var(--text-secondary);margin-top:2px}.map-search-result-name{font-weight:500}.map-loading-indicator,.map-search-result-region{font-size:var(--fs-xs);color:var(--text-secondary)}.map-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;font-size:var(--fs-base);opacity:.7;pointer-events:none;transition:opacity .5s ease}.map-loading-indicator.hidden{opacity:0}.coordinates-panel{width:var(--panel-w, 70%);min-width:300px;max-width:calc(100vw - 200px);background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:-2px 0 8px var(--shadow);overflow-y:auto;overflow-x:hidden;position:relative;flex-shrink:0}.map-expand-btn{display:none;position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:1000;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius)0 0;padding:8px 20px;cursor:pointer;color:var(--text-secondary);align-items:center;justify-content:center;box-shadow:0-2px 6px var(--shadow)}.map-expand-btn svg{width:20px;height:20px;transition:transform .3s ease}.map-expand-btn:hover{color:var(--accent-primary)}.panel-resize-handle,.panel-toggle-btn{display:none}.panel-header{padding:var(--spacing-md);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.panel-header h2{font-size:var(--fs-lg);font-weight:600;color:var(--text-primary)}.btn-icon{background:0 0;border:0;color:var(--text-secondary);font-size:var(--fs-lg);line-height:1;cursor:pointer;padding:2px 6px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.btn-icon:hover{color:var(--text-primary);background:var(--surface-hover)}.btn-icon:active{transform:scale(.95)}.button-group{display:flex;gap:var(--spacing-xs)}.panel-content{flex:1;overflow-y:auto;padding:var(--spacing-md);box-sizing:border-box}.coordinates-display{font-family:var(--font-mono);font-size:var(--fs-md)}.help-text,.help-text-small{color:var(--text-secondary);font-style:italic}.help-text{text-align:center;padding:var(--spacing-xs)0;margin:0 0 var(--spacing-sm)0}.help-text-small{font-size:var(--fs-sm);margin-top:.25rem}.coordinate-list{list-style:none;padding:0;margin:0}.coordinate-item{background:var(--background);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);border-radius:var(--radius);border-left:3px solid var(--primary-color);transition:background-color .2s ease}.coordinate-item:hover{background:var(--surface-hover)}.coordinate-index{display:inline-block;width:30px;font-weight:700;color:var(--accent-primary)}.coordinate-value{color:var(--text-primary)}.coordinate-lat,.coordinate-lng{display:inline-block;margin-right:var(--spacing-sm)}.coordinate-label{font-weight:600;color:var(--text-secondary)}.warning-text{color:var(--warning-color);background:rgba(253,224,71,.12);padding:var(--spacing-sm);border-radius:var(--radius);margin-top:var(--spacing-sm);font-size:var(--fs-md);border-left:3px solid var(--warning-color)}.panel-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-lg);flex:1;color:var(--text-secondary);gap:var(--spacing-sm);position:relative;z-index:0;opacity:0;transition:opacity .2s ease}.panel-empty-state.panel-ready{opacity:1;overflow-y:auto}.panel-empty-state:has(.welcome-widget){align-items:stretch;text-align:left;color:var(--text-primary)}.welcome-marquee{overflow:hidden;width:100%;height:28px;opacity:.5;flex-shrink:0}.marquee-track{display:inline-flex;gap:1rem;animation:marquee-scroll 25s linear infinite;white-space:nowrap}.marquee-track .twemoji{width:22px;height:22px}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.welcome-hero{max-width:380px}.welcome-headline{font-size:clamp(1.25rem,4vw,1.75rem);font-weight:800;color:var(--text);margin:0 0 var(--spacing-xs)0;line-height:1.15;letter-spacing:-.02em}.welcome-tagline{font-size:var(--fs-sm);color:var(--text-secondary);margin:0;line-height:1.5}.welcome-sport-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-xs)}.welcome-sport-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--surface-hover);border-radius:var(--radius-pill);font-size:var(--fs-2xs);color:var(--text-secondary);font-weight:600;white-space:nowrap}.welcome-sport-pill .twemoji{width:14px;height:14px}.welcome-create-link{color:var(--primary-color);font-weight:600;text-decoration:none;white-space:nowrap}.welcome-create-link:hover,.welcome-widget-unread a:hover{text-decoration:underline}.welcome-cta-group{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);width:100%}.welcome-cta-primary{padding:.75rem 1.5rem;font-size:var(--fs-base);font-weight:700;border-radius:var(--radius);position:relative;overflow:hidden}.welcome-cta-primary::after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:cta-gleam 3s ease-in-out infinite}.welcome-preview{width:100%;max-width:460px;min-width:320px}.welcome-preview:has(.welcome-widget){max-width:640px;text-align:left}.welcome-preview-label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.welcome-preview-card{text-align:left}.welcome-activity-feed{text-align:left;display:flex;flex-direction:column;gap:var(--spacing-sm)}.welcome-activity-ladder{display:flex;flex-direction:column;gap:0}.welcome-activity-ladder-name{font-size:var(--fs-sm);font-weight:600;margin-bottom:4px}.welcome-activity-ladder-name .player-link{color:var(--primary-color)}.welcome-activity-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);padding:.75rem 1rem;border-bottom:1px solid var(--border-color);transition:background .1s}.welcome-activity-item:last-child{border-bottom:none}.welcome-activity-item:hover{background:color-mix(in srgb,var(--bg-secondary) 50%,transparent)}.welcome-activity-item[style*="cursor:pointer"]:hover{background:color-mix(in srgb,var(--primary-color) 5%,transparent)}.welcome-activity-result{display:flex;align-items:center;gap:4px}.welcome-activity-result .twemoji,.welcome-widget .welcome-preview-label .twemoji{width:14px;height:14px}.welcome-activity-time{color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;margin-left:8px}.welcome-widget{margin-bottom:var(--spacing-md)}.welcome-widget .welcome-preview-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--spacing-xs)}.welcome-widget-suggestion,.welcome-widget-unread{display:flex;align-items:center;border-radius:var(--radius);font-size:var(--fs-sm)}.welcome-widget-unread{background:color-mix(in srgb,var(--primary-color) 8%,transparent);padding:10px 14px;gap:8px;border:1px solid color-mix(in srgb,var(--primary-color) 15%,transparent)}.welcome-widget-unread a{color:var(--primary-color);font-weight:600;text-decoration:none}.welcome-widget-suggestion{justify-content:space-between;padding:12px 16px;border:1px solid var(--border-color);transition:border-color .15s,background .15s}.welcome-widget-suggestion:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 5%,transparent)}.welcome-features{display:flex;flex-direction:column;gap:6px;width:100%;max-width:460px}.welcome-feature-card,.welcome-feature-icon{display:flex;align-items:center;border-radius:var(--radius)}.welcome-feature-card{gap:var(--spacing-sm);padding:.6rem .75rem;background:var(--surface-hover);text-align:left;cursor:pointer;transition:background .15s,transform .1s;border:1px solid transparent}.welcome-feature-card:hover{background:color-mix(in srgb,var(--primary-color) 8%,var(--surface-hover));border-color:color-mix(in srgb,var(--primary-color) 20%,transparent);transform:translateX(2px)}.welcome-feature-card:active{transform:scale(.98)}.welcome-feature-icon{flex-shrink:0;width:32px;height:32px;justify-content:center;background:color-mix(in srgb,var(--primary-color) 10%,transparent)}.welcome-feature-icon .twemoji{width:20px;height:20px}.welcome-feature-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.welcome-feature-text strong{font-size:var(--fs-sm)}.welcome-feature-text span{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.3}.welcome-feature-arrow{font-size:var(--fs-lg);color:var(--text-muted);flex-shrink:0;transition:transform .15s}.welcome-feature-card:hover .welcome-feature-arrow{transform:translateX(3px);color:var(--primary-color)}.welcome-step,.welcome-steps{display:flex;align-items:center}.welcome-steps{gap:var(--spacing-xs);width:100%;max-width:380px;justify-content:center}.welcome-step{flex-direction:column;gap:4px;flex:1;font-size:var(--fs-xs);color:var(--text);text-align:center;line-height:1.3}.welcome-step-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary-color) 12%,transparent);border-radius:50%}.welcome-step-icon .twemoji{width:22px;height:22px}.welcome-step-arrow{color:var(--text-muted);font-size:var(--fs-sm);flex-shrink:0;margin-top:-1rem}.welcome-venues-teaser{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--fs-xs);color:var(--text-muted);padding:.4rem .75rem;background:color-mix(in srgb,var(--primary-color) 5%,transparent);border-radius:var(--radius);border:1px dashed color-mix(in srgb,var(--primary-color) 20%,transparent)}.welcome-venue-icon{flex-shrink:0}.welcome-venue-icon .twemoji{width:16px;height:16px}.welcome-bottom-actions{gap:var(--spacing-xs)}.welcome-bottom-actions,.welcome-seo-links,.welcome-stats{display:flex;flex-wrap:wrap;justify-content:center}.welcome-seo-links{gap:.4rem .75rem;padding-top:var(--spacing-sm);border-top:1px solid var(--border);margin-top:auto}.welcome-seo-links a{font-size:var(--fs-2xs);color:var(--text-muted);text-decoration:none}.welcome-seo-links a:hover{color:var(--primary-color);text-decoration:underline}.welcome-stats{align-items:center;gap:.5rem;font-size:var(--fs-xs);color:var(--text-muted)}.welcome-feature-text strong,.welcome-stats strong{color:var(--text);font-weight:700}.welcome-stats-dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted);display:inline-block}.welcome-trust{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0}.welcome-join-pill{font-size:var(--fs-xs);font-weight:700;color:var(--on-primary);background:var(--primary-color);padding:.2rem .6rem;border-radius:var(--radius-pill);white-space:nowrap}.welcome-you-row:hover{background:color-mix(in srgb,var(--primary-color) 14%,transparent)!important}.welcome-you-row{animation:you-row-pulse 2.5s ease-in-out infinite}.welcome-sport-pill-more{background:color-mix(in srgb,var(--primary-color) 10%,transparent);color:var(--primary-color)}@media (max-width:900px){.welcome-headline{font-size:var(--fs-xl)}.welcome-steps{flex-direction:column;gap:var(--spacing-xs)}.welcome-step{flex-direction:row;gap:var(--spacing-sm)}.welcome-step-arrow{display:none}.welcome-cta-primary{min-height:48px}}.no-results-actions{margin-top:var(--spacing-sm)}.status-message{padding:var(--spacing-sm);margin:var(--spacing-sm);border-radius:var(--radius);font-size:var(--fs-md);font-weight:600;text-align:center;display:none}.status-message.success{background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--success-text);border-left:3px solid var(--success-color)}.status-message.error{background:rgba(252,165,165,.15);color:var(--danger-color);border-left:3px solid var(--danger-color)}#pinSearchSection,.pin-search-section{border-top:1px solid var(--border);background:var(--surface);container-type:inline-size}.pin-results-cols{display:block}.pin-results-main,.pin-results-side{min-width:0}@container (min-width: 900px){.pin-results-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;align-items:start}.pin-results-side{border-left:1px solid var(--border);padding-left:.75rem;padding-right:.75rem}}#pinSearchSection .accordion-body{padding:.4rem}.pin-search-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.pin-search-header h3{font-size:var(--fs-base);font-weight:600;color:var(--text-primary);margin:0}.pin-info,.pin-search-header{padding:var(--spacing-md)}.btn-search,.pin-coords{padding:var(--spacing-sm);font-size:var(--fs-md);border-radius:var(--radius);margin-bottom:var(--spacing-sm)}.pin-coords{background:var(--surface);font-family:var(--font-mono)}.btn-search{width:100%;background:var(--primary-color);color:var(--on-primary);border:1px solid var(--primary-color);font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.btn-search:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-search:disabled{background:var(--text-secondary);border-color:transparent;cursor:not-allowed;opacity:.5}.search-results{margin-top:var(--spacing-sm);max-height:300px;overflow-y:auto}.no-results,.searching{text-align:center;padding:var(--spacing-md);color:var(--text-secondary)}.no-results .hint{font-size:var(--fs-sm);margin-top:var(--spacing-xs);font-style:italic}.pin-search-bar{margin-bottom:.3rem}.pin-search-input{width:100%;padding:.4rem .65rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:var(--fs-md);box-sizing:border-box}.form-group input:not([type=radio]):focus:not(:focus-visible),.form-group select:focus:not(:focus-visible),.form-group textarea:focus:not(:focus-visible),.pin-search-input:focus:not(:focus-visible){outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(4,120,87,.25)}.results-header{font-weight:600;color:var(--success-text);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs);background:color-mix(in srgb,var(--primary-color) 10%,transparent);border-radius:var(--radius)}.results-list{list-style:none;padding:0;margin:0}.result-item{background:var(--surface);padding:.35rem .5rem;margin-bottom:.2rem;border-radius:var(--radius);border-left:3px solid var(--primary-color);display:flex;gap:.4rem;align-items:center}.result-number{font-weight:700;color:var(--accent-primary);min-width:24px;font-size:var(--fs-md)}.result-details{flex:1;display:flex;align-items:center;gap:.5rem}.result-type{font-weight:600;color:var(--text-primary);font-size:var(--fs-md);white-space:nowrap}.result-id,.result-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.result-meta{white-space:nowrap;margin-left:auto}.result-meta span{margin-right:.4rem}.result-id{font-family:var(--font-mono)}.panel-stats{border-top:1px solid var(--border);padding:var(--spacing-md);background:var(--background);display:flex;gap:var(--spacing-lg)}.stat{flex:1}.stat-label{display:block;font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.stat-value{display:block;font-size:var(--fs-lg);font-weight:700;color:var(--text-primary)}.leaflet-container{font-family:var(--font-sans);background:var(--leaflet-bg)}.leaflet-bar,.leaflet-control-layers,.leaflet-draw-toolbar a{background-color:var(--surface);border:1px solid var(--border)}.leaflet-control-zoom a:hover,.leaflet-draw-toolbar a:hover{background-color:var(--surface-hover)}.leaflet-control-layers-toggle,.leaflet-control-zoom a{background-color:var(--surface)}.leaflet-control-zoom a{color:var(--text-primary);border-bottom:1px solid var(--border)}.leaflet-control-attribution{background-color:var(--attribution-bg)!important;color:var(--attribution-text)!important}.leaflet-control-attribution a{color:var(--attribution-link)!important}.leaflet-popup-content-wrapper{color:var(--text-primary)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background-color:var(--surface)}.map-layer-legend-wrapper{position:absolute;bottom:26px;right:10px;z-index:900;pointer-events:none}.map-layer-legend{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:0 2px 8px var(--shadow-md);font-size:var(--fs-xs);pointer-events:auto;min-width:130px;overflow:hidden}.map-layer-legend-toggle{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;background:0 0;border:0;padding:.35rem .55rem;cursor:pointer;color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.map-layer-legend-toggle:hover{color:var(--text-primary)}.map-layer-legend-arrow::before{content:"▲";font-size:var(--fs-2xs)}.map-layer-legend--collapsed .map-layer-legend-arrow::before{content:"▼"}.map-layer-legend-body{display:flex;flex-direction:column;gap:.25rem;padding:.35rem .55rem .45rem;border-top:1px solid var(--border-color)}.map-layer-legend--collapsed .map-layer-legend-body{display:none}.map-legend-item{display:flex;align-items:center;gap:.4rem;cursor:pointer;color:var(--text-primary);white-space:nowrap;line-height:1.2}.map-legend-item input[type=checkbox]{margin:0;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.map-legend-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px}.map-legend-icon--pickup{width:14px}@media (max-width:1024px){.coordinates-panel{width:40%}}@media (max-width:900px){#settingsBtn,.panel-resize-handle,.primary-nav{display:none!important}.main-content{flex-direction:column}.main-content.panel-expanded .coordinates-panel{width:100%;max-width:100%}.main-content.panel-expanded .map-container{flex:0 0 30%}.coordinates-panel{width:100%!important;max-width:100%!important;min-width:0;height:60%;flex:1;border-left:none;border-top:1px solid var(--border);position:relative}.map-container{height:35%;flex:0 0 35%}.coordinates-panel,.map-container{transition:flex .3s ease,height .3s ease}.main-content.map-expanded .map-container{height:45%;flex:0 0 45%}.main-content.map-expanded .coordinates-panel{height:55%;flex:1}.map-expand-btn{display:flex}.main-content.map-expanded .map-expand-btn svg{transform:rotate(180deg)}.app-header .header-title{font-size:var(--fs-xl)}.subtitle{font-size:var(--fs-sm)}.header-bar{min-height:44px;gap:var(--spacing-xs)}.header-controls{gap:.25rem}.ladder-join-bar .btn-compact,.panel-empty-actions .btn{min-height:44px;padding:.6rem 1.5rem;font-size:var(--fs-base)}.btn-theme-toggle{min-width:44px;min-height:44px}.btn-sm{min-height:44px;padding:.5rem .75rem}.btn-challenge,.ladder-mobile-tab{min-height:36px;padding:.35rem .75rem;font-size:var(--fs-sm)}.ladder-mobile-tab{min-height:44px;padding:.6rem .75rem}.ladder-join-bar .btn-compact{padding:.6rem 1rem}.btn-lang{min-width:44px;min-height:44px}.nav-login-btn.btn{min-height:36px;padding:.4rem .85rem}.map-search-input{font-size:var(--fs-base);min-height:44px}.map-search-bar{min-height:44px;padding:0 .6rem}.map-layer-legend-toggle{min-height:36px;padding:.4rem .55rem}.map-legend-item{min-height:36px;padding:.25rem 0}.map-legend-item input[type=checkbox]{width:18px;height:18px}.ob-hint-dismiss{min-height:36px;padding:.35rem .75rem}}@media (max-width:480px){.app-header{padding:0 var(--spacing-xs)}.header-bar{min-height:40px;gap:.25rem}.app-header .header-title{font-size:var(--fs-lg)}.header-controls{gap:.15rem}.user-name{display:none}.mode-toggle{padding:1px}.panel-content,.panel-header,.panel-stats{padding:var(--spacing-sm)}.panel-stats{gap:var(--spacing-sm)}.map-container{height:35%;flex:0 0 35%}.coordinates-panel{height:65%}.main-content.map-expanded .map-container{height:55%;flex:0 0 55%}.main-content.map-expanded .coordinates-panel{height:50%}.user-info{padding:.3rem .5rem;gap:.3rem}.user-name{max-width:60px;font-size:var(--fs-sm)}.user-avatar{width:24px;height:24px}.ranking-item{padding:.4rem;gap:.4rem}.rank-number{min-width:28px;font-size:var(--fs-md)}.ranking-avatar{width:24px;height:24px}.participant-name{font-size:var(--fs-sm)}.participant-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-stats{font-size:var(--fs-xs)}.participant-rating{font-size:var(--fs-md)}.btn-challenge,.btn-message{font-size:var(--fs-xs);padding:.2rem .4rem}.prize-shelf .prize-icon{width:14px;height:14px}}.mode-toggle{display:flex;gap:2px;background:var(--background);border:1px solid var(--border-color);border-radius:var(--radius);padding:2px}.map-tip{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.92);color:var(--text-primary);padding:.4rem 1rem;border-radius:var(--radius-lg);font-size:var(--fs-sm);pointer-events:none;z-index:500;white-space:nowrap;opacity:1;transition:opacity .8s ease;box-shadow:0 1px 4px rgba(0,0,0,.15)}[data-theme=dark] .map-tip{background:rgba(22,27,34,.88);box-shadow:none}.map-tip.hidden{opacity:0;pointer-events:none}.spot-gesture-tip{bottom:60px;font-size:var(--fs-xs)}.pin-instructions{margin-top:.5rem;font-size:var(--fs-sm);color:var(--text-secondary);font-style:italic}#pinSearchResults .panel-header{display:flex;justify-content:space-between;align-items:center}.result-item{cursor:pointer;transition:background-color .2s ease}.result-item:hover{background:var(--surface-hover)}.result-item-highlighted{border-left-color:var(--warning-color)!important;background:rgba(253,224,71,.1)}.result-sport{font-weight:600}.result-participants{margin-left:1rem;color:var(--text-secondary)}.result-distance{margin-left:1rem;color:var(--text-muted)}.ladder-cluster-icon{background:0 0!important;border:0!important}.cluster-marker{display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--on-primary);font-weight:700;font-size:var(--fs-md);border:2px solid var(--primary-color);box-shadow:0 2px 8px var(--shadow-md)}.cluster-small{width:36px;height:36px;background:var(--primary-color)}.cluster-large,.cluster-medium{width:44px;height:44px;background:var(--primary-hover);font-size:var(--fs-md)}.cluster-large{width:52px;height:52px;font-size:var(--fs-base)}.ladder-icon,.ladder-icon-with-label{background:0 0!important;border:0!important}.ladder-marker{background:0 0;border:0;width:44px;height:58px;cursor:pointer;position:relative;transition:transform .2s ease,box-shadow .2s ease}.ladder-marker,.ladder-marker-labeled,.ladder-sport-pill{display:flex;align-items:center;justify-content:center}.ladder-marker-labeled{background:0 0;border:0;cursor:pointer;position:relative;transition:transform .2s ease,box-shadow .2s ease}.ladder-marker-labeled:hover,.ladder-marker:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.ladder-sport-pill{position:absolute;bottom:0;left:50%;transform:translateX(-50%);background:#fff;border-radius:var(--radius-sm);padding:3px 4px;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none;z-index:300}.ladder-sport-pill .twemoji,.ladder-sport-pill img{width:18px!important;height:18px!important}.ladder-sport-pill--count{font-size:var(--fs-xs);font-weight:700;color:var(--primary-color);min-width:22px;height:22px;padding:0 4px}.ladder-marker-labeled{flex-direction:column;width:80px;height:auto;border-radius:var(--radius);padding:.5rem}.ladder-badge,.ladder-icon-emoji{font-size:var(--fs-xl);display:flex;align-items:center;justify-content:center}.ladder-badge{position:absolute;top:1px;right:-1px;z-index:300;background:var(--badge-bg, #1e3a5f);color:var(--badge-text, #fff);border:0;border-radius:50%;min-width:16px;height:16px;padding:0 1px;font-size:var(--fs-2xs);font-weight:700;box-sizing:border-box;line-height:1;font-family:var(--font-sans)}.ladder-label{font-size:var(--fs-xs);color:var(--text-primary);margin-top:.25rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ladder-corner-label{background:0 0!important;border:0!important}.ladder-corner-label--dimmed,.ladder-icon--dimmed{opacity:.6}.map--has-selection .ladder-corner-label,.map--has-selection .ladder-marker,.map--has-selection .signpost-marker,.map--has-selection .venue-building-marker{opacity:.45;transition:opacity .2s}.map--ladder-focus .ladder-corner-label,.map--ladder-focus .ladder-marker,.map--pickup-focus .signpost-marker--selected,.map--venue-focus .venue-building-marker{opacity:1}.map--has-selection .ladder-pickup-merged,.map--has-selection .venue-merged-marker{opacity:.45;transition:opacity .2s}.signpost-marker--selected,.venue-building-marker--selected{opacity:1!important}.ladder-corner-label-content{display:flex;align-items:center;gap:.25rem;background:var(--surface);border:1px solid var(--primary-color);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:var(--fs-sm);box-shadow:0 2px 4px var(--shadow);white-space:nowrap;width:fit-content;min-width:60px;max-width:200px}.ladder-corner-label-content .corner-name{overflow:hidden;text-overflow:ellipsis}.corner-emoji{font-size:var(--fs-md);display:inline-flex;align-items:center}.corner-emoji,.corner-emoji img,.ladder-title-name img{vertical-align:middle}.corner-name{color:var(--text-primary);font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis}.corner-badge{background:var(--primary-color);color:var(--on-primary);border-radius:var(--radius);padding:0 .4rem;font-size:var(--fs-2xs);font-weight:700;text-align:center}.create-draw-tabs{display:flex;gap:.25rem;padding:0 var(--spacing-md);border-bottom:2px solid var(--border)}.create-draw-tab,.create-radius-control label{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary)}.create-draw-tab{flex:1;padding:.5rem .75rem;min-height:44px;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s;text-align:center;display:flex;align-items:center;justify-content:center;gap:.4rem}.create-draw-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}@media (hover:hover){.create-draw-tab:hover{color:var(--text-primary)}}.create-radius-control{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.create-radius-control label{white-space:nowrap}.create-radius-control input[type=range]{flex:1;accent-color:var(--primary-color)}.create-radius-value,.form-group label{font-weight:600;color:var(--text-primary)}.create-radius-value{font-size:var(--fs-sm);min-width:3.5rem;text-align:right}.form-section{padding:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--fs-md);margin-bottom:.5rem}.form-group input:not([type=radio]),.form-group select,.form-group textarea{width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);font-size:var(--fs-md);font-family:inherit;transition:border-color .2s ease}.form-group textarea{resize:vertical;min-height:80px}.custom-select{position:relative}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background:var(--background);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);font-size:var(--fs-md);cursor:pointer;transition:border-color .2s ease}.custom-select-trigger:hover{border-color:var(--primary-color)}.custom-select-caret{opacity:.5;flex-shrink:0}.custom-select-options{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.2);max-height:calc(100dvh - 80px);overflow-y:auto;z-index:100}.custom-select-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:var(--fs-sm);transition:background .1s}.custom-select-option:hover{background:var(--bg-secondary)}.custom-select-option.selected{background:var(--bg-secondary);font-weight:600}.ranking-options{display:flex;flex-direction:column;gap:.5rem}.ranking-option{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s ease,background .15s ease}.ranking-option:has(input:checked){border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 6%,transparent)}.ranking-option input[type=radio]{width:auto;padding:0;margin:0;flex-shrink:0;accent-color:var(--primary-color)}.ranking-option-content{display:contents}.ranking-option-title{font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.ranking-option-desc{flex-basis:100%;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4}.btn{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary-color);color:var(--on-primary);border:1px solid var(--primary-color)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:disabled{background:var(--text-secondary);border-color:transparent;cursor:not-allowed;opacity:.5}.btn-success{background:var(--success-color)!important;color:var(--on-primary)!important;opacity:1!important;cursor:default!important}.btn-primary-outline{background:var(--surface);color:var(--accent-primary);border:1px solid var(--border-color)}.btn-primary-outline:hover,.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.form-error{color:var(--danger-color);font-size:var(--fs-sm);margin-bottom:.4rem;text-align:center}.create-ladder-auto-hide-hint,.create-ladder-free-hint{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;margin:.5rem 0;padding:.4rem .75rem;background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.btn-danger,.btn-warning{background:0 0;color:var(--danger-color);border:1px solid var(--danger-color)}.btn-danger:hover{background:var(--danger-color);color:#fff}.btn-warning{color:var(--warning-color);border:1px solid var(--warning-color)}.btn-warning:hover{background:var(--warning-color);color:#fff}.btn-sm{font-size:var(--fs-sm);padding:.3rem .75rem}.btn-link{background:0 0;border:0;color:var(--text-secondary);cursor:pointer;padding:0;font-size:inherit;font-weight:400}.btn-link:hover{color:var(--text-primary)}#ladderDetailsContent .ladder-sport{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:.5rem}#ladderDetailsContent .ladder-description{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:1rem;line-height:1.5}#ladderDetailsContent .ladder-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem;margin:.25rem 0}.demo-reset-banner{gap:.4rem;padding:.35rem .6rem;background:var(--bg-secondary);border:1px solid var(--border-color)}.demo-reset-banner strong{font-variant-numeric:tabular-nums;color:var(--text-primary)}.demo-reset-banner,.expired-pro-banner,.upgrade-nudge{display:flex;align-items:center;margin:.25rem 0;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-secondary)}.expired-pro-banner{gap:.4rem;padding:.35rem .6rem;background:color-mix(in srgb,#f59e0b 12%,var(--bg-secondary));border:1px solid color-mix(in srgb,#f59e0b 30%,var(--border-color))}.expired-pro-banner svg{color:var(--warning-color);flex-shrink:0}.expired-pro-banner a{color:var(--warning-color);font-weight:600;white-space:nowrap}.upgrade-nudge{flex-wrap:wrap;gap:.25rem;padding:.5rem .75rem;background:color-mix(in srgb,#10b981 10%,var(--bg-secondary));border:1px solid color-mix(in srgb,#10b981 25%,var(--border-color));line-height:1.4}.upgrade-nudge a{color:#059669;font-weight:600;text-decoration:none}.activity-item a:hover,.btn-link:hover,.match-item-wrap a:hover,.seo-ladder-preview h3 a:hover,.seo-links-group a:hover,.seo-panel-boroughs a:hover,.seo-panel-neighborhoods a:hover,.upgrade-nudge a:hover{text-decoration:underline}.upgrade-nudge--full{background:color-mix(in srgb,#f59e0b 12%,var(--bg-secondary));border-color:color-mix(in srgb,#f59e0b 30%,var(--border-color))}.ladder-meta-chip{font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;display:inline-flex;align-items:center;gap:.2rem}.meta-icon{width:14px;height:14px;color:var(--accent-primary);flex-shrink:0}#ladderDetailsContent .btn{width:100%;margin-bottom:.5rem}#ladderDetailsContent .comment-form .btn,#ladderDetailsContent .ladder-actions .btn{width:auto;margin-bottom:0}#ladderDetailsContent h4{font-size:var(--fs-base);color:var(--text-primary);margin:0 0 .5rem}.ladder-content-wrap,.ladder-hero-content{container-type:inline-size}.ladder-hidden-notice{background:#fef3c7;color:#92400e;padding:.5rem .75rem;font-size:var(--fs-sm);border-bottom:1px solid #fbbf24;text-align:center}[data-theme=dark] .ladder-hidden-notice{background:#451a03;color:#fbbf24;border-color:#92400e}.ladder-rankings-col,.ladder-recent-col{min-width:0}.ladder-recent-col h4{margin-top:1rem}@container (min-width: 1000px){.ladder-details-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;align-items:start}.ladder-recent-col h4{margin-top:1.5rem}}.no-participants{text-align:center;color:var(--text-secondary);padding:1rem;font-style:italic}.rankings-list{list-style:none;padding:0;margin:0}.ranking-item{position:relative;display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--ranking-item-bg, var(--background));border-radius:var(--radius);margin-bottom:.5rem;transition:background-color .2s ease;border:1px solid color-mix(in srgb,var(--primary-color) 15%,var(--border));box-shadow:0 1px 3px rgba(0,0,0,.06)}:root:not([data-theme=dark]) .ranking-item{border:1px solid #d0d7e2;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04)}[data-theme=dark] .ranking-item{border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 4px rgba(0,0,0,.3)}:root:not([data-theme=dark]) .ranking-podium-1{border:1px solid rgba(202,138,4,.35)}:root:not([data-theme=dark]) .ranking-podium-2{border:1px solid rgba(148,148,165,.35)}:root:not([data-theme=dark]) .ranking-podium-3{border:1px solid rgba(180,110,40,.3)}.challenge-recommendation{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;background:0 0;border:1px dashed var(--primary-color);border-radius:var(--radius);font-size:var(--fs-md);color:var(--text-primary);transition:background .2s}.challenge-recommendation:hover{background:0 0}.challenge-recommendation .rec-bot-icon,.rec-dismiss{flex-shrink:0}.rec-dismiss{margin-left:auto;background:0 0;border:0;color:var(--text-muted);cursor:pointer;padding:.2rem;border-radius:50%;line-height:0}.rec-dismiss:hover{color:var(--text-primary);background:var(--surface-hover)}.rec-why-link,.rec-why-reasons{font-size:var(--fs-2xs);color:var(--text-muted)}.rec-why-link{text-decoration:underline;cursor:pointer;white-space:nowrap}.challenge-recommendation .btn-challenge{margin:0 .4rem}.challenge-recommendation .prize-icon{vertical-align:middle;position:relative;top:-3px}.rec-why-link:hover{color:var(--accent-primary)}.rec-why-reasons{display:none;padding:.4rem .75rem .4rem 3.1rem;margin-top:-.35rem;margin-bottom:.5rem;line-height:1.5}.rec-why-reasons.open{display:block}.rec-why-reasons ul{margin:0;padding-left:1.2rem;list-style:disc}.ranking-item.ranking-pulse{animation:rankingPulse .6s ease-in-out 3}.ranking-item.ranking-self{border-left:3px solid var(--primary-color)!important}.ranking-item.clickable{cursor:pointer}.ranking-item:hover{background:var(--surface-hover)}.rank-number{font-size:var(--fs-lg);font-weight:700;color:var(--accent-primary);min-width:40px}.ranking-podium{border-radius:var(--radius-sm);overflow:hidden;position:relative}.ranking-podium::after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.25) 45%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.25) 55%,transparent 70%);animation:podium-gleam 1.5s ease-in-out both;pointer-events:none}[data-theme=dark] .ranking-podium::after{background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.12) 55%,transparent 70%)}.ranking-podium-1{background:rgba(253,224,71,.3)}.ranking-podium-1::after{animation-delay:.5s}.ranking-podium-2::after{animation-delay:.53s}.ranking-podium-3::after{animation-delay:.56s}.ranking-podium-1 .rank-number{color:#b8860b}.ranking-podium-2{background:rgba(192,192,192,.3)}.ranking-podium-2 .rank-number{color:#8a8a8a;text-shadow:0 1px 0 rgba(255,255,255,.5)}.ranking-podium-3{background:rgba(232,162,85,.3)}.ranking-podium-3 .rank-number{color:#9a3412}[data-theme=dark] .ranking-podium-1{background:rgba(253,224,71,.25)}[data-theme=dark] .ranking-podium-1 .rank-number{color:#facc15}[data-theme=dark] .ranking-podium-2{background:rgba(200,200,220,.25)}[data-theme=dark] .ranking-podium-2 .rank-number{color:#e0e0e8;text-shadow:0 0 6px rgba(192,192,210,.4)}[data-theme=dark] .ranking-podium-3 .rank-number{color:#e0a060}.ranking-avatar{width:50px;height:50px;border-radius:50%;border:2px solid var(--border);object-fit:cover;flex-shrink:0}.ranking-avatar-initial{display:flex;align-items:center;justify-content:center;background:var(--surface-hover);font-weight:600;font-size:var(--fs-sm);color:var(--text-secondary)}.participant-info{flex:1;min-width:8rem}.rankings-ultra-compact .participant-info{min-width:0}.participant-info.clickable{cursor:pointer}.participant-name{font-weight:600;font-size:var(--fs-base);color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;flex-wrap:nowrap;gap:2px;min-width:4rem}.participant-name>span:first-child{white-space:nowrap;flex-shrink:0}.rankings-ultra-compact .participant-name>span:first-child{overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.participant-stats{font-size:var(--fs-xs);color:var(--text-secondary)}.ranking-actions-col{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-left:auto;flex-shrink:0}.ranking-actions-row{display:flex;align-items:center;gap:.35rem}.participant-rating{font-size:var(--fs-lg);font-weight:700;color:var(--warning-color)}@media (max-width:620px){.ranking-item{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;gap:.2rem .5rem;padding:.5rem;align-items:center}.ranking-item .rank-number{grid-column:1;grid-row:1/3;min-width:28px;font-size:var(--fs-base)}.ranking-item .avatar-badge-wrap{grid-column:2;grid-row:1/3}.ranking-item .participant-info{grid-column:3;grid-row:1;min-width:0}.ranking-item .participant-name{margin-bottom:0}.ranking-item .participant-stats{display:none}.ranking-item .ranking-row2{grid-column:3;grid-row:2;display:flex;align-items:center;gap:.5rem;font-size:var(--fs-xs)}.ranking-item>.ranking-actions-col{display:none}.ranking-item .ranking-row2 .participant-rating{font-size:var(--fs-sm);font-weight:700}.ranking-item .ranking-row2 .ranking-row2-stats{color:var(--text-secondary)}.ranking-item .ranking-row2 .ranking-row2-actions{margin-left:auto;display:flex;gap:.3rem}}@media (min-width:621px){.ranking-row2{display:none}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s}#availabilityModal,#challengeModal,#counterProposeModal,#respondModal{align-items:flex-start;overflow-y:auto}#availabilityModal>.modal-content,#challengeModal>.modal-content,#counterProposeModal>.modal-content,#respondModal>.modal-content{margin:2rem auto;max-height:none;overflow-y:visible}@media (max-width:900px){#availabilityModal,#challengeModal,#counterProposeModal,#respondModal{align-items:stretch;overflow-y:hidden}#availabilityModal>.modal-content,#challengeModal>.modal-content,#counterProposeModal>.modal-content,#respondModal>.modal-content{margin:0;border-radius:var(--radius) var(--radius)0 0;max-height:100%;overflow-y:auto;padding:.75rem}#challengeModalTitle,#counterProposeModal h3,#respondModal h3{display:none}#challengeForm>.form-group>label{font-size:var(--fs-2xs);margin-bottom:.25rem}.mobile-cal-day-tabs{position:sticky;top:0;z-index:10;background:var(--surface);padding-top:.25rem}.mobile-cal-slots{max-height:none;overflow-y:visible}#challengeCalendarPane~button[type=submit],#challengeForm button[type=submit]{position:sticky;bottom:0;z-index:5}.challenge-inline-respond .mobile-cal-slots{max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 1rem}.challenge-inline-respond .mobile-cal-day-tabs{margin:0 1rem}.challenge-inline-respond [id^=respondCalendar-]{margin:.5rem 0 1rem}.challenge-inline-respond .challenge-respond-actions{position:sticky;bottom:0;z-index:5;background:var(--surface);padding:.5rem 0;border-top:1px solid var(--border)}.calendar-add-option-wrap{position:sticky;bottom:0;z-index:10;background:var(--surface)}.calendar-add-option-wrap .btn-add-option{border-top:1px solid var(--border);margin-top:0}}#adminProModal,#foundingCelebrationModal,#playerProModal{z-index:10001}.founding-banner{position:absolute;left:0;right:0;z-index:1001;background:var(--surface);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px rgba(0,0,0,.15)}.founding-banner-inner{position:relative;max-width:720px;margin:0 auto;padding:.75rem 1rem;text-align:center}.founding-banner-close{position:absolute;top:.25rem;right:.5rem;background:0 0;border:0;font-size:var(--fs-xl);cursor:pointer;color:var(--text-muted);line-height:1}.founding-banner-close:hover,.modal-content h3{color:var(--text-primary)}.founding-banner-title{margin:0 0 .25rem;font-size:var(--fs-base)}.founding-banner-desc{margin:0 0 .5rem;font-size:var(--fs-sm);color:var(--text-secondary)}.founding-banner-scroll{overflow-y:auto}.founding-banner-actions{display:flex;align-items:flex-start;justify-content:center;gap:1rem;margin-top:.5rem}.founding-banner-actions .btn{font-size:var(--fs-sm);padding:.4rem 1.2rem}.founding-banner-claim{display:flex;flex-direction:column;align-items:center;gap:.15rem}.founding-banner-note{font-size:var(--fs-2xs);color:var(--text-muted)}@media (max-width:900px){.founding-banner,.founding-banner-inner{display:flex;justify-content:center;box-shadow:none}.founding-banner{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001;background:rgba(0,0,0,.8);align-items:center;border-bottom:none}.founding-banner-inner{width:100%;max-width:100vw;max-height:100vh;height:100%;overflow-y:auto;padding:1.5rem 1rem;background:var(--surface);flex-direction:column;border-radius:0}.founding-banner-scroll{max-height:50vh}}@media (max-width:600px){.founding-banner .founding-features-grid{grid-template-columns:1fr;gap:.25rem}.founding-banner .founding-feature-list{display:block}.founding-banner-actions{gap:.5rem}}.founding-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left;margin:.75rem 0}@media (max-width:600px){.founding-features-grid{grid-template-columns:1fr;gap:.5rem}.founding-feature-list{font-size:var(--fs-2xs);line-height:1.4}}.founding-rocket-launch{width:64px;height:64px;margin:0 auto;animation:rocketLaunch 1.2s ease-out forwards}.founding-rocket-launch .twemoji{width:100%;height:100%}.founding-celebration-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:10001;pointer-events:none}.founding-celebration-text{color:var(--text-primary);text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:fadeIn .5s ease .3s both}.founding-celebration-fade{animation:celebrationFadeOut .5s ease-out forwards}.modal-content{background:var(--surface);padding:2rem;border-radius:var(--radius);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px var(--shadow-md);position:relative}.modal-content h3{font-size:var(--fs-xl);margin-bottom:1.5rem}.modal-content .button-group{display:flex;gap:.5rem;margin-top:1.5rem}.modal-content .button-group .btn{flex:1}.login-modal-content{max-width:400px;text-align:center;padding:2.5rem 2rem;background:var(--background);border:1px solid var(--border)}.login-modal-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:.5rem}.login-modal-header h3{margin-bottom:0;color:var(--text-primary)}.login-modal-icon{width:48px;height:48px;color:var(--primary-color)}.login-modal-subtitle{color:var(--text-secondary);font-size:var(--fs-sm);margin-bottom:1.5rem;line-height:1.5}.login-modal-legal{margin-top:1rem;font-size:var(--fs-2xs);color:var(--text-muted);line-height:1.4;text-align:center}.login-modal-legal a{color:var(--text-secondary);text-decoration:underline}.login-modal-google{width:100%;justify-content:center;padding:.75rem 1.5rem;font-size:var(--fs-base)}.join-error{background:rgba(248,81,73,.12);border:1px solid var(--danger-color);color:var(--danger-color);border-radius:var(--radius);padding:.5rem .75rem;font-size:var(--fs-md);margin-bottom:1rem}.polygon-color-picker{display:flex;flex-wrap:wrap;gap:6px}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.color-swatch:hover{transform:scale(1.15);border-color:var(--text-secondary)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--primary-color)}.accordion{width:100%}.accordion-section{overflow:hidden}.accordion-section+.accordion-section{margin-top:-2px}.accordion-section.active{overflow:visible}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;cursor:pointer;background:var(--surface);border:0;border-top:2px solid var(--primary-color);border-bottom:2px solid var(--primary-color);border-radius:0;transition:background-color .2s ease;box-sizing:border-box}.accordion-header:hover,.accordion-section.active .accordion-header:hover{background:var(--surface-hover)}.accordion-header h3{font-size:var(--fs-base);font-weight:600;color:var(--text-primary);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ladder-title-name{font-weight:700;display:inline-flex;align-items:center;gap:.3rem}.ladder-title-desc{font-size:var(--fs-xs);font-weight:400;color:var(--text-secondary);margin-left:.5rem}.accordion-icon{font-size:var(--fs-base);color:var(--accent-primary);transition:transform .3s ease}.accordion-section.active .accordion-icon{transform:rotate(180deg)}.accordion-content{display:none}.accordion-section.active .accordion-content{display:block;animation:accordion-fade-in .15s ease}.accordion-body{padding:var(--spacing-md)}.accordion-header-actions{display:flex;align-items:center;gap:.5rem}.btn-close-panel{background:0 0;border:0;color:var(--text-secondary);font-size:var(--fs-base);padding:0;cursor:pointer;line-height:1;transition:color .15s ease;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-close-panel:hover{color:var(--danger-color)}.accordion-body #pinResultsContent{margin-bottom:var(--spacing-sm)}.header-login-section{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.nav-collapsed .nav-section .nav-lang-item{width:100%;text-align:left;padding:.5rem 1rem}.nav-collapsed .nav-section .nav-login-item{width:100%;padding:.5rem 1rem;display:flex;gap:.5rem;align-items:center}.btn-debug{background:var(--surface);color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:var(--radius);padding:.3rem .65rem;font-size:var(--fs-sm);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-debug:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-secondary)}.debug-user-list{display:flex;flex-direction:column;gap:.3rem;max-height:260px;overflow-y:auto;margin-bottom:.5rem}.debug-user-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s ease}.debug-user-item:hover{background:var(--surface-hover);border-color:var(--primary-color)}.debug-user-name{font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.debug-user-email{font-size:var(--fs-sm);color:var(--text-secondary)}.debug-divider{border:0;border-top:1px solid var(--border);margin:1rem 0 .75rem}.debug-create-title{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.user-info{display:flex;align-items:center;gap:.75rem;background:var(--header-user-bg);padding:.5rem 1rem;border-radius:var(--radius);position:relative}.user-avatar,.user-avatar-initial{width:32px;height:32px;border-radius:50%;border:2px solid var(--header-user-border)}.user-avatar-initial{background:var(--primary-color);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-sm)}.user-name{color:var(--header-user-text);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pro{color:var(--warning-color);font-weight:600}.icon-section{width:1em;height:1em;vertical-align:-.15em;color:var(--accent-primary)}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.user-menu-caret{opacity:.7;color:var(--header-user-text);transition:transform .2s}.user-menu-open .user-menu-caret{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.2);min-width:150px;z-index:1000;overflow:hidden}.user-dropdown-item{display:block;width:100%;padding:.6rem 1rem;background:0 0;border:0;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background .15s}.user-dropdown-item:hover{background:var(--bg-secondary)}.user-dropdown-logout{border-top:1px solid var(--border);color:var(--danger-color)}.close{position:absolute;right:1rem;top:.75rem;font-size:var(--fs-2xl);font-weight:700;color:var(--text-muted);cursor:pointer;transition:color .2s;background:0 0;border:0;padding:.25rem;line-height:1;z-index:1}.modal-content h3,.modal-content label:first-of-type,.modal-content>p{padding-right:2.5rem}.close:hover{color:var(--text-primary)}.modal-feedback{display:none;margin-top:1rem;padding:.6rem 1rem;border-radius:var(--radius);font-size:var(--fs-md);font-weight:600;text-align:center}.modal-feedback.success{background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--primary-color) 30%,transparent)}.modal-feedback.error{background:rgba(244,67,54,.15);color:var(--danger-color);border:1px solid rgba(244,67,54,.3)}.oauth-buttons{display:flex;flex-direction:column;gap:1rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:500;font-size:var(--fs-md);transition:all .2s;border:1px solid var(--border-color)}.oauth-icon{width:20px;height:20px;flex-shrink:0}.google-btn{background:var(--google-btn-bg);color:var(--google-btn-text);border:1px solid var(--google-btn-border);border-radius:var(--radius)}.nav-login-btn.oauth-btn{padding:.3rem .6rem;gap:.4rem;font-size:var(--fs-sm);white-space:nowrap}.nav-login-btn.btn{padding:.35rem .75rem;font-size:var(--fs-sm);white-space:nowrap;box-sizing:border-box}.nav-login-btn .oauth-icon{width:16px;height:16px}.google-btn:hover{background:var(--google-btn-hover-bg);box-shadow:0 2px 8px rgba(0,0,0,.15)}.login-footer{margin-top:2rem;text-align:center;font-size:var(--fs-md);color:var(--login-footer-text);line-height:1.4}@media (max-width:768px){.user-info{font-size:var(--fs-md)}.user-name{max-width:100px}.login-modal-content{margin:10% 1rem;padding:2rem 1.5rem}}.avail-modal-content{max-width:680px;width:95%;max-height:95vh;display:flex;flex-direction:column;overflow:hidden}.avail-modal-content h3,.schedule-item-icon svg,.welcome-banner-nearby svg{flex-shrink:0}.avail-timezone{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.75rem;flex-shrink:0}.avail-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem;user-select:none;-webkit-user-select:none;flex:1;min-height:0;display:flex;flex-direction:column}.avail-header{display:grid;grid-template-columns:46px repeat(7,1fr);background:var(--surface);border-bottom:2px solid var(--border);flex-shrink:0}.avail-day-header,.avail-time-gutter{border-right:1px solid var(--border)}.avail-day-header{display:flex;align-items:center;justify-content:center;padding:.3rem 0;font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.avail-scrollable{overflow-y:auto;flex:1;min-height:0;max-height:540px}.avail-body{display:grid;grid-template-columns:46px repeat(7,1fr);grid-auto-rows:18px;position:relative}.avail-cell,.avail-time-label{border-right:1px solid var(--border)}.avail-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding-right:5px;padding-top:1px;font-size:var(--fs-2xs);color:var(--text-secondary);line-height:1}.avail-cell{border-bottom:1px solid rgba(31,41,55,.5);cursor:pointer;transition:background-color .05s}.avail-cell--hour{border-top:1px solid var(--border)}.avail-cell:hover{background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.avail-cell.selected{background:color-mix(in srgb,var(--primary-color) 25%,transparent)}.avail-cell.selected:hover{background:color-mix(in srgb,var(--primary-color) 35%,transparent)}.avail-mobile-view{user-select:none;-webkit-user-select:none}.avail-mobile-view .mobile-cal-day-tab{padding:.5rem .2rem}.avail-mobile-slot--selected .mobile-cal-slot-time{color:var(--accent-primary);font-weight:600}.avail-mobile-bar--selected{background:color-mix(in srgb,var(--primary-color) 25%,transparent)!important}.nav-section{display:flex;align-items:center;gap:.15rem;margin-right:.5rem;flex-shrink:0}.btn-nav-item{position:relative;background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:calc(var(--radius) - 2px);padding:.3rem .75rem;min-height:44px;cursor:pointer;font-size:var(--fs-md);font-weight:500;transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center}.btn-nav-item:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--surface-hover)}.btn-nav-item.active,.btn-nav-item.btn-nav-active{background:var(--primary-color);border-color:var(--primary-color);color:var(--on-primary)}.btn-nav-help{padding:.3rem .4rem;opacity:.6}.btn-nav-help.active,.btn-nav-help:hover{opacity:1}.btn-nav-notif,.nav-badge{display:inline-flex;align-items:center}.btn-nav-notif{font-size:var(--fs-base);padding:.3rem .5rem}.nav-badge{position:absolute;top:-4px;right:-4px;background:var(--danger-color);color:var(--badge-text);border-radius:50%;min-width:16px;height:16px;font-size:var(--fs-2xs);justify-content:center;font-weight:700;padding:0 2px}.hamburger-btn{display:none;flex-direction:column;justify-content:center;gap:4px;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:6px 8px;min-width:44px;min-height:44px;cursor:pointer;flex-shrink:0;position:relative}.hamburger-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:var(--radius);background:var(--danger-color);color:var(--badge-text);font-size:var(--fs-2xs);font-weight:700;line-height:16px;text-align:center;padding:0 4px}.hamburger-btn span:not(.hamburger-badge){display:block;width:20px;height:2px;background:var(--text-secondary);border-radius:1px;transition:transform .2s,opacity .2s}.hamburger-btn:hover span:not(.hamburger-badge){background:var(--text-primary)}.hamburger-btn.hamburger-open:not(.you-nav-btn) span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-btn.hamburger-open:not(.you-nav-btn) span:nth-child(2){opacity:0}.hamburger-btn.hamburger-open:not(.you-nav-btn) span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-mobile-only,.user-collapsed .user-menu-caret,.user-collapsed .user-name{display:none}.user-collapsed .user-menu-trigger{gap:0}.logo-collapsed .brand-text,.tabs-icon-only .nav-tab span[data-i18n]{display:none}.tabs-icon-only .nav-tab .nav-tab-icon{display:inline}.nav-collapsed .hamburger-btn{display:flex}.hamburger-wrap{position:relative;display:flex;align-items:center;flex-shrink:0;gap:.5rem}#navSection,.nav-collapsed .nav-section{display:none!important;position:absolute;top:100%;right:0;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px var(--shadow);padding:.5rem;gap:.25rem;z-index:99999;max-height:70vh;overflow-y:auto;min-width:200px;width:max-content;margin-top:.25rem}.nav-collapsed .nav-section.nav-open{display:flex!important}.nav-collapsed .nav-section .btn-nav-item{width:100%;text-align:left;padding:.75rem 1rem;font-size:var(--fs-md);min-height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between}.nav-collapsed .nav-section .btn-nav-item .nav-badge{position:static;margin-left:.5rem}.nav-collapsed .nav-section .btn-nav-help{opacity:1}.nav-collapsed .nav-mobile-only{display:flex}.nav-collapsed .nav-section .lang-menu{position:static;overflow-y:visible;max-height:none;box-shadow:none;border:0;background:0 0}.nav-tab-icon{display:none;vertical-align:middle}.primary-nav{display:flex;align-items:center;gap:2px;padding-right:8px}.nav-tab{padding:.3rem .9rem;min-height:44px;background:0 0;border:0;color:var(--text-secondary);cursor:pointer;border-radius:calc(var(--radius) - 2px);font-size:var(--fs-md);font-weight:500;transition:all .15s ease;white-space:nowrap}.nav-tab:hover{color:var(--text-primary);background:var(--surface-hover)}.nav-tab:active{transform:scale(.97)}.nav-tab--active{color:var(--primary-color);font-weight:600}.nav-tab--create{background:0 0;color:var(--text-secondary);font-weight:500;border-radius:var(--radius);border:1.5px solid var(--border)}.nav-tab--create:hover{background:var(--surface-hover);color:var(--text-primary);opacity:1}.nav-tab--create.nav-tab--active{background:var(--primary-color);color:var(--on-primary);border-color:var(--primary-color);font-weight:600}.nav-tab--inbox{position:relative;padding-right:1.2rem}.nav-tab--feedback{font-size:var(--fs-xs);color:var(--text-muted);font-weight:400}.nav-tab--feedback:hover{color:var(--text-secondary)}#tabHub .nav-badge,#tabInbox .nav-badge{position:absolute;top:4px;right:-4px}.mobile-tab--login{color:var(--primary-color)!important;font-weight:600}#mobileTabLogin svg{stroke:var(--primary-color)}#navSection.nav-open{display:flex!important}#navSection .btn-nav-item,.you-nav-btn{align-items:center;min-height:44px;font-size:var(--fs-md)}#navSection .btn-nav-item{width:100%;text-align:left;padding:.75rem 1rem;border-radius:var(--radius);display:flex;justify-content:space-between}.you-nav-btn{flex-direction:row!important;gap:.35rem;background:var(--surface);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:calc(var(--radius) - 2px);padding:.3rem .65rem;cursor:pointer;font-weight:500;transition:all .15s ease;white-space:nowrap}.you-nav-btn span[data-i18n]{width:auto!important;height:auto!important;background:0 0!important}.you-nav-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--surface-hover)}.play-panel{padding:0}.play-cards{display:flex;flex-direction:column;gap:.75rem;padding:1rem 2rem 1rem 1rem}.play-card,.play-card-icon{display:flex;align-items:center;border-radius:var(--radius)}.play-card{gap:1rem;padding:1rem 1.25rem;background:var(--surface);border:1.5px solid var(--border-color);cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.play-card:hover{border-color:var(--primary-color);background:var(--surface-hover)}.play-card-icon{flex-shrink:0;width:44px;height:44px;justify-content:center;background:var(--background);color:var(--primary-color)}.play-card-text h3{margin:0 0 .2rem;font-size:var(--fs-md);font-weight:600}.play-card-text p{margin:0}.schedule-sub-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 1rem;gap:0}.play-card-text p,.schedule-sub-tab{color:var(--text-secondary);font-size:var(--fs-sm)}.schedule-sub-tab{padding:.6rem 1rem;background:0 0;border:0;border-bottom:2px solid transparent;font-weight:500;cursor:pointer;transition:all .15s;margin-bottom:-1px}.play-card-text h3,.schedule-sub-tab:hover{color:var(--text-primary)}.schedule-sub-tab--active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.schedule-filter-chips{display:flex;gap:.4rem;padding:.6rem 1rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap}.schedule-filter-chip{padding:.3rem .75rem;background:var(--background);border:1.5px solid var(--border-color);border-radius:2rem;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.schedule-filter-chip--active,.schedule-filter-chip:hover{border-color:var(--primary-color);color:var(--text-primary)}.schedule-filter-chip--active{background:var(--primary-color);color:var(--on-primary);font-weight:600}.schedule-content{overflow-y:auto;padding:.5rem 1rem .5rem 0}.schedule-inline-empty{padding:.25rem 1rem .75rem;font-size:var(--fs-sm);color:var(--text-muted);margin:0}.schedule-section-label{padding:.75rem 1rem .25rem;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.schedule-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border-color)}.inbox-filter:hover,.schedule-item:hover{background:var(--surface-hover)}.schedule-item-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.schedule-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.schedule-item-body strong{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-item-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.schedule-empty{padding:2rem 1rem;text-align:center}.mobile-tab--create{font-weight:600}.mobile-tab--auth-required{opacity:.4}.btn-demo-join{border-style:dashed;opacity:.85}.activity-panel,.inbox-panel{position:absolute;top:52px;right:8px;width:420px;max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);background:var(--surface);border:1px solid var(--border);border-radius:0 0 .5rem .5rem;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:9999;display:flex;flex-direction:column;overflow:hidden}.inbox-panel{width:400px}.inbox-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.inbox-header h3{margin:0;font-size:var(--fs-base)}.inbox-actions{display:flex;gap:.25rem}.inbox-filters{display:flex;gap:0;padding:.25rem .5rem;border-bottom:1px solid var(--border);overflow-x:auto}.inbox-filter{background:0 0;border:0;color:var(--text-secondary);padding:.35rem .6rem;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;transition:all .15s ease}.inbox-filter:hover{color:var(--text-primary)}.inbox-filter.active{background:var(--primary-color);color:var(--on-primary);font-weight:600}.inbox-messages{flex:1;overflow-y:auto;max-height:450px}.inbox-message-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.inbox-message-item:hover{background:var(--surface-hover)}.activity-item.unread,.inbox-message-item.unread{border-left:3px solid var(--primary-color);background:color-mix(in srgb,var(--primary-color) 4%,transparent)}.msg-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.msg-type-icon{font-size:var(--fs-md);opacity:.7}.msg-sender{font-weight:600;font-size:var(--fs-md);color:var(--text-primary);flex:1}.msg-time{color:var(--text-secondary);white-space:nowrap}.msg-subject{font-size:var(--fs-md);color:var(--accent-primary);margin-bottom:.15rem}.msg-preview{font-size:var(--fs-sm);color:var(--text-secondary);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-footer{padding:.5rem 1rem;border-top:1px solid var(--border);text-align:center}.activity-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background .15s ease}.activity-main{display:flex;flex-direction:column;gap:.25rem}.activity-opponent{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-md);flex-wrap:wrap}.activity-opponent strong,.inbox-header h3{color:var(--text-primary)}.activity-vs-icon{font-size:var(--fs-md);opacity:.7;flex-shrink:0}.activity-date{font-size:var(--fs-xs);color:var(--text-secondary);opacity:.6;white-space:nowrap;flex-shrink:0;padding-right:.5rem}.activity-meta{display:flex;gap:.5rem;align-items:center;font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap}.activity-ladder{opacity:.7}.activity-item a{color:inherit;text-decoration:none}.activity-meta>a{color:var(--text-secondary);opacity:.7}.match-item-wrap a{color:inherit;text-decoration:none}.activity-direction{opacity:.6;font-style:italic}.challenge-arrow{color:var(--text-secondary);opacity:.5;font-size:var(--fs-sm);flex-shrink:0}.activity-status{font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:var(--fs-xs);border:1px solid currentColor}.status-pending{color:var(--warning-color)}.status-counter_proposed{color:#6d28d9}.status-accepted{color:var(--accent-primary)}.status-declined{color:var(--danger-color)}.status-cancelled{color:var(--text-secondary)}.activity-counter-time{font-size:var(--fs-md);color:#6d28d9;margin-left:.5rem}.challenge-times{margin:.25rem 0 .15rem;font-size:var(--fs-md)}.challenge-time-row{display:flex;align-items:center;gap:.3rem;line-height:1.5}.challenge-time-label{color:var(--text-secondary);font-weight:500}.challenge-time-value{color:var(--text-primary)}.challenge-inline-respond{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.challenge-inline-respond-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem;font-size:var(--fs-sm)}.challenge-inline-counter-fields label,.challenge-inline-respond .respond-switch-link{font-size:var(--fs-xs)}.challenge-selection-summary{margin-top:.35rem;padding:.35rem .5rem;background:var(--surface);border:1px solid var(--primary-color);border-radius:.375rem;font-size:var(--fs-sm)}.challenge-exact-match-info{color:var(--accent-primary);font-weight:600;margin-bottom:.25rem}.challenge-selection-summary .challenge-time-row{margin:0}.challenge-respond-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.challenge-decline-inline{margin-top:.5rem;padding:.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:.375rem}.challenge-decline-inline textarea{width:100%;font-size:var(--fs-sm);padding:.35rem .4rem;margin-bottom:.35rem}.challenge-decline-inline .btn{width:100%}.admin-pending-item{padding:.75rem 0;border-bottom:1px solid var(--border-color)}.admin-pending-item:last-child,.profile-ladders-table tr:last-child td{border-bottom:none}.admin-pending-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:var(--fs-sm)}.admin-pending-reason{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:.25rem;font-style:italic}.admin-pending-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.challenge-item--declined{opacity:.7;border-left:3px solid var(--danger-color, #ef4444)}.challenge-decline-reason{font-size:var(--fs-sm);color:var(--text-secondary);margin:.25rem 0}.challenge-inline-counter-fields .form-group{margin-bottom:.35rem}.challenge-inline-counter-fields input{padding:.25rem .4rem;font-size:var(--fs-sm)}.challenge-forfeit-countdown{font-size:var(--fs-xs);color:var(--warning-color, #f59e0b);font-weight:600;white-space:nowrap;flex-shrink:0}.challenge-forfeit-warning{font-size:var(--fs-sm);color:var(--danger-color, #ef4444);font-weight:600;padding:.35rem .5rem;margin-bottom:.5rem;background:color-mix(in srgb,var(--danger-color, #ef4444) 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--danger-color, #ef4444) 30%,transparent)}.btn-challenge-out-of-range{opacity:.4;cursor:not-allowed!important}.competition-rules-section{border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.competition-rules-section summary{padding:.6rem .75rem;cursor:pointer;font-weight:600;font-size:var(--fs-sm);user-select:none;color:var(--text-secondary);background:var(--surface)}.competition-rules-body{padding:.75rem;border-top:1px solid var(--border-color);background:var(--bg)}.competition-rules-body .form-group{margin-bottom:.75rem}.competition-rules-body .form-group:last-child{margin-bottom:0}.competition-rules-body input[type=number]{max-width:120px}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.toggle-label input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--primary-color)}.match-inline-report{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.match-result-buttons{display:flex;gap:.35rem;flex-wrap:wrap;max-width:600px}.match-result-buttons .btn-selected{outline:2px solid var(--primary-color);outline-offset:1px}.match-didnt-happen-row,.match-score-row{display:flex;gap:.35rem;align-items:center;margin-top:.4rem;max-width:600px}.match-cancel-reason,.match-inline-score{flex:1;padding:.3rem .5rem;font-size:var(--fs-sm);height:1.85rem;box-sizing:border-box}.match-didnt-happen-row .btn,.match-score-row .btn{height:1.85rem;font-size:var(--fs-sm);padding:0 .6rem;box-sizing:border-box}.activity-body{font-size:var(--fs-sm);color:var(--text-secondary);opacity:.85;line-height:1.4}.activity-subject{font-size:var(--fs-md);color:var(--accent-primary)}.activity-actions{display:flex;gap:.5rem;margin-top:.5rem}.activity-status-label{font-size:var(--fs-xs);color:var(--text-secondary);opacity:.6;margin-top:.25rem;font-style:italic}.section-action-bar{padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.section-hint{font-size:var(--fs-sm);color:var(--text-secondary);opacity:.7;font-style:italic}.dispute-input-row{display:flex;flex-direction:column;gap:.4rem;padding:.5rem 0 .25rem}.dispute-reason-input{width:100%;padding:.4rem .6rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-md);box-sizing:border-box}.comment-form textarea:focus,.dispute-reason-input:focus,.messenger-input-bar textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(4,120,87,.25)}.dispute-input-btns{display:flex;gap:.4rem}.btn-outline{background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{border-color:var(--text-secondary);color:var(--text-primary)}.message-item{cursor:pointer}.btn-outline:hover,.message-item:hover{background:var(--surface-hover)}.app-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.7rem 1.5rem;border-radius:var(--radius);font-size:var(--fs-md);font-weight:600;z-index:999999;display:none;white-space:nowrap;pointer-events:none;transition:opacity .3s}.app-toast-fadeout{opacity:0}.app-toast-success{background:var(--surface);color:var(--accent-primary);border:1px solid var(--accent-primary);box-shadow:0 4px 12px rgba(0,0,0,.3)}.app-toast-error{background:var(--danger-color);color:#fff;box-shadow:0 4px 20px rgba(239,68,68,.5);pointer-events:auto}.app-toast-info{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 4px 12px rgba(0,0,0,.3)}.welcome-banner{margin:.75rem;padding:1rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,var(--surface)),color-mix(in srgb,var(--primary-color) 4%,var(--surface)));border:1px solid color-mix(in srgb,var(--primary-color) 25%,var(--border-color));position:relative;animation:welcomeBannerSlide .4s ease-out}.welcome-banner-close{position:absolute;top:.5rem;right:.5rem;background:0 0;border:0;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lg);line-height:1;padding:.25rem}.welcome-banner-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.welcome-banner-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color)}.welcome-banner-avatar-initial{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-base)}.welcome-banner-text h3{margin:0;font-size:var(--fs-lg);color:var(--text-primary)}.welcome-banner-text p{margin:.15rem 0 0;font-size:var(--fs-sm);color:var(--text-secondary)}.welcome-banner-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.welcome-banner-actions .btn{font-size:var(--fs-sm);padding:.4rem .85rem}.quickstart-card,.welcome-banner-nearby{display:flex;align-items:center;gap:.4rem}.welcome-banner-nearby{margin-top:.5rem;font-size:var(--fs-sm);color:var(--accent-primary);font-weight:600}.quickstart-card{margin:.5rem .75rem;padding:.4rem .6rem;border-radius:var(--radius-lg);color:#fff;animation:welcomeBannerSlide .4s ease-out;position:relative}.quickstart-card,[data-theme=dark] .quickstart-card{background:var(--primary-color)}[data-theme=dark] .quickstart-step{background:rgba(0,0,0,.3)}[data-theme=dark] .quickstart-step--done{background:rgba(0,0,0,.2)}[data-theme=dark] .quickstart-num{background:rgba(0,0,0,.3)}.quickstart-card .quickstart-dismiss{background:0 0;border:0;color:rgba(255,255,255,.6);cursor:pointer;font-size:var(--fs-base);padding:0 .3rem;line-height:1;margin-left:auto;flex-shrink:0}.quickstart-card .quickstart-dismiss:hover{color:#fff}.quickstart-steps{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.quickstart-num,.quickstart-step{display:inline-flex;align-items:center;font-size:var(--fs-xs)}.quickstart-step{gap:.3rem;padding:.2rem .5rem .2rem .25rem;color:rgba(255,255,255,.9);cursor:pointer;border-radius:var(--radius-lg);background:rgba(255,255,255,.15);transition:background .15s;white-space:nowrap}.quickstart-num{justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.25);font-weight:700;color:#fff;flex-shrink:0}.quickstart-num--done{background:#22c55e}.quickstart-arrow{color:rgba(255,255,255,.4);font-size:var(--fs-base);font-weight:700;margin:0 .1rem}.quickstart-step:hover{background:rgba(255,255,255,.25)}.quickstart-step--done{color:rgba(255,255,255,.5);text-decoration:line-through;cursor:default}.quickstart-step--done,.quickstart-step--done:hover{background:rgba(255,255,255,.08)}.quickstart-progress{display:none}.quickstart-progress-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .4s ease-out}.quickstart-done-msg{text-align:center;padding:.5rem 0;font-weight:600;color:var(--accent-primary);animation:welcomeBannerSlide .3s ease-out}.demo-cta-bar{margin:0 .75rem .5rem;padding:.6rem .85rem;border-radius:var(--radius);background:color-mix(in srgb,var(--primary-color) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary-color) 20%,var(--border-color));display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);flex-wrap:wrap}.demo-cta-bar .btn{font-size:var(--fs-xs);padding:.3rem .7rem}.btn-message{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-color);padding:.2rem .35rem;border-radius:var(--radius);cursor:pointer;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0;margin-right:0}.btn-challenge,.btn-message:hover{background:var(--primary-color);color:var(--on-primary)}.btn-message:hover{border-color:var(--primary-color)}.btn-message svg{width:14px;height:14px;vertical-align:middle;display:block}.btn-challenge{border:1px solid var(--accent-primary);padding:.2rem .6rem;border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease;flex-shrink:0}:root:not([data-theme=dark]) .btn-challenge:not(.challenged):not(.btn-challenge-vacation):not(.btn-challenge-join):not(.btn-challenge-login){color:#fff}.btn-challenge:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-primary)}.btn-challenge.btn-challenge-join,.btn-challenge.challenged{background:var(--surface);color:var(--text-secondary);border-color:var(--border-color);cursor:default;opacity:.7}.btn-challenge-vacation,.btn-request-control{background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center}.btn-challenge-vacation{border-color:var(--border-color);cursor:not-allowed;gap:.25rem;opacity:.8}.btn-challenge-vacation svg{position:relative;top:-1px}.btn-challenge.btn-challenge-join{color:var(--text-muted);opacity:.6;cursor:pointer}.btn-challenge.btn-challenge-join:hover{opacity:.9;border-color:var(--primary-color);color:var(--primary-color)}.btn-challenge.btn-challenge-login{background:var(--surface);color:var(--text-secondary);border-color:var(--border-color);font-size:var(--fs-xs)}.participant-name .you-tag{font-size:var(--fs-xs);color:var(--accent-primary);opacity:.7;margin-left:.3rem}.participant-name .admin-tag,.participant-name .proxy-tag{font-size:var(--fs-xs);color:var(--warning-color);opacity:.7;margin-left:.3rem}.participant-name .proxy-tag{color:var(--text-secondary)}.btn-request-control{border:1px solid var(--border-color);cursor:pointer;padding:.2rem;border-radius:var(--radius);margin-left:.25rem;transition:color .15s,border-color .15s,background .15s}.btn-request-control:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--surface-hover)}.proxy-requests-section{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.proxy-request-card{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.proxy-request-body{font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:.5rem}.proxy-request-actions{display:flex;gap:.5rem}#challengeModal .modal-content{max-width:700px}.challenge-availability{margin-bottom:1rem}.challenge-availability h4{margin:0 0 .5rem;font-size:var(--fs-md)}.avail-summary-day{display:flex;gap:.5rem;align-items:baseline;font-size:var(--fs-md)}.avail-summary-day .day-name{font-weight:600;color:var(--accent-primary);min-width:2.5rem}.avail-summary-day .time-slots,.challenge-availability h4{color:var(--text-secondary)}.avail-summary-day,.notif-section{margin-bottom:.25rem}.notif-pref-item,.notif-section-header{display:flex;align-items:center;gap:.75rem;cursor:pointer}.notif-section-header{padding:.6rem 0 .3rem;font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.notif-pref-item input[type=checkbox],.notif-section-header input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.notif-pref-item{padding:.5rem 0 .5rem 1.75rem;font-size:var(--fs-md);color:var(--text-primary);border-bottom:1px solid var(--border)}.notif-pref-item:last-of-type{border-bottom:none}.message-detail-body{padding:1rem 0;font-size:var(--fs-md);line-height:1.5;color:var(--text-primary);white-space:pre-wrap;max-height:300px;overflow-y:auto}.message-detail-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.pending-matches-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.pending-match-item{background:var(--surface-hover);border-radius:var(--radius);padding:.75rem;margin-bottom:.5rem}.account-settings-section h4,.dispute-reason-text,.pending-match-item .match-info{font-size:var(--fs-md);color:var(--text-primary);margin-bottom:.5rem}.pending-match-item .match-status{font-size:var(--fs-sm);font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-sm);display:inline-block;margin-bottom:.5rem}.match-status.pending{background:rgba(251,191,36,.2);color:#92400e}.match-status.disputed{background:rgba(252,165,165,.2);color:var(--danger-color)}.pending-match-item .match-actions{display:flex;gap:.5rem}.dispute-reason-text{color:var(--danger-color);font-style:italic}.dispute-score{color:var(--text-secondary);font-weight:500}#activitySection{position:absolute;top:0;left:5px;right:0;bottom:0;background:var(--surface);z-index:5}.activity-panel-header{flex-shrink:0}.activity-panel-header h2{font-size:var(--fs-base);font-weight:600;display:flex;align-items:center;gap:.35rem}.section-icon{width:1em;height:1em;flex-shrink:0;color:var(--accent-primary)}.activity-panel-header-actions{display:flex;align-items:center;gap:.5rem}.activity-section-content{flex:1;overflow-y:auto;padding:0 1rem 0 0}#activitySection,.activity-section-content.messenger-active{display:flex;flex-direction:column;overflow:hidden}.activity-subsection-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.75rem 1rem .25rem;border-top:1px solid var(--border)}.activity-subsection-title:first-of-type{border-top:none}.upcoming-match{border-left:3px solid var(--primary-color)}.account-settings-section,.account-tabs{padding:1rem 0;border-bottom:1px solid var(--border)}.account-tabs{display:flex;gap:0;padding:0 .5rem;flex-shrink:0}.account-tab{padding:.5rem .75rem;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.account-tab:hover{color:var(--text-primary)}.account-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.account-tab-content{flex:1;overflow-y:auto;padding:0 1rem 1rem;box-sizing:border-box;scrollbar-gutter:stable;text-align:left}.kit-section{padding:1rem 0}.kit-section:first-child{padding-top:.75rem}.kit-section+.kit-section{border-top:1px solid var(--border)}.kit-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}#deleteConfirmInput{font-size:var(--fs-base);letter-spacing:.05em}.match-result-win{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:700;background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--success-text)}.match-result-loss{background:rgba(252,165,165,.15);color:var(--danger-color)}.match-result-draw,.match-result-invalidated,.match-result-loss{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:700}.match-result-draw{background:rgba(253,224,71,.15);color:var(--warning-color)}.match-result-invalidated{background:rgba(107,114,128,.15);color:var(--text-muted);text-decoration:line-through}.match-result-swords{display:inline-block;font-size:var(--fs-base);margin-left:.7rem;margin-right:.25rem}.rating-change-negative,.rating-change-positive{color:var(--success-text);font-weight:600;font-size:var(--fs-md)}.rating-change-negative{color:var(--danger-color)}.match-item-wrap.ranking-item{flex-direction:column;align-items:stretch;gap:0;padding:.6rem .75rem}.match-item-row{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.match-item-row .activity-date{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;flex-shrink:0;padding-left:.7rem}.comment-toggle{background:0 0;border:0;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-xs);padding:.5rem .25rem .25rem .7rem;display:flex;align-items:center;gap:.3rem;align-self:flex-start}.comment-toggle:hover{color:var(--text-primary)}.comment-chevron{transition:transform .2s ease}.comment-toggle.collapsed .comment-chevron{transform:rotate(-90deg)}.match-item-actions{display:flex;align-items:center;gap:.25rem;align-self:flex-start}.btn-share-match{background:0 0;border:0;color:var(--text-muted);cursor:pointer;padding:.35rem;display:inline-flex;align-items:center;border-radius:var(--radius-sm);transition:color .15s,background .15s}.btn-share-match:hover{color:var(--primary);background:var(--bg-secondary)}.toast-share-match{position:fixed;bottom:5rem;left:50%;transform:translateX(-50%);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:10001;font-size:var(--fs-sm);animation:slideUp .3s ease}.toast-share-match .toast-close{background:0 0;border:0;color:var(--text-muted);cursor:pointer;font-size:var(--fs-lg);padding:0 .25rem;line-height:1}.match-comments-section{padding:.5rem .25rem;width:100%}.comments-sentinel,.matches-sentinel{display:flex;justify-content:center;padding:.5rem 0}.comments-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.match-comment{padding:.5rem 0 .3rem;border-left:2px solid var(--border);padding-left:.75rem;margin-top:.35rem}.comment-header{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-xs);padding-bottom:.15rem}.comment-avatar{width:1.4rem;height:1.4rem;font-size:var(--fs-2xs);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-secondary)}.comment-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.comment-author{font-weight:600}.comment-date{color:var(--text-secondary);font-size:var(--fs-2xs)}.comment-edited{color:var(--text-secondary);font-style:italic}.comment-body{font-size:var(--fs-xs);margin:.2rem 0 .3rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-2xs);flex-wrap:wrap}.comment-action-btn{background:0 0;border:0;color:var(--text-secondary);cursor:pointer;padding:0;font-size:var(--fs-2xs)}.comment-action-btn:hover{color:var(--text-primary)}.comment-delete-btn:hover{color:var(--danger-color)}.reaction-bar{display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}.reaction-pill{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.1rem .45rem;font-size:var(--fs-2xs);cursor:pointer;line-height:1.4}.reaction-pill .twemoji{width:1em;height:1em;vertical-align:-.1em}.reaction-active,.reaction-pill:hover{border-color:var(--primary-color)}.reaction-active{background:color-mix(in srgb,var(--primary-color) 15%,transparent)}.reaction-add{background:0 0;border:1px dashed var(--border);border-radius:var(--radius-lg);padding:.1rem .4rem;cursor:pointer;font-size:var(--fs-2xs);color:var(--text-secondary)}.reaction-add:hover{border-color:var(--text-primary);color:var(--text-primary)}.comment-form textarea,.reaction-picker{border:1px solid var(--border);border-radius:var(--radius)}.reaction-picker{position:absolute;background:var(--surface);box-shadow:0 4px 12px var(--shadow);padding:.35rem;display:flex;gap:.2rem;z-index:100}.reaction-picker-btn{background:0 0;border:0;font-size:var(--fs-lg);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);line-height:1}.reaction-picker-btn .twemoji{width:1.2em;height:1.2em}.reaction-picker-btn:hover{background:var(--surface-hover)}.comment-form{display:flex;gap:.5rem;margin:.5rem 0;align-items:flex-start;width:100%;box-sizing:border-box}.comment-form textarea{flex:1 1 0%;min-width:0;resize:vertical;font-size:var(--fs-sm);padding:.5rem .75rem;min-height:2.4rem;font-family:inherit;background:var(--background);color:var(--text-primary);line-height:1.4;box-sizing:border-box}.comment-form .btn{flex:0 0 auto;padding:.45rem 1rem;font-size:var(--fs-sm);white-space:nowrap}.player-link{cursor:pointer;color:var(--text-primary);text-decoration:none;border-bottom:1px dotted var(--text-secondary);transition:color .15s,border-color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:2em;flex-shrink:1;flex-basis:auto}.player-link:hover{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.profile-avatar-placeholder{width:56px;height:56px;border-radius:50%;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:600;color:var(--text-secondary)}.profile-avatar-wrapper{position:relative;flex-shrink:0}.avatar-edit-btn{position:absolute;bottom:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:var(--primary-color);border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.avatar-edit-btn svg{width:12px;height:12px;stroke:var(--on-primary)}.avatar-upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;color:var(--text-secondary);transition:border-color .2s,background .2s}.avatar-upload-area.dragover,.avatar-upload-area:hover{border-color:var(--primary-color);background:var(--surface-hover)}.avatar-crop-canvas{display:block;margin:0 auto;border-radius:var(--radius);touch-action:none;cursor:grab}.avatar-crop-canvas:active{cursor:grabbing}.profile-name{font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.profile-name .prize-icon{display:inline-flex;align-items:center;line-height:1}.profile-name .prize-icon .twemoji{width:20px;height:20px}.profile-member-since{font-size:var(--fs-md);color:var(--text-secondary)}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.profile-stat{text-align:center;padding:.5rem;background:var(--surface-hover);border-radius:var(--radius)}.profile-stat-value{font-size:var(--fs-base);font-weight:700;color:var(--accent-primary)}.profile-stat-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.profile-ladders-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.profile-ladders-table td,.profile-ladders-table th{padding:.4rem .5rem;border-bottom:1px solid var(--border)}.profile-ladders-table th{text-align:left;color:var(--text-secondary);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em}.profile-ladders-table td{color:var(--text-primary)}@media (max-width:768px){.activity-panel,.inbox-panel{width:calc(100vw - 16px);right:8px}}@media (max-width:900px){.main-content:has(#activitySection[style*=flex]) .map-container{height:0!important;flex:0 0 0!important;min-height:0;overflow:hidden}.main-content:has(#activitySection[style*=flex]) .coordinates-panel{height:100%!important;flex:1 1 100%!important}.main-content:has(#activitySection[style*=flex]) .drag-handle{display:none}}.btn-admin-pro{background:linear-gradient(135deg,#f59e0b,#d97706);color:#451a03;border:0;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.btn-admin-pro .upsell-star{top:0}.btn-admin-pro:hover{background:linear-gradient(135deg,#d97706,#b45309)}.btn-compact.btn-admin-pro{background:var(--surface);color:var(--warning-color);border:1px solid var(--warning-color)}.btn-compact.btn-admin-pro:hover{background:#f59e0b;color:#451a03}.btn-edit-rating,.btn-remove-participant{background:var(--surface);border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center}.btn-edit-rating{color:var(--text-secondary);border:1px solid var(--border-color);margin-left:5px;font-size:var(--fs-xs);padding:.15rem .4rem;font-weight:600;gap:.15rem;vertical-align:middle}.btn-edit-rating .upsell-star{top:0}.btn-edit-rating:hover,.challenge-booking-toggle button:hover{background:var(--hover-bg);color:var(--text-primary)}.btn-remove-participant{color:var(--danger-color);border:1px solid var(--danger-color);padding:.15rem .3rem;justify-content:center;flex-shrink:0}.btn-remove-participant:hover{background:var(--danger-color);color:#fff}.btn-player-pro,.btn-player-pro-upsell{font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.btn-player-pro{background:var(--surface);color:#6d28d9;border:1px solid #6d28d9}.btn-player-pro .upsell-star{top:0}.btn-player-pro:hover,.nav-section .btn-player-pro-upsell:hover{background:rgba(139,92,246,.1)}.btn-player-pro-upsell{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:0}.btn-player-pro-upsell .upsell-star{top:0}.btn-player-pro-upsell:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.nav-section .btn-admin-pro,.nav-section .btn-player-pro-upsell{background:0 0;color:#8b5cf6;border:0;font-size:var(--fs-xs)}.nav-section .btn-admin-pro{color:#d97706}.nav-section .btn-admin-pro:hover{background:rgba(245,158,11,.1)}.pro-badge,.pro-badge-admin{font-size:var(--fs-2xs);padding:.1rem .4rem;border-radius:var(--radius-sm);font-weight:700;vertical-align:middle}.pro-badge{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.pro-badge-admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#451a03}.pro-insights-wrapper{position:relative;margin-top:1rem}#userProfileModal .modal-content{max-width:900px}.pro-insights-section{margin-top:.5rem}.pro-insights-section h4{margin-bottom:.5rem;font-size:var(--fs-md)}.pro-insights-scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.pro-insights-card{flex:0 0 65%;min-width:280px;scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.pro-insights-card-header{font-weight:600;font-size:var(--fs-md);margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.pro-insights-grid{display:flex;flex-direction:column;gap:.75rem}.pro-chart-container{height:180px;position:relative}.pro-blurred{filter:blur(6px);pointer-events:none;user-select:none}.pro-blurred-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;z-index:1;cursor:pointer;background:rgba(17,17,17,.3);border-radius:var(--radius)}.pro-unlock-text{color:var(--text-primary);font-weight:600;font-size:var(--fs-md)}.pro-unlock-price{color:var(--text-secondary);font-size:var(--fs-sm)}.pro-h2h{padding:.5rem;background:var(--surface);border-radius:var(--radius)}.pro-avail-title,.pro-h2h-title,.pro-recent-title{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.3rem}.pro-h2h-stats{display:flex;gap:1rem;font-size:var(--fs-lg);font-weight:700}.pro-h2h-win{color:var(--accent-primary)}.pro-h2h-loss{color:var(--danger-color)}.pro-h2h-draw{color:var(--text-secondary)}.pro-recent-matches{background:var(--surface);border-radius:var(--radius);padding:.5rem}.pro-recent-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:var(--fs-sm);border-bottom:1px solid var(--border)}.pro-recent-item:last-child{border-bottom:none}.pro-recent-date{color:var(--text-secondary);min-width:3rem}.pro-recent-result{font-weight:600}.pro-recent-win .pro-recent-result{color:var(--accent-primary)}.pro-recent-loss .pro-recent-result{color:var(--danger-color)}.pro-recent-draw .pro-recent-result{color:var(--text-secondary)}.pro-recent-change{min-width:2.5rem;text-align:right;font-weight:600}.pro-availability{background:var(--surface);border-radius:var(--radius);padding:.5rem}.pro-avail-row{display:flex;gap:.5rem;font-size:var(--fs-sm);padding:.15rem 0}.pro-avail-day{color:var(--text-secondary);min-width:2rem;font-weight:600}.overlap-calendar{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.overlap-cal-scrollable{overflow-y:auto;max-height:540px}.overlap-cal-header{display:grid;grid-template-columns:46px repeat(7,1fr);background:var(--surface);border-bottom:2px solid var(--border)}.overlap-day-header,.overlap-time-gutter{border-right:1px solid var(--border)}.overlap-day-header{display:flex;align-items:center;justify-content:center;padding:.3rem 0;font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.overlap-cal-body{display:grid;grid-template-columns:46px repeat(7,1fr);grid-auto-rows:18px}.overlap-cell,.overlap-time-label{border-right:1px solid var(--border)}.overlap-time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding-right:5px;padding-top:1px;font-size:var(--fs-2xs);color:var(--text-secondary);line-height:1}.overlap-cell{border-bottom:1px solid rgba(31,41,55,.1)}.overlap-cell--hour{border-top:1px solid var(--text-primary);margin-top:-1px}.challenge-cell--selected.challenge-cell--cont-above.overlap-cell--hour{border-top-color:rgba(0,0,0,.4)}.challenge-cell--proposed.challenge-cell--proposed-bottom.overlap-cell--hour,.challenge-cell--proposed.challenge-cell--proposed-mid.overlap-cell--hour{border-top-color:transparent!important}.overlap-cell--target{background:var(--avail-target)}.overlap-cell--viewer{background:var(--avail-viewer)}.overlap-cell--both{background:var(--avail-both)}.overlap-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.4rem;font-size:var(--fs-xs);color:var(--text-secondary)}.overlap-legend-label{font-weight:600;color:var(--text-secondary)}.overlap-legend-item{display:flex;align-items:center;gap:.3rem}.overlap-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid var(--border)}.overlap-swatch--target{background:var(--avail-target-solid)}.overlap-swatch--viewer{background:var(--avail-viewer-solid)}.overlap-swatch--both{background:var(--avail-both-solid)}.challenge-modal-wide{max-width:700px!important}.challenge-tab-bar{display:flex;gap:0;margin-bottom:.75rem;border-bottom:2px solid var(--border)}.challenge-tab{flex:1;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;padding:.5rem .75rem;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.challenge-tab:active,.challenge-tab:focus:not(:focus-visible){outline:0!important;box-shadow:none!important;-webkit-appearance:none}.challenge-tab:hover{color:var(--text-primary)}.challenge-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.simple-chooser-form{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.simple-chooser-row{display:flex;flex-direction:column;gap:.25rem}.simple-chooser-row label{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.simple-chooser-select{padding:.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:var(--fs-sm)}.challenge-cal-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.4rem}.challenge-cal-week-label{font-size:var(--fs-sm);font-weight:600;min-width:140px;text-align:center}.btn-cal-nav{background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius);padding:.2rem .6rem;cursor:pointer;font-size:var(--fs-sm)}.btn-cal-nav:disabled{opacity:.3;cursor:not-allowed}@media (hover:hover){.btn-cal-nav:hover:not(:disabled){background:var(--surface-hover)}}.challenge-date-num{font-size:var(--fs-2xs);font-weight:400;color:var(--text-secondary)}.challenge-today{color:var(--accent-primary)!important}.challenge-cell{cursor:pointer;user-select:none;-webkit-user-select:none}.challenge-cell--past:not(.challenge-cell--proposed){pointer-events:none;cursor:default;position:relative}.challenge-cell--past:not(.challenge-cell--proposed)::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,var(--text-secondary) 3px,var(--text-secondary) 4px);opacity:.12;pointer-events:none}.challenge-cell--selected,.overlap-cell.challenge-cell--dragging{background:var(--primary-color)!important}.overlap-cell.challenge-cell--dragging{border-color:transparent!important}.overlap-cell.challenge-cell--dragging>.cell-range-strip,.overlap-cell.challenge-cell--unselecting>.cell-range-strip{display:none!important}.overlap-cell.challenge-cell--unselecting{background:0 0!important}.challenge-cell--selected.challenge-cell--cont-above{border-top-color:transparent!important}.challenge-cell--selected.challenge-cell--cont-below{border-bottom-color:transparent!important}.challenge-cell--selected.challenge-cell--break{border-top:2px solid var(--primary-color)!important}.challenge-cell--selected.challenge-cell--break-hover{border-top:2px dashed var(--primary-color)!important}.challenge-cell--proposed{background:rgba(147,51,234,.12);cursor:pointer;box-shadow:inset 2px 0 0 rgba(147,51,234,.4),inset -2px 0 0 rgba(147,51,234,.4);transition:opacity .15s}.challenge-cell--proposed.challenge-cell--blob-selected{background:rgba(147,51,234,.3)!important;box-shadow:inset 2px 0 0 rgba(147,51,234,.8),inset -2px 0 0 rgba(147,51,234,.8)!important}.challenge-cell--proposed-top{box-shadow:inset 2px 0 0 rgba(147,51,234,.4),inset -2px 0 0 rgba(147,51,234,.4),inset 0 2px 0 rgba(147,51,234,.4);border-bottom-color:transparent!important}.challenge-cell--proposed-mid{border-top-color:transparent!important;border-bottom-color:transparent!important}.challenge-cell--proposed-bottom{box-shadow:inset 2px 0 0 rgba(147,51,234,.4),inset -2px 0 0 rgba(147,51,234,.4),inset 0-2px 0 rgba(147,51,234,.4)}.challenge-cell--proposed-top.challenge-cell--blob-selected{box-shadow:inset 2px 0 0 rgba(147,51,234,.8),inset -2px 0 0 rgba(147,51,234,.8),inset 0 2px 0 rgba(147,51,234,.8)!important}.challenge-cell--proposed-mid.challenge-cell--blob-selected{box-shadow:inset 2px 0 0 rgba(147,51,234,.8),inset -2px 0 0 rgba(147,51,234,.8)!important}.challenge-cell--proposed-bottom.challenge-cell--blob-selected{box-shadow:inset 2px 0 0 rgba(147,51,234,.8),inset -2px 0 0 rgba(147,51,234,.8),inset 0-2px 0 rgba(147,51,234,.8)!important}.challenge-cell--proposed-dimmed{opacity:.35}.challenge-cell--blob-selected{background:color-mix(in srgb,var(--primary-color) 75%,transparent)!important}.challenge-cell--proposed.challenge-cell--has-ranges{background:0 0!important;border:0!important;box-shadow:none!important}.challenge-cell--has-ranges::after{content:"";position:absolute;inset:0;border-right:1px solid var(--border);border-bottom:1px solid rgba(31,41,55,.1);pointer-events:none;z-index:1}.challenge-cell--has-ranges.overlap-cell--hour::before{content:"";position:absolute;top:0;left:0;right:0;height:0;border-top:1px solid rgba(0,0,0,.15);pointer-events:none;z-index:1}.cell-range-strip--proposed{pointer-events:auto;cursor:pointer;transition:background .15s,opacity .15s}.challenge-swatch--selected{background:color-mix(in srgb,var(--primary-color) 55%,transparent)}.challenge-swatch--proposed{background:rgba(147,51,234,.4)}.challenge-mode-toggle{display:flex;gap:.25rem;margin-bottom:.4rem;position:sticky;top:0;z-index:2;background:var(--bg);padding:.25rem 0}.challenge-mode-btn{flex:1;padding:.5rem;min-height:44px;font-size:var(--fs-xs);font-weight:600;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}@media (hover:hover){.challenge-mode-btn:hover{background:var(--surface-hover)}}.challenge-mode-btn--active{background:var(--primary-color);color:var(--on-primary);border-color:var(--primary-color)}.challenge-mode-btn--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.calendar-slot-summary{margin-top:.5rem;font-size:var(--fs-xs);color:var(--text-secondary);position:sticky;bottom:0;z-index:5;background:var(--surface)}.calendar-slot-summary:empty{display:none}.slot-summary-item{display:flex;gap:.4rem;padding:.15rem 0;line-height:1.4}.slot-summary-day{font-weight:600}.slot-summary-time{color:var(--text-primary);flex:1}.slot-summary-remove{background:0 0;border:0;color:var(--text-muted);cursor:pointer;padding:.1rem;border-radius:50%;line-height:0;flex-shrink:0}.slot-summary-remove:hover{color:var(--danger, #ef4444);background:var(--surface-hover)}.challenge-night-toggle{display:flex;justify-content:center;margin-top:.3rem}.btn-night-toggle{background:0 0;border:0;color:var(--text-secondary);font-size:var(--fs-2xs);cursor:pointer;padding:.15rem .5rem;text-decoration:underline;text-underline-offset:2px}.btn-night-toggle:hover{color:var(--text-primary)}.challenge-cell--locked{cursor:default}.challenge-cell--locked.challenge-cell--cont-above{border-top-color:transparent!important}.challenge-cell--locked.challenge-cell--cont-below{border-bottom-color:transparent!important}.cell-option-num,.slot-option-num{align-items:center;justify-content:center;border-radius:50%;font-size:var(--fs-2xs);font-weight:700;color:var(--on-primary)}.slot-option-num{display:inline-flex;width:18px;height:18px;background:var(--primary-color);margin-right:.3rem;flex-shrink:0}.cell-option-num{display:flex;width:14px;height:14px;background:rgba(255,255,255,.7);position:absolute;top:1px;left:1px;pointer-events:none}.challenge-cell--has-ranges{display:flex;padding:0;background:0 0!important}.cell-range-strip{position:relative;min-height:100%;pointer-events:none}.cell-range-strip--empty{background:0 0;pointer-events:none;border-color:transparent}.cell-option-num--proposed{background:rgba(147,51,234,.8);color:#fff}.challenge-cell--has-ranges,.challenge-cell--proposed,.mobile-cal-slot--locked{position:relative}.mobile-cal-slot-bar .cell-option-num,.mobile-cal-strip .cell-option-num{position:static;flex-shrink:0;margin:2px auto 0}.btn-add-option{display:block;width:100%;margin-top:.5rem;padding:.6rem 1rem;background:var(--primary-color);border:0;border-radius:var(--radius);color:var(--on-primary);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}@media (hover:hover){.btn-add-option:hover{opacity:.85}}.mobile-cal-day-tabs{display:flex;gap:2px;margin-bottom:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-cal-day-tab{flex:1 1 0%;min-width:36px;padding:.3rem .1rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;text-align:center;font-size:var(--fs-2xs);position:relative}.mobile-cal-day-tab--active{background:var(--primary-color);color:var(--on-primary);border-color:var(--primary-color);font-weight:600}.mobile-cal-day-tab--today .mobile-cal-day-num{text-decoration:underline;text-underline-offset:2px}.mobile-cal-day-name{display:block;font-size:var(--fs-2xs);text-transform:uppercase}.mobile-cal-day-num{display:block;font-weight:600;font-size:var(--fs-sm)}.mobile-cal-day-dot{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%}.mobile-cal-day-dot--selected{background:var(--primary-color)}.mobile-cal-day-dot--proposed{background:rgba(147,51,234,.7)}.mobile-cal-day-tab--has-proposed{border-color:rgba(147,51,234,.6);border-width:2px}.mobile-cal-day-tab--active .mobile-cal-day-dot--selected{background:var(--active-badge-bg)}.mobile-cal-slots{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.mobile-cal-slot{display:flex;align-items:center;gap:.75rem;padding:0 .75rem;min-height:44px;border:0;background:var(--surface);color:var(--text-secondary);cursor:pointer;text-align:left;font-size:var(--fs-sm);transition:background .1s;border-top:1px solid rgba(31,41,55,.12)}.mobile-cal-slot:nth-child(4n+3),.mobile-cal-slot:nth-child(4n+4){background:color-mix(in srgb,var(--surface) 85%,var(--bg-secondary))}.mobile-cal-slot--past:not(.mobile-cal-slot--proposed){pointer-events:none;cursor:default;position:relative}.mobile-cal-slot--past:not(.mobile-cal-slot--proposed)::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,var(--text-secondary) 3px,var(--text-secondary) 4px);opacity:.15;pointer-events:none}.mobile-cal-slot--past .mobile-cal-slot-time{opacity:.8}.mobile-cal-slot--past .mobile-cal-slot-bar{opacity:.2}.mobile-cal-slot--hour{border-top:2px solid var(--text-primary)}@media (hover:hover){.mobile-cal-slot:hover{filter:brightness(.97)}[data-theme=dark] .mobile-cal-slot:hover{filter:brightness(1.15)}}.mobile-cal-slot:active{filter:brightness(.94)}[data-theme=dark] .mobile-cal-slot:active{filter:brightness(1.25)}.mobile-cal-slot-time{min-width:52px;flex-shrink:0;font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1;align-self:flex-start;overflow:visible}.mobile-cal-slot--hour .mobile-cal-slot-time{transform:translateY(-50%);position:relative;z-index:5;background:var(--surface);padding:2px 6px 2px 0;border-radius:2px}.mobile-cal-slot-bar{flex:1;height:28px;border-radius:var(--radius-sm);background:0 0;transition:background .1s}.mobile-cal-slot--selected .mobile-cal-slot-bar{background:var(--primary-color)!important}.mobile-cal-slot--selected .mobile-cal-slot-time{color:var(--accent-primary);font-weight:600}.mobile-cal-slot--blob-first,.mobile-cal-slot--blob-last,.mobile-cal-slot--blob-mid,.mobile-cal-slot--blob-single{position:relative;overflow-x:clip;overflow-y:visible}.mobile-cal-slot--blob-first .mobile-cal-slot-bar,.mobile-cal-slot--blob-first .mobile-cal-strip,.mobile-cal-slot--blob-last .mobile-cal-slot-bar,.mobile-cal-slot--blob-last .mobile-cal-strip,.mobile-cal-slot--blob-mid .mobile-cal-slot-bar,.mobile-cal-slot--blob-mid .mobile-cal-strip,.mobile-cal-slot--blob-single .mobile-cal-slot-bar,.mobile-cal-slot--blob-single .mobile-cal-strip{height:100%;position:absolute;top:0;right:.75rem;left:50px}.mobile-cal-slot--has-strips.mobile-cal-slot--blob-first .mobile-cal-strip,.mobile-cal-slot--has-strips.mobile-cal-slot--blob-last .mobile-cal-strip,.mobile-cal-slot--has-strips.mobile-cal-slot--blob-mid .mobile-cal-strip,.mobile-cal-slot--has-strips.mobile-cal-slot--blob-single .mobile-cal-strip{position:static!important;height:100%!important;flex:1}.mobile-cal-slot--blob-first .mobile-cal-slot-bar{border-radius:var(--radius-sm) 6px 0 0!important}.mobile-cal-slot--blob-mid .mobile-cal-slot-bar{border-radius:0!important}.mobile-cal-slot--blob-last .mobile-cal-slot-bar{border-radius:0 0 6px 6px!important}.mobile-cal-slot--blob-single .mobile-cal-slot-bar{border-radius:var(--radius-sm)!important}.mobile-cal-slot-time{z-index:2;position:relative}.mobile-cal-slot--blob-last,.mobile-cal-slot--blob-mid,.mobile-cal-slot--has-strips:not(.mobile-cal-slot--blob-first):not(.mobile-cal-slot--blob-single){border-top:none!important;box-shadow:inset 0 1px 0 rgba(0,0,0,.12)}.mobile-cal-slot--proposed.mobile-cal-slot--has-strips,.mobile-cal-slot--proposed.mobile-cal-slot--has-strips.mobile-cal-slot--hour{box-shadow:none!important}.mobile-cal-slot--blob-last.mobile-cal-slot--hour,.mobile-cal-slot--blob-mid.mobile-cal-slot--hour,.mobile-cal-slot--has-strips.mobile-cal-slot--hour:not(.mobile-cal-slot--blob-first):not(.mobile-cal-slot--blob-single){box-shadow:inset 0 2px 0 rgba(0,0,0,.5)}.mobile-cal-slot--blob-first,.mobile-cal-slot--blob-mid{border-bottom:none!important}.mobile-cal-slot--proposed .mobile-cal-slot-bar{background:rgba(147,51,234,.3);border:1px solid rgba(147,51,234,.5);border-radius:var(--radius-sm)}.mobile-cal-slot--proposed.mobile-cal-slot--blob-first .mobile-cal-slot-bar{border-radius:var(--radius-sm) 4px 0 0;border-bottom:none}.mobile-cal-slot--proposed.mobile-cal-slot--blob-mid .mobile-cal-slot-bar{border-radius:0;border-top:none;border-bottom:none}.mobile-cal-slot--proposed.mobile-cal-slot--blob-last .mobile-cal-slot-bar{border-radius:0 0 4px 4px;border-top:none}.mobile-cal-slot--proposed .mobile-cal-slot-time{color:rgba(147,51,234,.9)}.mobile-cal-slot--blob-selected{background:var(--surface-hover)!important}.mobile-cal-slot--blob-selected .mobile-cal-slot-bar{background:rgba(147,51,234,.6)!important}.mobile-cal-slot--proposed-dimmed{opacity:.35;transition:opacity .15s}.mobile-cal-slot--locked{cursor:default;opacity:.8}.mobile-cal-slot--locked .mobile-cal-slot-time{font-weight:600}.mobile-cal-slot--has-strips{flex-wrap:nowrap;align-items:stretch;height:44px}.mobile-cal-slot--has-strips .mobile-cal-slot-bar{display:none}.mobile-cal-strip{flex:1;height:28px;border-radius:0;position:relative;display:block}.mobile-cal-strip--proposed{transition:background .15s,opacity .15s;pointer-events:auto;cursor:pointer}.mobile-cal-strip--empty{background:0 0}.mobile-cal-slot--no-border{border-bottom-color:transparent!important}.mobile-cal-proposed-nav{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.3rem 0}.proposed-nav-label{font-size:var(--fs-2xs);color:rgba(147,51,234,.8);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.btn-proposed-nav{background:0 0;border:1px solid rgba(147,51,234,.3);border-radius:var(--radius);color:rgba(147,51,234,.9);font-size:var(--fs-2xs);padding:.25rem .5rem;cursor:pointer;min-width:70px}.btn-proposed-nav:disabled{opacity:0;pointer-events:none}@media (hover:hover){.btn-proposed-nav:hover:not(:disabled){background:rgba(147,51,234,.1)}}.mobile-cal-slot--viewer .mobile-cal-slot-bar{background:var(--avail-viewer)}.mobile-cal-slot--target .mobile-cal-slot-bar{background:var(--avail-target)}.mobile-cal-slot--both .mobile-cal-slot-bar{background:var(--avail-both)}.ladder-mobile-tabs{display:flex;gap:.25rem;margin:.75rem 0 .5rem;border-bottom:2px solid var(--border);padding-bottom:0;position:sticky;top:0;background:var(--surface);z-index:10}.ladder-join-bar{display:flex;gap:.5rem;padding:.5rem 0}.ladder-join-bar .btn{flex:1;min-width:0;text-align:center}.ladder-mobile-tab{flex:1;padding:.5rem .75rem;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.ladder-mobile-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.ladder-tab-panel{padding-top:.25rem}.dashboard-content{padding:0}.dashboard-ladder-list{display:flex;flex-direction:column;gap:2px}.dashboard-ladder-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;min-height:44px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s;text-align:left;width:100%;gap:.5rem;color:var(--text-primary)}@media (hover:hover){.dashboard-ladder-item:hover{background:var(--surface-hover)}}.dashboard-ladder-info{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.dashboard-ladder-sport{font-size:var(--fs-lg);flex-shrink:0}.dashboard-ladder-text{display:flex;flex-direction:column;min-width:0}.dashboard-ladder-name{font-weight:600;font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-ladder-stats{font-size:var(--fs-2xs);color:var(--text-secondary)}.dashboard-ladder-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0;color:var(--text-secondary)}.dashboard-proxy-list{display:flex;flex-direction:column;gap:2px;padding-left:2.5rem;margin-bottom:4px}.dashboard-proxy-label{font-size:var(--fs-2xs);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:.15rem}.dashboard-proxy-item{display:flex;align-items:center;gap:.3rem;padding:.15rem 0;font-size:var(--fs-xs);color:var(--text-secondary)}.dashboard-proxy-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-proxy-item .btn-impersonate{flex-shrink:0}.overlap-cal-body{position:relative}.calendar-guide-line{position:absolute;left:0;height:0;border-top:1px dotted color-mix(in srgb,var(--text-secondary) 50%,transparent);pointer-events:none;z-index:1}.respond-hint{color:var(--text-secondary);font-size:var(--fs-sm);margin:0 0 .75rem}.pro-loading,.respond-switch-link{font-size:var(--fs-sm);text-align:center}.respond-switch-link{margin:.5rem 0}.respond-switch-link a{color:var(--text-secondary);text-decoration:underline}.pro-loading{color:var(--text-secondary);padding:1rem 0}.swap-checkbox{cursor:pointer;margin-left:.3rem}.drag-handle{cursor:grab;color:var(--warning-color);gap:.1rem;padding:.2rem;border-radius:var(--radius-sm);transition:background .15s}.ranking-item .drag-handle{width:40px}@media (hover:hover){.drag-handle:hover{background:rgba(59,130,246,.12)}}.drag-handle:active{cursor:grabbing}.drag-handle-locked{cursor:pointer;opacity:.6}@media (hover:hover){.drag-handle-locked:hover{opacity:1}}.drag-handle>svg{width:16px;height:16px}.drag-handle .upsell-star{top:0}.ranking-dragging{opacity:.4}@media (max-width:900px){.ranking-item .drag-handle{display:none}}.ranking-swap-preview>:not(.swap-overlay){filter:blur(2px);pointer-events:none}.swap-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);font-weight:700;color:#f59e0b;background:rgba(17,17,17,.4);border-radius:var(--radius);z-index:10;pointer-events:none}.ranking-gap-zone{height:4px;list-style:none;transition:height .15s,background .15s;margin:0;padding:0;border-radius:2px}.ranking-gap-expanded{height:20px;background:rgba(245,158,11,.05);border:1px dashed rgba(245,158,11,.2)}.ranking-gap-active{height:20px;background:rgba(245,158,11,.15);border:2px solid #f59e0b;box-shadow:0 0 8px rgba(245,158,11,.5)}.ranking-gap-hidden{display:none}.ladder-hero{position:sticky;top:0;z-index:0;margin:calc(-1*var(--spacing-md));margin-bottom:0}.ladder-hero .ladder-banner{width:100%;height:200px;object-fit:cover;display:block;border-radius:0;margin-bottom:0}.ladder-hero-content{position:relative;z-index:1;background:var(--background);border-radius:var(--radius-lg) 12px 0 0;margin-top:-12px;padding:0 var(--spacing-md)}#ladderDetailsContent .ladder-meta.ladder-meta--over-banner{padding:.75rem var(--spacing-md) .25rem}@media (max-width:620px){.ladder-hero-content{padding:0 6px}#ladderDetailsContent .ladder-meta.ladder-meta--over-banner{padding:.75rem 6px .25rem}.ladder-actions{gap:.5rem}.ladder-actions .btn-compact{padding:.5rem .75rem;font-size:var(--fs-base);min-height:44px}}.ladder-banner{width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius);margin-bottom:.75rem}.streak-badge{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-2xs);font-weight:700;padding:.1rem .35rem;border-radius:var(--radius-pill);margin-left:.3rem;vertical-align:middle;line-height:1}.streak-badge svg{width:20px;height:20px;flex-shrink:0}.streak-3{color:#92400e;background:rgba(245,158,11,.15)}.streak-5{color:var(--danger-color);background:rgba(239,68,68,.15)}.streak-10{color:#92400e;background:rgba(251,191,36,.2);text-shadow:0 0 6px rgba(251,191,36,.5)}.avatar-badge-wrap{position:relative;flex-shrink:0;align-self:center;width:50px;height:50px}.badge-responsive{position:absolute;bottom:-5px;right:31px;display:flex;align-items:center;justify-content:center;line-height:1}.badge-responsive svg{width:24px;height:18px}.badge-inactive,.badge-no-show,.badge-streak,.badge-week-matches{position:absolute;display:flex;align-items:center;font-size:var(--fs-2xs);font-weight:700;line-height:1}.badge-inactive{top:-8px;right:35px;color:#64748b;opacity:.8;justify-content:center}.badge-no-show,.badge-streak,.badge-week-matches{gap:1px}.badge-week-matches{top:-6px;right:32px;color:#4f46e5;justify-content:center}[data-theme=dark] .badge-week-matches{color:#a5b4fc}.badge-week-matches svg{flex-shrink:0}.badge-no-show,.badge-streak{color:#92400e}.badge-streak{top:-7px;right:-6px}[data-theme=dark] .badge-streak{color:#fbbf24}.badge-no-show{bottom:-3px;right:-11px;background:rgba(245,158,11,.15);padding:.1rem .3rem;border-radius:var(--radius-pill)}[data-theme=dark] .badge-no-show{color:#fbbf24;background:rgba(245,158,11,.25)}.rep-badge,.rep-badge-mobile{font-size:var(--fs-2xs);font-weight:600;color:#6366f1}.rep-badge{display:inline-flex;align-items:center;gap:.2rem;background:rgba(99,102,241,.1);padding:.1rem .4rem;border-radius:var(--radius-pill);margin-left:.4rem;vertical-align:middle;white-space:nowrap}.rep-badge.rep-milestone{color:#7c3aed;background:rgba(124,58,237,.12)}[data-theme=dark] .rep-badge{color:#a5b4fc;background:rgba(129,140,248,.18)}[data-theme=dark] .rep-badge.rep-milestone{color:#c4b5fd;background:rgba(167,139,250,.2)}.rep-badge-mobile{display:none}[data-theme=dark] .rep-badge-mobile{color:#a5b4fc}.profile-rep-section{margin-bottom:.75rem;padding:.6rem .75rem;background:var(--bg-secondary);border-radius:var(--radius);border-left:3px solid #6366f1}[data-theme=dark] .profile-rep-section{border-left-color:#818cf8}.profile-rep-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-rep-title{font-size:var(--fs-sm);font-weight:700;color:var(--text-primary)}.profile-rep-value{font-size:var(--fs-base);font-weight:800;color:#6366f1}[data-theme=dark] .profile-rep-value{color:#a5b4fc}.rep-milestone-chip{font-size:var(--fs-2xs);font-weight:700;padding:.15rem .5rem;border-radius:var(--radius-pill);background:rgba(99,102,241,.15);color:#6366f1}.rep-milestone-chip--active{background:rgba(34,197,94,.15);color:#16a34a}.rep-milestone-chip--regular{background:rgba(59,130,246,.15);color:#2563eb}.rep-milestone-chip--dedicated{background:rgba(168,85,247,.15);color:#7c3aed}.rep-milestone-chip--pillar{background:rgba(234,179,8,.15);color:#d97706}.rep-milestone-chip--legend{background:rgba(239,68,68,.15);color:#dc2626}[data-theme=dark] .rep-milestone-chip--active{background:rgba(34,197,94,.2);color:#4ade80}[data-theme=dark] .rep-milestone-chip--regular{background:rgba(59,130,246,.2);color:#60a5fa}[data-theme=dark] .rep-milestone-chip--dedicated{background:rgba(168,85,247,.2);color:#c084fc}[data-theme=dark] .rep-milestone-chip--pillar{background:rgba(234,179,8,.2);color:#facc15}[data-theme=dark] .rep-milestone-chip--legend{background:rgba(239,68,68,.2);color:#f87171}.rep-streak-chip{font-size:var(--fs-2xs);font-weight:600;color:#d97706;background:rgba(245,158,11,.12);padding:.1rem .4rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:2px}[data-theme=dark] .rep-streak-chip{color:#fbbf24;background:rgba(245,158,11,.2)}.badge-active-competitor,.badge-defense-streak{position:absolute;display:flex;align-items:center;font-size:var(--fs-2xs);font-weight:700;line-height:1}.badge-defense-streak{bottom:-3px;right:-7px;gap:1px;color:#0369a1}[data-theme=dark] .badge-defense-streak{color:#38bdf8}.badge-active-competitor{top:-8px;right:15px;color:#059669;background:rgba(16,185,129,.15);padding:.1rem .3rem;border-radius:var(--radius-pill)}[data-theme=dark] .badge-active-competitor{color:#34d399;background:rgba(52,211,153,.2)}.profile-rep-extra{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.profile-defense-streak{color:#0369a1;background:rgba(14,165,233,.12)}[data-theme=dark] .profile-defense-streak{color:#38bdf8;background:rgba(56,189,248,.18)}.profile-acceptance-rate,.profile-defense-streak{font-size:var(--fs-xs);font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:3px}.profile-acceptance-rate--good{color:#059669;background:rgba(16,185,129,.12)}.profile-acceptance-rate--ok{color:#d97706;background:rgba(245,158,11,.12)}.profile-acceptance-rate--low{color:#dc2626;background:rgba(239,68,68,.12)}[data-theme=dark] .profile-acceptance-rate--good{color:#34d399;background:rgba(52,211,153,.18)}[data-theme=dark] .profile-acceptance-rate--ok{color:#fbbf24;background:rgba(245,158,11,.2)}[data-theme=dark] .profile-acceptance-rate--low{color:#f87171;background:rgba(239,68,68,.18)}.ladder-health-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;color:var(--health-color, #22c55e);background:color-mix(in srgb,var(--health-color, #22c55e) 15%,transparent);padding:.2rem .6rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--health-color, #22c55e) 30%,transparent)}.most-active-section{margin-bottom:.75rem;padding:.6rem .75rem;background:var(--bg-secondary);border-radius:var(--radius)}.most-active-title{font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.most-active-list{display:flex;gap:.75rem;flex-wrap:wrap}.most-active-item{display:flex;align-items:center;gap:.4rem}.most-active-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.most-active-avatar--initial{display:flex;align-items:center;justify-content:center;background:var(--primary-color, #3b82f6);color:#fff;font-size:var(--fs-xs);font-weight:700}.most-active-info{display:flex;flex-direction:column;line-height:1.2}.most-active-info .player-link{font-size:var(--fs-xs);font-weight:600;cursor:pointer}.most-active-rep{font-size:var(--fs-2xs);color:var(--text-secondary)}.match-item-decline{opacity:.75}.match-item-decline:hover{opacity:.95}.match-result-decline{display:inline-block;color:#dc2626;margin-right:3px;font-size:var(--fs-xs);font-weight:700}.meta-chip-secondary{font-size:var(--fs-2xs);opacity:.7}.challenge-icon-compact,.rankings-compact .btn-edit-rating .admin-pro-upsell,.rankings-compact-2 .btn-challenge-vacation .challenge-label{display:none}.drag-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1001;background:var(--bg-secondary);touch-action:none}.drag-handle-bar{border-radius:var(--radius-sm);background:var(--text-secondary);transition:opacity .15s,background .15s}@media (hover:hover){.drag-handle:hover .drag-handle-bar{opacity:1;background:var(--primary-color)}}.drag-handle.dragging .drag-handle-bar{opacity:1;background:var(--primary-color)}.drag-handle.pulse .drag-handle-bar{animation:drag-handle-pulse 1.5s ease-in-out 3}@media (min-width:901px){.drag-handle{width:16px;cursor:col-resize;border-left:1px solid var(--border)}.drag-handle-bar{width:4px;height:44px}.map-expand-btn{display:none!important}.main-content.panel-collapsed .coordinates-panel{width:0!important;min-width:0!important;overflow:hidden;border-left:none;opacity:0;pointer-events:none}.main-content.panel-collapsed .map-container{flex:1 1 100%}.main-content.panel-collapsed .panel-resize-handle{display:none}.main-content.panel-expanded .coordinates-panel{width:70%;max-width:none}.main-content.panel-expanded .map-container{flex:0 0 30%}}@media (max-width:900px){.drag-handle{height:26px;cursor:row-resize;border-top:1px solid var(--border)}.drag-handle-bar{width:40px;height:5px}.map-expand-btn{display:none!important}.main-content.panel-collapsed .map-container{height:0!important;flex:0 0 0!important;min-height:0;overflow:hidden}.main-content.panel-collapsed .coordinates-panel{height:100%!important;flex:1 1 100%!important;border-top:none}.main-content.map-full .map-container{height:100%!important;flex:1 1 100%!important}.main-content.map-full .coordinates-panel{height:0!important;flex:0 0 0!important;min-height:0;overflow:hidden;border-top:none}}.main-content .coordinates-panel,.main-content .map-container{transition:width .3s ease,flex .3s ease,min-width .3s ease,max-width .3s ease,height .3s ease,opacity .3s ease}.ladder-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.ladder-actions .btn{white-space:nowrap}.btn-compact{padding:.35rem .75rem;font-size:var(--fs-md);border-radius:var(--radius)}.btn-icon-label{display:inline-flex;align-items:center;justify-content:center;gap:.3rem}.icon-pin{width:18px;height:18px;vertical-align:-3px}.icon-qr{width:14px;height:14px;color:var(--accent-primary);flex-shrink:0}.btn-joined{background:var(--surface);color:var(--text-secondary);border-color:var(--border-color);cursor:default;opacity:.8}.btn-interest{background:var(--primary-color);color:#fff;padding:.3rem .75rem;font-size:var(--fs-md);white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s}.btn-interest:hover{background:var(--primary-hover);transform:translateY(-1px)}[data-theme=dark] .btn-interest{color:#0f172a}.btn-delete{background:0 0;color:var(--danger-color);border:1px solid var(--danger-color)}.btn-delete:hover{background:var(--danger-color);color:#fff}.badge-private-key{font-family:var(--font-mono);font-size:var(--fs-xs);color:#92400e;background:var(--background);padding:.1rem .4rem;border-radius:var(--radius-pill);letter-spacing:1px;margin-left:.3rem}.badge-private,.join-key-inline{font-size:var(--fs-xs);vertical-align:middle}.join-key-inline{font-family:var(--font-mono);color:var(--accent-primary);background:var(--surface);padding:.1rem .4rem;border-radius:var(--radius-sm);letter-spacing:1px}.badge-private{display:inline-block;background:linear-gradient(135deg,#f59e0b,#d97706);color:#451a03;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-pill)}.private-toggle-group{border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .4rem;margin-bottom:.25rem;background:var(--surface)}.private-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--fs-md)}.private-toggle-label input[type=checkbox]{margin:0;width:16px;height:16px;flex-shrink:0}.private-toggle-label input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.private-toggle-label input[type=checkbox]:disabled+span{opacity:.5}.admin-pro-upsell{cursor:pointer;margin-left:.2rem;display:inline-flex;align-items:center}.upsell-star{width:16px;height:16px;vertical-align:middle;position:relative;top:3px}.admin-pro-upsell:hover .upsell-star path{fill:#d97706}.player-pro-upsell{cursor:pointer;margin-left:.2rem;display:inline-flex;align-items:center}.player-pro-upsell .upsell-star path{fill:#8b5cf6}.player-pro-upsell:hover .upsell-star path{fill:#6d28d9}.name-color-picker{display:flex;flex-wrap:wrap;gap:.5rem}.name-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);color:#fff;font-weight:700;transition:transform .15s,border-color .15s}.name-color-swatch:hover{transform:scale(1.15)}.name-color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--primary-color);color:rgba(0,0,0,.85);text-shadow:0 0 3px rgba(255,255,255,.85),0 0 6px rgba(255,255,255,.5)}.name-color-swatch.disabled{opacity:.4;cursor:not-allowed}.name-color-swatch.disabled:hover{transform:none}.join-key-display{margin-top:.5rem;padding:.5rem;background:var(--background);border-radius:var(--radius-sm);font-size:var(--fs-md);color:var(--text-secondary)}.join-key-display code{font-family:var(--font-mono);color:var(--accent-primary);font-weight:600;letter-spacing:2px}.qr-modal-content{max-width:400px;text-align:center}.qr-print-area{padding:1rem}.qr-title{font-size:var(--fs-xl);margin-bottom:.25rem;color:var(--text-primary)}.qr-invitation{font-size:var(--fs-base);color:var(--text-secondary);margin-bottom:1rem}.qr-code-container{display:flex;justify-content:center;margin:1rem 0;background:#fff;border-radius:var(--radius);padding:8px;width:fit-content;margin-left:auto;margin-right:auto}.qr-code-container svg{display:block;width:100%;height:auto}.qr-url,.seo-faq-item p{color:var(--text-secondary)}.qr-url{font-size:var(--fs-sm);word-break:break-all;font-family:var(--font-mono)}.qr-actions,.qr-key-toggle{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.qr-key-toggle{align-items:center;margin-top:.75rem;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer}.qr-key-toggle input{accent-color:var(--primary-color)}@media print{body,html{height:100%;overflow:hidden;margin:0;padding:0}#qrModal>:not(.qr-modal-content),.qr-modal-content>:not(.qr-print-area),body>:not(#qrModal){display:none!important}#qrModal{display:block!important;position:static}.qr-print-area{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;padding:5rem 3rem 2rem;display:flex!important;flex-direction:column;align-items:center;justify-content:center}.qr-invitation,.qr-title{color:#000;font-size:4rem;margin-bottom:.5rem}.qr-invitation{color:#333;font-size:2rem}.qr-code-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0}.qr-code-container svg{width:auto;height:100%;aspect-ratio:1;border-color:#fff}.qr-url{color:#555;font-size:var(--fs-lg);margin-top:.5rem}}.messenger-convo-list{display:flex;flex-direction:column}.convo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s ease}.convo-item:hover{background:var(--surface-hover)}.convo-avatar,.convo-item.unread .convo-name{font-weight:700;color:var(--text-primary)}.convo-item.unread .convo-preview{color:var(--text-primary);font-weight:500}.convo-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);flex-shrink:0}.convo-avatar.small{width:32px;height:32px;font-size:var(--fs-sm)}.convo-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.convo-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.convo-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.convo-name{font-size:var(--fs-md);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-preview,.convo-time{color:var(--text-secondary);white-space:nowrap}.convo-time{font-size:var(--fs-xs);opacity:.6;flex-shrink:0}.convo-preview{font-size:var(--fs-sm);opacity:.85;overflow:hidden;text-overflow:ellipsis}.convo-unread-dot{width:10px;height:10px;border-radius:50%;background:var(--primary-color);flex-shrink:0}.messenger-split{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:0}.messenger-split-list{overflow-y:auto;border-right:1px solid var(--border)}.messenger-split-thread{display:flex;flex-direction:column;min-height:0;overflow:hidden}.messenger-split-empty{display:flex;align-items:center;justify-content:center;height:100%}.convo-item--bot .convo-name{color:var(--primary-color)}.convo-avatar--bot,.convo-avatar--feedback{background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.convo-avatar--bot{display:flex;align-items:center;justify-content:center}.convo-avatar--bot .twemoji{width:22px;height:22px}.convo-avatar--bot.small .twemoji{width:18px;height:18px}.convo-avatar--feedback{color:var(--primary-color)}.convo-item--active{background:color-mix(in srgb,var(--primary-color) 8%,transparent);border-left:3px solid var(--primary-color);padding-left:calc(1rem - 3px)}.convo-item--active:hover{background:color-mix(in srgb,var(--primary-color) 12%,transparent)}.messenger-thread--split{height:100%}.messenger-thread--split .messenger-back-btn,body.seo-landing #foundingBanner,body.seo-landing .hamburger-wrap{display:none}.messenger-thread{display:flex;flex-direction:column;flex:1;min-height:0}.messenger-thread-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.messenger-back-btn{background:0 0;border:0;color:var(--text-primary);cursor:pointer;padding:.25rem;display:flex;align-items:center}.messenger-back-btn svg{width:20px;height:20px}.messenger-back-btn:hover,.seo-hero-feature strong,.seo-panel h2{color:var(--accent-primary)}.messenger-thread-name{font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.messenger-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.35rem}.msg-date-sep{text-align:center;font-size:var(--fs-xs);color:var(--text-secondary);opacity:.6;padding:.5rem 0}.messenger-input-bar textarea,.msg-bubble{border-radius:var(--radius-lg);padding:.5rem .75rem;font-size:var(--fs-md)}.msg-bubble{max-width:80%;line-height:1.4;word-wrap:break-word}.msg-sent{align-self:flex-end;background:var(--primary-color);color:var(--on-primary);border-bottom-right-radius:.25rem}.msg-received{align-self:flex-start;background:var(--surface-hover);color:var(--text-primary);border-bottom-left-radius:.25rem}.msg-text{white-space:pre-wrap}.msg-time{font-size:var(--fs-2xs);opacity:.6;margin-top:.2rem;text-align:right}.msg-received .msg-time{text-align:left}.msg-sent .msg-time{color:rgba(255,255,255,.6)}[data-theme=dark] .msg-sent .msg-time{color:rgba(0,0,0,.5)}.messenger-input-bar{display:flex;align-items:flex-end;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border);flex-shrink:0;background:var(--surface)}.messenger-input-bar textarea{flex:1;resize:none;border:1px solid var(--border);background:var(--background);color:var(--text-primary);font-family:inherit;max-height:80px;overflow-y:auto}@media (max-width:900px){.messenger-input-bar textarea{min-height:60px;margin-bottom:env(safe-area-inset-bottom,8px)}}.messenger-send-btn{background:var(--primary-color);border:2px solid var(--background);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.messenger-send-btn svg{width:18px;height:18px;color:var(--on-primary)}.messenger-send-btn:hover{background:var(--primary-hover)}.messenger-scroll-sentinel{text-align:center;padding:.75rem;flex-shrink:0}.messenger-scroll-sentinel--top{padding:.5rem}.messenger-loading-text{font-size:var(--fs-xs);color:var(--text-secondary);animation:messenger-pulse 1.5s ease-in-out infinite}.seo-panel{text-align:left;align-items:flex-start;gap:var(--spacing-md);overflow-y:auto}.seo-panel h1{font-size:var(--fs-xl)}.seo-panel h2{font-size:var(--fs-base);margin:0 0 var(--spacing-xs)}.seo-panel-blurb,.seo-panel-venue{font-size:var(--fs-sm);line-height:1.6;color:var(--text-secondary);margin:0}.seo-panel-venue{color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);background:var(--surface-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--primary-color)}.seo-panel-features{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.seo-panel-faq,.seo-panel-highlights,.seo-panel-how{width:100%}.seo-faq-item{margin-bottom:var(--spacing-xs)}.seo-faq-item summary{font-weight:600;cursor:pointer;padding:var(--spacing-xs)0}.seo-faq-item p{margin:0 0 var(--spacing-xs);padding-left:var(--spacing-sm);line-height:1.5}.seo-panel-no-ladder{width:100%;text-align:center;padding:var(--spacing-sm)0;border-top:1px solid var(--border-color)}.seo-faq-item p,.seo-faq-item summary,.seo-panel-no-ladder p{font-size:var(--fs-sm)}.seo-ladder-preview{width:100%;border:1px solid var(--border-color);border-radius:var(--radius);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm)0}.seo-ladder-preview h3{margin:0 0 var(--spacing-xs);font-size:var(--fs-md)}.seo-ladder-preview h3 a{color:var(--text-primary);text-decoration:none}.seo-ladder-stats,.seo-preview-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.seo-ladder-stats{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.seo-ladder-stats span{display:inline-flex;align-items:center;gap:.3rem;background:var(--chip-bg, rgba(255,255,255,0.06));padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:var(--fs-xs)}.seo-ladder-preview .rankings-list{margin:0;padding:0}.seo-preview-actions{margin-top:var(--spacing-xs)}.seo-ladder-preview-empty{text-align:center}.seo-ladder-preview-empty p,.seo-panel-no-ladder p{margin:0 0 var(--spacing-xs);color:var(--text-secondary)}.seo-panel-why{width:100%;margin:var(--spacing-sm)0}.seo-panel-why h2{font-size:var(--fs-md)}.seo-panel-highlights ul,.seo-why-pain{padding-left:1.2rem;font-size:var(--fs-sm);color:var(--text-secondary)}.seo-panel-why h2,.seo-why-pain{margin:0 0 var(--spacing-xs)}.seo-why-pain li{margin-bottom:4px}.seo-why-solution{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary);margin:0}.seo-panel-highlights ul{margin:0;line-height:1.7}.seo-hero-feature{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:120px}.seo-hero-feature strong{font-size:var(--fs-sm)}.seo-hero-feature span{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.seo-links-section{display:flex;gap:var(--spacing-md);text-align:left;flex-wrap:wrap;width:100%}.seo-links-group{flex:1;min-width:140px}.seo-links-group h3,.seo-neighborhoods h3,.seo-panel-boroughs h3,.seo-panel-neighborhoods h3{font-size:var(--fs-sm);color:var(--accent-primary);margin:0 0 var(--spacing-xs)}.seo-links-group ul{list-style:none;padding:0;margin:0}.seo-links-group li,.seo-panel-boroughs li,.seo-panel-neighborhoods li{line-height:1.8}.seo-links-group a,.seo-panel-boroughs a,.seo-panel-neighborhoods a{color:var(--accent-primary);text-decoration:none;font-size:var(--fs-sm)}.seo-panel-boroughs,.seo-panel-neighborhoods{width:100%;margin-bottom:var(--spacing-sm)}.seo-neighborhoods ul,.seo-panel-boroughs ul,.seo-panel-neighborhoods ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md)}.seo-panel-blurb a,.seo-panel-faq a,.seo-panel-highlights a{color:var(--accent-primary);text-decoration:none}.seo-panel a:not(.btn){color:var(--accent-primary)}.seo-panel .btn-primary,.seo-panel .btn-primary:hover,.seo-panel .panel-step-num{color:var(--on-primary)!important}.panel-empty-state.seo-panel{justify-content:flex-start}.seo-neighborhoods{width:100%}.seo-neighborhoods a{color:var(--accent-primary);text-decoration:none;font-size:var(--fs-sm)}.seo-neighborhoods a:hover{text-decoration:underline}.btn-theme-toggle{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;padding:.35rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.btn-theme-toggle:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--surface-hover)}.btn-theme-toggle:active{transform:scale(.95)}.lang-selector{position:relative;display:flex;align-items:center}.lang-menu{position:absolute;top:100%;right:0;margin-top:2px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:1000;min-width:160px}.lang-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary);transition:background .1s;border:0;background:0 0;width:100%;text-align:left}.lang-option:hover{background:var(--bg-secondary)}.lang-option.active{color:var(--accent-primary);font-weight:600}.btn-lang,.lang-option-flag{display:inline-flex;align-items:center}.lang-option-flag{line-height:1}.lang-option-flag .twemoji{width:1.4em;height:1.4em}.btn-lang{background:0 0;border:0;cursor:pointer;padding:.25rem;justify-content:center;border-radius:var(--radius);transition:background .15s}.btn-lang:hover{background:var(--surface-hover)}.btn-lang:active{transform:scale(.95)}.btn-lang .twemoji{width:24px;height:24px}.lang-option-name{flex:1}.prize-icon,.twemoji{display:inline-block;vertical-align:middle;width:1.2em;height:1.2em}.prize-icon{width:16px;height:16px;margin-left:3px}.prize-icon .twemoji,.prize-icon-large .twemoji{width:100%;height:100%}.prize-icon-large{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.prizes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:.4rem;margin:.5rem 0}.prize-category-label{grid-column:1/-1;font-size:var(--fs-2xs);font-weight:600;color:var(--text-secondary);margin-top:.3rem;padding-bottom:.1rem}.prize-grid-item{display:flex;flex-direction:column;align-items:center;padding:.4rem .2rem;border-radius:var(--radius-sm);border:2px solid var(--border);cursor:pointer;transition:border-color .15s,background .15s}.prize-grid-item.selected,.prize-grid-item:hover{border-color:var(--primary-color);background:var(--surface-hover)}.prize-label{font-size:var(--fs-2xs);color:var(--text-secondary);margin-top:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65px}.prize-award-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.prize-award-item:last-child{border-bottom:none}.prize-ladder-group{margin-bottom:.75rem}.prize-display-toggle{cursor:pointer;opacity:.25;transition:opacity .15s;flex-shrink:0}.prize-display-toggle.active{opacity:1;color:var(--accent-primary)}.prize-display-toggle:hover{opacity:.7}.kit-prize-toggle{opacity:1!important}.kit-prize-toggle:not(.active) svg:first-child{opacity:.3}.kit-drag-handle{cursor:grab;color:var(--text-primary);opacity:.4;display:inline-flex;align-items:center;padding:.25rem;border-radius:var(--radius-sm);flex-shrink:0;min-width:28px;min-height:28px}.kit-drag-handle:hover{background:var(--surface-hover, rgba(128,128,128,0.1))}.kit-drag-handle:active{cursor:grabbing}.sortable-gap{height:0;transition:height .15s,background .15s;overflow:hidden}.sortable-gap-active,.sortable-gap-expanded{height:16px;border-radius:var(--radius-sm);margin:2px 0}.sortable-gap-expanded{background:rgba(59,130,246,.05);border:1px dashed rgba(59,130,246,.25)}.sortable-gap-active{background:rgba(59,130,246,.15);border:2px solid var(--primary-color);box-shadow:0 0 6px rgba(59,130,246,.3)}.sortable-gap-hidden{display:none}.sortable-dragging{opacity:.4}.sortable-swap-preview{position:relative;outline:2px solid var(--primary-color);outline-offset:-2px;border-radius:var(--radius-sm)}.sortable-swap-preview .swap-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.12);color:var(--primary-color);font-weight:700;font-size:var(--fs-sm);border-radius:var(--radius-sm);pointer-events:none}.prize-overflow,.prize-pro-group h5{font-size:var(--fs-sm);color:var(--text-secondary)}.prize-overflow{position:sticky;right:0;cursor:default;margin-left:2px;vertical-align:middle;background:inherit;padding-left:2px;flex-shrink:0}.prize-info-banner,.prize-overflow-popup{display:flex;background:var(--surface);border-radius:var(--radius-sm)}.prize-overflow-popup{position:fixed;z-index:10000;border:1px solid var(--border);padding:4px 6px;gap:4px;align-items:center;box-shadow:0 2px 8px var(--shadow);pointer-events:none}.prize-overflow-popup .prize-icon{width:22px;height:22px;margin-left:0}.prize-info-banner{align-items:flex-start;gap:.5rem;padding:.75rem;margin-bottom:.75rem;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.prize-info-banner svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.prize-display-always{display:inline-flex;align-items:center;color:#15803d;font-size:var(--fs-xs);gap:.25rem;margin-left:auto;flex-shrink:0}.prize-pro-group{margin-bottom:.75rem}.prize-pro-group h5{margin:0 0 .25rem}.prizes-grid-extended{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));max-height:300px;overflow-y:auto}.prizes-grid-extended .prize-grid-item{padding:.25rem}.prizes-grid-extended .prize-label{display:none}.prize-shelf,.prize-shelf-icons{display:inline-flex;flex-wrap:nowrap;align-items:center;min-width:0}.prize-shelf{margin-left:4px;vertical-align:middle;flex-shrink:100}.prize-shelf-icons{gap:2px;overflow:hidden;flex-shrink:1;padding:3px 1px}.prize-shelf .prize-icon{width:22px;height:22px;min-width:22px;margin-left:0}.prize-shelf .prize-icon .twemoji{filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000)}.activity-sub-tabs{display:flex;gap:0;width:100%;margin-top:.5rem;flex-basis:100%;border-bottom:2px solid var(--border);order:10}.activity-panel-header:has(.activity-sub-tabs){flex-wrap:wrap}.activity-sub-tab{flex:1;padding:.5rem .3rem;min-height:36px;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:var(--fs-2xs);font-weight:600;cursor:pointer;white-space:nowrap}.activity-sub-tab:focus:not(:focus-visible),.hub-tab:focus:not(:focus-visible){outline:0}.activity-sub-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:700}.activity-sub-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:var(--radius);font-size:var(--fs-2xs);font-weight:700;padding:0 3px;margin-left:3px;vertical-align:middle}.activity-sub-badge,.activity-sub-tab--active .activity-sub-badge{background:var(--danger-color);color:#fff}[data-theme=dark] .activity-sub-badge{color:#0f172a}.hub-tabs{display:flex;gap:0;width:100%;margin-top:.5rem;flex-basis:100%;border-bottom:2px solid var(--border);order:10}.activity-panel-header:has(.hub-tabs){flex-wrap:wrap}.activity-panel-header:has(.hub-tabs) h2{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hub-tab{flex:1;padding:.5rem .3rem;min-height:36px;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-size:var(--fs-2xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:3px}.hub-tab:hover{color:var(--text-primary)}.hub-tab--active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:700}.hub-tab-indicator{display:none}.hub-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:var(--radius);font-size:var(--fs-2xs);font-weight:700;padding:0 3px;margin-left:3px;vertical-align:middle}.hub-tab--active .hub-tab-badge,.hub-tab-badge{background:var(--danger-color);color:#fff}[data-theme=dark] .hub-tab-badge{color:#0f172a}.activity-section-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:36px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;user-select:none;border-bottom:1px solid var(--border)}.activity-section-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:6px}.activity-section-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-section-count{font-weight:600;color:var(--text-secondary)}.activity-section-chevron{font-size:var(--fs-sm);color:var(--text-muted);transition:transform 200ms ease;display:inline-block}.activity-section-chevron--collapsed{transform:rotate(-90deg)}.activity-section-items{overflow:hidden;transition:max-height 250ms ease-in-out,opacity 250ms ease-in-out}.activity-section-items--collapsed{max-height:0!important;opacity:0}.activity-columns{display:grid;grid-template-columns:1fr;gap:0}@media (min-width:700px){.activity-columns{grid-template-columns:1fr 1fr;gap:0 1px;border-bottom:1px solid var(--border)}.activity-columns>.activity-column{border-right:1px solid var(--border)}.activity-columns>.activity-column:last-child{border-right:none}}.activity-type-pill{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1;vertical-align:middle;margin-left:6px}.activity-type-pill--dispute{background:color-mix(in srgb,var(--danger-color) 12%,transparent);color:var(--danger-color)}.activity-type-pill--challenge{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#d97706}[data-theme=dark] .activity-type-pill--challenge{color:#fbbf24}.activity-type-pill--match{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color)}.activity-type-pill--pickup{background:color-mix(in srgb,#10b981 12%,transparent);color:#059669}[data-theme=dark] .activity-type-pill--pickup{color:#34d399}.activity-item-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:2px}.activity-item-bar--dispute{background:var(--danger-color)}.activity-item-bar--challenge{background:#f59e0b}.activity-item-bar--match{background:var(--primary-color)}.activity-item-bar--pickup{background:#10b981}.activity-item.activity-item--has-bar{position:relative;padding-left:calc(1rem + 8px)}.activity-badge-summary{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border)}.activity-badge-summary-item{display:flex;align-items:center;gap:4px;cursor:pointer;transition:color .15s}.activity-badge-summary-item:hover{color:var(--text-primary)}.activity-badge-summary-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:var(--radius);font-size:var(--fs-xs);font-weight:700;padding:0 4px}.activity-badge-summary-count--dispute{background:color-mix(in srgb,var(--danger-color) 15%,transparent);color:var(--danger-color)}.activity-badge-summary-count--challenge{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}[data-theme=dark] .activity-badge-summary-count--challenge{color:#fbbf24}.activity-badge-summary-count--match{background:color-mix(in srgb,var(--primary-color) 15%,transparent);color:var(--primary-color)}.activity-badge-summary-count--pickup{background:color-mix(in srgb,#10b981 15%,transparent);color:#059669}[data-theme=dark] .activity-badge-summary-count--pickup{color:#34d399}.overview-ladder-cards{display:flex;flex-direction:column}.overview-card{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border);position:relative}.overview-card:hover{background:var(--surface-hover)}.overview-card:active{background:var(--surface-active, var(--surface-hover))}.overview-card--pending{border-left:3px solid var(--primary-color)}.overview-card-sport-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-base);color:var(--primary-color)}.overview-card-info{flex:1;min-width:0}.overview-card-header{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.overview-card-name{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.overview-card-stats{font-size:var(--fs-2xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.overview-card-rank{font-weight:700;color:var(--primary-color)}.overview-card-separator{color:var(--text-muted);margin:0 1px}.overview-card-badges{display:flex;gap:3px;flex-shrink:0;align-items:center}.overview-mini-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:var(--radius);font-size:var(--fs-2xs);font-weight:700;padding:0 3px;color:#fff}[data-theme=dark] .overview-mini-badge{color:#0f172a}.overview-mini-badge--dispute{background:var(--danger-color)}.overview-mini-badge--challenge{background:#f59e0b}.overview-mini-badge--match{background:var(--primary-color)}.overview-card-cta{flex-shrink:0;padding:4px 10px;border:0;border-radius:var(--radius);font-size:var(--fs-2xs);font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;background:0 0}.overview-card-cta:hover,.venue-contact a:hover,.venue-info-row a:hover{text-decoration:underline}.overview-card-cta--primary{color:var(--primary-color)}.overview-card-cta--warning{color:#d97706}[data-theme=dark] .overview-card-cta--warning{color:#fbbf24}.overview-card-cta--danger{color:var(--danger-color)}.overview-card-cta--default{color:var(--text-secondary)}.overview-card-cta--default:hover{color:var(--primary-color)}.overview-online{font-size:var(--fs-2xs);color:#059669;margin-left:4px;white-space:nowrap}[data-theme=dark] .overview-online{color:#34d399}.overview-online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:2px;vertical-align:middle}.overview-card-chevron{flex-shrink:0;color:var(--text-muted)}.overview-section-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.75rem 1rem .25rem;display:flex;align-items:center;gap:6px}.overview-section-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary-color)}.overview-section-label--pickup::before{background:#10b981}.overview-pickup-list{display:flex;flex-direction:column}.overview-pickup-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--border)}.overview-pickup-item:hover{background:var(--surface-hover)}.overview-pickup-icon{font-size:var(--fs-base);flex-shrink:0;width:28px;text-align:center}.overview-pickup-info{flex:1;min-width:0}.overview-pickup-title{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-pickup-meta{font-size:var(--fs-2xs);color:var(--text-secondary)}.pwa-install-banner{left:0;right:0;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0));box-shadow:0-2px 8px rgba(0,0,0,.1);font-size:var(--fs-sm);animation:slideUp .3s ease}body:has(.mobile-tab-bar[style*=flex]) .pwa-install-banner{bottom:calc(56px + env(safe-area-inset-bottom,0));padding-bottom:.6rem}.pwa-install-content svg,.venue-contact a{color:var(--primary-color)}.mobile-tab-bar{display:none!important;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--surface);border-top:1px solid var(--border);padding:0;padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width:900px){.mobile-tab-bar[style*=flex]{display:flex!important}body:has(.mobile-tab-bar[style*=flex]) .app-container{height:calc(100dvh - 56px - env(safe-area-inset-bottom,0))}body:has(.mobile-tab-bar[style*=flex]) .hamburger-wrap,body:has(.mobile-tab-bar[style*=flex]) .nav-section{display:none!important}body:has(.mobile-tab-bar[style*=flex]) .header-login-section{display:flex!important}body:has(.mobile-tab-bar[style*=flex]) #dashboardSection:not(.mobile-show){display:none!important}}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;min-height:56px;background:0 0;border:0;color:var(--text-muted);font-size:var(--fs-2xs);cursor:pointer;position:relative;transition:color .15s}.mobile-tab--active{color:var(--accent-primary)}.mobile-tab svg{flex-shrink:0}.pwa-install-banner{position:fixed;bottom:60px;left:.5rem;right:.5rem;background:var(--surface);border:1px solid var(--primary-color);border-radius:var(--radius);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;z-index:9999;box-shadow:var(--shadow-lg)}.pwa-install-content{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);color:var(--text-primary)}.pwa-install-content svg{flex-shrink:0;stroke:var(--primary-color)}.pwa-install-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.mobile-tab-badge{position:absolute;top:4px;right:calc(50% - 18px);min-width:16px;height:16px;border-radius:var(--radius);background:var(--danger-color);color:#fff;font-size:var(--fs-2xs);font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.ob-hint{position:fixed;z-index:9999;background:#1e293b;color:#f8fafc;border-radius:var(--radius);padding:10px 13px 8px;max-width:248px;font-size:var(--fs-md);line-height:1.45;box-shadow:0 4px 16px rgba(0,0,0,.35);pointer-events:auto;animation:ob-hint-in .2s ease-out}.ob-hint::before{content:"";position:absolute;top:-6px;left:var(--ob-arrow-left, 16px);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1e293b}.ob-hint--above::before{top:auto;bottom:-6px;border-bottom:none;border-top:6px solid #1e293b}.ob-hint-text{display:block;margin-bottom:7px}.ob-hint-dismiss{display:block;margin-left:auto;background:0 0;border:1px solid rgba(248,250,252,.3);color:#f8fafc;border-radius:var(--radius-sm);padding:2px 10px;font-size:var(--fs-sm);cursor:pointer;transition:background .15s}.ob-hint-dismiss:hover{background:rgba(255,255,255,.12)}.venue-map-icon{background:0 0;border:0;cursor:pointer}.venue-map-icon,.venue-map-icon *{pointer-events:auto!important}.venue-building-marker{cursor:pointer;transition:transform .12s,filter .12s;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4));display:block;overflow:visible}.venue-building-marker svg{overflow:visible}.venue-building-marker:hover{transform:scale(1.1) translateY(-2px);filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}.venue-panel-banner{border-radius:var(--radius);overflow:hidden;margin-bottom:.75rem;max-height:140px}.venue-hero img,.venue-panel-banner img{width:100%;height:140px;object-fit:cover;display:block}.meta-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--surface-alt, rgba(0,0,0,0.06));border:1px solid var(--border-color);border-radius:100px;padding:2px 8px;font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap}.meta-chip--sport{font-weight:500;color:var(--text-primary)}.venue-meta-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.venue-description{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5}.venue-admin-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.venue-contact{display:flex;flex-direction:column;gap:.25rem;font-size:var(--fs-md);color:var(--text-secondary);margin-top:.75rem}.venue-contact a{text-decoration:none}.venue-court-map-wrap{margin-bottom:.75rem}.court-floor-tabs{display:flex;gap:.3rem;margin-bottom:.5rem;flex-wrap:wrap}.court-floor-tab{padding:3px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;transition:background .15s,border-color .15s}.court-floor-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.court-map-container{position:relative;width:100%;padding-top:62%;background:#dde4ed;border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;user-select:none}[data-theme=dark] .court-map-container{background:#1e293b}.court-map-container--editing{border:2px dashed var(--primary-color, #3b82f6);background:rgba(59,130,246,.04)}.court-map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--fs-md)}.court-rect,.court-rect--svg>svg{position:absolute;border-radius:var(--radius-sm)}.court-rect{border:2px solid rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:filter .15s,border-color .15s;box-sizing:border-box;min-width:20px;min-height:12px}.court-rect:hover{filter:brightness(1.25) saturate(1.1);border-color:rgba(0,0,0,.45)}.court-rect--available{border-color:rgba(34,197,94,.8)}.court-rect--booked{border-color:rgba(239,68,68,.7)}.court-rect--held{border-color:rgba(245,158,11,.8)}.court-rect--maintenance{border-color:rgba(148,163,184,.7);cursor:default}.court-rect--maintenance:hover{filter:none}.court-rect--svg{background:0 0;overflow:visible}.court-rect--svg,.court-rect--svg:hover{border-color:transparent}.court-rect--svg>svg{inset:0;overflow:hidden}.court-rect--editable{cursor:move}.court-rect--dragging{opacity:.7;z-index:10}.court-label,.court-name{color:var(--text-primary, #1e293b);text-shadow:0 0 3px var(--bg-primary, #fff),0 0 3px var(--bg-primary, #fff)}.court-label{position:absolute;left:50%;top:100%;transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;font-size:var(--fs-xs);font-weight:700;text-align:center;line-height:1.2;padding:2px 4px;white-space:nowrap}.court-name{font-size:var(--fs-2xs);font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.court-resize-handle{position:absolute;background:var(--primary-color, #3b82f6);border-radius:2px;opacity:.8}.court-resize-se{width:10px;height:10px;right:-1px;bottom:-1px;cursor:se-resize}.court-resize-e{width:6px;height:20px;right:-1px;top:50%;transform:translateY(-50%);cursor:e-resize}.court-resize-s{width:20px;height:6px;bottom:-1px;left:50%;transform:translateX(-50%);cursor:s-resize}.court-delete-btn,.court-rotate-handle{position:absolute;width:16px;height:16px;border-radius:50%;color:#fff;border:0;z-index:5}.court-delete-btn{top:-6px;right:-6px;background:var(--danger-color, #ef4444);font-size:var(--fs-xs);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.court-rotate-handle{top:-20px;left:50%;transform:translateX(-50%);background:var(--primary-color, #3b82f6);font-size:var(--fs-sm);line-height:16px;text-align:center;cursor:grab;user-select:none;opacity:.85;pointer-events:all}.court-rotate-handle:active{cursor:grabbing}.court-map-legend{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:.4rem;font-size:var(--fs-sm)}.legend-item{display:flex;align-items:center;gap:.3rem;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:2px;border:1.5px solid;flex-shrink:0}.legend-available .legend-dot{background:rgba(34,197,94,.4);border-color:rgba(34,197,94,.8)}.legend-booked .legend-dot{background:rgba(239,68,68,.35);border-color:rgba(239,68,68,.7)}.legend-held .legend-dot{background:rgba(245,158,11,.4);border-color:rgba(245,158,11,.8)}.legend-maintenance .legend-dot{background:rgba(148,163,184,.4);border-color:rgba(148,163,184,.7)}.court-map-hint{font-size:var(--fs-sm);margin-top:.3rem}.venue-hero{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:.85rem;max-height:160px}.venue-hero img{height:160px}.venue-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.35) 100%)}.venue-panel-header{margin-bottom:.6rem}.venue-panel-title{font-size:var(--fs-lg);font-weight:700;margin:0 0 .35rem;line-height:1.25}.venue-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:.85rem;overflow-x:auto;scrollbar-width:none}.venue-tabs::-webkit-scrollbar{display:none}.booking-participant-chip button,.venue-tab{background:0 0;border:0;cursor:pointer;color:var(--text-secondary)}.venue-tab{flex:1;min-width:0;padding:.5rem .3rem;min-height:36px;font-size:var(--fs-2xs, 0.75rem);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s,border-color .15s}.venue-tab:hover{color:var(--text-primary)}.venue-tab--active{color:var(--primary-color);font-weight:600;border-bottom-color:var(--primary-color)}.coming-soon-banner{display:flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,rgba(59,130,246,.12),rgba(139,92,246,.12));border:1px solid rgba(59,130,246,.3);border-radius:var(--radius);padding:.55rem .75rem;font-size:var(--fs-md);font-weight:500;color:var(--primary-color);margin-bottom:.75rem}[data-theme=dark] .coming-soon-banner{background:linear-gradient(135deg,rgba(59,130,246,.18),rgba(139,92,246,.18));border-color:rgba(59,130,246,.4)}.court-search-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.65rem}.court-search-input,.court-search-select{flex:1;min-width:90px;padding:.4rem .55rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:var(--fs-md)}.court-search-results{margin-bottom:.75rem}.court-search-card{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius);margin-bottom:.4rem;cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-card)}.court-search-card:hover{border-color:var(--primary-color);background:var(--bg-hover, var(--bg-secondary))}.court-card-thumb{width:64px;height:36px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;position:relative;border:1px solid var(--border-color)}.booking-participant-input input,.court-card-info{flex:1;min-width:0}.court-card-name{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-card-meta{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.meta-chip--sm{font-size:var(--fs-xs);padding:1px 6px}.court-card-slots{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:.2rem}.court-card-book-btn{flex-shrink:0;font-size:var(--fs-sm);padding:.3rem .6rem}.venue-info-table{display:flex;flex-direction:column;gap:.5rem;font-size:var(--fs-md)}.venue-info-row{display:flex;gap:.6rem;align-items:baseline}.venue-info-label{flex-shrink:0;font-weight:600;color:var(--text-secondary);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;min-width:70px}.venue-info-row a{color:var(--primary-color);text-decoration:none;word-break:break-all}.venue-hours-row-wrap{align-items:flex-start}.venue-hours-table{border-collapse:collapse;font-size:var(--fs-md)}.venue-hours-table td{padding:.15rem .5rem .15rem 0;vertical-align:top}.venue-hours-day{color:var(--text-secondary)}.venue-hours-closed{opacity:.5;font-style:italic}.venue-hours-today .venue-hours-day,.venue-hours-today .venue-hours-time{font-weight:700;color:var(--primary-color)}.court-builder-palette,.venue-amenity-chips{display:flex;flex-wrap:wrap;gap:.25rem}.court-builder-palette{gap:.4rem;align-items:center;margin-bottom:.4rem}.booking-modal-content{max-width:480px}.booking-date-input{width:100%;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:var(--fs-md)}.booking-slot-list{display:flex;flex-direction:column;gap:.35rem;max-height:220px;overflow-y:auto;padding:.1rem 0;margin-top:.4rem}.booking-slot-btn,.venue-hours-row input[type=time]{border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:var(--fs-md)}.booking-slot-btn{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1.5px solid var(--border-color);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.booking-slot-btn:hover{border-color:var(--primary-color);background:var(--bg-secondary)}.booking-slot-btn.selected{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 12%,transparent);font-weight:600}.slot-time{font-weight:600}.slot-meta{font-size:var(--fs-sm);color:var(--text-secondary)}.booking-participant-input{display:flex;gap:.4rem;margin-top:.3rem}.booking-participant-list{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.booking-participant-chip{display:flex;align-items:center;gap:.25rem;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--fs-md)}.booking-participant-chip button{font-size:var(--fs-md);line-height:1;padding:0}.venue-hours-grid{display:flex;flex-direction:column;gap:.4rem}.venue-hours-row{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-md)}.venue-hours-day{display:flex;align-items:center;gap:.3rem;min-width:4.5rem;cursor:pointer}.venue-hours-sep{color:var(--text-muted);font-size:var(--fs-md)}.venue-hours-row input[type=time]{padding:2px 6px;border:1px solid var(--border-color)}.pricing-modal-content{max-width:520px}.pricing-rules-list{display:flex;flex-direction:column;gap:.5rem;min-height:2rem}.pricing-rule-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--fs-md)}.pricing-rule-info{display:flex;flex-direction:column;gap:.1rem;flex:1}.pricing-rule-meta{color:var(--text-secondary);font-size:var(--fs-sm)}.my-booking-row,.pricing-days-checkboxes{display:flex;gap:.75rem;font-size:var(--fs-md)}.pricing-days-checkboxes{flex-wrap:wrap}.pricing-days-checkboxes label{display:flex;align-items:center;gap:.25rem;cursor:pointer}.my-booking-row{justify-content:space-between;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--border-color)}.my-booking-row:last-child{border-bottom:none}.my-booking-info{display:flex;flex-direction:column;gap:.15rem;flex:1}.my-booking-price,.my-booking-time,.my-booking-venue{color:var(--text-secondary);font-size:var(--fs-md)}.my-booking-price{color:var(--primary-color);font-weight:500}.my-booking-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.booking-status-badge{font-size:var(--fs-xs);padding:2px 7px;border-radius:var(--radius);font-weight:600;white-space:nowrap}.booking-status-confirmed{background:#dcfce7;color:#166534}.booking-status-held{background:#fef9c3;color:#854d0e}.booking-status-cancelled{background:#fee2e2;color:#991b1b}[data-theme=dark] .booking-status-confirmed{background:#14532d;color:#86efac}[data-theme=dark] .booking-status-held{background:#713f12;color:#fde68a}[data-theme=dark] .booking-status-cancelled{background:#7f1d1d;color:#fca5a5}.challenge-booking-section{margin-top:.75rem;border-top:1px solid var(--border-color);padding-top:.5rem}.challenge-booking-toggle{display:flex;align-items:center;gap:.5rem}.challenge-booking-toggle button{background:0 0;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.3rem .65rem;color:var(--text-secondary);cursor:pointer;gap:.35rem;transition:background .15s,color .15s}.challenge-booking-toggle button.active{color:var(--primary-color);border-color:var(--primary-color);background:rgba(59,130,246,.07)}.challenge-booking-panel{margin-top:.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:.75rem;font-size:var(--fs-md)}.booking-option-radios{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}#courtHoldBanner,.booking-option-radios label,.challenge-booking-toggle button{display:flex;align-items:center;font-size:var(--fs-md)}.booking-option-radios label{gap:.5rem;cursor:pointer;color:var(--text-primary)}.booking-venue-select-row{display:flex;flex-direction:column;gap:.5rem}.booking-venue-select{width:100%;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background);color:var(--text-primary);font-size:var(--fs-md)}.booking-panel-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.booking-panel-status{font-size:var(--fs-md);color:var(--text-secondary);margin-top:.4rem;padding:.35rem .5rem;background:var(--hover-bg);border-radius:var(--radius-sm)}.booking-panel-status.status-held{color:#854d0e;background:#fef9c3}.booking-panel-status.status-confirmed{color:#166534;background:#dcfce7}[data-theme=dark] .booking-panel-status.status-held{color:#fde68a;background:#713f12}[data-theme=dark] .booking-panel-status.status-confirmed{color:#86efac;background:#14532d}.booking-panel-challenger-info{font-size:var(--fs-md);color:var(--text-secondary);margin-bottom:.5rem;line-height:1.4}#courtHoldBanner{position:fixed;top:0;left:0;right:0;z-index:9900;background:#92400e;color:#fef3c7;padding:.55rem 1rem;gap:.75rem;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,.25);line-height:1.4;transition:background .5s}#courtHoldBanner.expired{background:#6b2929;color:#fecaca}#courtHoldBanner.hold-urgent{background:#b45309;color:#fef3c7}#courtHoldBanner.hold-critical{background:#b91c1c;color:#fee2e2}#courtHoldBanner .banner-text{flex:1;min-width:0}#courtHoldBanner .banner-actions{display:flex;gap:.4rem;flex-shrink:0}#courtHoldBanner .banner-btn{padding:.25rem .65rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:inherit;font-size:var(--fs-md);cursor:pointer;white-space:nowrap;transition:background .15s}#courtHoldBanner .banner-btn:hover{background:rgba(255,255,255,.22)}#courtHoldBanner .banner-btn.primary{background:rgba(255,255,255,.22);font-weight:600}body.has-hold-banner{padding-top:2.8rem}@media (max-width:599px){#courtHoldBanner{flex-wrap:nowrap;padding:.4rem .75rem;font-size:var(--fs-sm);gap:.5rem}#courtHoldBanner .banner-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#courtHoldBanner .banner-actions{gap:.3rem;flex-shrink:0}#courtHoldBanner .banner-btn{padding:.2rem .5rem;font-size:var(--fs-sm)}body.has-hold-banner{padding-top:2.4rem}}.court-hint-dot,.court-hint-overlay{position:absolute;pointer-events:none;z-index:2}.court-hint-overlay{bottom:1px;right:2px;font-size:var(--fs-2xs);color:rgba(147,51,234,.85);line-height:1;white-space:nowrap}.court-hint-dot{bottom:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#22c55e}.overlap-cell{position:relative}.booking-reschedule-warning{background:#fef9c3;border:1px solid #ca8a04;border-radius:var(--radius-sm);padding:.6rem .75rem;margin-bottom:.5rem;font-size:var(--fs-md);color:#713f12}.booking-reschedule-warning p{margin:0 0 .4rem}.booking-reschedule-actions{display:flex;gap:.4rem;flex-wrap:wrap}[data-theme=dark] .booking-reschedule-warning{background:#713f12;border-color:#92400e;color:#fef9c3}.booking-no-venues-note{font-size:var(--fs-md);color:var(--text-secondary);margin:0 0 .4rem;font-style:italic}@media (max-width:900px){.activity-sub-tab{min-height:44px}.account-tab{display:inline-flex;align-items:center;justify-content:center}.accordion-header,.account-tab{min-height:44px}.leaflet-control-zoom .leaflet-control-zoom-in,.leaflet-control-zoom .leaflet-control-zoom-out,.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important;font-size:var(--fs-lg)!important}.leaflet-control-zoom{border:0!important}.leaflet-control-zoom .leaflet-control-zoom-in,.leaflet-control-zoom .leaflet-control-zoom-out{display:flex!important;align-items:center!important;justify-content:center!important}}.pin-back-nav{padding:.4rem .75rem 0}.pin-back-btn{background:0 0;border:0;padding:0;font-size:var(--fs-sm);color:var(--accent-primary);cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;font-weight:500}.pin-back-btn:hover{text-decoration:underline}.court-finder-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.court-finder-bar .court-finder-radius,.court-finder-bar select{flex:1;min-width:90px;padding:.4rem .55rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:var(--fs-md)}.court-finder-hint{font-size:var(--fs-xs);color:var(--text-secondary);margin-bottom:.6rem;display:flex;align-items:center;gap:.3rem}.court-finder-results{display:flex;flex-direction:column;gap:.4rem}.court-finder-card,.court-finder-card-icon{border-radius:var(--radius);display:flex;align-items:center}.court-finder-card{gap:.6rem;padding:.55rem .65rem;border:1px solid var(--border-color);cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-card)}.court-finder-card:hover{border-color:var(--primary-color);background:var(--bg-hover, var(--bg-secondary))}.court-finder-card-icon{width:36px;height:36px;background:var(--bg-secondary);justify-content:center;flex-shrink:0;font-size:var(--fs-base)}.court-finder-card-info{flex:1;min-width:0}.court-finder-card-name{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.court-finder-card-meta{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.court-finder-card-dist{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary-color);color:#fff;padding:.5rem 1.5rem;border-radius:0 0 var(--radius) var(--radius);z-index:10002;font-weight:600;text-decoration:none}.skip-link:focus{top:0}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:900px){input,select,textarea{font-size:16px!important}}.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}@media all and (display-mode:standalone){.app-header{padding-top:max(env(safe-area-inset-top,0),48px)}body{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available}.mobile-tab-bar{padding-bottom:env(safe-area-inset-bottom,0);background:var(--surface)}}