@import "https://fonts.googleapis.com/css2?family=Anybody:wght@400;600;700;800&family=Inter:wght@300;400;500;600;700;800&display=swap";@view-transition{navigation:auto}::view-transition-old(page-content){animation:.12s ease-out both vt-out}::view-transition-new(page-content){animation:.15s ease-out both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@keyframes page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-content{view-transition-name:page-content;padding-top:56px;animation:.35s ease-out page-enter}[data-page=calendar] .page-content{flex-direction:column;height:100vh;display:flex}[data-page=calendar] .site-footer{display:none}[data-page=tournament-detail] .page-content{flex-direction:column;height:calc(100vh - 56px);margin-top:56px;padding-top:0;display:flex}[data-page=tournament-detail] .site-footer{display:none}[data-page=points-calculator] .page-content{padding-left:100px;padding-right:100px}:root{--accent:#00b4d8;--accent-soft:#00b4d833;--accent-hover:#0096c7;--navbar-bg:#0096c7f2;--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000008;--shadow:0 2px 8px #0000000f, 0 1px 3px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000a;--platinum:#a8b8c0;--platinum-bg:#eeeef4;--gold:#d4af37;--gold-bg:#fdf6e3;--silver:#8c92ac;--silver-bg:#eeeef4;--bronze:#cd7f32;--bronze-bg:#fdf0e2;--promises:#7b1fa2;--promises-bg:#f0e0f5;--national:#c62828;--national-bg:#fce4e4;--regional:#e65100;--regional-bg:#fdeee0;--c10k:#0077b6;--c10k-bg:#dff0fc;--c5k:#2e7d32;--c5k-bg:#e4f2e5;--c2k:#00838f;--c2k-bg:#ddf5f7;--veterans:#4e342e;--veterans-bg:#ebe5e2;--masters:#f57f17;--masters-bg:#fdf9e0;--international:#ad1457;--international-bg:#f9e0ea;--club:#99a6ad;--club-bg:#eaedee;--bg:#fff;--card-bg:#f4f6f9;--card-cats-bg:#eef1f5;--surface1:#f4f6f9;--surface2:#eef1f5;--text:#0a0f1a;--text-light:#5a6172;--border:#d4d9e0;--section-hover:#f2f4f6;--filter:none}[data-theme=dark]{--accent:#38bdf8;--accent-soft:#38bdf833;--accent-hover:#7dd3fc;--navbar-bg:#4e70b4fa;--gold-bg:#2e2814;--silver-bg:#22232c;--bronze-bg:#2e2414;--promises-bg:#221430;--national-bg:#2c1414;--regional-bg:#2e200c;--c10k-bg:#0c2030;--c5k-bg:#142214;--c2k-bg:#142224;--veterans-bg:#201814;--masters-bg:#2e280c;--international-bg:#2c1420;--club-bg:#181c1e;--bg:#0f1729;--card-bg:#182338;--card-cats-bg:#141e32;--surface1:#182338;--surface2:#141e32;--text:#dce4ee;--text-light:#8a9ab4;--border:#243552;--section-hover:#1c2a42;--filter:invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);--shadow-sm:0 1px 3px #0003, 0 1px 2px #00000026;--shadow:0 2px 8px #00000040, 0 1px 3px #00000026;--shadow-md:0 4px 16px #0000004d, 0 2px 6px #0003}[data-theme=dark] a,[data-theme=dark] a:visited{color:#f8fafc}[data-theme=dark] a:hover,[data-theme=dark] a:focus{color:#fff}[data-theme=dark] .card-links a,[data-theme=dark] .card-link-inner{color:#7dd3fc;background:#38bdf826}[data-theme=dark] .card-links a:hover,[data-theme=dark] .card-link-inner:hover{background:#38bdf847}.leaflet-control-attribution{filter:var(--filter)}.leaflet-control-zoom{overflow:hidden;box-shadow:var(--shadow)!important;border-radius:var(--radius-sm)!important;border:none!important}.leaflet-control-zoom-in,.leaflet-control-zoom-out{transition:background .15s,color .15s;background:var(--bg)!important;color:var(--text-light)!important;border:1px solid var(--border)!important;width:32px!important;height:32px!important;font-size:16px!important;line-height:32px!important}.leaflet-control-zoom-in:hover,.leaflet-control-zoom-out:hover{background:var(--section-hover)!important;color:var(--accent)!important}.padel-marker{background:0 0!important;border:none!important}.leaflet-popup-content-wrapper{background:var(--card-bg);max-height:min(70vh,560px);overflow:hidden auto;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-md)!important}.leaflet-popup-content-wrapper .card-name,.leaflet-popup-content-wrapper .card-subname,.leaflet-popup-content-wrapper .card-detail,.leaflet-popup-content-wrapper .card-detail span,.leaflet-popup-content-wrapper .card-zones-label{color:var(--text)!important}*{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{font-family:Inter,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6,.cv2-title,.card-name,.navbar-brand-text,.month-header,.tournaments-section-title,.tornd-sidebar-title,.info-hero-title{font-family:Anybody,Inter,sans-serif}body{background:var(--bg);color:var(--text);line-height:1.5}.navbar{z-index:1100;-webkit-backdrop-filter:blur(14px);color:#fff;background:linear-gradient(135deg,#0096c7,#00b4a0);border-bottom:1px solid #00b4d84d;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;transition:transform .25s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #0000001a}.navbar.navbar-hidden{transform:translateY(-100%)}.navbar-brand{color:#fff;letter-spacing:-.3px;flex-shrink:0;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:flex}.navbar-brand:visited{color:#fff}.navbar-brand-logo{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:48px;height:48px}.navbar-brand-text{color:#fff;-webkit-text-fill-color:#fff}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-link{color:#ffffffa6;border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.nav-link:visited{color:#ffffffa6}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:#fff;background:#ffffff2e;font-weight:600}.nav-link-icon{align-items:center;display:flex}.nav-link-icon svg{width:16px;height:16px}.nav-sep{background:#ffffff2e;flex-shrink:0;width:1px;height:18px;margin:0 .5rem}.navbar-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.nav-profile-btn{color:#fffc;cursor:pointer;background:#ffffff14;border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;transition:all .2s;display:flex;overflow:hidden}.nav-profile-btn:visited{color:#fffc}.nav-profile-btn:hover{color:#fff;background:#ffffff26;transform:scale(1.08)}.nav-profile-btn.active{color:#fff;background:#fff3;border-color:#fff}.nav-profile-btn svg{width:22px;height:22px}.nav-profile-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-search-wrap{flex:1 1 0;min-width:120px;max-width:380px;margin:0 .75rem;position:relative}.nav-search-input{border-radius:var(--radius-sm);color:#fff;background:#ffffff1a;border:0;outline:none;width:100%;height:36px;padding:0 .75rem 0 2.25rem;font-size:.85rem;transition:border-color .2s,background .2s}.nav-search-input::placeholder{color:#ffffff8c}.nav-search-input:focus{background:#ffffff26;border-color:#ffffff8c}.nav-search-icon{pointer-events:none;stroke:#ffffff8c;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.nav-search-dropdown{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:1200;max-height:400px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.nav-search-group{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);border-top:1px solid var(--border);align-items:center;gap:.4rem;padding:.4rem .75rem .25rem;font-size:.68rem;font-weight:700;display:flex}.nav-search-group:first-child{border-top:none}.nav-search-group svg{width:12px;height:12px;stroke:var(--text-light);flex-shrink:0}.nav-search-result{color:var(--text);align-items:center;gap:.6rem;padding:.45rem .75rem;text-decoration:none;transition:background .12s;display:flex}.nav-search-result:hover{background:var(--accent-soft)}.nav-search-result-icon{opacity:.4;flex-shrink:0;display:flex}.nav-search-result-icon svg{stroke:var(--text)}.nav-search-result-body{flex-direction:column;min-width:0;display:flex}.nav-search-result-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.nav-search-result-meta{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.nav-search-empty{color:var(--text-light);text-align:center;padding:.85rem;font-size:.85rem}.nav-profile-chip{color:#fff;cursor:pointer;background:#fff3;border:0 solid #ffffff2e;border-radius:50px;flex-shrink:0;align-items:center;gap:.5rem;padding:.25rem .65rem .25rem .25rem;text-decoration:none;transition:background .2s;display:flex}.nav-profile-chip:hover{background:#ffffff26}.nav-profile-chip.active{border-color:#ffffff8c}.nav-profile-initials{color:#111;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.72rem;font-weight:800;display:flex;overflow:hidden}.nav-profile-initials .nav-profile-avatar{width:32px;height:32px}.nav-profile-info{flex-direction:column;line-height:1.25;display:flex}.nav-profile-name{color:#fff;white-space:nowrap;font-size:.82rem;font-weight:700}.nav-profile-meta{color:#fff9;white-space:nowrap;font-size:.68rem}.nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;padding:6px;display:none}.nav-hamburger span{background:#fff;border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.nav-hamburger.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.stats-bar-inline{color:var(--text-light);letter-spacing:.3px;justify-content:center;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.75rem;font-weight:500;display:flex}.stat-num-inline{color:var(--accent);font-weight:800}.stat-sep{color:var(--text-light);opacity:.4}.container{flex-direction:column;flex:1;gap:0;max-width:100%;min-height:0;margin:0 0 1.5rem;padding:0;display:flex}.filters-toggle-btn{display:none}.filters-top{background:var(--bg);flex-wrap:wrap;align-items:stretch;gap:.75rem;padding:.75rem 100px;display:flex}.data-updated{color:var(--text-light);opacity:.5;text-align:right;margin-right:.75rem;padding:.25rem 100px 0;font-size:.72rem}.data-updated-mobile{display:none}.filters-section--inline{flex:1 1 0;min-width:0}.filters-section--inline .search-input-wrapper{flex:auto}.filters-section--inline .search-input{width:100%;min-width:150px}.filters-section--dates{flex:none}.filters-section--dates .filter-inline-row,.filters-section--cats .filter-inline-row{flex:auto}.filters-section--cats{flex:0 auto;min-width:0}.filter-container{background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:none;margin-bottom:1rem;padding:.5rem .75rem}.filters-top .filter-container{align-items:center;margin-bottom:0;display:flex}.filters-section--view{box-shadow:none;background:0 0;align-items:stretch;padding:0}.filter-container-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-bottom:.4rem;font-size:.68rem;font-weight:600}.search-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.search-input-icon{color:var(--text-light);pointer-events:none;flex-shrink:0;position:absolute;left:.6rem}.search-input.search-input--icon{padding-left:2.4rem}.filter-inline-row{align-items:center;gap:.5rem;width:100%;display:flex}.filter-inline-icon{color:var(--text-light);flex-shrink:0}.map-toggle-bar{display:none}.main-row{background:var(--bg);flex:1;gap:.75rem;min-height:0;padding:0 100px;display:flex;position:relative;overflow:hidden}.map-column{flex-direction:column;flex-shrink:0;width:40%;min-width:0;transition:width .35s,margin-left .35s;display:flex;overflow:hidden}.map-column.map-hidden{width:0;margin-left:0}.map-reopen-btn{z-index:10;background:var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;color:#fff;box-shadow:var(--shadow);border:none;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .4rem;transition:background .15s;display:none;position:absolute;top:50%;left:0;transform:translateY(-50%)}.map-reopen-btn:hover{background:var(--accent-hover);color:#fff}.map-reopen-btn .map-reopen-label{text-transform:uppercase;letter-spacing:.5px;writing-mode:vertical-rl;text-orientation:mixed;font-size:.55rem;font-weight:700}.map-column.map-hidden~.map-reopen-btn{display:flex}.tournaments-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.map-section{background:var(--card-bg);border-radius:var(--radius-sm);height:100%;box-shadow:var(--shadow-sm);border-right:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.map-action-btn{z-index:800;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-light);box-shadow:var(--shadow);justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;left:10px}.map-action-btn:hover{background:var(--accent-soft);color:var(--accent)}.map-action-btn svg{transition:transform .15s}.map-action-btn:hover svg{transform:scale(1.18)}#mapFitBtn{top:80px}#mapToggle{top:118px}#mapContainer{flex:1;min-height:0}.filters-section{border-radius:var(--radius-sm);background:0 0;border:none;padding:0}.filters-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.filters-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-light);font-size:.68rem;font-weight:700}.filters-clear{color:var(--accent);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.15rem .4rem;font-family:inherit;font-size:.7rem;font-weight:600;display:none}.filters-clear:hover{background:var(--accent-soft);color:var(--accent)}.filters-clear.visible{display:inline-block}.search-input{background:var(--bg);color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.filters-hint{color:var(--text-light);opacity:.7;margin-bottom:.6rem;font-size:.7rem;font-style:italic}.filters{flex-wrap:wrap;gap:.5rem;display:flex}.btn-sm{border-radius:var(--radius-sm);cursor:pointer;background:color-mix(in srgb, var(--bg) 60%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);white-space:nowrap;box-shadow:var(--shadow-sm);align-items:center;gap:.3rem;padding:.3rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-sm svg{flex-shrink:0;width:13px;height:13px;transition:transform .15s}.btn-sm:hover{background:color-mix(in srgb, var(--bg) 85%, transparent);border-color:var(--accent)}.btn-sm:hover svg{transform:scale(1.18)}.btn-sm.active{color:#fff;box-shadow:none;border-color:#0000}.btn-sm[data-level=all].active{background:#1a1a2e}.btn-sm[data-level=absolutos].active{background:var(--accent-hover)}.btn-sm[data-level=veteranos].active{background:#4e342e}.btn-sm[data-level=jovens].active{background:#7b1fa2}.btn-sm[data-level=fip-platinum].active{background:var(--platinum);color:#333}.btn-sm[data-level=fip-gold].active,.btn-sm[data-level=fip-only].active{background:var(--gold);color:#333}.btn-sm[data-level=fip-silver].active{background:var(--silver)}.btn-sm[data-level=fip-bronze].active{background:var(--bronze)}.btn-sm[data-level=fip-promises].active{background:var(--promises)}.btn-sm[data-level=national].active{background:var(--national)}.btn-sm[data-level=regional].active{background:var(--regional)}.btn-sm[data-level=c10k].active{background:var(--c10k)}.btn-sm[data-level=c5k].active{background:var(--c5k)}.btn-sm[data-level=c2k].active{background:var(--c2k)}.btn-sm[data-level=veterans].active{background:var(--veterans)}.btn-sm[data-level=masters].active{background:var(--masters);color:#333}.btn-sm[data-level=international].active{background:var(--international)}.btn-sm[data-level=club].active{background:var(--club)}.btn-md{border-radius:var(--radius-sm);cursor:pointer;color:var(--accent);border:1px solid var(--accent);white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.4rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-md svg{stroke:currentColor;flex-shrink:0;transition:transform .15s}.btn-md:hover svg{transform:scale(1.18)}.btn-md:hover{background:var(--accent);color:#fff}.btn-ghost{background:var(--card-cats-bg);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;border:none;align-items:center;gap:.45rem;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent)}.btn-ghost svg{flex-shrink:0;transition:transform .15s}.btn-ghost:hover svg{transform:scale(1.18)}.btn-muted{color:var(--text-light);border-color:var(--border);background:0 0}.btn-muted:hover{background:var(--section-hover);color:var(--text);border-color:var(--text-light)}.btn-accent{background:var(--accent);color:#fff;border-color:#0000}.btn-accent:hover{background:var(--accent-soft);color:var(--accent);border-color:#0000}select{appearance:none;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;background-color:var(--bg)!important;width:100%!important;color:var(--text)!important;cursor:pointer!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:20px!important;padding:.5rem 2rem .5rem .75rem!important}[data-theme=light] select{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%231a1a2e\"/></svg>")!important}[data-theme=dark] select{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%23f1f5f9\"/></svg>")!important}.count-badge{background:#0000000f;border-radius:50px;margin-left:.3rem;padding:0 .35rem;font-size:.65rem;font-weight:600;display:inline-block}.btn-sm.active .count-badge{background:#ffffff40}.tournaments-scroll{background:var(--bg);flex:1;min-height:0;overflow:hidden auto}.month-nav-btn{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text-light);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.month-nav-btn:hover{background:var(--accent-soft);color:var(--accent)}.month-nav-btn svg{width:13px;height:13px;transition:transform .15s}.month-nav-btn:hover svg{transform:scale(1.25)}.month-nav-btn--hidden{visibility:hidden;pointer-events:none}.month-section{margin-bottom:1rem;padding:0 .75rem;scroll-margin-top:0}.month-header{border-bottom:2px solid var(--card-cats-bg);letter-spacing:-.3px;z-index:10;background:var(--bg);justify-content:space-between;align-items:center;margin-bottom:.6rem;padding:.5rem .75rem;font-size:1rem;font-weight:800;display:flex;position:sticky;top:0}.month-header-left{align-items:center;gap:.5rem;display:flex}.month-header-arrows{gap:.25rem;display:flex}.month-header .month-count{background:var(--accent-soft);color:var(--accent);border-radius:50px;padding:.1rem .5rem;font-size:.68rem;font-weight:700}.month-section.hidden{display:none}.tournament-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;transition:grid-template-columns .3s;display:grid}.view-icon-grid{display:none}.view-icon-list,.view-list .view-icon-grid{display:block}.view-list .view-icon-list{display:none}.view-list .tournament-grid{grid-template-columns:1fr}.view-toggle-btn{background:var(--accent-soft);border-radius:var(--radius-sm);cursor:pointer;color:var(--accent);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.8rem;transition:background .2s,color .2s;display:flex}.view-toggle-btn svg{transition:transform .15s}.view-toggle-btn:hover{background:var(--accent);color:#fff}.view-toggle-btn:hover svg{transform:scale(1.18)}.card{background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;border:none;flex-direction:column;padding:.9rem 1rem;transition:transform .2s,box-shadow .2s,opacity .3s;display:flex;position:relative;overflow:hidden}a.card{color:inherit;text-decoration:none}a.card:focus{outline:2px solid var(--focus-color,#0096c7);outline-offset:2px}.card[data-tournament]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-link-inner{cursor:pointer;border-radius:var(--radius-sm);color:#0369a1;box-shadow:none;background:#3b82f626;border:none;align-items:center;gap:.2rem;padding:.1rem .4rem;font-size:.68rem;font-weight:600;transition:background .15s;display:inline-flex}.card-link-inner:hover{background:#3b82f647;text-decoration:underline}.card-link-inner svg{opacity:.7;flex-shrink:0;transition:transform .15s}.card-link-inner:hover svg{transform:translate(1px,-1px)scale(1.1)}.view-switching .card{animation:.35s viewFade}@keyframes viewFade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.card-bg-image{opacity:.5;pointer-events:none;z-index:0;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.card-bg-overlay{background:var(--card-bg);opacity:.5;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.card>:not(.card-bg-image):not(.card-bg-overlay):not(.cv2-badge){z-index:1;position:relative}[data-theme=dark] .card-bg-image{opacity:.3}.card:before{content:"";z-index:2;border-radius:var(--radius-sm) 0 0 var(--radius-sm);width:3px;height:100%;position:absolute;top:0;left:0}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card.hidden{display:none}.card[data-level=fip-platinum]:before{background:var(--platinum)}.card[data-level=fip-gold]:before{background:var(--gold)}.card[data-level=fip-silver]:before{background:var(--silver)}.card[data-level=fip-bronze]:before{background:var(--bronze)}.card[data-level=fip-promises]:before{background:var(--promises)}.card[data-level=national]:before{background:var(--national)}.card[data-level=regional]:before{background:var(--regional)}.card[data-level=c10k]:before{background:var(--c10k)}.card[data-level=c5k]:before{background:var(--c5k)}.card[data-level=c2k]:before{background:var(--c2k)}.card[data-level=veterans]:before{background:var(--veterans)}.card[data-level=masters]:before{background:var(--masters)}.card[data-level=international]:before{background:var(--international)}.card[data-level=club]:before{background:var(--club)}.card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.card-name-wrap{flex:1;min-width:0}.card-name{font-size:.95rem;font-weight:700;line-height:1.3}.card-subname{opacity:.8;word-break:break-word;margin-top:.1rem;font-size:.75rem;font-weight:400;line-height:1.3}.badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:50px;flex-shrink:0;padding:.15rem .5rem;font-size:.6rem;font-weight:700;display:inline-block}.badge-fip-platinum{color:var(--platinum)}.badge-fip-gold{color:#8b7000}.badge-fip-silver{color:#4a4e69}.badge-fip-bronze{color:#8b5e20}.badge-fip-promises{color:var(--promises)}.badge-national{color:var(--national)}.badge-regional{color:var(--regional)}.badge-c10k{color:var(--c10k)}.badge-c5k{color:var(--c5k)}.badge-c2k{color:var(--c2k)}.badge-veterans{color:var(--veterans)}.badge-masters{color:#9e6d00}[data-theme=dark] .badge-fip-platinum{color:#e0e0e0}[data-theme=dark] .badge-fip-gold{color:#ffd54f}[data-theme=dark] .badge-fip-silver{color:#c8caf0}[data-theme=dark] .badge-fip-bronze{color:#ffcc80}[data-theme=dark] .badge-national{color:#90caf9}[data-theme=dark] .badge-regional{color:#80cbc4}[data-theme=dark] .badge-c10k{color:#4db6ac}[data-theme=dark] .badge-veterans{color:#bcaaa4}[data-theme=dark] .badge-masters{color:#ffd54f}.badge-international{background:var(--international-bg);color:var(--international)}.badge-club{background:var(--club-bg);color:var(--club)}.badge-abs{color:#0277bd;background:#e0f2fe}.badge-vet{color:#5d4037;background:#efebe9}.badge-juv{color:#7b1fa2;background:#f3e5f5}.badge-nivel-1{color:#c62828;background:#fde8e8}.badge-nivel-2{color:#e65100;background:#fff3e0}.badge-nivel-3{color:#1565c0;background:#e3f2fd}.badge-nivel-4{color:#2e7d32;background:#e8f5e9}.badge-nivel-5{color:#4527a0;background:#ede7f6}.badge-nivel-6{color:#37474f;background:#e0e0e0}[data-theme=dark] .badge-nivel-1{color:#ef9a9a;background:#c628282e}[data-theme=dark] .badge-nivel-2{color:#ffcc80;background:#e651002e}[data-theme=dark] .badge-nivel-3{color:#90caf9;background:#1565c02e}[data-theme=dark] .badge-nivel-4{color:#a5d6a7;background:#2e7d322e}[data-theme=dark] .badge-nivel-5{color:#ce93d8;background:#4527a02e}[data-theme=dark] .badge-nivel-6{color:#b0bec5;background:#546e7a38}.badge-split{background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid;border-radius:50px;align-items:center;padding:0;display:inline-flex;overflow:hidden}.badge-prefix{background:currentColor;border-radius:0 50px 50px 0;padding:.15rem .4rem}.badge-prefix>span{color:#fff}.badge-value{padding:.1rem .3rem}.card-details{color:var(--text);flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.card-detail{align-items:center;gap:.3rem;display:flex}.card-detail svg{opacity:.6;flex-shrink:0;width:14px;height:14px}.fip-points{color:#e65100;border-radius:var(--radius-sm);letter-spacing:.2px;background:#fff3e0;padding:.1rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.card[data-level=fip-platinum] .fip-points{background:var(--platinum-bg);color:#a8b8c0}.card[data-level=fip-gold] .fip-points{background:var(--gold-bg);color:#8b7000}.card[data-level=fip-silver] .fip-points{background:var(--silver-bg);color:#4a4e69}.card[data-level=fip-bronze] .fip-points{background:var(--bronze-bg);color:#8b5e20}.card[data-level=c10k] .fip-points{background:var(--c10k-bg);color:var(--c10k)}.card[data-level=c5k] .fip-points{background:var(--c5k-bg);color:var(--c5k)}.card[data-level=c2k] .fip-points{background:var(--c2k-bg);color:var(--c2k)}.card[data-level=veterans] .fip-points{background:var(--veterans-bg);color:var(--veterans)}.card[data-level=masters] .fip-points{background:var(--masters-bg);color:#9e6d00}.card[data-level=national] .fip-points{background:var(--national-bg);color:var(--national)}.card[data-level=regional] .fip-points{background:var(--regional-bg);color:var(--regional)}.card[data-level=fip-promises] .fip-points{background:var(--promises-bg);color:var(--promises)}.card-cats{color:var(--text-light);background:var(--card-cats-bg);border-radius:var(--radius-sm);margin-top:.4rem;padding:.3rem .5rem;font-size:.7rem}.card-tags{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.card-tag{white-space:nowrap;color:var(--text);background:#00000012;border-radius:50px;align-items:center;gap:.2rem;padding:.2rem .55rem;font-size:.68rem;font-weight:600;display:inline-flex}[data-theme=dark] .card-tag{color:#ffffffd9;background:#ffffff40}.card-tag-prize{color:#047857}[data-theme=dark] .card-tag-prize{color:#34d399}.card-tag-sym{opacity:.7;font-weight:700}.card-tag-cats{color:var(--text-light);font-weight:500}[data-theme=dark] .card-tag-cats{color:#ffffff80}.card-tag-svg{opacity:.6;width:11px;height:11px}.card-links{flex-wrap:wrap;gap:.5rem;margin-top:auto;margin-bottom:.3rem;padding-top:1.5rem;display:flex}.card-links a,.card-link-inner{border-radius:var(--radius-sm);color:#0369a1;box-shadow:none;background:#3b82f626;border:none;align-items:center;gap:.2rem;padding:.1rem .4rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.card-links a:hover,.card-link-inner:hover{background:#3b82f647;text-decoration:underline}.card-links a svg,.card-link-inner svg{opacity:.7;flex-shrink:0}.card-zones{margin-top:.25rem}.card-zones-label{margin-right:.25rem;font-weight:600}.card-zones-links{flex-wrap:wrap;gap:.25rem .35rem;margin-top:.2rem;display:inline-flex}.card-zones-links a{border-radius:var(--radius-sm);background:#3b82f61f;padding:.1rem .4rem;font-size:.68rem;font-weight:500;text-decoration:none;transition:background .15s;display:inline-block}.card-zones-links a:hover{background:#3b82f640;text-decoration:underline}.card-footer-details{color:var(--text-light);flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.6rem;font-size:.8rem;display:flex}.card-status-bar{border-radius:0 0 var(--radius-sm) var(--radius-sm);letter-spacing:.3px;text-transform:uppercase;justify-content:center;align-items:center;min-height:20px;margin:.55rem -1rem -.9rem;font-size:.68rem;font-weight:600;display:flex}.card-status-live{background:var(--c10k);color:#fff}.card-status-finished{color:#fff9;letter-spacing:.5px;background:#ff000059}.card-reg-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:20px;flex-shrink:0;align-items:center;margin-left:.4rem;padding:2px 7px;font-size:.6rem;font-weight:700;display:inline-flex}.card-reg-badge--closed{color:#f87171;background:#ef444433}.card-reg-badge--open{color:#4ade80;background:#22c55e33}.card-detail--counts{flex-wrap:wrap;gap:.85rem!important}.card-reg-count{align-items:center;gap:4px;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.card-reg-count svg{flex-shrink:0;width:13px;height:13px}.card-reg-count--m{color:#60a5fa}.card-reg-count--f{color:#f472b6}.no-results{text-align:center;color:var(--text-light);padding:3rem;font-size:1.1rem;display:none}.popup-tournament{border-bottom:1px solid #eee;margin-bottom:.6rem;padding-bottom:.6rem}.popup-tournament:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.popup-name{color:#1a1a2e;margin-bottom:.2rem;font-size:.85rem;font-weight:700}.popup-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;margin-bottom:.25rem;padding:.1rem .4rem;font-size:.6rem;font-weight:700;display:inline-block}.popup-detail{color:#6b7280;font-size:.75rem;line-height:1.4}.popup-prize{color:#047857;font-weight:600}.popup-scroll{max-height:none;padding-right:.15rem;overflow:visible}.popup-cards{flex-direction:column;gap:.65rem;min-width:320px;display:flex}.leaflet-popup-content .popup-card{margin:0}.leaflet-popup-content .popup-card:hover{transform:none}.leaflet-popup-content{min-width:340px;max-width:420px;overflow:visible}.theme-toggle{background:var(--card-bg);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.theme-toggle:hover{box-shadow:var(--shadow-md)}.theme-toggle svg{width:20px;height:20px;fill:var(--text);transition:transform .2s}.theme-toggle:hover svg{transform:scale(1.18)rotate(15deg)}.calc-layout{max-width:100%;margin:0;padding:1rem 1.5rem}.calc-card{background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:none;padding:1rem}.calc-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.calc-field{flex-direction:column;gap:.35rem;display:flex}.calc-label{color:var(--text-light);font-size:.8rem;font-weight:600}.calc-result{border-radius:var(--radius-sm);background:var(--card-cats-bg);border:none;margin-top:.8rem;padding:.7rem .9rem}.calc-value{color:var(--accent);font-size:1.5rem;font-weight:800}.source-toggle--wide{max-width:none;margin-bottom:1rem}.calc-table-wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.calc-table{border-collapse:collapse;width:100%;min-width:560px}.calc-table th,.calc-table td{border:1px solid var(--border);text-align:center;padding:.6rem .7rem;font-size:.86rem}.calc-table th:first-child,.calc-table td:first-child{text-align:left;z-index:1;background:var(--card-bg);min-width:150px;font-weight:600;position:sticky;left:0;box-shadow:2px 0 4px #0000000f}.calc-table thead th{background:var(--card-cats-bg);color:var(--text)}.calc-table thead th:first-child{background:var(--card-cats-bg);z-index:2}.rankings-layout{max-width:100%}.rankings-table{min-width:1080px}.rankings-table th,.rankings-table td{white-space:nowrap}.rankings-table th:first-child,.rankings-table td:first-child{text-align:right;font-variant-numeric:tabular-nums;width:6ch;min-width:6ch;max-width:6ch}.rankings-table th:nth-child(4),.rankings-table td:nth-child(4),.rankings-table th:nth-child(6),.rankings-table td:nth-child(6){text-align:left}.rankings-table tbody tr:nth-child(2n){background:var(--card-cats-bg)}.rankings-table tbody tr:hover{background:var(--section-hover)}.rankings-table a:not(.player-link):not(.player-licence-link),.rankings-table a:not(.player-link):not(.player-licence-link):visited,.rankings-table a:not(.player-link):not(.player-licence-link):hover,.rankings-table a:not(.player-link):not(.player-licence-link):focus{color:inherit}.rankings-table th:last-child,.rankings-table td:last-child{display:none}.rankings-pagination{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.9rem;display:flex}.rankings-page-info{color:var(--text-light);text-align:center;min-width:95px;font-size:.82rem}.rankings-filters{grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(160px,1fr));gap:.6rem;margin-bottom:.9rem;display:grid}.rankings-filters #rankingsSource{max-width:none;display:flex}.rankings-filters #rankingsSearch{grid-column:1}.rankings-filters>:not(#rankingsSource){min-width:0}.searchable-select{min-width:0;position:relative}.searchable-select>input{background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding-right:2rem}[data-theme=light] .searchable-select>input{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%231a1a2e\"/></svg>")}[data-theme=dark] .searchable-select>input{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%23f1f5f9\"/></svg>")}.searchable-select-dropdown{z-index:100;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;margin-top:2px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.searchable-select-dropdown.visible{display:block}.searchable-select-option{cursor:pointer;color:var(--text);padding:.4rem .75rem;font-size:.85rem}.searchable-select-option:hover{background:var(--accent-soft)}.searchable-select-option.selected{background:var(--accent-soft);font-weight:600}.searchable-select-count{color:var(--text-muted,var(--text));vertical-align:middle;background:#00000012;border-radius:50px;margin-left:.35rem;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-block}.searchable-select--multi{position:relative}.searchable-select-tags{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:text;background-position:right 10px center;background-repeat:no-repeat;background-size:20px;flex-wrap:wrap;align-items:center;gap:4px;min-height:2.4rem;padding:4px 2rem 4px 8px;display:flex}[data-theme=light] .searchable-select-tags{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%231a1a2e\"/></svg>")}[data-theme=dark] .searchable-select-tags{background-image:url("data:image/svg+xml;utf8,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 9L12 15L18 9\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke=\"%23f1f5f9\"/></svg>")}.searchable-select--multi .searchable-select-tags>input.search-input{background:0 0;border:none;outline:none;flex:60px;min-width:60px;padding:2px 0;font-size:.85rem}.searchable-select-tag{background:var(--accent-soft);color:var(--text);white-space:nowrap;border-radius:4px;align-items:center;gap:2px;padding:2px 6px;font-size:.78rem;font-weight:500;line-height:1.4;display:inline-flex}.searchable-select-tag-remove{all:unset;cursor:pointer;opacity:.6;padding:0 2px;font-size:.9rem;line-height:1;transition:opacity .15s}.searchable-select-tag-remove:hover{opacity:1}.rank-fip-filters{grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(180px,1fr))}.rank-fip-filters #rankingsSource{grid-column:1/-1}.source-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);max-width:280px;display:inline-flex;overflow:hidden}.source-toggle-btn{cursor:pointer;background:var(--bg);color:var(--text-light);border:none;flex:1;padding:.45rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:background .15s,color .15s}.source-toggle-btn:not(:last-child){border-right:1px solid var(--border)}.source-toggle-btn:hover{background:var(--accent-soft)}.source-toggle-btn.active{background:var(--accent);color:#fff}.rank-fip-layout{max-width:900px;margin:0 auto}.rank-fip-table{min-width:600px}.rank-fip-table th,.rank-fip-table td{white-space:nowrap}.rank-fip-table th:first-child,.rank-fip-table td:first-child{text-align:center;font-variant-numeric:tabular-nums;width:6ch;min-width:6ch;max-width:6ch}.rank-fip-table th:nth-child(2),.rank-fip-table td:nth-child(2){text-align:left}.rank-fip-table tbody tr:nth-child(2n){background:var(--card-cats-bg)}.rank-fip-table tbody tr:hover{background:var(--section-hover)}.rank-fip-photo{border:2px solid var(--border);object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.rank-fip-name-cell{align-items:center;gap:.5rem;display:inline-flex}.rank-fip-flag{vertical-align:middle;margin-right:.3em;font-size:1.15em}@media (width<=600px){.nav-search-wrap{max-width:100%;margin:0 .4rem}.nav-profile-chip{border-radius:50%;justify-content:center;width:36px;height:36px;padding:.2rem}.nav-profile-info{display:none}.nav-hamburger{display:flex}.nav-links{-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#0096c7,#00b4a0);border-bottom:2px solid #ffffff4d;flex-direction:column;gap:.15rem;padding:.5rem 1rem 1rem;animation:.25s ease-out nav-slide-down;display:none;position:absolute;top:56px;left:0;right:0}.nav-links.open{display:flex}@keyframes nav-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-link{border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.9rem}.nav-link-icon svg{width:18px;height:18px}.navbar-brand-text{font-size:.95rem}.tournament-grid{grid-template-columns:1fr}.filters-toggle-btn{background:var(--card-bg);width:100%;color:var(--text);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;display:flex}.filters-toggle-btn:hover{color:var(--text)}.filters-toggle-btn.open,.filters-toggle-btn.open:hover{background:var(--accent);color:#fff}.filters-toggle-btn.open .filters-toggle-chevron{transform:rotate(180deg)}.filters-top{opacity:0;flex-direction:column;max-height:0;padding:0 .75rem;transition:max-height .35s,opacity .25s,padding .35s;overflow:hidden}.filters-top.filters-open{opacity:1;max-height:500px;padding:.5rem .75rem}.filters-section--inline,.filters-section--dates,.filters-section--cats{width:100%}.filters-section--view,.data-updated{display:none}.data-updated-mobile{display:block}[data-page=calendar] .page-content{height:auto;overflow:visible}[data-page=points-calculator] .page-content{padding-left:0;padding-right:0}.container{flex:none}.data-updated{margin-right:0;padding:.25rem .75rem 0}.main-row{flex-direction:column;flex:none;height:auto;padding:0;overflow:visible}.map-toggle-bar{background:var(--card-bg);width:100%;color:var(--text);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;display:flex}.map-toggle-bar:hover{color:var(--text)}.map-toggle-bar.open,.map-toggle-bar.open:hover{background:var(--accent);color:#fff}.map-toggle-bar.open .map-toggle-bar-chevron{transform:rotate(180deg)}.map-column{opacity:0;flex-shrink:0;max-height:0;transition:max-height .35s,opacity .25s;overflow:hidden;width:100%!important}.map-column.map-visible-mobile{opacity:1;max-height:300px}.map-column.map-visible-mobile .map-section,.map-column.map-visible-mobile #mapContainer{height:250px}.map-column.map-hidden{opacity:0;max-height:0;width:100%!important}.map-action-btn{display:none}.map-reopen-btn{display:none!important}.tournaments-column{flex:none;overflow:visible}.tournaments-scroll{height:auto;overflow:visible}.theme-toggle{width:40px;height:40px;bottom:.8rem;right:.8rem}.calc-grid{grid-template-columns:1fr}.rankings-filters{grid-template-columns:1fr 1fr}.rankings-filters #rankingsSource,.rankings-filters #rankingsSearch,.rankings-filters #rankingsFilterAge{grid-column:1/-1}.profile-detail-grid{grid-template-columns:1fr}}.profile-layout{max-width:720px;margin:0 auto}.profile-card{margin-bottom:1.5rem}.profile-section-heading-row{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.profile-section-title{margin-bottom:0;font-size:1.1rem;font-weight:700}.profile-heading-actions{align-items:center;gap:.5rem;display:flex}.profile-share-btn{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .2s,color .2s;display:inline-flex}.profile-share-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.profile-share-btn svg{fill:currentColor;width:17px;height:17px;transition:transform .15s}.profile-share-btn:hover svg{transform:scale(1.18)}.profile-share-btn.copied{color:var(--c5k);box-shadow:0 0 0 2px var(--c5k-bg)}.profile-subtitle{color:var(--text-light);margin-bottom:.6rem;font-size:.9rem;font-weight:600}.profile-subtitle--spaced{margin-top:1rem}.profile-source-row{max-width:280px;margin-bottom:.8rem}.profile-search-wrapper{margin-bottom:.8rem;position:relative}.profile-results{background:var(--card-bg);border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:100;max-height:320px;box-shadow:var(--shadow-md);border:none;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.profile-result-item{cursor:pointer;border-bottom:1px solid var(--border);flex-direction:column;gap:.1rem;padding:.55rem .9rem;transition:background .15s;display:flex}.profile-result-item:last-child{border-bottom:none}.profile-result-item:hover{background:var(--section-hover)}.profile-result-item.profile-no-result{cursor:default;color:var(--text-light);font-style:italic}.profile-result-item.profile-no-result:hover{background:0 0}.profile-result-name{font-size:.88rem;font-weight:600}.profile-result-meta{color:var(--text-light);font-size:.75rem}.profile-info{margin-bottom:.8rem}.profile-header-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-image-wrapper{flex-shrink:0}.profile-image{border-radius:var(--radius-sm);object-fit:cover;width:110px;height:110px;box-shadow:var(--shadow-sm)}.profile-header-details{flex-direction:column;gap:.2rem;min-width:0;display:flex}.profile-header-name{color:var(--text);font-size:1.2rem;font-weight:700;line-height:1.2}.profile-header-club{color:var(--text-light);font-size:.85rem}.profile-detail-grid{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.8rem;display:grid}.profile-detail{flex-direction:column;gap:.15rem;display:flex}.profile-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);font-size:.72rem;font-weight:600}.profile-value{font-size:.95rem;font-weight:500}.profile-highlight{color:var(--accent-hover);font-weight:700}.profile-levels{margin-top:1rem}.profile-levels-table-wrapper{overflow-x:auto}.profile-levels-table{table-layout:fixed;width:100%;min-width:0}.profile-levels-table th,.profile-levels-table td{text-align:center}.profile-levels-table th:first-child,.profile-levels-table td:first-child{text-align:center;width:15%;min-width:0;box-shadow:none;font-weight:600;position:static}.profile-levels-table th:nth-child(2),.profile-levels-table td:nth-child(2),.profile-levels-table th:nth-child(3),.profile-levels-table td:nth-child(3){width:30%}.profile-levels-table th:last-child,.profile-levels-table td:last-child{width:25%}@media (width<=480px){.profile-levels-table th:first-child,.profile-levels-table td:first-child{width:18%}}.profile-level-reached{color:#2e7d32;font-weight:600}.profile-level-needed{color:var(--text-light)}.profile-level-row-reached td{color:#2e7d32;background:#2e7d321f;font-weight:600}.profile-level-row-reached td:first-child{background:#2e7d321f}.profile-summary{margin-top:1rem}.profile-playable-levels{flex-wrap:wrap;gap:.5rem;display:flex}.profile-playable-badge{border-radius:var(--radius-sm);background:var(--accent);color:#fff;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.profile-playable-none{color:var(--national);padding:.4rem 0;font-size:.88rem;font-weight:500}.tournaments-layout{max-width:100%}.tournaments-filters{grid-template-columns:1fr 1fr auto;align-items:end;gap:.6rem;margin-bottom:1rem;display:grid}.tournaments-section-title{margin-bottom:.6rem;font-size:1rem;font-weight:700}.tournaments-section-title--dropdown{color:var(--regional);margin-top:1.5rem}.inscr-table-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.inscr-table-header-actions{flex-shrink:0;gap:.5rem;display:flex}.tournaments-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:790px}.tournaments-table th,.tournaments-table td{border:1px solid var(--border);text-align:center;white-space:nowrap;padding:.6rem .7rem;font-size:.86rem}.tournaments-table thead th{background:var(--card-cats-bg);color:var(--text)}.tournaments-table thead th:first-child{z-index:2;white-space:normal;width:90px;max-width:90px;position:sticky;left:0}.tournaments-table thead th:nth-child(2){white-space:normal;width:100px;max-width:100px}.tournaments-table td[rowspan]{vertical-align:middle;white-space:normal}.tournaments-table td[rowspan]:first-child{width:55px;max-width:55px}.tournaments-table td[rowspan]:nth-child(2){white-space:normal;width:100px;max-width:100px}.tournaments-table tbody tr:nth-child(4n+3),.tournaments-table tbody tr:nth-child(4n+4){background:var(--card-cats-bg)}.tournaments-table tbody td:first-child{text-align:center;z-index:1;background:var(--card-bg);width:55px;min-width:45px;max-width:55px;font-weight:600;position:sticky;left:0;box-shadow:2px 0 4px #0000000f}.tournaments-table tbody tr.pair-row-second td:first-child{min-width:auto;box-shadow:none;background:0 0;position:static}.tournaments-table tbody tr:nth-child(4n+3) td:first-child,.tournaments-table tbody tr:nth-child(4n+4) td:first-child{background:var(--card-cats-bg)}.tournaments-table tbody tr.pair-row-first:hover,.tournaments-table tbody tr.pair-row-first:hover+tr.pair-row-second,.tournaments-table tbody tr.pair-row-first:hover td:first-child,.tournaments-table tbody tr.pair-row-first:hover+tr.pair-row-second td:first-child,.tournaments-table tbody tr.pair-row-second:hover,.tournaments-table tbody tr.pair-row-second:hover td:first-child{background:var(--section-hover)}.tournaments-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tournaments-sortable:hover{color:var(--accent)}.rank-status{white-space:normal;text-align:center;margin-top:.25rem;font-size:.65rem;font-weight:700;line-height:1.2;display:block}.rank-quadro{color:#2e7d32}.rank-possible-qualy{color:#f9a825}.rank-qualy{color:#e65100}[data-theme=dark] .rank-quadro{color:#66bb6a}[data-theme=dark] .rank-possible-qualy{color:#fdd835}[data-theme=dark] .rank-qualy{color:#ff9800}.tournaments-notice{margin-top:.3rem}.tournaments-notice a{color:inherit;text-decoration:underline}.tournaments-share-btn{background:var(--card-bg);width:32px;height:32px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-self:end;align-items:center;transition:transform .15s,box-shadow .2s,color .2s;display:inline-flex}.tournaments-share-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.tournaments-share-btn svg{fill:currentColor;width:17px;height:17px;transition:transform .15s}.tournaments-share-btn:hover svg{transform:scale(1.18)}.tournaments-share-btn.copied{color:var(--c5k);box-shadow:0 0 0 2px var(--c5k-bg)}@media (width<=600px){.tournaments-filters{grid-template-columns:1fr auto}.tournaments-filters>:first-child{grid-column:1/-1;width:100%}}.tournaments-top-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tournaments-top-filters .search-input-wrapper{flex:1;min-width:200px}.inscr-toggle{cursor:pointer;color:var(--text-light);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:inline-flex}.inscr-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.inscr-toggle:hover{color:var(--text)}.inscr-split{align-items:flex-start;gap:1.25rem;display:flex}.inscr-left-panel{background:0 0;flex-direction:column;flex:0 0 420px;gap:.75rem;max-height:calc(100vh - 72px);padding:0;transition:top .25s,max-height .25s;display:flex;position:sticky;top:64px;overflow-y:auto}body:has(.navbar.navbar-hidden) .inscr-left-panel{max-height:calc(100vh - 16px);top:8px}.inscr-right-panel{background:0 0;flex:1;min-width:0;padding:0}.inscr-right-header{flex-direction:column;gap:.15rem;margin-bottom:1rem;display:flex}.inscr-right-header .filters-title{font-size:1.05rem;font-weight:800}.inscr-right-header-meta{flex-direction:column;gap:.1rem;display:flex}.inscr-right-header-meta .filters-hint{margin:0;font-size:.75rem;line-height:1.4}.inscr-right-header-meta .tournaments-notice{color:var(--text-light);opacity:.8;font-size:.72rem}.inscr-map-wrap{border-radius:var(--radius-sm);border:1px solid var(--border);flex-shrink:0;overflow:hidden}.inscr-map-wrap #mapContainer{flex-shrink:0;width:100%;height:260px}.inscr-empty-state{color:var(--text-light);text-align:center;opacity:.7;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:3rem 1rem;font-size:.92rem;display:flex}.inscr-back-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.5rem 0;font-size:.9rem;font-weight:600;display:none}.inscr-back-btn:hover{opacity:.75}.inscr-empty-state[hidden]{display:none}.inscr-page-card.page-card{padding-left:1rem;padding-right:1rem}.inscr-left-panel .month-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:5;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;position:sticky;top:0}.inscr-left-panel .month-header .month-count{padding:.08rem .4rem;font-size:.62rem}.inscr-tournament-card--active{border-color:var(--accent);box-shadow:0 0 0 2px #0096c740}.inscr-month-section{margin-bottom:.35rem}.inscr-tournament-grid{flex-direction:column;gap:.35rem;padding-bottom:.35rem;display:flex}.inscr-tournament-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s,transform .1s,opacity .2s;position:relative}.inscr-tournament-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.inscr-tournament-card--enrolled{border-left:3px solid var(--accent)}.inscr-card-name{color:var(--text);margin-bottom:.15rem;font-size:.84rem;font-weight:700;line-height:1.25}.inscr-card-details{flex-wrap:wrap;gap:.6rem;margin-bottom:.1rem;display:flex}.inscr-card-detail{color:var(--text-light);align-items:center;gap:.2rem;font-size:.73rem;display:inline-flex}.inscr-card-detail svg{width:14px;height:14px;stroke:var(--text-light);flex-shrink:0}.inscr-card-end{color:var(--text-light);margin-top:.15rem;font-size:.72rem}.inscr-card-end--closed{color:var(--regional);font-weight:600}.inscr-closed-tag{text-transform:uppercase;letter-spacing:.03em;background:var(--regional-bg,#ff3b301a);color:var(--regional,#d32f2f);white-space:nowrap;border-radius:50px;margin-top:.15rem;padding:.1rem .45rem;font-size:.62rem;font-weight:700;display:inline-block}.inscr-enrolled-badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .45rem;font-size:.65rem;font-weight:700;position:absolute;top:.5rem;right:.65rem}.inscr-pairs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.inscr-pairs-header-left{align-items:center;gap:.6rem;min-width:0;display:flex}.inscr-pairs-header-left .tournaments-section-title{margin-bottom:0}.inscr-pairs-header-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.player-link{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.player-licence{color:var(--text-light);font-size:.78em;font-weight:400}.tournaments-table tr.pair-row-first td:nth-child(3),.tournaments-table tr.pair-row-second td:first-child{text-align:left;white-space:normal;min-width:260px}.tournaments-table tr.pair-row-first td:nth-child(3) .player-link,.tournaments-table tr.pair-row-second td:first-child .player-link{white-space:normal}.tournaments-table tr.pair-row-first td:nth-child(4),.tournaments-table tr.pair-row-second td:nth-child(2){width:92px;max-width:92px}.tournaments-table tr.pair-row-first td:nth-child(5),.tournaments-table tr.pair-row-second td:nth-child(3){width:55px;max-width:55px}.tournaments-table tr.pair-row-first td:nth-child(6),.tournaments-table tr.pair-row-second td:nth-child(4){white-space:nowrap;text-overflow:ellipsis;width:90px;max-width:90px;overflow:hidden}@media (width<=900px){.tournaments-table tr.pair-row-first td:nth-child(3),.tournaments-table tr.pair-row-second td:first-child{width:140px;max-width:140px}.tournaments-table tr.pair-row-first td:nth-child(4),.tournaments-table tr.pair-row-second td:nth-child(2){width:70px;max-width:70px}.tournaments-table tr.pair-row-first td:nth-child(5),.tournaments-table tr.pair-row-second td:nth-child(3){width:60px;max-width:60px}.tournaments-table tr.pair-row-first td:nth-child(6),.tournaments-table tr.pair-row-second td:nth-child(4){width:65px;max-width:65px}}.inscr-popup{max-height:200px;overflow-y:auto}.inscr-popup-item{cursor:pointer;border-radius:4px;padding:.4rem .5rem;font-size:.82rem;line-height:1.35;transition:background .15s}.inscr-popup-item:hover{background:#0000000f}.inscr-popup-item+.inscr-popup-item{border-top:1px solid #00000014}.tournaments-table tbody tr.pair-highlight,.tournaments-table tbody tr.pair-highlight:hover,.tournaments-table tbody tr.pair-row-first:hover+tr.pair-highlight,.tournaments-table tbody tr.pair-highlight td,.tournaments-table tbody tr.pair-highlight:hover td,.tournaments-table tbody tr.pair-row-first:hover+tr.pair-highlight td{background:#0096c738!important}[data-theme=dark] .tournaments-table tbody tr.pair-highlight,[data-theme=dark] .tournaments-table tbody tr.pair-highlight:hover,[data-theme=dark] .tournaments-table tbody tr.pair-row-first:hover+tr.pair-highlight,[data-theme=dark] .tournaments-table tbody tr.pair-highlight td,[data-theme=dark] .tournaments-table tbody tr.pair-highlight:hover td,[data-theme=dark] .tournaments-table tbody tr.pair-row-first:hover+tr.pair-highlight td{background:#0096c74d!important}@media (width<=900px){.inscr-table-header{flex-wrap:wrap}.inscr-table-header-actions{width:100%}.tournaments-table{min-width:480px}.tournaments-table th,.tournaments-table td{padding:.4rem .45rem;font-size:.78rem}.tournaments-table thead th:first-child,.tournaments-table tbody td:first-child{width:55px;min-width:55px;max-width:55px;padding:.4rem .3rem;font-size:.72rem}.tournaments-table thead th:nth-child(2),.tournaments-table td[rowspan]:nth-child(2){width:78px;max-width:78px;padding:.4rem .3rem;font-size:.72rem}.rank-status{font-size:.58rem}.inscr-split{flex-direction:column}.inscr-left-panel{flex:none;width:100%;max-height:none;position:static;overflow-y:visible}.inscr-right-panel{width:100%;display:none}.inscr-split--detail-open .inscr-left-panel{display:none}.inscr-split--detail-open .inscr-right-panel{width:100%;display:block}.inscr-back-btn{display:flex}.inscr-map-wrap{display:none}.inscr-map-wrap--open{display:block}.inscr-map-wrap--open #mapContainer{height:220px}.inscr-pairs-header{flex-direction:column;align-items:flex-start}.inscr-pairs-header-right{justify-content:flex-start;width:100%}.pairs-category-select,.pairs-filter-bar>.searchable-select{flex:0 0 50%;min-width:0;max-width:50%;font-size:.8rem}.pairs-search-wrap{flex:1 1 0;min-width:0}.pairs-actions-wrap{flex:0 0 100%;order:10}.search-input-wrapper{min-width:0;flex:auto!important}#torndCategorySelect{min-width:80px;flex:0 auto!important}#scrollToMyPairBtn{flex:none;padding:.35rem .5rem;font-size:.75rem}.inscr-left-panel .month-header{background:0 0;position:static}.inscr-list-column{flex:none;height:auto;overflow-y:visible}}@media (width>=901px){[data-page=tournaments] .map-toggle-bar{display:none}.inscr-map-wrap{display:block!important}.inscr-left-panel{overflow-y:hidden}.inscr-list-column{flex:1;min-height:0;overflow-y:auto}.inscr-left-panel .inscr-tournament-grid{gap:.28rem}.inscr-left-panel .inscr-month-section{margin-bottom:.28rem}.inscr-left-panel .inscr-tournament-card{padding:.4rem .6rem}.inscr-left-panel .inscr-card-name{margin-bottom:.1rem;font-size:.7rem}.inscr-left-panel .inscr-card-detail{font-size:.6rem}.inscr-left-panel .inscr-card-detail svg{width:11px;height:11px}.inscr-left-panel .inscr-card-end{font-size:.6rem}.inscr-left-panel .inscr-card-tags .card-tag{padding:.08rem .32rem;font-size:.58rem}.inscr-left-panel .inscr-card-tags{margin-top:.2rem}}.period-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.period-filter-select{flex:1;width:auto;min-width:120px}.period-filter-separator{color:var(--text-light);font-size:.8rem}.filters-header--tight{margin-bottom:.9rem}.filters-hint--flush{margin:.25rem 0 0}.filters-hint--flush-bottom{margin:0 0 .3rem}.filters-hint--flush-bottom-lg{margin:0 0 .6rem}.calc-grid--spaced{margin-bottom:1rem}.site-footer{text-align:center;color:var(--text-light);border-top:1px solid var(--border);margin-top:1.5rem;padding:1.2rem 1rem;font-size:.7rem;line-height:1.6}.site-footer a{color:var(--text-light);font-weight:500;text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}.site-footer .footer-built-by{margin-top:.25rem}.about-layout{flex-direction:column;gap:1rem;max-width:700px;margin:0 auto;display:flex}.about-card{flex-direction:row;align-items:flex-start;gap:1.25rem;padding:1.5rem;display:flex}.about-card-icon{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:flex}.about-card-icon svg{width:22px;height:22px}.about-card-icon--credits{background:#e25555}.about-credits{text-align:center;color:var(--text-light);opacity:.6;margin-top:.5rem;font-size:.78rem}.about-credits a{color:var(--text-light);text-decoration:underline;-webkit-text-decoration-color:var(--text-light);text-decoration-color:var(--text-light);text-underline-offset:2px}.about-credits a:hover{color:var(--text)}.about-card-body{flex:1;min-width:0}.about-title{margin-bottom:.35rem;font-size:1.05rem;font-weight:700}.about-text{color:var(--text-light);margin-bottom:.75rem;font-size:.88rem;line-height:1.6}:root{--skeleton-bg:#e2e8f0;--skeleton-shimmer:#cbd5e1;--level-fip-bg:linear-gradient(135deg, #2d3436 0%, #000 100%);--level-1-color:#e63946;--level-2-color:#fca311;--level-3-color:#00b4d8;--level-4-color:#06d6a0;--level-5-color:#8d99ae;--level-6-color:#adb5bd}[data-theme=dark]{--skeleton-bg:#1e293b;--skeleton-shimmer:#334155;--level-fip-bg:linear-gradient(135deg, gold 0%, #b8860b 100%)}.skeleton-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;width:100%;display:grid}.skeleton-card{background:var(--skeleton-bg);border-radius:var(--radius);height:120px;position:relative;overflow:hidden}.skeleton-card:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer) 50%, transparent 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card.ui-level-fip{background:var(--level-fip-bg);color:#fff;border-left:5px solid gold}.card.ui-level-1{border-left:5px solid var(--level-1-color)}.card.ui-level-2{border-left:5px solid var(--level-2-color)}.card.ui-level-3{border-left:5px solid var(--level-3-color)}.card.ui-level-4{border-left:5px solid var(--level-4-color)}.card.ui-level-5{border-left:5px solid var(--level-5-color)}.card.ui-level-6{border-left:5px solid var(--level-6-color)}.card-status-spacer{flex:1;min-height:.6rem}.card-calendar:before{display:none}.card-calendar .card-bg-image{opacity:1;filter:blur(1px)brightness(.35)}.card-calendar .card-bg-overlay{background:#8ffaf999}.card-calendar .card-tag,.card-calendar .badge:not(.badge-split){border-radius:50px}.card-calendar .card-tags .card-tag{color:#ffffffe6;background:#ffffff24}.card-calendar .card-tags .badge-fip-gold{color:#ffd54f}.card-calendar .card-tags .badge-fip-silver{color:#c8caf0}.card-calendar .card-tags .badge-fip-bronze{color:#ffcc80}.card-calendar .card-tags .badge-national{color:#90caf9}.card-calendar .card-tags .badge-regional{color:#80cbc4}.card-calendar .card-tags .badge-c10k{color:#4db6ac}.card-calendar .card-tags .badge-veterans{color:#bcaaa4}.card-calendar .card-tags .card-tag-prize{color:#34d399}.card-calendar .card-tags .card-tag-cats{color:#ffffff8c}.card-calendar{gap:0;padding:1rem}.card-calendar .cv2-breadcrumb,.card-calendar .cv2-title,.card-calendar .cv2-label,.card-calendar .cv2-value-text,.card-calendar .cv2-value{color:#fffffff2}.card-calendar .cv2-label{color:#ffffff8c}.card-calendar .cv2-icon-box{color:#fff;background:#ffffff26}.card-calendar .cv2-info,.card-calendar .cv2-reg-card,.card-calendar .cv2-stat{background:#ffffff40}.card-calendar .cv2-stat-label{color:#fff9}.card-calendar .card-tags .card-tag,.card-calendar .card-tags .badge:not(.badge-split){color:#ffffffd9;background:#ffffff1f;border-color:#fff3}.card-calendar .btn-sm{color:#fff;background:#fff3;border-color:#ffffff40}.card-calendar .btn-sm:hover{background:#ffffff40;border-color:#ffffff80}.card-calendar .card-status-bar{margin:.55rem -1rem -1rem}.cv2-header-row{align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.cv2-header-row .cv2-breadcrumb{flex:1;min-width:0;margin-bottom:0}.cv2-badge{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.cv2-breadcrumb{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.15rem;font-size:.62rem;font-weight:700;line-height:1.4;overflow:hidden}.cv2-title{color:var(--text);margin:0 0 .8rem;font-size:.97rem;font-weight:700;line-height:1.25}.cv2-row{gap:.6rem;min-height:0;margin-bottom:.6rem;display:flex}.cv2-info{background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:var(--radius-sm);flex-direction:column;flex:50%;gap:.55rem;padding:.6rem .75rem;display:flex}.cv2-info-item{flex-direction:row;align-items:center;gap:.5rem;display:flex}.cv2-info-text{flex-direction:column;gap:.05rem;display:flex}.cv2-value-text{color:var(--text);font-size:.82rem;font-weight:500}.cv2-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);font-size:.55rem;font-weight:700}.cv2-value{color:var(--text);align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;display:flex}.cv2-icon-box{border-radius:var(--radius-sm);background:var(--accent-soft);width:26px;height:26px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cv2-icon-box svg{width:13px;height:13px}.cv2-reg-card{background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:var(--radius-sm);flex-direction:column;flex:50%;align-self:stretch;align-items:center;gap:.35rem;min-width:0;padding:.6rem .75rem;display:flex}.cv2-reg-card .cv2-reg-status{margin-top:auto;margin-bottom:auto}.cv2-reg-status{letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:.55rem;font-weight:700;display:inline-flex}.cv2-reg-status:before{content:"";border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.cv2-reg-status--open{color:#4ade80;background:#4ade801f}.cv2-reg-status--open:before{background:#4ade80;animation:1.8s ease-in-out infinite reg-dot-pulse}@keyframes reg-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(2)}}.cv2-reg-status--closed{color:#f87171;background:#f871711f}.cv2-reg-status--closed:before{background:#f87171}.cv2-stats{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem;display:grid}.cv2-stat{background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.55rem .7rem;display:flex}.cv2-stat svg{opacity:.7;flex-shrink:0;width:14px;height:14px}.cv2-stat-label{color:var(--text-light);flex:1;min-width:0;font-size:.75rem}.cv2-stat-count{font-size:1.1rem;font-weight:800;line-height:1}.cv2-stat--m{background:#60a5fa26}.cv2-stat--m .cv2-stat-count{color:#60a5fa}.cv2-stat--m svg{color:#60a5fa;opacity:1}.cv2-stat--f{background:#f472b626}.cv2-stat--f .cv2-stat-count{color:#f472b6}.cv2-stat--f svg{color:#f472b6;opacity:1}.cv2-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:auto;padding-top:.65rem;display:flex}.cv2-enrolled-chip{letter-spacing:.2px;color:#fff;border-radius:var(--radius-sm);white-space:nowrap;background:#16a34a;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.6rem;font-weight:700;display:inline-flex}.card-calendar{cursor:pointer}.card-calendar.card-selected{outline:2.5px solid var(--accent);outline-offset:-2.5px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent), var(--shadow-sm)}.inscr-card-top{justify-content:space-between;align-items:flex-start;gap:.4rem;margin-bottom:.25rem;display:flex}.inscr-card-top .inscr-card-name{margin-bottom:0}.inscr-card-badges{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.inscr-card-badges .inscr-enrolled-badge{font-size:.62rem;position:static}.inscr-card-tags{margin-top:.3rem;margin-bottom:.1rem}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}.month-section{view-transition-name:month-fade}.rank-change{border-radius:50px;align-items:center;gap:.2rem;padding:.1rem .4rem;font-size:.78rem;font-weight:700;display:inline-flex}.rank-change--up{color:#2e7d32;background:#e8f5e9}.rank-change--down{color:#c62828;background:#fde8e8}.rank-change--neutral{color:var(--text-light);font-size:.85rem;font-weight:400}[data-theme=dark] .rank-change--up{color:#66bb6a;background:#66bb6a26}[data-theme=dark] .rank-change--down{color:#ef5350;background:#ef535026}.rankings-table .player-link{color:var(--accent);font-weight:600}.rankings-table .player-licence{color:var(--text-light)}.rankings-layout{padding-left:6rem;padding-right:6rem}@media (width<=600px){.rankings-layout{padding-left:.75rem;padding-right:.75rem}.rankings-table{min-width:700px}.rankings-table th,.rankings-table td{padding:.4rem .35rem;font-size:.8rem}}.rankings-table th,.rankings-table td{text-align:center!important}.rankings-table th:nth-child(3),.rankings-table td:nth-child(3){word-break:break-word;max-width:200px;text-align:left!important;white-space:normal!important}.rankings-table th:nth-child(5),.rankings-table td:nth-child(5){text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.pairs-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-container:has(.pairs-filter-bar){margin-bottom:.75rem}.pairs-category-select{flex:0 0 50%;min-width:140px;max-width:50%}.pairs-search-wrap{flex:1;min-width:0}.pairs-search-wrap[hidden],.pairs-actions-wrap[hidden]{display:none}.pairs-actions-wrap{flex-shrink:0;gap:.4rem;display:flex}.inscr-map-wrap{position:relative}.player-licence-link{color:var(--text-light);align-items:center;gap:.15rem;font-size:.78em;font-weight:400;text-decoration:none;transition:color .15s;display:inline-flex}.player-licence-link:visited{color:var(--text-light)}.player-licence-link:hover{color:var(--accent);text-decoration:underline}.player-link{color:var(--accent);font-weight:600;text-decoration:none}.player-link:visited{color:var(--accent)}.player-link:hover{text-decoration:underline}.leaflet-popup-content:has(.inscr-popup){margin:0}.inscr-popup-item{padding:.25rem .35rem!important;font-size:.8rem!important}.no-results{text-align:center;background:var(--skeleton-bg);border-radius:var(--radius);color:var(--level-5-color);padding:3rem;font-weight:500}.tornd-loading,.tornd-notfound{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;display:flex}.tornd-loading-spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite tornd-spin}@keyframes tornd-spin{to{transform:rotate(360deg)}}.tornd-notfound h2{color:var(--text);margin:0;font-size:1.4rem}.tornd-notfound p{color:var(--muted)}.tornd-cta-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.tornd-cta-btn:hover{opacity:.9}.tornd-layout{height:100%;display:flex;overflow:hidden}.tornd-layout[hidden],.tornd-notfound[hidden],.tornd-loading[hidden]{display:none}.tornd-sidebar{background:var(--surface2);border-right:1px solid var(--border);z-index:1;flex-direction:column;width:290px;min-width:290px;height:100%;display:flex;position:sticky;top:0;overflow-y:hidden}.tornd-sidebar-top{padding:.75rem}.tornd-tournament-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.7rem;padding:.5rem;display:flex}.tornd-tournament-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.tornd-tournament-card-main-badge{flex-shrink:0;display:flex}.tornd-tournament-card-title{color:var(--text);word-break:break-word;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.tornd-tournament-card-meta{flex-direction:column;gap:.25rem;margin:0;display:flex}.tornd-sidebar-title{color:var(--text);word-break:break-word;margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.tornd-sidebar-meta{flex-direction:column;gap:.3rem;margin:0;display:flex}.tornd-sidebar-detail{color:var(--text-light);align-items:center;gap:.5rem;font-size:.75rem;line-height:1.3;display:inline-flex}.tornd-detail-icon{border-radius:var(--radius-sm);background:var(--accent-soft);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.tornd-detail-icon svg{width:14px;height:14px;stroke:var(--accent)}.tornd-tournament-card-badges{flex-wrap:wrap;gap:.25rem;display:flex}.tornd-sidebar-badges{flex-wrap:wrap;gap:.35rem;display:flex}.tornd-nav{flex-direction:column;flex:1;gap:.3rem;padding:.5rem 10px;display:flex}.tornd-nav-badge{color:var(--text);background:#0000000f;border-radius:50px;margin-left:auto;padding:0 .35rem;font-size:.75rem;font-weight:600;display:inline-block}.tornd-nav-link.active .tornd-nav-badge{color:#fff;background:#ffffff40}.tornd-nav-link{color:#000000a6;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.35rem;padding:.55rem .6rem;font-size:.78rem;font-weight:600;transition:color .15s,background .15s;display:flex}.tornd-nav-link:hover{color:var(--accent);background:var(--accent-soft)}.tornd-nav-link.active{color:#fff;background:var(--accent);font-weight:600}.tornd-nav-link svg{opacity:.7;flex-shrink:0;width:16px;height:16px;transition:transform .15s,opacity .15s}.tornd-nav-link:hover svg{opacity:1;transform:scale(1.18)}.tornd-nav-link.active svg{opacity:1;color:#fff;width:16px;height:16px;transform:none}.tornd-wip-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--skeleton-bg);border-radius:3px;flex-shrink:0;margin-left:auto;padding:.1rem .35rem;font-size:.6rem;font-weight:700}.tornd-wip-badge{background:var(--skeleton-bg);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-top:.75rem;padding:.3rem .9rem;font-size:.8rem;font-weight:600;display:inline-block}.tornd-sidebar-footer{border-top:1px solid var(--border);padding:1rem}.tornd-sidebar-fpp-link{color:var(--muted);align-items:center;gap:.4rem;font-size:.8rem;text-decoration:none;display:inline-flex}.tornd-sidebar-fpp-link svg{transition:transform .15s}.tornd-sidebar-fpp-link:hover{color:var(--primary)}.tornd-sidebar-fpp-link:hover svg{transform:translate(1px,-1px)scale(1.1)}.tornd-main{flex-direction:column;flex:1;min-width:0;min-height:0;padding:1rem;display:flex;overflow-y:auto}.tornd-header{margin-bottom:1.5rem}.tornd-title{color:var(--text);margin:0 0 .35rem;font-size:1.6rem;font-weight:700;line-height:1.3}.tornd-meta{color:var(--muted);font-size:.88rem}.tornd-panel{display:none}.tornd-panel.active{flex:1;min-height:0;display:block}.tornd-panels,#panel-players.active{flex-direction:column;flex:1;min-height:0;display:flex}#panel-players.active .filter-container{flex-shrink:0}#panel-players.active .tornd-table-wrap{flex:1;min-height:0;overflow-y:auto}#torndPlayersTable thead th{z-index:2;background:var(--surface1);position:sticky;top:0}#panel-info.active{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}#panel-info.active>*{flex-shrink:0}.tornd-external-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:500px;margin:0 auto;padding:1.5rem 2rem}.tornd-external-card p{color:var(--muted);margin:0 0 1rem;font-size:.92rem}.tornd-ext-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.tornd-ext-btn:hover{opacity:.85}.tornd-players-controls-row{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}#scrollToMyPairBtn{color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}#scrollToMyPairBtn:hover{background:var(--accent);color:#fff}#scrollToMyPairBtn svg{flex-shrink:0;width:14px;height:14px;transition:transform .15s}#scrollToMyPairBtn:hover svg{transform:scale(1.18)}.tornd-table-wrap{overflow-x:auto}.tornd-no-players{text-align:center;color:var(--muted);padding:2rem;font-size:.92rem}.info-hero{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);background-position:50%;background-size:cover;flex-direction:column;min-height:240px;margin-bottom:1rem;display:flex;position:relative;overflow:hidden}.info-hero:before{content:"";border-radius:var(--radius);background:linear-gradient(345deg,#2a514dd9 35%,#f0f0f03d 100%);position:absolute;inset:0}.info-hero-body{z-index:1;flex:1;align-items:stretch;gap:1rem;padding:1.5rem;display:flex;position:relative}.info-hero-left{flex-direction:column;flex:1;justify-content:space-between;min-width:0;display:flex}.info-hero-bottom{flex-direction:column;gap:.45rem;display:flex}.info-hero-toprow{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.15rem;display:flex}.info-hero-datepill{color:#ffffffe6;white-space:nowrap;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;display:inline-flex}.info-hero-date-icon{border-radius:var(--radius-sm);background:#ffffff26;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.info-hero-date-icon svg{stroke:#fff;width:15px;height:15px}.info-hero-title{color:#fff;text-shadow:0 2px 10px #0000008c;letter-spacing:-.01em;margin:0;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;line-height:1.15}.info-hero-org{color:#ffffff8c;margin:0;font-size:.72rem}.info-hero-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.info-hero-link{color:#fff;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border:1px solid #ffffff4d;align-items:center;gap:.3rem;padding:.35rem .8rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.info-hero-link svg{transition:transform .15s}.info-hero-link:hover{background:#ffffff3d}.info-hero-link:hover svg{transform:translate(1px,-1px)scale(1.1)}.info-hero-stats{flex-direction:column;flex-shrink:0;gap:.5rem;width:170px;display:flex}.info-hero-stat{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-sm);background:#0b4a4475;border:1px solid #ffffff1a;padding:.8rem 1rem}.info-hero-stat-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.info-hero-stat-icon{line-height:0}.info-hero-stat-letter{color:#ffffff2e;font-size:1.1rem;font-weight:800;line-height:1}.info-hero-stat-num{color:#fff;font-size:2rem;font-weight:800;line-height:1}.info-hero-stat-unit{color:#ffffff73;letter-spacing:.1em;vertical-align:middle;margin-left:.2rem;font-size:.55rem;font-weight:700}.info-hero-stat-label{color:#fff9;margin-top:.25rem;font-size:.62rem;line-height:1.3}.info-main-grid{grid-template-columns:1fr 30%;align-items:start;gap:.75rem;display:grid}.tornd-map{aspect-ratio:16/9;border-radius:var(--radius-sm);border:1px solid var(--border);height:auto;overflow:hidden}.info-stats-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.info-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:.3rem;min-height:90px;padding:.75rem;display:flex;position:relative;overflow:hidden}.info-stat-card:before{content:"";background:var(--accent);border-radius:var(--radius-sm) 0 0 var(--radius-sm);width:3px;position:absolute;top:0;bottom:0;left:0}.info-stat-card svg{stroke:var(--accent);flex-shrink:0}.info-stat-card--prize{background:#f0fdf4;border-color:#6ee7b7}.info-stat-card--prize:before{background:#047857}.info-stat-card--prize svg{stroke:#047857}.info-stat-card--prize .info-stat-value{color:#047857}.info-stat-value{color:var(--text);margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}.info-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin:0;font-size:.62rem;font-weight:700}@media (width<=600px){.tornd-layout{flex-direction:column}.tornd-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;width:100%;min-width:0;height:auto;padding:.5rem;position:static;overflow-x:auto}.tornd-sidebar-top,.tornd-sidebar-footer{display:none}.tornd-nav{flex-direction:row;flex:1;gap:.35rem;padding:0;display:flex}.tornd-nav-link{white-space:nowrap;border-bottom:3px solid #0000;border-left:none;gap:.4rem;width:auto;padding:.5rem .75rem;font-size:.8rem}.tornd-nav-link.active{border-left-color:#0000;border-bottom-color:var(--primary)}.tornd-nav-link svg{width:16px;height:16px}.tornd-main{padding:1rem}.tornd-title{font-size:1.3rem}.info-hero-body{flex-direction:column;gap:.75rem}.info-hero-left{justify-content:flex-start;gap:.75rem}.info-hero-stats{flex-direction:row;width:auto}.info-hero-stat{flex:1}.info-main-grid{grid-template-columns:1fr}.info-stats-grid{grid-template-columns:repeat(2,1fr)}.tornd-map{width:100%;height:180px;aspect-ratio:unset}.tornd-players-controls-row{gap:.4rem}.search-input-wrapper{min-width:0;flex:auto!important}#torndCategorySelect{flex:none;min-width:100px}#scrollToMyPairBtn{padding:.35rem .5rem;font-size:.75rem}}[data-theme=dark] .tornd-sidebar{background:var(--surface)}.liga-layout{min-height:calc(100vh - 56px);display:flex;position:relative}.liga-sidebar{background:var(--card-bg);border-right:1px solid var(--border);z-index:10;flex-shrink:0;width:260px;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto}.liga-sidebar-inner{padding:1rem 0}.liga-sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 1rem .75rem;display:flex}.liga-sidebar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);font-size:.8rem;font-weight:700}.liga-sidebar-close{cursor:pointer;color:var(--text-light);border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem;display:none}.liga-sidebar-close:hover{color:var(--accent);background:var(--accent-soft)}.liga-nav-group{margin-bottom:.125rem}.liga-nav-item{color:var(--text);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .14s,color .14s,border-color .14s;display:flex}.liga-nav-item svg{transition:transform .15s}.liga-nav-item:hover{background:var(--accent-soft);color:var(--accent)}.liga-nav-item:hover svg{transform:scale(1.18)}.liga-nav-item--active{border-left-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.liga-nav-item--my{color:var(--accent);font-weight:600}.liga-nav-icon{width:16px;color:inherit;flex-shrink:0;display:flex}.liga-nav-label{flex:1}.liga-nav-sublabel{color:var(--text-light);width:100%;margin-top:.1rem;font-size:.72rem;display:block}.liga-nav-item--zone{flex-wrap:wrap}.liga-nav-subitem{color:var(--text-light);border-left:3px solid #0000;padding:.45rem 1rem .45rem 2.6rem;font-size:.82rem;text-decoration:none;transition:background .14s,color .14s;display:block}.liga-nav-subitem:hover{background:var(--accent-soft);color:var(--accent)}.liga-nav-subitem--active{border-left-color:var(--accent);color:var(--accent);font-weight:500}.liga-nav-divider{color:var(--text-light);letter-spacing:.08em;opacity:.75;-webkit-user-select:none;user-select:none;padding:.25rem 1rem .35rem 2.6rem;font-size:.72rem}.liga-sidebar-empty{color:var(--text-light);padding:1rem;font-size:.85rem}.liga-menu-toggle{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;margin:.75rem 1rem;padding:.45rem .75rem;font-size:.85rem;font-weight:500;display:none}.liga-menu-toggle svg{transition:transform .15s}.liga-menu-toggle:hover{background:var(--accent-soft);color:var(--accent)}.liga-menu-toggle:hover svg{transform:scale(1.18)}.liga-main{flex:1;min-width:0;padding:1.5rem}.liga-loading{min-height:300px;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.liga-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.liga-view-header{margin-bottom:1.5rem}.liga-view-title{color:var(--text);align-items:center;gap:.5rem;margin:.5rem 0 .25rem;font-size:1.5rem;font-weight:700;display:flex}.liga-view-subtitle{color:var(--text-light);align-items:center;gap:.35rem;margin:0;font-size:.875rem;display:flex}.liga-view-breadcrumb{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.liga-back-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-light);cursor:pointer;background:0 0;align-items:center;gap:.3rem;margin-bottom:.75rem;padding:.3rem .7rem;font-size:.82rem;transition:background .14s,color .14s;display:inline-flex}.liga-back-btn svg{transition:transform .15s}.liga-back-btn:hover{background:var(--accent-soft);color:var(--accent)}.liga-back-btn:hover svg{transform:scale(1.18)}.liga-back-btn--light{color:#fffc;border-color:#ffffff40}.liga-back-btn--light:hover{color:#fff;background:#ffffff1f}.liga-section-title{color:var(--text);align-items:center;gap:.4rem;margin:1.5rem 0 .75rem;font-size:1rem;font-weight:700;display:flex}.liga-landing{max-width:760px;margin:0 auto}.liga-landing-hero{text-align:center;padding:2rem 0 1.5rem}.liga-landing-icon{color:var(--accent);margin-bottom:.75rem;font-size:2.5rem}.liga-landing-icon svg{width:48px;height:48px;stroke:var(--accent)}.liga-landing-title{margin:0 0 .5rem;font-size:2rem;font-weight:800}.liga-landing-subtitle{color:var(--text-light);margin:0;font-size:.95rem}.liga-landing-my-btn{background:var(--accent);color:#fff;border-radius:var(--radius);max-width:320px;box-shadow:var(--shadow);justify-content:center;align-items:center;gap:.5rem;margin:1rem auto;padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,transform .12s;display:flex}.liga-landing-my-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.liga-landing-my-btn svg{stroke:#fff}.liga-zone-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.liga-zone-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex-direction:column;gap:.4rem;padding:1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .12s;display:flex}.liga-zone-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.liga-zone-card-name{font-size:1rem;font-weight:700}.liga-zone-card-location{color:var(--text-light);align-items:center;gap:.25rem;font-size:.8rem;display:flex}.liga-zone-card-location svg{flex-shrink:0}.liga-division-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.liga-division-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .12s;display:flex}.liga-division-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.liga-division-card-name{font-size:1rem;font-weight:700}.liga-division-card-meta{color:var(--text-light);font-size:.78rem}.liga-division-card-cat{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.72rem;font-weight:600}.liga-stats-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.liga-stat-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex:1;align-items:center;gap:.6rem;min-width:150px;padding:.65rem 1rem;display:flex}.liga-stat-chip svg{stroke:var(--accent);flex-shrink:0}.liga-stat-chip>div{flex-direction:column;gap:.1rem;display:flex}.liga-stat-chip-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.liga-stat-chip-value{color:var(--text);font-size:1.1rem;font-weight:700}.liga-stat-chip-sub{color:var(--text-light);font-size:.75rem}.liga-stat-chip-team{color:var(--text-light);font-size:.8rem;font-style:italic}.liga-groups-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.liga-groups-grid--count-1{grid-template-columns:1fr}.liga-groups-grid--count-2{grid-template-columns:repeat(2,1fr)}.liga-groups-grid--count-3{grid-template-columns:repeat(3,1fr)}.liga-groups-grid--count-4{grid-template-columns:repeat(4,1fr)}.liga-group-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.liga-group-card-header-row{background:var(--card-cats-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 1rem;display:flex}.liga-group-card-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);padding:0;font-size:.82rem;font-weight:700}.liga-group-detail-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;border-radius:999px;padding:.22rem .6rem;font-size:.72rem;font-weight:700}.liga-group-detail-btn:hover{border-color:var(--accent);color:var(--accent)}.liga-standings-table-wrap{overflow-x:auto}.liga-standings-table{border-collapse:collapse;width:100%;font-size:.85rem}.liga-standings-table th,.liga-standings-table td{text-align:center;border-bottom:1px solid var(--border);padding:.5rem .6rem}.liga-standings-table th{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;background:0 0;font-size:.75rem;font-weight:600}.liga-standings-table td.liga-standing-team,.liga-standings-table th.liga-standing-team{text-align:left}.liga-standings-table td.liga-standing-pos{text-align:left;white-space:nowrap}.liga-pos-inner{align-items:center;gap:.3rem;display:inline-flex}.liga-standings-table tr:last-child td{border-bottom:none}.liga-standings-table tbody tr:hover{background:var(--section-hover)}.liga-team-link{cursor:pointer}.liga-team-link .liga-standing-team{color:var(--accent)}.liga-team-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.liga-qualified{background:#00b4500f!important}[data-theme=dark] .liga-qualified{background:#00b45014!important}.liga-qual-icon{color:#00b450;align-items:center;font-size:.7rem;line-height:1;display:inline-flex}.liga-qual-locked{color:#00b450}.liga-qual-locked svg{stroke:#00b450}.liga-meta-badge{background:var(--accent-soft);color:var(--accent);border-radius:20px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.liga-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.liga-badge--cat{background:var(--accent);color:#fff}.liga-badge--division{background:var(--card-bg);color:var(--text);border:1px solid var(--border)}.liga-games-list{flex-direction:column;gap:.5rem;display:flex}.liga-game-row{border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--border);grid-template-columns:110px 1fr auto;align-items:center;gap:.75rem;padding:.65rem .75rem;font-size:.85rem;display:grid}.liga-game-row--done{border-left:3px solid var(--accent)}.liga-game-row--upcoming{border-left:3px solid var(--border);opacity:.85}.liga-game-row--clickable{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.liga-game-row--clickable:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.liga-game-row--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.liga-game-meta{color:var(--text-light);white-space:nowrap;align-items:center;gap:.3rem;font-size:.78rem;display:flex}.liga-game-meta svg{flex-shrink:0}.liga-game-teams{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.liga-game-team{color:var(--text);font-weight:500}.liga-game-team--focus{color:var(--accent);font-weight:700}.liga-game-vs{color:var(--text-light);font-size:.75rem}.liga-game-score{border-radius:var(--radius-sm);white-space:nowrap;background:var(--card-bg);border:1px solid var(--border);color:var(--text);padding:.25rem .55rem;font-size:.9rem;font-weight:700}.liga-game-score--win{color:#00b450;background:#00b4501f;border-color:#00b45033}.liga-game-score--loss{color:#c82828;background:#c8282814;border-color:#c8282826}.liga-game-score--upcoming{opacity:.5}.liga-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.1rem}.liga-card-title-row{color:var(--text);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:700;display:flex}.liga-card-title-row svg{stroke:var(--accent);flex-shrink:0}.liga-card-count{color:var(--text-light);background:var(--card-cats-bg);border-radius:20px;margin-left:auto;padding:.15rem .55rem;font-size:.75rem;font-weight:500}.liga-team-hero{background:var(--text);color:#fff;border-radius:var(--radius);margin-bottom:1.25rem;padding:1.5rem}[data-theme=dark] .liga-team-hero{border:1px solid var(--border);background:#0d1626}.liga-team-hero-inner{align-items:center;gap:1.25rem;display:flex}.liga-team-hero-shield{background:#ffffff1f;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.liga-team-hero-shield svg{stroke:#fff9}.liga-team-hero-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}.liga-team-hero-name{color:#fff;margin:0 0 .35rem;font-size:1.5rem;font-weight:800}.liga-team-hero-meta{color:#ffffffb3;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.liga-team-hero-meta svg{stroke:#ffffffb3}.liga-player-chip--link{cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.liga-player-chip--link:hover{border-color:var(--accent);color:var(--accent)}.liga-player-stat-link{color:inherit;text-decoration:none}.liga-player-stat-link:hover{color:var(--accent);text-decoration:underline}.liga-team-body{grid-template-columns:280px 1fr;align-items:start;gap:1rem;display:grid}.liga-perf-stats{gap:.75rem;margin-bottom:.75rem;display:flex}.liga-perf-stat{background:var(--card-cats-bg);border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.6rem .5rem;display:flex}.liga-perf-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.liga-perf-value{color:var(--text);font-size:1.4rem;font-weight:700}.liga-win-rate{color:#00b450}.liga-recent-form{margin-bottom:.75rem}.liga-form-badges{gap:.3rem;margin-top:.35rem;display:flex}.liga-form-badge{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:inline-flex}.liga-form-win{color:#fff;background:#00b450}.liga-form-loss{color:#fff;background:#e53e3e}.liga-form-upcoming{background:var(--border);color:var(--text-light)}.liga-mvp-card{background:var(--card-cats-bg);border-radius:var(--radius-sm);border-left:3px solid var(--accent);align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.liga-mvp-icon{color:var(--accent)}.liga-mvp-icon svg{stroke:var(--accent)}.liga-mvp-info{flex-direction:column;gap:.1rem;display:flex}.liga-mvp-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);font-size:.7rem}.liga-mvp-name{color:var(--text);font-size:.95rem;font-weight:700}.liga-mvp-sub{color:var(--text-light);font-size:.75rem}.liga-gold-pair-card{border-radius:var(--radius-sm);background:#d4af371a;border:1px solid #d4af3740;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.liga-gold-pair-icon svg{stroke:var(--gold)}.liga-gold-pair-info{flex-direction:column;gap:.1rem;display:flex}.liga-gold-pair-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);font-size:.7rem}.liga-gold-pair-names{color:var(--text);font-size:.9rem;font-weight:700}.liga-gold-pair-sub{color:var(--text-light);font-size:.75rem}.liga-captains-row{color:var(--text-light);flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.6rem;font-size:.8rem;display:flex}.liga-plantel{flex-wrap:wrap;gap:.4rem;display:flex}.liga-player-chip{background:var(--card-cats-bg);border:1px solid var(--border);color:var(--text);cursor:default;border-radius:20px;padding:.25rem .65rem;font-size:.8rem;font-weight:500;display:inline-block}.liga-player-stats-table{border-collapse:collapse;width:100%;font-size:.83rem}.liga-player-stats-table th,.liga-player-stats-table td{text-align:center;border-bottom:1px solid var(--border);padding:.45rem .6rem}.liga-player-stats-table th{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:.73rem;font-weight:600}.liga-player-stats-table td:first-child,.liga-player-stats-table th:first-child{text-align:left}.liga-player-stats-table tr:last-child td{border-bottom:none}.liga-player-stats-table tbody tr:hover{background:var(--section-hover)}.liga-mvp-row{background:#00b4500d}.liga-mvp-row svg{stroke:var(--accent);vertical-align:middle}.liga-my-team-block{margin-bottom:2rem}.liga-my-team-header{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.liga-my-team-name{margin:0 0 .25rem;font-size:1.2rem;font-weight:700}.liga-team-meta-badges{flex-wrap:wrap;gap:.4rem;display:flex}.liga-team-hero-shield svg{width:40px;height:40px}.liga-empty-state{text-align:center;color:var(--text-light);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.liga-empty-icon svg{stroke:var(--border);width:48px;height:48px}.liga-empty-msg{color:var(--text-light);text-align:center;padding:1rem;font-size:.9rem}.liga-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.5rem 1.2rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.liga-btn:hover{background:var(--accent-hover)}.liga-modal-backdrop{z-index:300;background:#0c121ca3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.liga-modal{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:min(920px,100%);max-height:min(90vh,820px);box-shadow:var(--shadow-lg);padding:1.25rem;position:relative;overflow:auto}.liga-modal-close{border:1px solid var(--border);background:var(--card-bg);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:.85rem;right:.85rem}.liga-modal-header{margin-bottom:1rem;padding-right:2.5rem}.liga-modal-matchup-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.liga-modal-team{color:var(--text-light);flex:1;min-width:0;font-size:1rem;font-weight:600}.liga-modal-team--winner{color:var(--accent);font-weight:800}.liga-modal-score-badge{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-size:1.1rem;font-weight:800}.liga-modal-meta{color:var(--text-light);flex-wrap:wrap;gap:.75rem;margin-top:.4rem;font-size:.85rem;display:flex}.liga-modal-meta span{align-items:center;gap:.3rem;display:inline-flex}.liga-modal-rubbers{gap:.65rem;display:grid}.liga-rubber-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-cats-bg);padding:.75rem .9rem}.liga-rubber-card-header{align-items:center;gap:.45rem;margin-bottom:.65rem;display:flex}.liga-rubber-court{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.76rem;font-weight:700;display:inline-flex}.liga-rubber-result{color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:.18rem .55rem;font-size:.83rem;font-weight:700}.liga-rubber-matchup{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.5rem;display:grid}.liga-rubber-side{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.4rem;padding:.4rem .5rem;transition:background .1s;display:flex}.liga-rubber-side--winner{background:#00b45012;border-color:#00b45033}.liga-rubber-winner-mark{color:#00b450;flex-shrink:0;width:20px;font-size:1rem;font-weight:800;line-height:1}.liga-rubber-players{flex-direction:column;gap:.1rem;min-width:0;display:flex}.liga-rubber-team-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);font-size:.69rem;font-weight:700}.liga-rubber-player-names{color:var(--text);font-size:.88rem;font-weight:500;line-height:1.4}.liga-rubber-side--winner .liga-rubber-player-names{color:var(--accent);font-weight:700}.liga-rubber-divider{color:var(--text-light);text-transform:uppercase;align-self:center;padding:0 .1rem;font-size:.72rem;font-weight:600}@media (width<=900px){.liga-layout{min-height:calc(100vh - 56px);display:block}.liga-sidebar{z-index:200;width:280px;height:calc(100vh - 56px);box-shadow:var(--shadow-md);transition:left .25s;position:fixed;top:56px;left:-280px}.liga-sidebar--open{left:0}.liga-sidebar-close{display:flex}.liga-menu-toggle{border-top:0;border-left:0;border-right:0;border-radius:0;justify-content:flex-start;width:100%;margin:0;display:flex}.liga-main{width:100%;padding:.75rem}.liga-team-body{grid-template-columns:1fr}.liga-game-row{grid-template-columns:90px 1fr auto;gap:.5rem}.liga-rubber-matchup{grid-template-columns:1fr;gap:.35rem}.liga-rubber-divider{display:none}.liga-modal-matchup-header{flex-direction:column;align-items:flex-start;gap:.3rem}.liga-modal-score-badge{align-self:flex-start}}@media (width<=600px){.liga-team-hero-name,.liga-view-title{font-size:1.15rem}.liga-groups-grid,.liga-groups-grid--count-1,.liga-groups-grid--count-2,.liga-groups-grid--count-3,.liga-groups-grid--count-4{grid-template-columns:1fr}.liga-zone-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.liga-division-cards{grid-template-columns:1fr 1fr}.liga-game-row{grid-template-columns:1fr}.liga-game-meta{order:-1}.liga-stats-bar{flex-direction:column}.liga-modal{padding:1rem}.liga-rubber-result{margin-left:0}}
