/* Rally Jax design system */
:root{
  --navy:#0B1D33; --navy-2:#12294A; --ocean:#0E4C63; --court:#1F7A5A; --court-2:#2A9A72;
  --ball:#D9F24B; --ball-2:#C6E23A; --clay:#E36A3A; --sand:#F5F0E6; --paper:#FBFAF7; --white:#fff;
  --text:#0B1D33; --muted:#5B6B7C; --line:#E6E1D6; --line-2:#EFEBE2;
  --good:#1F7A5A; --bad:#C2412D; --warn:#B7791F;
  --r-sm:10px; --r:18px; --r-lg:28px;
  --sh-1:0 1px 2px rgba(11,29,51,.06),0 2px 8px rgba(11,29,51,.05);
  --sh-2:0 10px 30px -10px rgba(11,29,51,.25),0 2px 6px rgba(11,29,51,.06);
  --sh-3:0 30px 60px -20px rgba(11,29,51,.35);
  --display:'Archivo',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
  --wrap:1240px; --fs:16px;
}
html[data-size="1"]{--fs:17.5px} html[data-size="2"]{--fs:19.5px}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 var(--fs)/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{max-width:100%;display:block} a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-stretch:112%;font-weight:800;line-height:1.02;letter-spacing:-.02em;margin:0 0 .4em}
h1{font-size:clamp(2.4rem,5.6vw,5rem)} h2{font-size:clamp(1.8rem,3.6vw,3rem)} h3{font-size:1.3rem;letter-spacing:-.01em} h4{font-size:1.05rem}
p{margin:0 0 1em} .lead{font-size:1.18em;color:var(--muted);max-width:62ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font:700 .74rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--court)}
.eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ball);box-shadow:inset -2px -2px 0 rgba(0,0,0,.12)}
.on-dark .eyebrow{color:var(--ball)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .small{font-size:.86em} .center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--ball);outline-offset:2px;border-radius:6px}

/* Buttons */
.btn{--bg:var(--navy);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.85em 1.4em;border-radius:999px;background:var(--bg);color:var(--fg);font-weight:700;font-size:.95em;border:0;cursor:var(--rk-hit);transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap;line-height:1.1}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh-2)} .btn:active{transform:none}
.btn-ball{--bg:var(--ball);--fg:var(--navy)} .btn-ball:hover{--bg:#E4FA66}
.btn-ghost{--bg:transparent;--fg:currentColor;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px currentColor,var(--sh-1)}
.btn-white{--bg:#fff;--fg:var(--navy)} .btn-court{--bg:var(--court)} .btn-clay{--bg:var(--clay)}
.btn-sm{padding:.55em 1em;font-size:.85em} .btn-lg{padding:1.05em 1.8em;font-size:1.02em} .btn-block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.link{color:var(--court);font-weight:600;border-bottom:1.5px solid rgba(31,122,90,.3)} .link:hover{border-color:var(--court)}
.arrow::after{content:"→";transition:transform .2s} a:hover .arrow::after,.arrow:hover::after{transform:translateX(3px)}

/* Header */
.topbar{background:var(--navy);color:#cbd6e2;font-size:.8em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.topbar a:hover{color:#fff} .tb-left{display:flex;gap:18px;align-items:center;overflow:hidden;white-space:nowrap}
.tb-right{display:flex;gap:6px;align-items:center}
.size-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:6px;padding:1px 7px;cursor:var(--rk-hit);font-weight:700;line-height:1.5}
.size-btn[aria-pressed="true"]{background:var(--ball);color:var(--navy);border-color:var(--ball)}
.hdr{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.hdr.scrolled{border-color:var(--line);box-shadow:0 4px 20px -12px rgba(11,29,51,.25)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px;font:900 1.25rem/1 var(--display);font-stretch:120%;letter-spacing:-.02em}
.brand svg{width:38px;height:38px;flex:none} .brand small{display:block;font:600 .62rem/1.2 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-stretch:100%}
.nav{display:flex;gap:4px;margin-left:auto} .nav a{padding:.55em .85em;border-radius:999px;font-weight:600;font-size:.94em;color:#23364f}
.nav a:hover{background:var(--line-2)} .nav a.on{background:var(--navy);color:#fff}
.hdr-cta{display:flex;gap:8px;align-items:center}
.me-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:#fff;box-shadow:var(--sh-1);font-weight:600;font-size:.9em}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:var(--rk-hit);align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--navy);position:relative;transition:.2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}.burger span::before{top:-6px}.burger span::after{top:6px}
.mnav{display:none}
@media (max-width:1299px){.nav{display:none}.burger{display:flex}.hdr-cta .btn-ghost{display:none}
  .mnav{position:fixed;inset:72px 0 0;background:var(--paper);z-index:49;padding:18px 24px 40px;overflow:auto;display:block;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s}
  body.menu-open .mnav{transform:none;opacity:1;pointer-events:auto}
  .mnav a{display:flex;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line);font:800 1.35rem/1 var(--display);font-stretch:110%}
}
@media (max-width:640px){.tb-left .hide-sm{display:none}.brand small{display:none}.hdr .wrap{gap:12px}.hdr-cta .btn{padding:.6em 1em}}

/* Sections */
.section{padding:96px 0} .section-sm{padding:56px 0} .bg-sand{background:var(--sand)} .bg-white{background:#fff}
.bg-navy{background:var(--navy);color:#fff} .bg-navy .muted,.bg-navy .lead{color:#a9b8c9}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.sec-head h2{margin:.25em 0 0}
.grid{display:grid;gap:24px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}} @media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}.section{padding:64px 0}}

/* Hero */
.hero{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0}.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,29,51,.25) 0%,rgba(11,29,51,.15) 35%,rgba(11,29,51,.85) 78%,var(--navy) 100%),linear-gradient(90deg,rgba(11,29,51,.7),transparent 70%)}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:56px;padding-top:120px}
.hero h1{max-width:13ch;margin:.2em 0 .3em} .hero h1 em{font-style:normal;color:var(--ball)}
.hero .lead{color:#dbe4ee;max-width:52ch}
.hero-row{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:end}
@media (max-width:980px){.hero-row{grid-template-columns:1fr}}
.finder{margin-top:28px;display:flex;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px;border-radius:999px;backdrop-filter:blur(12px);max-width:640px}
.finder select{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:0 14px;font-weight:600;appearance:none;cursor:var(--rk-hit)}
.finder select option{color:var(--navy)} .finder .sep{width:1px;background:rgba(255,255,255,.2)}
@media (max-width:640px){.finder{flex-direction:column;border-radius:22px}.finder select{padding:12px}.finder .sep{display:none}}
.glass{background:rgba(11,29,51,.55);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero-stats{display:flex;gap:34px;margin-top:34px;flex-wrap:wrap}
.hero-stats b{display:block;font:900 2.1rem/1 var(--display);font-stretch:115%;color:#fff} .hero-stats span{font-size:.8em;color:#a9b8c9;text-transform:uppercase;letter-spacing:.12em}

/* Conditions widget */
.cond h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-family:var(--body);font-weight:700;color:#cfe0ee}
.cond .live{display:inline-flex;align-items:center;gap:6px;color:var(--ball)} .cond .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ball);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(217,242,75,.7)}70%{box-shadow:0 0 0 10px rgba(217,242,75,0)}100%{box-shadow:0 0 0 0 rgba(217,242,75,0)}}
.cond-main{display:flex;align-items:center;gap:16px}.cond-temp{font:900 3.2rem/1 var(--display);font-stretch:112%}
.cond-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.cond-grid div{background:rgba(255,255,255,.07);border-radius:12px;padding:8px 10px;font-size:.75em;color:#a9b8c9}
.cond-grid b{display:block;color:#fff;font-size:1.15rem}
.cond-tip{margin-top:14px;font-size:.88em;color:#e6eef6;display:flex;gap:10px;align-items:flex-start}
.cond-tip i{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--ball);color:var(--navy);font-style:normal;font-weight:900}
.playscore{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:.8em}
.ps-great{background:rgba(217,242,75,.2);color:var(--ball)} .ps-ok{background:rgba(255,200,80,.18);color:#FFD27A} .ps-bad{background:rgba(227,106,58,.25);color:#FFB08F}

/* Ticker */
.ticker{background:var(--ball);color:var(--navy);overflow:hidden;border-block:1px solid rgba(0,0,0,.06)}
.ticker-track{display:flex;gap:48px;padding:12px 0;width:max-content;animation:tick 60s linear infinite;font-weight:700;font-size:.9em}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{display:inline-flex;gap:10px;align-items:center;white-space:nowrap}
.ticker-track span::before{content:"";width:8px;height:8px;background:var(--navy);border-radius:50%}
@keyframes tick{to{transform:translateX(-50%)}}

/* Cards */
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh-1);border:1px solid var(--line-2);overflow:hidden;transition:transform .25s,box-shadow .25s}
a.card:hover,.card.hover:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.card-body{padding:22px}
.ev-card .ev-img{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy)}
.ev-card .ev-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ev-card:hover .ev-img img{transform:scale(1.05)}
.ev-date{position:absolute;left:14px;top:14px;background:#fff;border-radius:14px;padding:8px 12px;text-align:center;box-shadow:var(--sh-2);line-height:1}
.ev-date b{display:block;font:900 1.5rem/1 var(--display);font-stretch:110%}.ev-date small{font-weight:800;font-size:.66rem;letter-spacing:.14em;color:var(--clay);text-transform:uppercase}
.ev-type{position:absolute;right:14px;top:14px}
.ev-card h3{font-size:1.2rem;margin:.1em 0 .35em}
.ev-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.86em;color:var(--muted)} .ev-meta span{display:inline-flex;gap:6px;align-items:center}
.ev-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--line-2);gap:10px}
.price{font:900 1.3rem/1 var(--display);font-stretch:110%} .price small{font:600 .72rem var(--body);color:var(--muted);margin-left:4px}
.meter{height:6px;border-radius:9px;background:var(--line-2);overflow:hidden;margin-top:12px}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--court),var(--court-2));border-radius:9px}
.meter.hot i{background:linear-gradient(90deg,var(--clay),#F28C5A)}
.tag{display:inline-flex;align-items:center;gap:6px;padding:.32em .75em;border-radius:999px;font-size:.74rem;font-weight:700;background:var(--line-2);color:var(--navy);white-space:nowrap}
.tag-ball{background:var(--ball)} .tag-court{background:#DDF1E8;color:#135b43} .tag-clay{background:#FCE4D8;color:#9c3a15} .tag-navy{background:var(--navy);color:#fff} .tag-ocean{background:#DCEFF5;color:#0E4C63} .tag-white{background:#fff}
.tags{display:flex;flex-wrap:wrap;gap:6px}

/* Player components */
.avatar{--s:48px;width:var(--s);height:var(--s);border-radius:50%;flex:none;display:grid;place-items:center;font:800 calc(var(--s)*.36)/1 var(--display);font-stretch:110%;color:#fff;overflow:hidden;background:var(--g,linear-gradient(135deg,var(--court),var(--ocean)));position:relative}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.xl{--s:148px;border:5px solid #fff;box-shadow:var(--sh-2)} .avatar.lg{--s:72px} .avatar.sm{--s:34px} .avatar.xs{--s:26px}
.pl-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 20px 20px;position:relative}
.pl-card .rank-no{position:absolute;left:16px;top:14px;font:900 .95rem var(--display);color:var(--muted)}
.pl-card h3{font-size:1.08rem;margin:12px 0 2px} .pl-card .pl-stats{display:flex;gap:16px;margin-top:14px;font-size:.8em;color:var(--muted)}
.pl-card .pl-stats b{display:block;color:var(--navy);font:900 1.15rem var(--display);font-stretch:110%}
.rating-pill{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border-radius:999px;padding:3px 10px 3px 4px;font-weight:800;font-size:.8em}
.rating-pill i{width:18px;height:18px;border-radius:50%;background:var(--ball);display:inline-block;box-shadow:inset -3px -2px 0 rgba(0,0,0,.12)}
.up{color:var(--good)} .down{color:var(--bad)}

/* Tables / leaderboards */
.table{width:100%;border-collapse:collapse;font-size:.94em}
.table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700}
.table td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.table tr:hover td{background:#FDFCF8} .table .r{text-align:right}
.lb-player{display:flex;gap:12px;align-items:center;font-weight:700} .lb-player small{display:block;font-weight:500;color:var(--muted);font-size:.8em}
.rank{font:900 1.1rem var(--display);font-stretch:110%;width:36px} .rank.top{color:var(--clay)}
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:18px;align-items:end;margin-bottom:28px}
.podium .card{text-align:center;padding:26px 16px} .podium .p1{padding-top:38px;background:linear-gradient(180deg,#fff 0%,#FBFFE6 100%);border-color:#E9F5A9}
.podium .medal{width:34px;height:34px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;font-weight:900;color:var(--navy)}
@media (max-width:640px){.podium{grid-template-columns:1fr}.table .hide-sm{display:none}}
.table-wrap{overflow-x:auto;background:#fff;border-radius:var(--r);border:1px solid var(--line-2);box-shadow:var(--sh-1)}

/* Tabs / filters */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.tabs a,.tabs button{padding:.55em 1.05em;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:.88em;cursor:var(--rk-hit)}
.tabs a.on,.tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;padding:12px;border-radius:var(--r);border:1px solid var(--line-2);box-shadow:var(--sh-1);margin-bottom:28px}
.filters .field{flex:1;min-width:150px}
.input,.select,textarea.input{width:100%;padding:.85em 1em;border-radius:12px;border:1.5px solid var(--line);background:#fff;transition:border-color .15s,box-shadow .15s;font-size:1em}
.input:focus,.select:focus{outline:0;border-color:var(--court);box-shadow:0 0 0 4px rgba(31,122,90,.12)}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230B1D33' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.search-input{padding-left:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235B6B7C' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M13 13l4 4'/%3E%3C/svg%3E") no-repeat 16px center}
label.lbl{display:block;font-weight:700;font-size:.86em;margin:0 0 6px} .hint{font-size:.8em;color:var(--muted);margin-top:5px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px} .form-row.three{grid-template-columns:1fr 1fr 1fr}
@media (max-width:640px){.form-row,.form-row.three{grid-template-columns:1fr}}
.fg{margin-bottom:16px}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.choice label{position:relative;cursor:var(--rk-hit)} .choice input{position:absolute;opacity:0}
.choice span{display:block;text-align:center;padding:.8em .6em;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:.9em;transition:.15s;line-height:1.25}
.choice span small{display:block;font-weight:500;color:var(--muted);font-size:.78em;margin-top:2px}
.choice input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff} .choice input:checked+span small{color:#b9c6d4}
.choice input:focus-visible+span{outline:3px solid var(--ball)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92em;cursor:var(--rk-hit)} .check input{width:20px;height:20px;margin-top:2px;accent-color:var(--court);flex:none}
.alert{padding:14px 16px;border-radius:12px;font-size:.92em;margin-bottom:16px}
.alert-bad{background:#FDECEA;color:#8a2a1a} .alert-good{background:#E4F4EC;color:#135b43} .alert-info{background:#EAF3F7;color:#0E4C63} .alert-warn{background:#FFF6E0;color:#7a5610}

/* Page headers */
.phead{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:84px 0 64px}
.phead::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='2'%3E%3Crect x='20' y='20' width='560' height='260'/%3E%3Cpath d='M300 20v260M20 60h560M20 240h560M160 60v180M440 60v180M160 150h280'/%3E%3C/svg%3E") right -80px center/auto 130% no-repeat;pointer-events:none}
.phead.img{background-size:cover;background-position:center}
.phead.img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,51,.95),rgba(11,29,51,.6))}
.phead .wrap{position:relative;z-index:1} .phead h1{font-size:clamp(2.2rem,4.8vw,4rem);max-width:18ch} .phead .lead{color:#b9c8d8}
.crumbs{font-size:.82em;color:#8fa3b8;margin-bottom:14px} .crumbs a:hover{color:#fff}

/* Profile */
.pro-hero{background:var(--navy);color:#fff;padding:56px 0 0;position:relative;overflow:hidden}
.pro-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--ball),#9fbf1e 60%,transparent 61%);opacity:.12}
.pro-top{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:end;position:relative}
.pro-top h1{font-size:clamp(2.2rem,5vw,3.8rem);margin:.1em 0 .2em}
.pro-kpis{display:grid;grid-template-columns:repeat(5,1fr);margin-top:40px;background:rgba(255,255,255,.06);border-radius:var(--r) var(--r) 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:0}
.pro-kpis div{padding:20px;border-right:1px solid rgba(255,255,255,.08)} .pro-kpis div:last-child{border:0}
.pro-kpis b{display:block;font:900 1.9rem/1 var(--display);font-stretch:112%} .pro-kpis span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#98abc0}
@media (max-width:860px){.pro-top{grid-template-columns:1fr;text-align:left}.pro-kpis{grid-template-columns:repeat(2,1fr)}.pro-kpis div{border-bottom:1px solid rgba(255,255,255,.08)}}
.side-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
@media (max-width:980px){.side-layout{grid-template-columns:1fr}}
.panel{background:#fff;border-radius:var(--r);border:1px solid var(--line-2);box-shadow:var(--sh-1);padding:24px;margin-bottom:24px}
.panel h3{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem}
.sticky{position:sticky;top:92px}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.bdg{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--sand);font-size:.82em;line-height:1.25}
.bdg i{width:34px;height:34px;border-radius:10px;background:var(--navy);color:var(--ball);display:grid;place-items:center;flex:none}
.bdg b{display:block;font-size:.95em}
.match{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-2)}
.match:last-child{border:0} .wl{font:900 .8rem/1 var(--display);width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.wl.w{background:#DDF1E8;color:var(--court)} .wl.l{background:#FCE4D8;color:var(--clay)}
.score{font:800 1rem var(--display);font-stretch:108%;letter-spacing:.02em;white-space:nowrap}
.spark{width:100%;height:120px}

/* Result feed */
.res{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:16px 20px}
.res + .res{border-top:1px solid var(--line-2)}
.res .side{display:flex;gap:12px;align-items:center;min-width:0} .res .side.right{flex-direction:row-reverse;text-align:right}
.res .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .res .nm small{display:block;font-weight:500;color:var(--muted);font-size:.78em}
.res .lose{opacity:.55} .res .mid{text-align:center} .res .mid small{display:block;color:var(--muted);font-size:.72em;margin-top:2px}
@media (max-width:640px){.res{grid-template-columns:1fr;text-align:left}.res .side.right{flex-direction:row;text-align:left}.res .mid{text-align:left}}

/* Champions wall */
.champ{position:relative;border-radius:var(--r);overflow:hidden;background:var(--navy);color:#fff;padding:24px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.champ::before{content:"";position:absolute;inset:0;background:var(--img) center/cover;opacity:.35;transition:opacity .3s}
.champ:hover::before{opacity:.5}
.champ>*{position:relative} .champ .yr{position:absolute;right:18px;top:14px;font:900 3rem/1 var(--display);color:rgba(255,255,255,.14)}
.trophy{width:44px;height:44px;border-radius:12px;background:var(--ball);color:var(--navy);display:grid;place-items:center;margin-bottom:12px}

/* Bracket */
.bracket{display:flex;gap:28px;overflow-x:auto;padding-bottom:12px}
.b-round{display:flex;flex-direction:column;justify-content:space-around;gap:14px;min-width:220px}
.b-round h5{font:700 .72rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.b-match{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--sh-1)}
.b-match div{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;font-size:.88em}
.b-match div+div{border-top:1px solid var(--line-2)} .b-match .win{font-weight:800;background:#FBFFE6}

/* Features / misc */
.feat{padding:28px;border-radius:var(--r);background:#fff;border:1px solid var(--line-2);box-shadow:var(--sh-1);height:100%}
.feat .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:var(--ball);margin-bottom:18px}
.feat h3{font-size:1.15rem}
.bg-navy .feat{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);box-shadow:none} .bg-navy .feat p{color:#a9b8c9}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center} @media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
.photo-stack{position:relative;aspect-ratio:4/4.2}
.photo-stack img{position:absolute;border-radius:var(--r-lg);object-fit:cover;box-shadow:var(--sh-3)}
.photo-stack img:nth-child(1){inset:0 22% 18% 0;width:78%;height:82%} .photo-stack img:nth-child(2){right:0;bottom:0;width:52%;height:52%;border:6px solid var(--paper)}
.photo-stack .float{position:absolute;left:-12px;bottom:10%;background:#fff;border-radius:18px;padding:14px 18px;box-shadow:var(--sh-2);display:flex;gap:12px;align-items:center;font-size:.86em}
.ages{display:grid;grid-template-columns:repeat(4,1fr);gap:16px} @media (max-width:900px){.ages{grid-template-columns:repeat(2,1fr)}}
.age-card{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;display:flex;align-items:flex-end;padding:20px}
.age-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.age-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,29,51,.9))}
.age-card>div{position:relative;z-index:1} .age-card:hover img{transform:scale(1.06)} .age-card h3{margin:0 0 4px}
.tier{padding:30px;border-radius:var(--r-lg);background:#fff;border:1.5px solid var(--line);display:flex;flex-direction:column;position:relative}
.tier.featured{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-10px);box-shadow:var(--sh-3)}
.tier.featured .muted{color:#a9b8c9} .tier .amt{font:900 3rem/1 var(--display);font-stretch:112%;margin:14px 0 4px} .tier .amt small{font:600 .9rem var(--body);color:var(--muted)}
.tier ul{list-style:none;padding:0;margin:20px 0 26px;flex:1} .tier li{padding:7px 0 7px 28px;position:relative;font-size:.93em}
.tier li::before{content:"";position:absolute;left:0;top:11px;width:16px;height:16px;border-radius:50%;background:var(--ball) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230B1D33' stroke-width='2.4'%3E%3Cpath d='M4.5 8.5l2.2 2.2 4.8-5'/%3E%3C/svg%3E") center/100%}
.tier .ribbon{position:absolute;top:-12px;right:24px;background:var(--ball);color:var(--navy);padding:4px 12px;border-radius:999px;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.faq details{background:#fff;border:1px solid var(--line-2);border-radius:14px;margin-bottom:10px;box-shadow:var(--sh-1)}
.faq summary{cursor:var(--rk-hit);padding:18px 52px 18px 20px;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none} .faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;transition:.2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)} .faq .a{padding:0 20px 18px;color:#33475e}
.prose{max-width:720px;font-size:1.05em} .prose h2{font-size:1.7rem;margin-top:1.6em} .prose h3{margin-top:1.4em} .prose li{margin-bottom:.4em} .prose a{color:var(--court);text-decoration:underline}
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--court);color:#fff;padding:56px;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center}
.cta-band::after{content:"";position:absolute;right:-60px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:var(--ball);opacity:.9;box-shadow:inset -30px -20px 0 rgba(0,0,0,.08)}
.cta-band>*{position:relative;z-index:1} .cta-band h2{margin:0 0 .3em}
@media (max-width:760px){.cta-band{grid-template-columns:1fr;padding:36px}}
.map-embed{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);aspect-ratio:16/10;background:var(--sand)} .map-embed iframe{width:100%;height:100%;border:0}
.empty{text-align:center;padding:56px 20px;color:var(--muted)} .empty svg{margin:0 auto 14px;opacity:.5}
.kbd{font:600 .8em ui-monospace,monospace;background:var(--line-2);padding:2px 6px;border-radius:6px}
.vs{font:900 1.6rem var(--display);color:var(--clay)}
.prob{height:14px;border-radius:9px;overflow:hidden;display:flex;background:var(--line-2)} .prob i{display:block;height:100%}
.demo-flag{position:fixed;left:12px;bottom:12px;z-index:60;background:var(--navy);color:#fff;font-size:.72rem;font-weight:700;padding:6px 12px;border-radius:999px;opacity:.85;letter-spacing:.04em}
.typeahead{position:relative} .ta-list{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:14px;box-shadow:var(--sh-3);border:1px solid var(--line);z-index:20;overflow:hidden;display:none}
.ta-list.open{display:block} .ta-list a{display:flex;gap:10px;align-items:center;padding:10px 14px;font-weight:600;font-size:.92em} .ta-list a:hover,.ta-list a.act{background:var(--sand)}
.ta-list small{color:var(--muted);font-weight:500;margin-left:auto}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:999px;box-shadow:var(--sh-3);opacity:0;transition:.25s;z-index:100;font-weight:600;font-size:.92em}
.toast.show{opacity:1;transform:translateX(-50%)}

/* Wizard */
.wiz{max-width:760px;margin:0 auto}
.steps{display:flex;gap:6px;margin-bottom:28px} .steps i{flex:1;height:6px;border-radius:9px;background:var(--line)} .steps i.on{background:var(--court)}
.wiz-step{display:none;animation:fade .3s} .wiz-step.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.photo-drop{display:flex;gap:18px;align-items:center;padding:16px;border:1.5px dashed var(--line);border-radius:16px;background:#fff;cursor:var(--rk-hit)}
.photo-drop:hover{border-color:var(--court)}
.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-2)} .summary-row.total{font-weight:800;font-size:1.15em;border:0}
.quiz-q{background:#fff;border-radius:var(--r);padding:24px;border:1px solid var(--line-2);margin-bottom:14px}

/* Footer */
.foot{background:#07152A;color:#9fb0c3;padding:72px 0 32px;font-size:.92em}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px}
.foot h5{color:#fff;font:700 .78rem var(--body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.foot a{display:block;padding:4px 0} .foot a:hover{color:#fff}
.foot .brand{color:#fff;margin-bottom:14px}
.news{display:flex;gap:8px;margin-top:16px;max-width:380px} .news input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.75em 1.1em;color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84em}
.foot-bottom nav{display:flex;gap:18px;flex-wrap:wrap} .foot-bottom a{display:inline}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}}

/* Reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}

/* HQ admin */
.hq{display:grid;grid-template-columns:250px 1fr;min-height:100vh;background:#F4F2EC}
.hq-side{background:var(--navy);color:#b8c6d6;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.hq-side .brand{color:#fff;padding:6px 10px 22px} .hq-side a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.92em}
.hq-side a:hover{background:rgba(255,255,255,.06);color:#fff} .hq-side a.on{background:var(--ball);color:var(--navy)}
.hq-side .grp{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#6f86a0;padding:18px 12px 6px}
.hq-main{padding:28px 34px 60px;min-width:0} .hq-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:12px;flex-wrap:wrap}
.hq-top h1{font-size:1.9rem;margin:0}
.kpi{background:#fff;border-radius:16px;padding:18px 20px;border:1px solid var(--line-2)} .kpi span{font-size:.75rem;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kpi b{display:block;font:900 1.9rem/1.1 var(--display);font-stretch:110%;margin-top:6px} .kpi small{font-size:.8em}
.hq .panel{padding:20px} .hq .table td,.hq .table th{padding:10px 12px}
.bar-chart{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:10px} .bar-chart div{flex:1;background:linear-gradient(180deg,var(--court-2),var(--court));border-radius:6px 6px 2px 2px;position:relative;min-height:3px}
.bar-chart div span{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:.66rem;color:var(--muted)}
@media (max-width:900px){.hq{grid-template-columns:1fr}.hq-side{position:static;height:auto;display:flex;flex-wrap:wrap;gap:4px}.hq-side .grp{display:none}.hq-side .brand{width:100%}.hq-main{padding:20px 16px}}
.modal{position:fixed;inset:0;background:rgba(11,29,51,.55);z-index:90;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
.modal.open{display:flex} .modal-box{background:#fff;border-radius:var(--r);max-width:720px;width:100%;padding:28px;box-shadow:var(--sh-3)}
.pill-status{font-size:.72rem;font-weight:800;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
.st-paid,.st-published,.st-sent,.st-confirmed,.st-free{background:#DDF1E8;color:#135b43} .st-pending,.st-draft,.st-scheduled,.st-queued,.st-reported{background:#FFF1CF;color:#7a5610} .st-waitlist,.st-sending{background:#DCEFF5;color:#0E4C63} .st-cancelled,.st-disputed,.st-failed{background:#FCE4D8;color:#9c3a15}
.foot a.brand{display:flex}
.ev-card{display:flex;flex-direction:column;height:100%}.ev-card .card-body{flex:1}
#homeEvents>div,.grid>.ev-card{display:flex}#homeEvents>div>.card{width:100%}
.finder{max-width:720px}.finder select{flex:1 1 0}

.logo-hd svg{height:50px;width:auto;display:block}.logo-ft svg{width:280px;max-width:100%;height:auto;display:block;margin-bottom:10px}@media(max-width:640px){.logo-hd svg{height:38px}}

/* =====================================================================
   V2 DESIGN LAYER (from the approved prototype)
   Hard-court blue, optic ball, clay. Big Shoulders / Instrument Sans / Azeret Mono.
   ===================================================================== */
:root{
  --navy:#0B1633; --navy-2:#122C70; --ocean:#1B3F99; --court:#2352C2; --court-2:#1B3F99; --court-3:#122C70;
  --ink:#0B1633; --ink-2:#26345A; --ball:#E2F53D; --ball-2:#C9DD22; --clay:#D95F2B; --grass:#1F8A5B;
  --sand:#EEF0E8; --paper:#F4F5EF; --text:#0B1633; --muted:#5E6A86; --line:#DCDFE8; --line-2:#EBEDF2;
  --good:#1F8A5B;
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif; --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'Azeret Mono',ui-monospace,Menlo,monospace;
  --r:16px; --r-lg:26px;
  --sh-1:0 1px 2px rgba(11,22,51,.06),0 8px 24px -12px rgba(11,22,51,.18); --sh-2:0 24px 50px -22px rgba(11,22,51,.45);
}
body{background:var(--paper);overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);font-stretch:normal;font-weight:900;line-height:.92;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
h1{font-size:clamp(3rem,8vw,6.6rem)} h2{font-size:clamp(2.3rem,5vw,4.2rem)} h3{font-size:1.6rem;line-height:1} h4{font-size:1.2rem}
.num{font-family:var(--mono);letter-spacing:-.02em}
.wrap{max-width:1260px}
.eyebrow{font:700 .72rem/1 var(--mono);letter-spacing:.18em;color:var(--court);gap:10px}
.eyebrow::before{width:22px;height:2px;border-radius:0;background:currentColor;box-shadow:none}
.on-dark .eyebrow,.bg-navy .eyebrow,.hero .eyebrow,.phead .eyebrow,.pro-hero .eyebrow{color:var(--ball)}
.lead{color:var(--muted)}
.btn{border-radius:12px;font:800 .92rem/1 var(--body);letter-spacing:.02em;padding:.9em 1.4em;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(11,22,51,.5)}
.btn-ghost{box-shadow:inset 0 0 0 2px currentColor} .btn-ghost:hover{box-shadow:inset 0 0 0 2px currentColor,0 10px 20px -12px rgba(0,0,0,.4)}
.btn-ball:hover{--bg:#EDFF5C}
.btn-sm{padding:.6em .95em;font-size:.82rem;border-radius:10px} .btn-lg{padding:1.1em 1.8em;font-size:1rem}
.arrow::after{display:inline-block}
.link{color:var(--court);border-color:rgba(35,82,194,.3)}

/* header */
.topbar{background:var(--ink);font:600 .72rem/1 var(--mono);letter-spacing:.06em;color:#A9B6D6}
.size-btn[aria-pressed="true"]{background:var(--ball);color:var(--ink)}
.hdr{background:rgba(244,245,239,.84)}
.hdr .wrap{height:70px}
.nav a{border-radius:8px;font-weight:700;font-size:.9rem;color:var(--ink-2);position:relative}
.nav a::after{content:"";position:absolute;left:.85em;right:.85em;bottom:.3em;height:2px;background:var(--court);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover{background:transparent} .nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.nav a.on{background:transparent;color:var(--court)}
.logo-hd svg,.logo-hd:hover svg{transform:none!important}
/* header logo: wordmark stays put; on hover a ball flies in and a racket hits it away (v2.js) */
.logo-hd{position:relative;overflow:visible}
.logo-hd svg{overflow:visible}
.logo-ball{position:fixed;left:0;top:0;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F4FF9A,#E2F53D 45%,#B8CC1F);box-shadow:0 2px 4px rgba(11,22,51,.35);pointer-events:none;z-index:120}
.logo-ball::after{content:"";position:absolute;inset:2px;border-radius:50%;border:1.4px solid rgba(255,255,255,.85);border-left-color:transparent;border-bottom-color:transparent;transform:rotate(20deg)}

/* wipe transition (home page only) */
.wipe{position:fixed;inset:0;z-index:200;pointer-events:none;background:var(--court);transform:scaleX(0);transform-origin:left}
.wipe::after{content:"";position:absolute;top:0;bottom:0;right:0;width:6px;background:#fff}
.wipe.go{animation:wipeIn .42s cubic-bezier(.7,0,.2,1) forwards}
@keyframes wipeIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.wiped .wipe{transform:scaleX(1);transform-origin:right;animation:wipeOut .45s cubic-bezier(.7,0,.2,1) .05s forwards}
@keyframes wipeOut{from{transform:scaleX(1)}to{transform:scaleX(0)}}
main>section:first-child,main>div:first-child{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:.001;transform:translateY(18px)}to{opacity:1;transform:none}}

/* sections */
.section{padding:88px 0} .section-sm{padding:52px 0}
.bg-navy{background:var(--ink)} .bg-navy .muted,.bg-navy .lead{color:#A9BBEA}
.bg-sand{background:var(--court);color:#fff;position:relative;isolation:isolate}
.bg-sand::before{content:"";position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='780' height='360' fill='none' stroke='%23ffffff' stroke-opacity='.12' stroke-width='3'%3E%3Crect x='20' y='20' width='740' height='320'/%3E%3Cpath d='M390 20v320M20 62h740M20 298h740M200 62v236M580 62v236M200 180h380'/%3E%3C/svg%3E") center/cover}
.bg-sand .eyebrow{color:var(--ball)} .bg-sand .lead,.bg-sand .muted{color:#D6E0FA}
.bg-sand .feat{background:transparent;border:1.5px solid rgba(255,255,255,.85);box-shadow:none;border-radius:0;transition:background .3s} .bg-sand .feat:hover{background:rgba(255,255,255,.08)}
.bg-sand .feat .ico{border-radius:50%;background:var(--ball);color:var(--ink);box-shadow:inset -5px -4px 0 rgba(0,0,0,.14)} .bg-sand .feat p{color:#D6E0FA!important}
.bg-sand .grid.g3{gap:0} .bg-sand .grid.g3>.rv{margin:-.75px}
.sec-head{margin-bottom:34px}

/* hero */
.hero{min-height:0;display:block;background:var(--court-3);isolation:isolate}
.hero-media video,.hero-media img{filter:saturate(.7) contrast(1.05)}
.hero::before{background:linear-gradient(100deg,rgba(18,44,112,.96) 0%,rgba(27,63,153,.84) 42%,rgba(35,82,194,.4) 75%,rgba(35,82,194,.6)),repeating-linear-gradient(90deg,transparent 0 120px,rgba(255,255,255,.035) 120px 122px)}
.hero .wrap{padding:72px 24px 64px}
.hero-row{grid-template-columns:1.12fr .95fr;gap:44px;align-items:center}
.hero h1{max-width:none;line-height:.82;margin:.18em 0 .28em;font-size:clamp(3.4rem,8.6vw,7.4rem)}
.hero h1 span{display:block;animation:slam .8s cubic-bezier(.2,.9,.25,1.2) both}
.hero h1 span:nth-child(2){animation-delay:.12s;color:transparent;-webkit-text-stroke:2px #fff}
.hero h1 span:nth-child(3){animation-delay:.24s;color:var(--ball)}
@keyframes slam{from{opacity:.001;transform:translateY(40px) skewY(4deg)}to{opacity:1;transform:none}}
.hero .lead{color:#D6E0FA}
.finder{border-radius:16px;padding:6px;gap:6px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.finder select{font-weight:700;padding:0 12px}
.finder .btn{border-radius:11px}
.hero-stats{gap:30px;margin-top:30px}
.hero-stats b{font:900 2.6rem/1 var(--display)} .hero-stats span{font:600 .66rem var(--mono);letter-spacing:.16em;color:#A9BBEA}
.livecard{background:rgba(9,20,52,.72);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-lg);padding:14px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--sh-2)}
.live-h{display:flex;justify-content:space-between;align-items:center;font:700 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#C4D0EE;padding:4px 6px 12px}
.live-h .dot{display:inline-flex;gap:7px;align-items:center;color:var(--ball)} .live-h .dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--clay);animation:pulse 1.4s infinite}
#rally{width:100%;aspect-ratio:1.65;border-radius:14px;background:#1B3F99}
.board{display:grid;grid-template-columns:1fr repeat(3,34px) 44px;margin-top:12px;font:600 .9rem var(--mono);border-radius:12px;overflow:hidden;background:#07122F;color:#fff}
.board>div{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;min-width:0}
.board .nm{font-family:var(--body);font-weight:700;gap:8px;white-space:nowrap;overflow:hidden}
.board .srv{width:7px;height:7px;border-radius:50%;background:var(--ball);visibility:hidden;flex:none} .board .srv.on{visibility:visible}
.board .g{justify-content:center;color:#A9BBEA} .board .g.cur{color:#fff} .board .pt{justify-content:center;background:var(--ball);color:var(--ink);font-weight:800}
.board .pt.flash{animation:flash .5s} @keyframes flash{0%{background:#fff}100%{background:var(--ball)}}
.livecard .cond{background:transparent;border:0;padding:0;backdrop-filter:none;margin-top:12px}
.livecard .cond h4{font:700 .64rem var(--mono);letter-spacing:.14em;color:#C4D0EE;margin:0 4px 8px}
.livecard .cond-main{display:none}
.livecard .cond-grid{margin-top:0;gap:6px} .livecard .cond-grid div{border-radius:10px;font:600 .6rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#A9BBEA;background:rgba(255,255,255,.06)}
.livecard .cond-grid b{font:800 1.12rem var(--body);letter-spacing:0;text-transform:none}
.livecard .cond-tip{font-size:.82rem;color:#D6E0FA;margin-top:10px} .livecard .cond-tip i{width:20px;height:20px;border-radius:6px;font-size:.8rem}

/* ticker */
.ticker{border-block:2px solid var(--ink);color:var(--ink)}
.ticker-track{font:700 .86rem var(--mono);gap:44px;animation-duration:70s}
.ticker-track span::before{width:10px;height:10px;background:var(--ink)}
.ticker-track em{font-style:normal;color:var(--court)}

/* rail of event cards */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,380px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 24px 24px;margin-inline:-24px;scrollbar-width:thin;cursor:var(--rk-grab)}
.rail>*{scroll-snap-align:start} .rail.drag{cursor:var(--rk-grab);scroll-snap-type:none;user-select:none}
.rail .ev-card{height:100%}

/* cards */
.card{border-radius:var(--r);box-shadow:var(--sh-1);border-color:var(--line-2)}
a.card:hover,.card.hover:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.ev-card .ev-img{aspect-ratio:16/10;background:var(--court-2)}
.ev-card .ev-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,22,51,.65))}
.ev-card .ev-img img{transition:transform .8s cubic-bezier(.2,.8,.2,1)} .ev-card:hover .ev-img img{transform:scale(1.07)}
.ev-date{left:14px;top:auto;bottom:12px;z-index:1;background:transparent;box-shadow:none;padding:0;color:#fff;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:8px;line-height:.8;text-align:left}
.ev-date b{font:900 3.2rem/.8 var(--display)} .ev-date small{color:#fff;font:700 .7rem/1.2 var(--mono);letter-spacing:.14em;padding-bottom:3px}
.ev-type{left:12px;right:auto;z-index:1}
.ev-card h3{font-size:1.55rem;margin:0 0 .35em}
.ev-foot{border-top:1px dashed var(--line)}
.price{font:900 2rem/1 var(--display)} .price small{font:600 .68rem var(--mono);color:var(--muted);margin-left:6px}
.meter{height:6px;border-radius:9px;background:var(--line-2)} .meter i{background:var(--court)} .meter.hot i{background:var(--clay)}
.tag{border-radius:7px;font:700 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.36em .7em}
.tag-ball{background:var(--ball);color:var(--ink)} .tag-clay{background:var(--clay);color:#fff} .tag-court{background:var(--court);color:#fff} .tag-ocean{background:var(--ink);color:#fff}
.avatar{font:900 calc(var(--s)*.42)/1 var(--display);font-stretch:normal;letter-spacing:.02em}
.avatar::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.28),transparent 45%);pointer-events:none}
.avatar.xl{border-color:var(--ball)}
.rating-pill{background:var(--ink);font:700 .76rem var(--mono)}

/* player cards: court banner + 3D tilt */
.pl-card{perspective:900px;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}
.pl-card>.pl-in{background:#fff;border-radius:var(--r);border:1px solid var(--line-2);box-shadow:var(--sh-1);padding:22px 18px 18px;text-align:center;transition:transform .15s,box-shadow .3s;transform-style:preserve-3d;position:relative;overflow:hidden;width:100%;display:flex;flex-direction:column;align-items:center;height:100%}
.pl-card>.pl-in::before{content:"";position:absolute;inset:0 0 auto;height:64px;background:linear-gradient(90deg,var(--court),var(--court-2))}
.pl-card>.pl-in::after{content:"";position:absolute;left:50%;top:0;width:2px;height:64px;background:rgba(255,255,255,.4)}
.pl-card .avatar{margin-top:6px;border:4px solid #fff;z-index:1}
a.pl-card:hover{transform:none;box-shadow:none} .pl-card:hover>.pl-in{box-shadow:var(--sh-2)}
.pl-card .rank-no{left:auto;right:12px;top:10px;z-index:2;font:900 1.3rem var(--display);color:#fff}
.pl-card h3{font-size:1.45rem;margin:12px 0 2px}
.pl-card .pl-stats{font:600 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.pl-card .pl-stats b{font:900 1.35rem var(--display);color:var(--ink)}

/* tables and rankings */
.table th{font:700 .64rem var(--mono);letter-spacing:.14em}
.table tr:hover td{background:#F8F9FC}
.rank{font:900 1.4rem var(--display)} .rank.top{color:var(--clay)}
.bg-navy .table-wrap{background:#07122F!important}
.tabs a,.tabs button{border-radius:10px;font:700 .8rem var(--body)}
.tabs a.on,.tabs button.on{background:var(--ink);border-color:var(--ink)}

/* page heads */
.phead{background:var(--court);padding:72px 0 58px;isolation:isolate}
.phead::after{z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='780' height='360' fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='3'%3E%3Crect x='20' y='20' width='740' height='320'/%3E%3Cpath d='M390 20v320M20 62h740M20 298h740M200 62v236M580 62v236M200 180h380'/%3E%3C/svg%3E") right -120px center/auto 150% no-repeat}
.phead.img::before{background:linear-gradient(95deg,rgba(18,44,112,.97),rgba(27,63,153,.72) 60%,rgba(27,63,153,.38))}
.phead h1{font-size:clamp(3rem,7.2vw,6rem);max-width:16ch} .phead .lead{color:#D6E0FA}
.crumbs{font:600 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#C4D0EE}
.pro-hero{background:var(--court-3)}
.pro-hero::before{right:auto;left:0;top:0;width:100%;height:100%;border-radius:0;opacity:1;background:linear-gradient(90deg,rgba(18,44,112,.98),rgba(27,63,153,.82) 55%,rgba(27,63,153,.5)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='780' height='360' fill='none' stroke='%23ffffff' stroke-opacity='.14' stroke-width='3'%3E%3Crect x='20' y='20' width='740' height='320'/%3E%3Cpath d='M390 20v320M20 62h740M20 298h740M200 62v236M580 62v236M200 180h380'/%3E%3C/svg%3E") right -100px center/auto 140% no-repeat}
.pro-top h1{font-size:clamp(3rem,7vw,6rem)}
.pro-kpis b{font:900 2.2rem/1 var(--display)} .pro-kpis span{font:600 .62rem var(--mono);letter-spacing:.14em;color:#A9BBEA}
.panel h3{font-size:1.5rem}
.kpi{border-radius:14px} .kpi span{font:700 .62rem var(--mono);letter-spacing:.14em} .kpi b{font:900 2.3rem/1.05 var(--display)}
.feat{border-radius:var(--r)} .feat .ico{background:var(--ink);color:var(--ball)} .feat h3{font-size:1.5rem}

/* champions, ages, tiers, faq, cta */
.champ{min-height:250px;background:var(--court-3);isolation:isolate}
.champ::before{background:linear-gradient(180deg,rgba(18,44,112,.2),rgba(11,22,51,.92)),var(--img) center/cover;opacity:1}
.champ .yr{font:900 4.4rem/1 var(--display);color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.5);top:8px}
.champ h3{font-size:2rem}
.age-card img{transition:transform .8s} .age-card:hover img{transform:scale(1.08)} .age-card h3{font-size:2.1rem}
.tier{transition:transform .3s,box-shadow .3s} .tier:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.tier.featured{background:var(--ink);border-color:var(--ink)} .tier.featured:hover{transform:translateY(-14px)}
.tier .amt{font:900 4rem/1 var(--display)} .tier .amt small{font:600 .8rem var(--mono)}
.tier .ribbon{font:700 .66rem var(--mono);letter-spacing:.12em}
.faq summary{font-weight:700}
.cta-band{background:var(--court);isolation:isolate}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='780' height='360' fill='none' stroke='%23ffffff' stroke-opacity='.18' stroke-width='3'%3E%3Crect x='20' y='20' width='740' height='320'/%3E%3Cpath d='M390 20v320M20 62h740M20 298h740M200 62v236M580 62v236M200 180h380'/%3E%3C/svg%3E") center/cover}
.cta-band::after{z-index:0;opacity:1;box-shadow:inset -34px -26px 0 rgba(0,0,0,.1);animation:bob 4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-14px)}}
.cta-band p{color:#D6E0FA!important}

/* rankings race */
.race{position:relative;height:420px}
.race .rw{position:absolute;left:0;right:0;height:38px;display:flex;align-items:center;gap:10px;transition:transform .7s cubic-bezier(.4,.1,.2,1)}
.race .nm{width:160px;flex:none;font-weight:700;font-size:.9rem;display:flex;gap:8px;align-items:center;white-space:nowrap;overflow:hidden;color:#fff}
.race .tr2{flex:1;height:26px;background:rgba(255,255,255,.06);border-radius:7px;overflow:hidden}
.race .br{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--court),#4C7BEA);transition:width .7s cubic-bezier(.4,.1,.2,1);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font:700 .75rem var(--mono);color:#fff;min-width:44px}
.race .rw.lead .br{background:linear-gradient(90deg,var(--ball-2),var(--ball));color:var(--ink)}
.racectl{display:flex;gap:12px;align-items:center;margin-top:18px} .racectl input{flex:1;accent-color:var(--ball)}
.racectl .mono{font:700 .8rem var(--mono);color:#C4D0EE;min-width:70px}

/* footer, HQ, misc */
.foot{background:var(--ink);color:#A9B6D6}
.foot h5{font:700 .7rem var(--mono);letter-spacing:.16em}
.foot a:hover{color:var(--ball)}
.hq-side{background:var(--ink)}
.demo-flag{font:700 .62rem var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--ball);border-radius:9px}
.spark polyline{stroke:var(--court)}
@media (max-width:1000px){.hero-row{grid-template-columns:1fr}.hero .wrap{padding-top:48px}}
@media (max-width:620px){.finder{display:grid;grid-template-columns:1fr 1fr;border-radius:16px}.finder .sep{display:none}.finder select{padding:10px 12px}.finder .btn{grid-column:1/-1}.race .nm{width:108px;font-size:.8rem}.board{grid-template-columns:1fr repeat(3,28px) 40px}.bg-sand .grid.g3>.rv{margin:0 0 -1.5px}}
@media (prefers-reduced-motion:reduce){.hero h1 span,.cta-band::after,main>section:first-child{animation:none}.wipe{display:none}}

.livecard .cond h4 .live{display:none}
.logo-ft svg{width:240px;height:auto;max-width:100%}
.pro-hero{isolation:isolate}.pro-hero::before{z-index:-1}
@media (max-width:520px){.hero-stats{gap:18px}.hero-stats b{font-size:2.1rem}.hero-stats span{font-size:.56rem;letter-spacing:.1em}.hero .wrap{padding-top:36px}}

/* animated logo intro (first visit of the day or every 6 hours) */
.intro-screen{display:none}
html.intro .intro-screen{display:grid;place-items:center;position:fixed;inset:0;z-index:300;cursor:var(--rk-hit);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='780' height='360' fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='3'%3E%3Crect x='20' y='20' width='740' height='320'/%3E%3Cpath d='M390 20v320M20 62h740M20 298h740M200 62v236M580 62v236M200 180h380'/%3E%3C/svg%3E") center/min(1400px,160vw) no-repeat}
html.intro body{overflow:hidden}
.intro-in{width:min(560px,84vw);text-align:center}
.intro-in img{width:100%;height:auto;display:block}
.intro-bar{display:block;height:3px;width:46%;margin:34px auto 0;background:rgba(255,255,255,.12);border-radius:3px;overflow:hidden}
.intro-bar b{display:block;height:100%;background:var(--ball);transform-origin:left;transform:scaleX(0);animation:introbar 2.7s linear forwards}
@keyframes introbar{to{transform:scaleX(1)}}
.intro-screen.out{animation:introOut .5s cubic-bezier(.7,0,.2,1) forwards}
@keyframes introOut{to{transform:translateY(-100%)}}
html.intro .hero h1 span,html.intro main>section:first-child{animation-play-state:paused}

/* Portal link + CRM */
.tb-portal{display:inline-flex;align-items:center;gap:6px;color:var(--ball)!important;font-weight:700}
.tb-portal::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ball)}
.crm-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.crm-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-filter .input{min-width:220px}.crm-filter .input,.crm-filter .select{padding:.5em .8em;font-size:.9rem}
.crm-board{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px;align-items:start}
.crm-col{background:#E9EBE3;border-radius:14px;padding:10px;min-height:200px;display:flex;flex-direction:column}
.crm-col header{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 10px;font:700 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.crm-col header .num{color:var(--muted);font-size:.7rem}
.crm-col[data-stage=member]{background:#EEF7C8}.crm-col[data-stage=lost]{background:#EDEDED}
.crm-drop{display:flex;flex-direction:column;gap:8px;flex:1;min-height:80px;max-height:70vh;overflow:auto;border-radius:10px;transition:background .2s}
.crm-drop.over{background:rgba(35,82,194,.12);outline:2px dashed var(--court)}
.crm-card{display:block;background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;box-shadow:var(--sh-1);cursor:var(--rk-grab);transition:transform .15s,box-shadow .2s}
.crm-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)} .crm-card.dragging{opacity:.45}
.crm-card-h{display:flex;gap:8px;align-items:center;font-size:.92rem} .crm-card-h b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-card-f{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}.crm-card-f .tag{font-size:.58rem}
.crm-due{display:inline-flex;gap:4px;align-items:center;font:700 .66rem var(--mono);letter-spacing:.04em;padding:.3em .55em;border-radius:6px;background:var(--line-2);color:var(--ink-2)}
.crm-due.today{background:var(--ball);color:var(--ink)} .crm-due.over{background:var(--clay);color:#fff}
.crm-task{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.crm-detail{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}
.crm-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.crm-quick{display:flex;gap:8px;flex-wrap:wrap}
.crm-acts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.crm-acts input{position:absolute;opacity:0}
.crm-acts span{display:inline-flex;gap:6px;align-items:center;padding:.45em .8em;border:1px solid var(--line);border-radius:9px;font-weight:700;font-size:.82rem;cursor:var(--rk-hit);background:#fff}
.crm-acts input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)} .crm-acts input:focus-visible+span{outline:3px solid var(--ball)}
.crm-tl{list-style:none;margin:0;padding:0}
.crm-tl li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2);position:relative}
.crm-ic{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--line-2);color:var(--ink)}
.crm-ic.t-call,.crm-ic.t-meeting{background:var(--court);color:#fff}.crm-ic.t-email,.crm-ic.t-text,.crm-ic.t-inbound{background:var(--ink);color:var(--ball)}
.crm-ic.t-stage,.crm-ic.t-followup{background:var(--ball)}.crm-ic.t-payment{background:#DCF1E6;color:#136B44}.crm-ic.t-match,.crm-ic.t-event{background:#FBE3D6;color:var(--clay)}
.crm-tl li>div{flex:1;min-width:0}
.crm-x{border:0;background:transparent;color:var(--muted);font-size:1.2rem;cursor:var(--rk-hit);line-height:1;align-self:flex-start;opacity:.5}.crm-x:hover{opacity:1;color:var(--clay)}
@media (max-width:1000px){.crm-detail{grid-template-columns:1fr}}
.hq-body main>div:first-child{animation:none}.crm-filter .select,.crm-filter .input{width:auto}.crm-filter .input{min-width:240px}
.podium .avatar{margin:0 auto 10px}
.filters .field{min-width:128px}.filters .select{text-overflow:ellipsis}

/* sign-up popup */
.join-pop{position:fixed;inset:0;z-index:250;background:rgba(11,22,51,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s}
.join-pop.open{opacity:1;pointer-events:auto}
.join-box{position:relative;width:min(820px,100%);height:min(92vh,960px);background:var(--paper);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);transform:translateY(24px) scale(.98);transition:transform .35s cubic-bezier(.2,.9,.25,1.1)}
.join-pop.open .join-box{transform:none}
.join-box iframe{width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity .25s}
.join-pop.ready iframe{opacity:1}
.join-x{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:1.5rem;line-height:1;cursor:var(--rk-hit);box-shadow:var(--sh-1)}
.join-x:hover{background:var(--court)}
.join-load{position:absolute;inset:0;display:grid;place-items:center}
.join-load span{width:34px;height:34px;border-radius:50%;background:var(--ball);box-shadow:inset -6px -5px 0 rgba(0,0,0,.14);animation:bob .8s ease-in-out infinite}
.join-pop.ready .join-load{display:none}
html.pop-open body{overflow:hidden}
body.embed{background:var(--paper)}
body.embed main>section{background:transparent!important;padding-top:34px}
body.embed .demo-flag{display:none}
@media (max-width:640px){.join-pop{padding:0}.join-box{width:100%;height:100%;border-radius:0}}
/* popup sign-in */
.pop-auth{min-height:100vh;display:grid;place-items:center;padding:48px 24px;background:radial-gradient(circle at 85% -10%,rgba(226,245,61,.35),transparent 40%),linear-gradient(180deg,#fff,var(--paper))}
.pop-auth-in{width:100%;max-width:420px;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.pop-auth-logo svg{height:44px;width:auto;margin-bottom:18px}
.pop-auth h1{font-size:2.6rem;margin:0 0 .4em}
.join-pop.open .join-box{animation:popIn .45s cubic-bezier(.2,.9,.25,1.25)}
@keyframes popIn{0%{transform:translateY(40px) scale(.94);opacity:.4}100%{transform:none;opacity:1}}
.join-box.small{width:min(520px,100%);height:min(700px,92vh)}
/* HQ player record */
.row-link{cursor:var(--rk-hit)}.row-link:hover td{background:#EEF2FB!important}
.pv-hero{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.pv-kpis{display:flex;gap:26px;flex-wrap:wrap;margin-top:14px}
.pv-kpis b{display:block;font:900 2rem/1 var(--display)} .pv-kpis span{font:600 .6rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pv-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:360px;justify-content:flex-end}
.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.pv-f{padding:10px 0;border-bottom:1px solid var(--line-2);min-width:0}
.pv-f span{display:block;font:700 .6rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.pv-f b{font-weight:600;word-break:break-word}
.pv-match{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-2)}
.pv-match .wl{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:900 .9rem var(--display);background:var(--line-2)}
.pv-match .wl.w{background:var(--ball);color:var(--ink)} .pv-match .wl.l{background:#F6D5C6;color:var(--clay)}
@media (max-width:700px){.pv-grid{grid-template-columns:1fr}.pv-actions{justify-content:flex-start}}
.pv-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.pv-people a{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;border:1px solid var(--line-2)}.pv-people a:hover{background:#EEF2FB}.pv-people small{display:block;color:var(--muted);font-size:.78em}
/* HQ pagination + delete buttons */
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 2px 6px}
.pager nav{display:flex;gap:4px;align-items:center}
.pager a,.pager b,.pager span.off{min-width:36px;height:36px;padding:0 10px;display:inline-grid;place-items:center;border-radius:10px;font:700 .85rem var(--mono);border:1px solid var(--line);background:#fff}
.pager a:hover{border-color:var(--ink)} .pager b{background:var(--ink);color:#fff;border-color:var(--ink)} .pager span.off{opacity:.35} .pager .gap{padding:0 4px;color:var(--muted)}
.btn-del{color:var(--clay)!important}.btn-del:hover{background:#FBE3D6}
.brand svg,.logo-ft svg,.pop-auth-logo svg,.hq-side .brand svg{overflow:visible}

/* ===== Gamification: trophy case, levels, share popup, celebration ===== */
.game{--bz1:#C98A4B;--bz2:#8A5A2B;--sv1:#DDE3EC;--sv2:#8C97A8;--gd1:#E2F53D;--gd2:#B8A21B;--pt1:#9FE7F5;--pt2:#2352C2}
.game-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.lvl{display:flex;gap:12px;align-items:center;min-width:240px;flex:1;max-width:360px}
.lvl-n{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--ink);color:var(--ball);font:900 1.15rem/1 var(--display);letter-spacing:.02em;box-shadow:inset 0 0 0 2px rgba(226,245,61,.35)}
.lvl>div{flex:1;min-width:0}.lvl b{font:800 1.2rem/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.lvl-bar,.tro-prog{height:8px;border-radius:99px;background:var(--line-2);overflow:hidden;margin:6px 0 4px}
.lvl-bar i,.tro-prog i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--court),var(--ball));transition:width 1s cubic-bezier(.2,.8,.2,1)}
.tro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tro{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 12px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}
.tro b{font:800 1.08rem/1.05 var(--display);letter-spacing:.02em;text-transform:uppercase;margin-top:6px}.tro small{font-size:.76rem;color:var(--muted);line-height:1.3}
.tro .medal{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:var(--ink);background:radial-gradient(circle at 35% 30%,var(--c1),var(--c2));box-shadow:0 8px 18px -8px var(--c2),inset 0 -4px 0 rgba(0,0,0,.14),inset 0 3px 0 rgba(255,255,255,.45)}
.tro .medal::after{content:"";position:absolute;inset:6px;border-radius:50%;border:2px dashed rgba(255,255,255,.55)}
.t-bronze{--c1:var(--bz1);--c2:var(--bz2)}.t-silver{--c1:var(--sv1);--c2:var(--sv2)}.t-gold{--c1:var(--gd1);--c2:var(--gd2)}.t-platinum{--c1:var(--pt1);--c2:var(--pt2)}
.tro.on{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--c1),var(--c2)) border-box;border:2px solid transparent;box-shadow:var(--sh-1)}
.tro.on:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:var(--sh-2)}
.tro.on .medal{animation:troShine 5s ease-in-out infinite}
@keyframes troShine{0%,86%,100%{filter:none}92%{filter:brightness(1.35) saturate(1.2)}}
.tro.off{background:var(--paper);border-style:dashed}.tro.off .medal{filter:grayscale(1);opacity:.35;box-shadow:none}.tro.off b{color:var(--muted)}
.tro .tro-prog{width:100%;margin-top:6px}
.tro-share{margin-top:8px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:99px;padding:.45em .9em;background:var(--ink);color:#fff;font-weight:700;font-size:.78rem;transition:background .2s,color .2s}
.tro-share:hover{background:var(--ball);color:var(--ink)}
.share-rank .sr-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.sr-n{font:900 3.6rem/1 var(--display);color:var(--court);letter-spacing:-.01em}
.lvl-chip{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:14px;background:var(--ink);color:#fff;text-align:center}.lvl-chip b{color:var(--ball);font:900 1.2rem/1 var(--display)}.lvl-chip span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.share-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:18px 0;padding:14px 18px;border-radius:18px;background:linear-gradient(100deg,#fff 0%,#F4F8DA 100%);border:1px solid var(--line)}
.share-land .share-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.share-card{width:100%;height:auto;border-radius:22px;box-shadow:var(--sh-2);transform:rotate(-1.2deg);transition:transform .4s}.share-card:hover{transform:rotate(0) scale(1.01)}
@media (max-width:860px){.share-land .share-grid{grid-template-columns:1fr;gap:24px}}
/* share popup */
.shr,.cel{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:rgba(7,14,34,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.shr.open,.cel.open{opacity:1}
.shr-box{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);transform:translateY(24px) scale(.96);transition:transform .35s cubic-bezier(.2,1.3,.4,1)}
.shr.open .shr-box{transform:none}
.shr-x{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(11,22,51,.8);color:#fff;font-size:1.4rem;line-height:1}
.shr-img{background:var(--ink);padding:14px 14px 0}.shr-img img{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:14px 14px 0 0;margin:0 auto}
.shr-body{padding:18px 20px 22px}.shr-body h3{font-size:1.5rem;margin:6px 0 14px;line-height:1.05}
.shr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.shr-b{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:.78rem;text-decoration:none;transition:transform .15s,background .2s,color .2s}
.shr-b:hover{transform:translateY(-2px)}.shr-b svg{width:24px;height:24px}
.shr-fb:hover{background:#1877F2;color:#fff}.shr-tw:hover{background:#000;color:#fff}.shr-wa:hover{background:#25D366;color:#fff}.shr-li:hover{background:#0A66C2;color:#fff}.shr-mail:hover,.shr-native:hover{background:var(--ink);color:#fff}
.shr-ig:hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);color:#fff}
.shr-copy{display:flex;gap:8px;margin-top:14px}.shr-copy .input{flex:1;min-width:0;font-size:.85rem}
.shr-dl{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:.82rem;font-weight:700}.shr-dl a{display:inline-flex;align-items:center;gap:5px;color:var(--court)}.shr-dl svg{width:16px;height:16px}
.shr-toast{position:fixed;left:50%;bottom:28px;z-index:1300;transform:translateX(-50%);padding:.8em 1.2em;border-radius:99px;background:var(--ink);color:#fff;font-weight:700;box-shadow:var(--sh-2);animation:rjSel .2s ease-out;transition:opacity .4s}.shr-toast.out{opacity:0}
@media (max-width:520px){.shr{place-items:end center;padding:0}.shr-box{border-radius:22px 22px 0 0;max-height:92dvh}.shr-grid{grid-template-columns:repeat(3,1fr)}}
/* celebration */
.cel-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.cel-box{position:relative;width:min(440px,100%);padding:44px 26px 26px;border-radius:28px;text-align:center;color:#fff;background:radial-gradient(120% 90% at 50% 0%,#2352C2 0%,#122C70 55%,#0B1633 100%);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);overflow:hidden;transform:scale(.8);transition:transform .5s cubic-bezier(.2,1.5,.4,1)}
.cel.open .cel-box{transform:none}
.cel-box .eyebrow{color:var(--ball)}
.cel-box h2{font-size:clamp(2.4rem,9vw,3.4rem);margin:8px 0 6px;text-transform:uppercase;color:#fff}.cel-box .muted{color:#C4D0EE}
.cel-rays{position:absolute;left:50%;top:92px;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(from 0deg,rgba(226,245,61,.13) 0 10deg,transparent 10deg 20deg);border-radius:50%;animation:celSpin 18s linear infinite;pointer-events:none}
@keyframes celSpin{to{transform:rotate(360deg)}}
.cel-medal{position:relative;margin:0 auto 14px;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:radial-gradient(circle at 35% 30%,var(--c1),var(--c2));box-shadow:0 0 0 8px rgba(255,255,255,.08),0 20px 40px -12px rgba(0,0,0,.6),inset 0 -6px 0 rgba(0,0,0,.15),inset 0 5px 0 rgba(255,255,255,.5);animation:celPop .9s cubic-bezier(.2,1.6,.4,1) both}
.cel-box{--bz1:#C98A4B;--bz2:#8A5A2B;--sv1:#DDE3EC;--sv2:#8C97A8;--gd1:#E2F53D;--gd2:#B8A21B;--pt1:#9FE7F5;--pt2:#2352C2}
@keyframes celPop{0%{transform:scale(0) rotate(-40deg)}100%{transform:none}}
.cel-meta{display:flex;justify-content:center;gap:8px;margin:14px 0 20px}.cel-meta span{padding:.35em .8em;border-radius:99px;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.cel-tier{background:rgba(255,255,255,.12)}.cel-xp{background:var(--ball);color:var(--ink)}
.cel-acts{position:relative;z-index:4;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.cel-acts .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.cel .shr-x{z-index:5}
@media (prefers-reduced-motion:reduce){.cel-rays,.tro.on .medal{animation:none}}

/* ===== Header: greeting + member menu ===== */
.tb-greet{color:var(--ball);font-weight:700;letter-spacing:.04em}
.tb-right{gap:18px}.tb-right a{color:#A9B6D6}.tb-right a:hover{color:#fff}
@media (max-width:640px){.tb-right .hide-sm{display:none}}
@media (max-width:900px){.hide-md{display:none!important}.topbar .wrap{justify-content:center}}
.um{position:relative}
.um-btn{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:99px;border:1px solid var(--line);background:#fff;box-shadow:var(--sh-1);transition:box-shadow .2s,border-color .2s}
.um-btn:hover,.um.open .um-btn{border-color:var(--court);box-shadow:0 0 0 3px rgba(35,82,194,.15)}
.um-av{width:38px!important;height:38px!important;min-width:38px;font-size:.85rem!important;border:2px solid var(--ball)}
.um-burger{display:grid;gap:4px;width:18px}.um-burger i{display:block;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .2s}
.um.open .um-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}.um.open .um-burger i:nth-child(2){opacity:0}.um.open .um-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.um-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:500;width:280px;padding:8px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 50px -18px rgba(11,22,51,.4);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity .18s,transform .18s,visibility 0s .18s}
.um.open .um-menu{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.um-head{display:flex;gap:12px;align-items:center;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--line-2)}
.um-head .um-av{width:46px!important;height:46px!important}
.um-head b{display:block;font-weight:800;line-height:1.2}.um-head small{color:var(--muted);font-size:.78rem}
.um-menu a{display:flex;align-items:center;gap:12px;padding:.62em .75em;border-radius:11px;font-weight:600;font-size:.93rem;color:var(--ink)}
.um-menu a:hover,.um-menu a:focus-visible{background:#EEF2FB;outline:none}.um-menu a svg{color:var(--court);flex:none}
.um-menu hr{border:0;border-top:1px solid var(--line-2);margin:6px 4px}
.um-menu .um-out{color:var(--clay)}.um-menu .um-out svg{color:var(--clay)}
@media (max-width:1299px){.hdr-cta .um{display:block}}
@media (max-width:520px){.um-btn{padding-right:10px}.um-menu{width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 130px);overflow:auto}}

/* racket mouse pointer (hotspot on the racket head). Applied to every element so nothing falls back to the system arrow or hand */
:root{--rk:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2232%22%20height=%2232%22%20viewBox=%220%200%2032%2032%22%3E%3Cg%20transform=%22rotate%28-45%2016%2016%29%22%3E%3Cpath%20d=%22M16%2017.5v12%22%20stroke=%22%23fff%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M16%2018v11%22%20stroke=%22%230B1633%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22rgba%28255,255,255,.92%29%22%20stroke=%22%23fff%22%20stroke-width=%224%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%222.2%22/%3E%3Cpath%20d=%22M12.5%204.5v10M16%202.2v14.6M19.5%204.5v10M10%207h12M9.6%2010.5h12.8M10.6%2014h10.8%22%20stroke=%22%230B1633%22%20stroke-opacity=%22.55%22%20stroke-width=%22.8%22/%3E%3Cpath%20d=%22M14%2017.2l2%201.8%202-1.8%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%221.6%22/%3E%3C/g%3E%3C/svg%3E") 11 11,auto;--rk-hit:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2232%22%20height=%2232%22%20viewBox=%220%200%2032%2032%22%3E%3Cg%20transform=%22rotate%28-45%2016%2016%29%22%3E%3Cpath%20d=%22M16%2017.5v12%22%20stroke=%22%23fff%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M16%2018v11%22%20stroke=%22%232352C2%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22%23E2F53D%22%20stroke=%22%23fff%22%20stroke-width=%224%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%222.2%22/%3E%3Cpath%20d=%22M12.5%204.5v10M16%202.2v14.6M19.5%204.5v10M10%207h12M9.6%2010.5h12.8M10.6%2014h10.8%22%20stroke=%22%230B1633%22%20stroke-opacity=%22.55%22%20stroke-width=%22.8%22/%3E%3Cpath%20d=%22M14%2017.2l2%201.8%202-1.8%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%221.6%22/%3E%3C/g%3E%3C/svg%3E") 11 11,pointer;--rk-grab:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2232%22%20height=%2232%22%20viewBox=%220%200%2032%2032%22%3E%3Cg%20transform=%22rotate%28-45%2016%2016%29%22%3E%3Cpath%20d=%22M16%2017.5v12%22%20stroke=%22%23fff%22%20stroke-width=%225%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M16%2018v11%22%20stroke=%22%232352C2%22%20stroke-width=%223%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22%23E2F53D%22%20stroke=%22%23fff%22%20stroke-width=%224%22/%3E%3Cellipse%20cx=%2216%22%20cy=%229.5%22%20rx=%226.6%22%20ry=%228.2%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%222.2%22/%3E%3Cpath%20d=%22M12.5%204.5v10M16%202.2v14.6M19.5%204.5v10M10%207h12M9.6%2010.5h12.8M10.6%2014h10.8%22%20stroke=%22%230B1633%22%20stroke-opacity=%22.55%22%20stroke-width=%22.8%22/%3E%3Cpath%20d=%22M14%2017.2l2%201.8%202-1.8%22%20fill=%22none%22%20stroke=%22%230B1633%22%20stroke-width=%221.6%22/%3E%3C/g%3E%3C/svg%3E") 11 11,grab}
html,body,*,*::before,*::after{cursor:var(--rk)}
:where(a,button,[role=button],[role=option],label,summary,select,option,.row-link,.crm-card,.chip,.btn,.join-x,[data-href],[data-share],[onclick],input[type=checkbox],input[type=radio],input[type=range],input[type=submit],input[type=button],input[type=reset],input[type=file],input[type=color],input[type=date],input[type=datetime-local],input[type=time],input[type=month],.rj-sel-btn,.rj-sel-opt),
:where(a,button,[role=button],[role=option],label,summary,.row-link,.chip,.btn,[data-href],[data-share],[onclick],.rj-sel-btn,.rj-sel-opt) *,
:where(a,button,select,label,summary,.btn,[role=button]):is(:hover,:active,:focus,:focus-visible){cursor:var(--rk-hit)!important}
:where(input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=number],input[type=url],input:not([type]),textarea,[contenteditable]){cursor:text!important}
.rail,.rail *,.crm-card,.crm-card *{cursor:var(--rk-grab)!important}
.rail a,.rail button,.crm-card a,.crm-card button{cursor:var(--rk-hit)!important}
:disabled,[aria-disabled=true]{cursor:var(--rk)!important}
/* styled dropdown list (replaces the OS dropdown on mouse devices so the racket stays visible) */
.rj-sel{position:relative}
.rj-sel-list{position:fixed;z-index:1000;max-height:320px;overflow:auto;background:#fff;color:#0B1633;border:1px solid var(--line,#dfe3ea);border-radius:14px;box-shadow:0 18px 40px rgba(11,22,51,.2);padding:6px;list-style:none;margin:0;animation:rjSel .16s ease-out;font-size:.95rem;text-align:left}
@keyframes rjSel{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rj-sel-opt{padding:.55em .85em;border-radius:9px;font-weight:600;white-space:nowrap}
.rj-sel-opt:hover,.rj-sel-opt.on{background:#EEF2FB}
.rj-sel-opt[aria-selected=true]{color:var(--court,#1f7a4d);font-weight:800}
.rj-sel-opt[aria-disabled=true]{opacity:.45}
.rj-sel-grp{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#667);padding:.7em .85em .3em}
@media (max-width:640px){.tro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tro{padding:14px 8px 12px}.tro .medal{width:54px;height:54px}.tro b{font-size:.98rem}.game-head{gap:12px}.lvl{min-width:0;max-width:none;width:100%}}
@media (min-width:641px) and (max-width:1024px){.tro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1299px){.hdr-cta{margin-left:auto}}
@media (max-width:640px){.um-menu{position:fixed;left:12px;right:12px;width:auto;top:var(--um-top,110px)}}
.pub-pager{margin-top:26px}.pub-pager .pager{justify-content:center;flex-direction:column}
@media (max-width:640px){.pager nav{flex-wrap:wrap;justify-content:center}}
/* ===== Responsive hardening: nothing wider than the screen on phones and tablets ===== */
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid>*,.form-row>*,.side-layout>*,.hq>*,.hq-main>*{min-width:0}
input,select,textarea,.input{max-width:100%}
img,video,iframe,svg,canvas{max-width:100%}
@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.side-layout{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:1280px){.hq .side-layout{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}.form-row{grid-template-columns:minmax(0,1fr)!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}
.set-grid .input{min-width:0;width:100%;padding-left:4px;padding-right:4px}
@media (max-width:640px){.set-grid{gap:6px!important}.set-grid .panel{padding:8px 6px!important}.set-grid .small{font-size:.72rem}}
/* header logo: full lockup with ball arc and "Jacksonville Tennis Club" line */
.logo-hd svg{height:68px!important;width:auto}
@media (max-width:1299px){.logo-hd svg{height:58px!important}}
@media (max-width:640px){.logo-hd svg{height:50px!important}}
@media (max-width:360px){.logo-hd svg{height:44px!important}}
/* password eye + remember me */
.pw-wrap{position:relative;display:block}
.pw-wrap>.input{padding-right:52px;width:100%}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted)}
.pw-eye:hover,.pw-eye:focus-visible{color:var(--ink);background:#EEF2FB;outline:none}.pw-eye[aria-pressed=true]{color:var(--court)}
.remember-me{margin:-4px 0 18px;font-weight:600}.remember-me input{accent-color:var(--court)}
/* CRM map */
.crm-map-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-top:14px}
.crm-map{height:min(640px,70vh);min-height:380px;width:100%;background:#E8EEF7;z-index:0}
.mp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 16px;border-top:1px solid var(--line-2);font-size:.8rem;font-weight:600}
.mp-leg{display:inline-flex;align-items:center;gap:6px}.mp-leg i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(11,22,51,.2)}
.mp-pin{background:none;border:0}.mp-pin i{display:block;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 3px #fff,0 6px 12px rgba(11,22,51,.35);margin:0 0 0 0}
.mp-pin i::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
.mp-pin.is-sample i{opacity:.55}
.mp-cities{list-style:none;margin:0;padding:0;counter-reset:c}.mp-cities li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:.9rem}.mp-cities li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leaflet-container a.leaflet-popup-close-button{cursor:var(--rk-hit)}.leaflet-popup-content{font-family:var(--body);font-size:.88rem;line-height:1.45}.leaflet-popup-content a{color:var(--court);font-weight:700}
.leaflet-grab,.leaflet-container{cursor:var(--rk-grab)!important}.leaflet-marker-icon,.leaflet-marker-icon *{cursor:var(--rk-hit)!important}
@media (max-width:1100px){.crm-map-wrap{grid-template-columns:minmax(0,1fr)}}
/* header lockup: logo with ball arc, tagline as crisp text underneath */
.logo-hd{display:flex!important;flex-direction:column;align-items:flex-start;gap:0;line-height:1}
.logo-hd svg [fill="#4A5877"]{display:none}
.logo-hd svg{height:60px!important}
.logo-tag{display:block;margin:1px 0 0 3px;font:700 10px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:#4A5877;white-space:nowrap}
@media (max-width:1299px){.logo-hd svg{height:54px!important}}
@media (max-width:640px){.logo-hd svg{height:46px!important}.logo-tag{font-size:8px;letter-spacing:.2em;margin-left:2px}}
@media (max-width:360px){.logo-hd svg{height:40px!important}.logo-tag{font-size:7px}}
.logo-hd svg{height:54px!important}
.logo-tag{margin:0 0 0 11px;font-size:9px;letter-spacing:.2em}
@media (max-width:1299px){.logo-hd svg{height:50px!important}.logo-tag{margin-left:10px}}
@media (max-width:640px){.logo-hd svg{height:44px!important}.logo-tag{font-size:7.5px;letter-spacing:.18em;margin-left:9px}}
@media (max-width:360px){.logo-hd svg{height:38px!important}.logo-tag{font-size:6.5px;margin-left:7px}}
.hdr .wrap{min-height:84px!important;height:auto!important;padding-top:8px;padding-bottom:8px}@media (max-width:640px){.hdr .wrap{min-height:72px!important}}
@media (max-width:1299px){.mnav{top:84px}}@media (max-width:640px){.mnav{top:72px}}
/* greeting beside the account buttons on computers (top bar keeps it on phones and tablets) */
.hdr-greet{margin-left:18px;font:800 1rem/1.1 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--court);white-space:nowrap;padding-left:8px}
.hdr-greet:empty{display:none}
@media (min-width:1300px){.tb-greet{display:none}.hdr-greet+.hdr-cta{margin-left:14px}}
@media (max-width:1299px){.hdr-greet{display:none}}
@media (min-width:1300px) and (max-width:1320px){.hdr-greet{font-size:.9rem;max-width:170px;white-space:normal;text-align:right}}
/* profile background animations (assets/fx.js) */
.pro-hero .fx-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.75;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 55%);mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 55%)}
/* profile web address field */
.slug-in{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.slug-in:focus-within{border-color:var(--court);box-shadow:0 0 0 4px rgba(35,82,194,.12)}
.slug-pre{display:flex;align-items:center;padding:0 2px 0 14px;font:600 .88rem var(--mono);color:var(--muted);background:var(--paper);white-space:nowrap;}
.slug-in .input{border:0!important;box-shadow:none!important;border-radius:0;min-width:0;flex:1;font-family:var(--mono);padding-left:4px}
.slug-in .input[readonly]{color:var(--muted);background:#fafbf7}
/* ===== Weather ===== */
.wx-chip{display:inline-flex;align-items:center;gap:8px;margin-left:14px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:inherit;box-shadow:var(--sh-1);white-space:nowrap;transition:border-color .2s,box-shadow .2s}
.wx-chip:hover{border-color:var(--court);box-shadow:0 0 0 3px rgba(35,82,194,.12)}
.wx-chip .wx-ic{width:30px;height:30px;border-radius:50%;background:var(--ink);padding:3px;display:grid;place-items:center}
.wx-chip .wx-t{font:900 1.15rem/1 var(--display)}
.wx-chip .wx-days{display:flex;gap:8px;padding-left:8px;border-left:1px solid var(--line-2);font:800 .82rem/1 var(--display)}
.wx-chip .wx-days span{display:flex;align-items:center;gap:3px}.wx-chip .wx-days small{font:700 .62rem var(--mono);color:var(--muted);text-transform:uppercase}.wx-chip .wx-days i{width:18px;height:18px;border-radius:50%;background:var(--ink);padding:2px}
.wx-chip .wx-days:empty{display:none}
@media (max-width:1320px){.wx-chip .wx-days{display:none}}
@media (max-width:1299px){.hdr .wx-chip{margin-left:auto}.hdr-cta{margin-left:10px!important}}
@media (max-width:480px){.hdr .wx-chip{display:none}}
.mnav-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.mnav-greet{font:800 1.1rem/1.1 var(--display);text-transform:uppercase;color:var(--court)}
.mnav .wx-chip{margin:0}.mnav a.wx-chip{border-bottom:0}
@media (min-width:1300px){.mnav-top{display:none}}
.wx-mini{position:absolute;right:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 9px 3px 3px;border-radius:99px;background:rgba(11,22,51,.82);color:#fff;font:800 .9rem/1 var(--display);backdrop-filter:blur(4px);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.wx-mini.ready{opacity:1;transform:none}.wx-mini i{width:24px;height:24px}.wx-mini small{font:700 .62rem var(--mono);color:#9FE7F5;margin-left:2px}
.wx-mini:hover{background:var(--ink);box-shadow:0 0 0 2px var(--ball)}
.wx-mini-in{top:14px;right:14px;bottom:auto}
.wxp-box{width:min(640px,100%)}
.wxp-head{padding:22px 24px 8px;background:linear-gradient(135deg,#122C70,#2352C2);color:#fff}.wxp-head h3{color:#fff;margin:6px 0 4px;font-size:1.6rem}.wxp-head .muted{color:#C4D0EE}.wxp-head .eyebrow{color:var(--ball)}
.wxp-body{padding:18px 24px 22px}
.wxp-now{display:flex;gap:16px;align-items:center;margin-bottom:8px}.wxp-now .wx-big{width:74px;height:74px;flex:none;border-radius:20px;background:var(--ink);padding:8px}
.wxp-now.sm .wx-big{width:58px;height:58px;border-radius:16px}
.wxp-temp{font:900 2.6rem/1 var(--display)}.wxp-temp small{font:700 .95rem var(--body);color:var(--muted);margin-left:6px}
.wx-score{display:inline-block;margin-top:6px;padding:.3em .7em;border-radius:99px;font-weight:800;font-size:.78rem}.wx-score.good{background:#E3F4EA;color:#1F8A5B}.wx-score.ok{background:#FFF4D6;color:#8A6A10}.wx-score.bad{background:#FBE3D6;color:#B4481A}
.wxp-tip{margin:10px 0 14px;padding:10px 14px;border-radius:12px;background:#F4F8DA;font-size:.92rem}
.wxp-sub{margin:16px 0 8px}
.wx-days3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wx-day{padding:12px;border:1px solid var(--line);border-radius:16px;text-align:center;background:#fff}
.wx-day.on{border:2px solid var(--court);background:#F6F8FE}
.wx-day>b{display:block;font:800 1.05rem/1.1 var(--display);text-transform:uppercase}.wx-day>small{color:var(--muted);font-size:.75rem}
.wx-day .wx-big{display:block;width:48px;height:48px;margin:8px auto;border-radius:14px;background:var(--ink);padding:5px}
.wx-hl{display:block;font:800 1.1rem var(--display)}.wx-hl b{font-size:1.35rem}
.wx-cond{display:block;font-size:.78rem;color:var(--muted);min-height:2.2em}
.wx-day ul{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--line-2);display:grid;gap:3px;font-size:.78rem}.wx-day li{display:flex;justify-content:space-between}.wx-day li span{color:var(--muted)}
.wxp-foot{margin-top:14px}
.wx-panel .wx-more{margin-top:10px}.wx-days3.sm{gap:6px}.wx-days3.sm .wx-day{padding:8px 6px}.wx-days3.sm .wx-day ul{display:none}.wx-days3.sm .wx-big{width:40px;height:40px}
@media (max-width:520px){.wx-days3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wx-day{padding:8px 4px}.wx-day ul{font-size:.7rem}.wxp-body{padding:14px}.wxp-head{padding:18px 16px 8px}}
@media (max-width:1599px){.wx-chip .wx-days{display:none}}@media (min-width:1300px) and (max-width:1250px){.hdr .nav a{padding:.55em .6em}.hdr-greet{font-size:.8rem;max-width:120px}}
/* greeting: larger, rotates between day and time of day with a soft slide */
.hdr-greet{font-size:1.3rem;letter-spacing:.02em;width:230px;text-align:right;white-space:normal;line-height:1.05;margin-left:18px;transition:opacity .3s ease,transform .3s ease}
.hdr-greet.g-out,.mnav-greet.g-out{opacity:0;transform:translateY(-6px)}
.hdr-greet.g-in,.mnav-greet.g-in{opacity:0;transform:translateY(6px);transition:none}
.mnav-greet{font-size:1.3rem;transition:opacity .3s ease,transform .3s ease}
@media (min-width:1300px) and (max-width:1320px){.hdr-greet{font-size:1.05rem;width:160px;max-width:none}}
/* weather chip sits to the right of Join free / the member menu */
.hdr .wx-chip{margin-left:12px}
@media (max-width:1299px){.hdr-cta{margin-left:auto!important}.hdr .wx-chip{margin-left:10px}}
@media (prefers-reduced-motion:reduce){.hdr-greet,.mnav-greet{transition:none}}
/* desktop header: greeting fills the free space between menu and buttons, right-aligned, so the menu never jumps */
@media (min-width:1300px){
  .hdr .wrap{gap:18px}
  .hdr .nav{margin-left:22px}.hdr .nav a{padding:.55em .7em}
  .hdr-greet{flex:1 1 auto;width:auto;max-width:none;min-width:0;margin-left:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.3rem}
}
@media (min-width:1300px) and (max-width:1460px){.hdr-greet{font-size:1.08rem;white-space:normal}}
@media (min-width:1300px){.hdr .wrap{max-width:1480px}}
/* ===== Doubles Social: event day + live draw ===== */
.draw-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
@media (max-width:1100px){.draw-wrap{grid-template-columns:minmax(0,1fr)}}
.draw-step{display:flex;align-items:center;gap:12px;margin-bottom:10px}.draw-step h3{margin:0}
.draw-step span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--ball);font:900 1.1rem/1 var(--display)}
.draw-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.draw-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.dt{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.dt b{display:block;font-weight:800}.dt small{color:var(--muted)}
.dt.warn{border-color:var(--clay);background:#FDF1EA}
.draw-swap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.draw-swap .select{min-width:0;flex:1 1 160px}
.draw-h{margin:22px 0 10px;font:800 1.15rem/1 var(--display);text-transform:uppercase;letter-spacing:.02em}.draw-h .small{font:600 .8rem var(--body);text-transform:none;margin-left:6px}
.draw-round{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.dm{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}
.dm.done{background:#F7F9FE}
.dm-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;font:700 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em}
.dm-court{background:var(--ink);color:var(--ball);padding:.3em .6em;border-radius:99px}.dm-label{color:var(--muted);text-align:right}
.dm-team{padding:6px 8px;border-radius:10px;font-weight:700;font-size:.95rem}
.dm-team.win{background:#E3F4EA;color:#15603F}.dm-team.win::after{content:"  ✓";font-weight:900}
.dm-score{margin-top:8px;font:800 1.05rem var(--display);letter-spacing:.04em}
.dm-form{display:flex;gap:6px;margin-top:8px}.dm-form .input{min-width:0;flex:1;font:700 1.05rem var(--mono);padding:.55em .7em}
.draw-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.draw-table td,.draw-table th{padding:.55em .6em}
.draw-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 4px}
.dp{border-radius:16px;padding:14px;text-align:center;background:var(--paper);border:1px solid var(--line)}
.dp span{display:block;font:900 1.6rem/1 var(--display)}.dp b{display:block;margin-top:6px;font-size:.92rem}
.dp1{background:linear-gradient(135deg,#F4FF86,#C9DD22);border:0}.dp2{background:#E9EDF3}.dp3{background:#F3DFCB}
.draw-places{margin:0;padding:0;list-style:none;display:grid;gap:4px}.draw-places li{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--line-2)}.draw-places b{width:42px;font-family:var(--display)}
.draw-budget .db-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:.92rem}
.db-in{display:flex;align-items:center;gap:4px;font-weight:700}.db-in .input{width:96px;padding:.45em .6em;text-align:right;font-family:var(--mono)}
.db-total{border-top:2px solid var(--ink);margin-top:6px;padding-top:10px;font-weight:800}.db-total b{font-size:1.4rem;font-family:var(--display)}
@media (max-width:640px){.draw-round{grid-template-columns:minmax(0,1fr)}.draw-podium{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.day-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.day-kpis .kpi{padding:12px}.day-kpis .kpi b{font-size:1.5rem}.day-kpis .kpi small{font-size:.72rem}}

/* ---------- match packs (1.8) ---------- */
.credit-card{background:linear-gradient(145deg,var(--navy),#16335a);color:#fff}
.credit-card h3{color:#fff}
.credit-card .muted{color:#b9c8d8!important}
.credit-bal{display:flex;align-items:baseline;gap:10px;margin:4px 0 10px}
.credit-bal b{font-family:'Big Shoulders Display',sans-serif;font-size:4.2rem;line-height:1;color:var(--ball)}
.credit-bal span{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;color:#dbe4ee}
.tier-match{margin:-4px 0 14px;padding:10px 12px;border-radius:12px;background:rgba(217,242,75,.18);font-size:.9rem}
.tier-match b{font-size:1.15rem}
.tier.featured .tier-match{background:rgba(217,242,75,.28)}
.how-steps .panel{position:relative;padding-top:26px}
.how-n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ball);color:var(--navy);font-weight:900;margin-bottom:6px}
@media (max-width:760px){.tiers-2{grid-template-columns:1fr!important}.bill-top{grid-template-columns:1fr!important}.credit-bal b{font-size:3.4rem}}

/* ---------- logo 2.0: sunrise badge + racket X (1.8.1) ---------- */
.logo-hd{flex-direction:row!important;align-items:center!important}
.logo-hd svg{height:64px!important;width:auto!important}
@media (max-width:1299px){.logo-hd svg{height:56px!important}}
@media (max-width:640px){.logo-hd svg{height:46px!important}}
@media (max-width:360px){.logo-hd svg{height:40px!important}}
.logo-ft svg{width:340px!important;max-width:100%;height:auto}
.intro-in{width:min(680px,88vw)}
.pop-auth-logo svg{height:52px!important;width:auto;max-width:100%;margin-bottom:18px}
.hq-side .brand svg{width:100%;max-width:210px;height:auto}

/* living logo (1.8.5): the tennis-ball sun spins upward as it rises and the water flows, all the time.
   Applies to every logo on the page and to the loaders (.rj-live). */
.logo-ball{display:none!important}
:is(.brand,.pop-auth-logo,.rj-live) svg .seams{transform-box:view-box;animation:rjSeamUp 3.2s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave{transform-box:view-box}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave1{animation:rjWaveR 2.6s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave2{animation:rjWaveL 3.1s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave3{animation:rjWaveR 2.9s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave4{animation:rjWaveL 3.4s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .wave5{animation:rjWaveR 3.8s linear infinite}
:is(.brand,.pop-auth-logo,.rj-live) svg .waves{transform-box:view-box;animation:rjSwell 2.4s ease-in-out infinite alternate}
@keyframes rjSeamUp{from{transform:translateY(0)}to{transform:translateY(-264px)}}
@keyframes rjWaveR{from{transform:translateX(-240px)}to{transform:translateX(0)}}
@keyframes rjWaveL{from{transform:translateX(0)}to{transform:translateX(-240px)}}
@keyframes rjSwell{from{transform:translateY(-7px)}to{transform:translateY(7px)}}
/* loading popup: the living badge in a card over a soft navy veil */
.rj-loader{position:fixed;inset:0;z-index:400;display:grid;place-items:center;background:rgba(11,22,51,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s .2s;cursor:progress}
.rj-loader.on{opacity:1;visibility:visible;transition:opacity .2s}
.rj-loader-card{background:#fff;border-radius:26px;padding:26px 36px 20px;text-align:center;box-shadow:0 24px 60px rgba(11,22,51,.35);min-width:200px;transform:scale(.92);transition:transform .25s cubic-bezier(.2,1.3,.4,1)}
.rj-loader.on .rj-loader-card{transform:none}
.rj-loader-card svg{width:112px;height:112px;display:block;margin:0 auto;animation:rjBob 1.8s ease-in-out infinite alternate}
.rj-loader-msg{margin:12px 0 0;font-weight:700;color:#0B1633;font-size:.95rem}
@keyframes rjBob{from{transform:translateY(-3px)}to{transform:translateY(3px)}}
.rj-mini{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.rj-mini svg{width:34px;height:34px;flex:none;display:block}
@media (prefers-reduced-motion:reduce){:is(.brand,.pop-auth-logo,.rj-live) svg :is(.seams,.wave,.waves),.rj-loader-card svg{animation:none!important}}

.foot-bottom .powered{margin-left:10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.18);color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px}.foot-bottom .powered:hover{opacity:1;color:#E2F53D}

/* CRM globe (same look as the Shtello One / Shtello Connect Hub visitor globe) */
.rjg-wrap{grid-template-columns:minmax(0,1fr) 300px}
.rjg-panel{background:#16173A;border-radius:22px;padding:18px;border:1px solid rgba(255,255,255,.06);box-shadow:0 18px 40px rgba(11,22,51,.25)}
.rjg-title{color:#fff;font-weight:700;font-size:1.1rem;margin:2px 4px 14px}
.rjg-stage{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#3B2E9C 0%,#24206A 34%,#14153A 70%,#0F1030 100%);border:1px solid rgba(255,255,255,.06)}
.rjg-map{height:min(680px,72vh);min-height:420px;width:100%;background:transparent}
.rjg-map .maplibregl-canvas{outline:none}
.rjg-btns{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:2;flex-wrap:wrap}
.rjg-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(22,23,58,.92);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 18px;font:600 .95rem/1 inherit;cursor:pointer;backdrop-filter:blur(6px)}
.rjg-btn:hover{border-color:rgba(255,255,255,.35)}
.rjg-btn.on{border:2px solid #F06A3C;background:rgba(240,106,60,.16);padding:9px 17px}
.rjg-card{position:absolute;left:14px;bottom:44px;width:min(340px,calc(100% - 28px));max-height:70%;overflow:auto;background:rgba(18,19,48,.96);color:#E8EAF6;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 16px 12px;z-index:3;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.rjg-card h4{margin:0 26px 4px 0;color:#fff;font-size:1.05rem}
.rjg-x{position:absolute;top:8px;right:10px;background:none;border:0;color:#AEB6D3;font-size:1.4rem;cursor:pointer;line-height:1}
.rjg-meta{color:#AEB6D3;font-size:.85rem;margin-bottom:10px}.rjg-meta b{color:#FF9A70}
.rjg-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:7px 4px;border-top:1px solid rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:.9rem}
.rjg-row:hover{background:rgba(255,255,255,.05)}.rjg-row i{width:10px;height:10px;border-radius:50%}.rjg-row small{color:#AEB6D3}.rjg-row em{color:#8C97B8;font-size:.75rem}
.rjg-more{color:#AEB6D3;font-size:.8rem;margin:6px 4px 0}
.rjg-acts{display:flex;gap:8px;margin-top:12px}.rjg-acts button,.rjg-acts a{flex:1;text-align:center;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:8px 10px;font:600 .82rem/1.2 inherit;cursor:pointer;text-decoration:none}
.rjg-acts button{background:#F06A3C;border-color:#F06A3C}
.rjg-side{background:#16173A;border-radius:22px;padding:16px;color:#E8EAF6;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:12px;max-height:calc(min(680px,72vh) + 70px)}
.rjg-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rjg-stats div{background:rgba(255,255,255,.05);border-radius:12px;padding:10px 12px}.rjg-stats b{display:block;font-size:1.4rem;color:#fff}.rjg-stats span{font-size:.78rem;color:#AEB6D3}
.rjg-places{overflow:auto;display:flex;flex-direction:column;gap:6px;min-height:120px}
.rjg-place{display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);color:#fff;border-radius:11px;padding:11px 14px;font:600 .92rem/1.2 inherit;text-align:left;cursor:pointer}
.rjg-place:hover,.rjg-place.on{border-color:#F06A3C;background:rgba(240,106,60,.12)}.rjg-place b{color:#FF9A70}.rjg-place.is-sample{opacity:.6}
.rjg-note{font-size:.75rem;color:#8C97B8;margin:0}
.rjg-noscript{color:#fff;padding:40px;text-align:center}
.rjg-stage .maplibregl-ctrl-group{border-radius:10px}
.rjg-stage .maplibregl-ctrl-attrib{border-radius:14px 0 0 0;font-size:11px}
.rjg-stage:fullscreen .rjg-map{height:100vh}
@media (max-width:1100px){.rjg-wrap{grid-template-columns:minmax(0,1fr)}.rjg-side{max-height:none}}
@media (max-width:640px){.rjg-btn{padding:8px 12px;font-size:.85rem}.rjg-btn.on{padding:7px 11px}.rjg-map{min-height:360px}}
