
*{box-sizing:border-box}body{--bg:#f3f6f4;--surface:#fff;--ink:#182c29;--muted:#586c67;--line:#d8e3df;--accent:#17664d;--soft:#e7f2eb;--hero:#143d30;--heroink:#fff;margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,sans-serif}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4195e6;outline-offset:3px}button{color:inherit}.top{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 32px;display:flex;align-items:center;gap:16px}.brand{font-size:20px;font-weight:800;letter-spacing:-.7px}.brand b{color:var(--accent)}.top small{margin-left:auto;color:var(--muted)}.shell{max-width:1240px;margin:auto;padding:32px;display:grid;gap:26px;grid-template-columns:224px minmax(0,1fr)}.clubhead{grid-column:1/-1;background:var(--hero);color:var(--heroink);padding:32px;border-radius:16px;display:flex;gap:24px;align-items:center}.monogram{border:1px solid #ffffff60;display:grid;place-items:center;width:72px;height:72px;border-radius:18px;font-size:37px;font-weight:800;flex-shrink:0}.eyebrow{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;margin:0 0 8px}.clubhead h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.5px;line-height:1.1;margin:0 0 8px}.clubhead p{margin:0}.season{margin-left:auto;border:1px solid #ffffff70;padding:10px 14px;border-radius:8px;white-space:nowrap}.teams h2{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}.team{display:block;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:16px;text-align:left;margin-bottom:10px;min-height:78px}.team strong{display:block}.team small{display:block;color:var(--muted);margin-top:4px}.team[aria-pressed=true]{background:var(--soft);border-color:var(--accent);box-shadow:inset 4px 0 var(--accent)}.aside-note{font-size:12px;color:var(--muted);margin-top:18px}.content{min-width:0}.teamtitle{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.teamtitle h2{font-size:27px;line-height:1.2;margin:0 0 6px;letter-spacing:-.7px}.teamtitle p{margin:0;color:var(--muted);font-size:13px}.context{margin-top:14px;display:flex;border-bottom:1px solid var(--line);gap:22px}.context button{padding:10px 0;background:none;border:0;color:var(--muted);border-bottom:3px solid transparent}.context button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);font-weight:700}.viewlayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:20px}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0}.metric,.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.metric{padding:18px}.metric dt{font-size:12px;color:var(--muted)}.metric dd{font-size:30px;font-weight:750;letter-spacing:-1px;margin:6px 0 4px;line-height:1.1}.metric small{color:var(--muted);font-size:11px}.panel{padding:22px;min-width:0}.panel h3{margin:0 0 16px;font-size:17px}.next{grid-column:1/-1;background:var(--soft);border-color:var(--line);display:flex;gap:24px;align-items:center}.datebox{background:var(--surface);padding:10px 18px;text-align:center;border-radius:8px;flex-shrink:0}.datebox b{display:block;font-size:29px;line-height:1.1}.datebox span{font-size:12px;text-transform:uppercase}.next h3{margin:0 0 7px}.next p{margin:0;font-size:14px}.tag{font-size:11px;display:inline-block;border:1px solid var(--line);padding:3px 8px;border-radius:20px;color:var(--muted)}.next .tag{margin-left:auto;white-space:nowrap}.match{border:0;border-top:1px solid var(--line);background:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;width:100%;text-align:left}.match:hover .matchname{text-decoration:underline}.matchname{font-size:13px;display:block}.match small{color:var(--muted);font-size:11px}.score{white-space:nowrap;font-size:20px;font-weight:750}.resultbadge{font-size:10px;font-weight:700;padding:3px 6px;border-radius:4px;display:inline-block;background:var(--soft);color:var(--accent);margin-right:7px}.loss{background:transparent;border:1px solid var(--line);color:var(--muted)}.bar{display:flex;height:13px;border-radius:4px;overflow:hidden;background:var(--line);margin:18px 0 12px}.bar i{background:var(--accent)}.barlabel{display:flex;justify-content:space-between;font-size:13px}.statquote{font-size:38px;font-weight:750;letter-spacing:-1px;line-height:1.1;margin:6px 0}.muted{font-size:12px;color:var(--muted)}.standings{grid-column:1/-1}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:right;padding:11px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:11px;font-weight:600}th:nth-child(2),td:nth-child(2){text-align:left;white-space:normal;min-width:150px}tr.selected{background:var(--soft);font-weight:700}.footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:16px}.empty{grid-column:1/-1;padding:35px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.empty h3{margin-top:0}.statecontrol{margin:20px 0 0;font-size:12px}.statecontrol select{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:7px;width:100%;margin-top:6px;border-radius:6px}.helper{font-size:12px;color:var(--muted);margin:0 0 16px}.timeline-note{border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:15px;font-size:13px}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;width:540px;max-width:calc(100% - 28px)}dialog::backdrop{background:#07151dc4}dialog h2{font-size:22px;margin:12px 0 20px}dialog .close{float:right;border:1px solid var(--line);border-radius:6px;padding:6px 12px;background:var(--surface)}dialog a{display:inline-block;margin-top:20px}dialog .matchscore{font-size:35px;font-weight:800;text-align:center;margin:16px 0}.detailnames{display:flex;gap:20px;justify-content:space-between;font-size:13px}.detailnames span{max-width:48%}
body[data-direction=analyse]{--bg:#101a24;--surface:#192632;--ink:#eff5f9;--muted:#abc0cf;--line:#354754;--accent:#8fd5ed;--soft:#203b49;--hero:#192632;--heroink:#eff5f9}.analyse .shell{grid-template-columns:180px minmax(0,1fr);gap:20px}.analyse .clubhead{padding:24px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0}.analyse .clubhead h1{font-size:33px}.analyse .monogram{width:52px;height:52px;font-size:26px;border-radius:8px}.analyse .metric,.analyse .panel,.analyse .team{border-radius:5px}.analyse .metric{padding:16px}.analyse .viewlayout{grid-template-columns:1.1fr 1fr}.analyse .next{grid-column:2;grid-row:2;align-items:flex-start;gap:14px;flex-wrap:wrap}.analyse .next .tag{margin-left:0}.analyse .results{grid-row:2/4;grid-column:1}.analyse .balance{grid-column:2;grid-row:3}.analyse .team{min-height:68px;padding:12px}.analyse .statquote{color:var(--accent)}
body[data-direction=journal]{--bg:#f6f2ea;--surface:#fffcf7;--ink:#382f27;--muted:#766453;--line:#dfd3c2;--accent:#9a4829;--soft:#f2e6d6;--hero:#f6f2ea;--heroink:#382f27}.journal .shell{display:block;padding-top:20px}.journal .clubhead{border-radius:0;background:none;padding:20px 0 32px;border-bottom:3px double var(--line)}.journal .clubhead h1{font-family:Georgia,serif;font-size:64px;font-weight:500;letter-spacing:-3px}.journal .monogram{display:none}.journal .season{border-color:var(--line)}.journal .teams{margin:24px 0}.journal .teams h2,.journal .aside-note{display:none}.journal #teamButtons{display:flex;gap:12px}.journal .team{border-radius:0;margin:0;min-height:70px}.journal .statecontrol{max-width:330px}.journal .viewlayout{grid-template-columns:1.2fr 1fr}.journal .next{grid-column:1;grid-row:1;display:block;background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 22px;border-radius:0}.journal .next h3{font:32px/1.15 Georgia,serif;margin-top:15px}.journal .datebox{display:inline-block;border-radius:0;background:var(--soft)}.journal .next .tag{margin-top:10px}.journal .stats{grid-column:2;grid-row:1;grid-template-columns:repeat(2,1fr)}.journal .metric{border-radius:0;background:none}.journal .metric dd{font-family:Georgia,serif;font-weight:400}.journal .panel{border-radius:0}.journal .results{grid-column:1;grid-row:2}.journal .balance{grid-column:2;grid-row:2}.journal .panel h3{font-family:Georgia,serif;font-size:23px;font-weight:400}.journal .footer{margin-top:26px}
@media(max-width:760px){.top{padding:16px 20px}.top small{font-size:10px;text-align:right}.shell,.analyse .shell{padding:20px;display:block}.clubhead,.analyse .clubhead,.journal .clubhead{padding:22px;gap:14px;flex-wrap:wrap;margin-bottom:22px}.clubhead h1,.analyse .clubhead h1,.journal .clubhead h1{font-size:33px;letter-spacing:-1px}.monogram{width:48px;height:48px;font-size:27px;border-radius:10px}.season{margin-left:0;font-size:12px;padding:6px 10px}.clubhead p{font-size:12px}.teams{margin-bottom:25px}.teams h2{display:none}#teamButtons,.journal #teamButtons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.team,.analyse .team,.journal .team{margin:0;padding:12px;min-height:70px}.team small{font-size:10px}.aside-note{display:none}.statecontrol{margin-top:12px}.teamtitle{display:block}.teamtitle h2{font-size:25px}.viewlayout,.analyse .viewlayout,.journal .viewlayout{display:flex;flex-direction:column;gap:16px}.stats,.journal .stats{display:grid;grid-template-columns:repeat(2,1fr);order:1;gap:8px}.next,.analyse .next,.journal .next{order:0;display:flex;padding:18px;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px}.journal .next h3{font-size:23px;margin:0 0 10px}.next .tag{margin-left:0}.next h3{font-size:16px}.datebox{padding:9px 12px}.results{order:2}.balance{order:3}.standings{order:4}.metric{padding:15px}.metric dd{font-size:28px}.panel{padding:18px}.footer{display:block;margin-top:24px}.footer a{display:inline-block;margin-top:12px}.journal .teams{margin:20px 0}.journal .clubhead{padding:15px 0 25px}.helper{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Direction retenue : Club au quotidien. Composition graphique, sans dépendance. */
[hidden]{display:none!important}
html{overflow-anchor:none}
.hero-art,.display-name,.team-index,.team-record,.club-kicker{display:none}
body.club{
  --bg:#edeeea;--surface:#f6f7f3;--ink:#1a1d20;--muted:#5b6266;
  --line:#ccd0ca;--accent:#ae4325;--soft:#e7e9e2;
  --dark:#1a1d20;--dark-raised:#232a2a;--chart-bg:#1a1f24;
  --hero:color-mix(in srgb,#171c20 74%,var(--accent));
  --signal:#f18a65;--heroink:#f6f7ef;--team-selected-bg:var(--hero);
  --gold:#8e6514;--silver:#56636c;--bronze:#945332;
  font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;
  font-feature-settings:"ss01";font-variant-numeric:tabular-nums;
}
.club .top{max-width:1360px;margin:auto;background:none;border:0;padding:23px 44px;gap:24px}
.club .brand{font-family:Bahnschrift,"Arial Narrow",sans-serif;font-size:27px;letter-spacing:-1.5px;font-weight:650}
.club .brand b{color:var(--accent)}
.club .top small{font-size:11px;text-transform:uppercase;letter-spacing:1.4px}
.club .club-kicker{display:inline-block;font-size:10px;border-left:1px solid var(--line);padding-left:24px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.club .shell{max-width:1360px;display:block;padding:0 44px 34px}
.club .clubhead{position:relative;isolation:isolate;overflow:hidden;border-radius:0;padding:28px 32px;min-height:0;display:block}
.club .monogram{display:none}
.club .clubhead>div:not(.hero-art){position:relative;z-index:2}
.club .clubhead .eyebrow{font:11px/1.5 Consolas,monospace;letter-spacing:1.5px;color:#c4cbc5;margin-bottom:18px}
.club .clubhead .eyebrow::before{content:"";display:inline-block;width:24px;height:2px;background:var(--signal);vertical-align:middle;margin-right:12px}
.club .clubname{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.club .display-name{display:block;font:620 clamp(56px,8vw,100px)/.95 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-4px;color:var(--heroink)}
.club .display-name span{font-size:22px;letter-spacing:-1px;display:inline-block;vertical-align:top;margin:9px 0 0 12px;color:var(--signal)}
.club .clubhead h1{margin:0 0 16px;font-size:inherit;line-height:1}
.club .clubhead>div>p:last-child{font-size:13px;color:#c4cbc5;max-width:420px}
.club .season{position:absolute;right:112px;top:30px;z-index:3;border:0;border-bottom:1px solid #6e7777;padding:0 0 9px;font:11px Consolas,monospace;letter-spacing:1px;color:#e8ede8;border-radius:0}
.club .hero-art{display:block;position:absolute;width:420px;height:278px;right:-8px;top:-38px;z-index:0;opacity:.9;pointer-events:none}
.club .hero-art svg{width:100%;height:100%;overflow:visible}
.club .hero-art .court-lines{stroke:#7d8589;stroke-width:1;fill:none;opacity:.5}
.club .hero-art .flight{stroke:var(--signal);stroke-width:1.3;fill:none;stroke-dasharray:790;stroke-dashoffset:0;animation:trace-path 1.5s ease-out both}
.club .hero-art .ball{fill:var(--signal);stroke:#1a1d20;stroke-width:1.1;transform-origin:375px 141px;animation:ball-arrive 1.2s cubic-bezier(.2,.7,.3,1) both}
.club .teams{position:relative;margin:0 0 34px;padding-top:20px}
.club .teams h2{font:10px Consolas,monospace;letter-spacing:1.6px;margin:0 0 14px}
.club #teamButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0}
.club .team{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;margin:0;padding:22px 16px;min-height:110px;border:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;transition:background .2s,color .2s}
.club .team+.team{border:1px solid var(--line);padding:22px 16px}
.club .team-index{display:block;font:10px Consolas,monospace;color:var(--muted);position:absolute;left:10px;top:10px}
.club .team strong{font:550 clamp(14px,1.5vw,20px) Bahnschrift,"Segoe UI",sans-serif;letter-spacing:-.4px}
.club .team small{grid-column:2;font-size:11px;line-height:1.4;margin-top:2px}
.club .team-record{display:block;grid-column:2;font:10px Consolas,monospace;margin-top:4px;color:var(--ink)}
.club .team-record span{color:var(--muted)}
.club .team[aria-pressed=true]{background:var(--team-selected-bg);color:var(--selection-text);border:1px solid var(--team-selected-bg);box-shadow:none;transition:none}
.club .team[aria-pressed=true] .team-index,.club .team[aria-pressed=true] small,.club .team[aria-pressed=true] .team-record,.club .team[aria-pressed=true] .team-record span{color:inherit}
.club .team:hover{background:#e3e6dc}.club .team[aria-pressed=true]:hover{background:var(--team-selected-bg)}
.club .aside-note{display:none}
.club .statecontrol{position:absolute;top:17px;right:0;margin:0;font-size:10px;z-index:5;max-width:255px}
.club .statecontrol[open]{background:var(--surface);padding:14px;border:1px solid var(--line);top:0}
.club .teamtitle{margin:0;display:block}
.club .teamtitle>div{display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:end}
.club .teamtitle .eyebrow{font:10px Consolas,monospace;letter-spacing:1.5px;grid-column:1/-1;margin-bottom:8px}
.club .teamtitle h2{font:540 42px/.95 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-1.6px;margin:0;text-transform:uppercase;grid-row:2/4}
.club #competitionName{max-width:320px;font-size:12px;text-align:right;grid-column:2}
.club #phase{font:10px Consolas,monospace;grid-column:2;text-align:right;margin-top:4px}
.club .context{margin-top:22px;border:0;display:inline-flex;gap:0;background:#e2e5dd;padding:4px;border-radius:3px}
.club .context button{border:0;border-radius:2px;padding:8px 20px;font-size:11px;font-weight:600;color:var(--muted)}
.club .context button[aria-pressed=true]{background:var(--dark);color:#f6f7ef;border:0}
.club .helper{font:10px/1.6 Consolas,monospace;margin:10px 0 24px;color:var(--muted)}
.club .viewlayout{grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
.club .panel,.club .metric{border:0;border-radius:0;background:none;padding:0}
.club .stats{grid-row:1;grid-column:1/-1;gap:10px;border:0;margin:0 0 26px}
.club .metric{padding:22px;min-width:0;min-height:216px;border:1px solid var(--ink);background:var(--dark);color:var(--heroink);display:grid;grid-template-rows:26px 76px minmax(44px,auto);align-content:center;justify-items:center;align-items:center;text-align:center}
.club .metric+.metric{border:1px solid var(--ink);padding:22px}
.club .metric dt{font:10px Consolas,monospace;letter-spacing:.8px;text-transform:uppercase;color:#c6d0c9}
.club .metric dd{font:540 clamp(32px,4.4vw,58px)/1 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-2.3px;margin:0;white-space:nowrap}
.club .metric .metric-unit{font-size:25px;letter-spacing:-1px}
.club .metric-detail{font-size:11px;line-height:1.6;color:#c6d0c9;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.club .metric-detail strong{color:var(--heroink);font-weight:700}
.club .metric-note{display:block;font-size:10px;margin-top:7px}
.club .points-badge{display:inline-block;background:#333d3b;padding:4px 10px;color:var(--heroink)}
.club .metric-record dd{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0;letter-spacing:-1px;font-size:46px}
.club .record-part{display:flex;flex-direction:column;gap:10px}.club .record-part b{font-weight:550}
.club .record-part>span{font:10px "Segoe UI",sans-serif;letter-spacing:0;color:#c6d0c9}
.club .record-part:first-child b{color:#b9deca}.club .record-part:last-child b{color:#f4b297}
.club .record-part+.record-part{border-left:1px solid #53615a;padding-left:14px}
.club .sets-breakdown{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px}.club .sets-breakdown strong{font-size:15px}
.club .next{position:relative;grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:28px;align-items:center;background:var(--dark);color:#f6f7ef;padding:24px 30px;margin:0 0 38px;overflow:hidden}
.club .next::before{content:"";position:absolute;width:160px;height:180px;right:160px;top:-80px;border:1px solid #8c979750;transform:rotate(-35deg);pointer-events:none}
.club .datebox{border-radius:0;background:var(--signal);color:var(--ink);padding:18px 8px;position:relative;text-align:center}
.club .datebox b{font:550 54px/.95 Bahnschrift,sans-serif;letter-spacing:-2px}
.club .datebox span{font:11px Consolas,monospace;letter-spacing:2px;display:block;margin-top:8px}
.club .next .eyebrow{font:10px Consolas,monospace;letter-spacing:1.2px;color:#c4cbc5;margin-bottom:10px}
.club .next h3{font:520 clamp(21px,2.8vw,35px)/1.1 Bahnschrift,sans-serif;letter-spacing:-.8px;max-width:620px}
.club .next p:not(.eyebrow){font-size:11px;color:#c4cbc5;margin-top:9px}
.club .next .venue-caption{line-height:1.6;margin-top:12px;position:relative}
.club .venue-name{display:block;font-size:10px;color:#bac5be}
.club .venue-address{display:inline-block;color:#f6ccb9;text-underline-offset:3px;font-size:12px;overflow-wrap:anywhere}
.club .venue-address:hover{color:#fff}.club .venue-missing{font-size:11px;color:#c4cbc5}
.club .next .tag{border:1px solid #697777;color:#f6f7ef;border-radius:0;padding:11px 15px;font-size:10px;text-decoration:none;position:relative;transition:background .2s,color .2s}
.club .next .tag:hover{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.club .results{grid-row:3;grid-column:1;--line:#46504d;background:var(--dark-raised);border:1px solid var(--dark-raised);padding:24px;color:#f6f7ef;align-self:start;margin-bottom:24px}
.club .panel h3{font:520 23px/1.2 Bahnschrift,sans-serif;letter-spacing:-.7px;margin-bottom:8px}
.club .results>h3::before,.club .standings>h3::before{content:"01 / ";font:10px Consolas,monospace;color:var(--signal);vertical-align:middle;margin-right:7px}
.club .standings>h3::before{content:"02 / ";color:var(--accent)}
.club .muted{font-size:11px;line-height:1.7}
.club .results .muted{color:#c1cdc5}.club .score-legend{font-size:10px;color:#c1cdc5;margin:8px 0 18px}
.club .match{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:17px 0;gap:12px;transition:background .2s;border-top:1px solid var(--line);color:#f6f7ef}
.club .match:hover{padding:17px 0;background:#313b38}
.club .match-info{min-width:0}.club .matchname{font-size:13px;font-weight:550;overflow-wrap:anywhere}
.club .match .match-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:10px Consolas,monospace;margin-top:9px;color:#c1cdc5}
.club .venue-side{display:inline-block;padding:4px 6px;border-radius:2px;font:9px "Segoe UI",sans-serif;letter-spacing:.2px;font-weight:600}
.club .venue-side.home{background:#d6e7b7;color:#273f24}.club .venue-side.away{background:#c6d9ee;color:#263d58}
.club .score{font:400 30px/1 Bahnschrift,sans-serif;letter-spacing:-1px;display:grid;grid-template-columns:24px 36px 8px 36px 14px;align-items:center;gap:7px;text-align:center}
.club .score-own,.club .score-opponent{font-size:20px;font-weight:400}
.club .score-own{color:#f5b295}.club .score-opponent{color:#f6f7ef}.club .score-winner{font-size:30px;font-weight:750}
.club .score-separator{font-size:17px;color:#aabbb0}.club .result-arrow{font-size:14px;color:#c1cdc5}
.club .resultbadge{font:10px Consolas,monospace;background:#d6e7b7;color:#273f24;border:0;border-radius:0;padding:6px 0;margin:0;letter-spacing:0;text-align:center}
.club .loss{background:#4a5450;color:#ecf2eb;border:1px solid #7c8f84;padding:5px 0}
.club .standings{grid-row:4;grid-column:1;border:1px solid var(--line);background:var(--surface);margin:0;padding:24px;align-self:start}
.club .tablewrap{margin-top:18px}
.club th{font:10px Consolas,monospace;text-transform:uppercase;padding:13px 12px}
.club td{font-size:12px;padding:14px 12px}
.club tr.selected{background:#dfe5d7;border-left:3px solid var(--ink)}
.club .footer{font:10px/1.8 Consolas,monospace;margin-top:32px;padding-top:20px}
.club dialog{border-radius:3px;box-shadow:0 20px 100px #0004}
.club dialog .close{border-radius:0;font-size:11px}
.club dialog .matchscore{font:550 64px Bahnschrift,sans-serif;letter-spacing:-3px}
.club .timeline-note{border-radius:0;font-size:12px;padding:18px}
.club .empty{border-radius:0;background:var(--surface);border:1px solid var(--line)}
.club .viewlayout[data-motion=on]{animation:content-arrive .32s ease-out both}
@keyframes trace-path{from{stroke-dashoffset:790}to{stroke-dashoffset:0}}
@keyframes ball-arrive{from{transform:translate(-40px,20px) rotate(-20deg)}to{transform:translate(0,0) rotate(0)}}
@keyframes content-arrive{from{transform:translateY(7px)}to{transform:translateY(0)}}
@media(max-width:1000px) and (min-width:761px){
  .club .top{padding:22px 26px}.club .shell{padding:0 26px 30px}.club .hero-art{right:-85px;opacity:.65}
  .club .viewlayout{gap:0 20px}.club .metric,.club .metric+.metric{padding:18px}.club .metric-record dd{font-size:42px}
}
@media(max-width:760px){
  .club .top{padding:19px 20px;gap:16px}.club .top small{font-size:8px;letter-spacing:.7px;max-width:145px}.club .club-kicker{display:none}
  .club .shell{padding:0 20px 25px}.club .clubhead{padding:22px 20px;min-height:0;margin-bottom:0}
  .club .clubhead .eyebrow{font-size:9px;margin:0 0 25px;letter-spacing:.8px}
  .club .display-name{font-size:clamp(64px,18.2vw,110px);letter-spacing:-4px}.club .display-name span{font-size:12px;margin:5px 0 0 6px}
  .club .clubhead h1{margin-bottom:14px}.club .clubhead>div>p:last-child{font-size:11px;max-width:220px;line-height:1.6}
  .club .hero-art{width:310px;height:210px;right:-100px;top:-4px;opacity:.45}
  .club .season{display:none}
  .club .teams{padding-top:20px;margin:0 0 28px}.club .teams h2{display:block;font-size:9px;margin-bottom:10px}
  .club #teamButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .club .team,.club .team+.team{min-height:110px;padding:22px 8px;border:1px solid var(--line)}
  .club .team[aria-pressed=true]{border-color:var(--team-selected-bg)}.club .team strong{font-size:14px;white-space:normal}.club .team small{font-size:10px}.club .team-index{font-size:9px}
  .club .team-record{margin-top:4px;font-size:9px}.club .statecontrol{position:static;font-size:10px;margin-top:16px;max-width:none}
  .club .statecontrol[open]{padding:12px}.club .teamtitle>div{display:block}.club .teamtitle h2{font-size:35px;margin:10px 0 12px}
  .club #competitionName,.club #phase{text-align:left;max-width:none}.club .teamtitle .eyebrow{font-size:9px}
  .club .context{margin-top:18px}.club .context button{padding:7px 19px}.club .helper{font-size:9px;margin-bottom:18px}
  .club .viewlayout{display:flex;flex-direction:column;gap:0}.club .stats{order:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;width:100%}
  .club .metric,.club .metric+.metric{padding:16px 12px;border:1px solid var(--ink);min-height:198px;grid-template-rows:26px 70px minmax(50px,auto)}
  .club .metric dd{font-size:42px;letter-spacing:-1.7px;margin:0}.club .metric-record dd{font-size:35px;padding:0;gap:9px}.club .record-part+.record-part{padding-left:9px}
  .club .metric dt{font-size:9px}.club .metric-detail{font-size:10px}.club .metric-note{font-size:9px}.club .metric .metric-unit{font-size:20px}.club .record-part>span{font-size:9px}.club .sets-breakdown{gap:5px}
  .club .next{order:1;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:20px;margin-bottom:32px;border:0;border-radius:0;width:100%}
  .club .datebox{padding:13px 3px;align-self:start}.club .datebox b{font-size:39px}.club .datebox span{font-size:9px;letter-spacing:1px}
  .club .next h3{font-size:23px;overflow-wrap:break-word}.club .next .eyebrow{font-size:8px;letter-spacing:.6px;margin-bottom:9px}.club .next p:not(.eyebrow){font-size:10px}
  .club .next .venue-caption{grid-column:1/-1}.club .next .venue-address{font-size:11px;line-height:1.7}
  .club .next .tag{grid-column:2;margin:0;justify-self:start;font-size:9px;padding:8px 10px}.club .next::before{right:-140px;top:-90px;width:240px;height:240px}
  .club .results{order:2;margin-bottom:24px;width:100%;padding:20px 16px}.club .panel h3{font-size:23px}.club .match,.club .match:hover{padding:16px 0;gap:9px}.club .matchname{font-size:12px}.club .match .match-meta{font-size:9px}.club .score{font-size:25px;grid-template-columns:22px 28px 7px 28px 12px;gap:5px}.club .score-own,.club .score-opponent{font-size:18px}.club .score-winner{font-size:25px}.club .resultbadge{font-size:9px;margin:0}
  .club .standings{order:3;padding:20px 16px;margin:0;width:100%}.club th,.club td{padding:12px 9px}.club .footer{font-size:9px}.club dialog{padding:22px}
}
@media(prefers-reduced-motion:reduce){
  .club *, .club *::before, .club *::after{animation:none!important;transition:none!important}
}

/* Parcours club, équipe et match : mêmes règles visuelles que la direction retenue. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.club .brand{color:var(--ink);text-decoration:none;flex-shrink:0}
.club .club-search{position:relative;margin-left:auto;width:320px;max-width:42%;z-index:10}
.club .search-field{display:flex;background:var(--surface);border:1px solid var(--line)}
.club .search-field:focus-within{border-color:var(--accent)}
.club .search-field input{min-width:0;flex:1;border:0;background:none;color:var(--ink);font:13px "Segoe UI",sans-serif;padding:12px 14px;width:100%}
.club .search-field button{border:0;background:none;padding:8px 14px;font-size:20px}
.club .search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);box-shadow:0 16px 40px #1a1d201a;max-height:430px;overflow-y:auto}
.club .search-results ul{list-style:none;margin:0;padding:0}
.club .search-status,.club .search-no-result{font-size:11px;color:var(--muted);padding:12px 14px;margin:0}
.club .search-results a{display:block;padding:12px 14px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.club .search-results a:hover,.club .search-results a:focus-visible{background:var(--soft)}
.club .search-results strong{font-size:13px;display:block}.club .search-results small{font-size:10px;display:block;margin:4px 0 0;color:var(--muted);max-width:none;text-align:left}
.club .breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;font:11px Consolas,monospace}
.club .breadcrumbs a{text-underline-offset:4px}.club .breadcrumbs [aria-current=page]{color:var(--ink);text-decoration:none;font-weight:700}
.club .team-tabs{display:flex;gap:6px;margin:18px 0 0;flex-wrap:wrap}
.club .team-tabs a,.club .calendar-filters a{font-size:12px;color:var(--muted);text-decoration:none;padding:9px 16px;border:1px solid var(--line)}
.club .calendar-filters [aria-current=page]{background:var(--dark);color:var(--heroink);border-color:var(--ink)}
.club .team-tabs a{background:none;border:0;border-bottom:3px solid transparent;padding:10px 16px}
.club .team-tabs a[aria-current=page]{background:none;color:var(--ink);border-bottom-color:var(--accent);font-weight:650}
.club .viewlayout>*{grid-row:auto;grid-column:1/-1;order:0}
.club .rank-unit{font-size:15px;letter-spacing:0}
.club .metric{--gold:#eacb75;--silver:#cbd6df;--bronze:#e0a47c}
.club .rank-number{white-space:nowrap}.club .rank-badge{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.club .podium-1{color:var(--gold)}.club .podium-2{color:var(--silver)}.club .podium-3{color:var(--bronze)}
.club .podium-icon{width:.65em;height:.65em;min-width:18px;min-height:18px;flex-shrink:0}
.club .rank-badge .rank-unit{font-size:.32em;vertical-align:super;line-height:0}
.club .standings .rank-badge{gap:6px;font-weight:750}.club .standings .podium-icon{width:19px;height:19px}.club .standings .rank-unit{font-size:9px}
.club .overview-rank .podium-icon{width:26px;height:26px}
.club .metric-competitions dd,.club .metric-games dd,.club .metric-next dd,.club .metric-teams dd{color:var(--heroink)}
.club .club-overview,.club .club-agenda,.club .performance,.club .calendar{margin-bottom:26px;width:100%}
.club .overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.club .overview-team{border:1px solid var(--line);padding:22px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:236px;gap:8px;text-decoration:none;color:var(--ink);min-width:0;font-size:11px}
.club .overview-team:hover{background:var(--soft)}
.club .overview-name{font:550 20px Bahnschrift,sans-serif;letter-spacing:-.5px}.club .overview-competition{color:var(--muted);min-height:32px;font-size:10px;display:grid;place-items:center}
.club .overview-rank{font:540 38px Bahnschrift,sans-serif;margin:12px 0 6px}.club .overview-rank small{font:11px "Segoe UI",sans-serif;color:var(--muted)}
.club .club-agenda .next{margin:0}.club .agenda-list{display:grid;gap:12px;margin-top:20px}
.club .club-agenda .next h3{font-size:25px}.club .club-agenda .datebox b{font-size:42px}
.club .club-agenda .next{grid-template-columns:84px minmax(0,1fr) auto;padding:20px 24px;gap:22px}
.club .row-team{display:block;font:10px Consolas,monospace;color:#f6ccb9;margin-bottom:6px}
.club a.match{text-decoration:none}.club .score-club{color:#f5b295}
.club .calendar-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.club .calendar{background:var(--surface);border:1px solid var(--line);padding:24px}
.club .calendar-row{display:grid;grid-template-columns:84px minmax(0,1fr) 64px;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.club .calendar-row:hover{background:var(--soft)}.club .calendar-row time{font:11px Consolas,monospace}.club .calendar-row strong{font-size:14px}
.club .calendar-row small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.club .calendar-score{font:540 24px Bahnschrift,sans-serif;text-align:right;white-space:nowrap}
.club .performance{padding:24px;background:var(--surface);border:1px solid var(--line)}
.club .season-performance{width:100%;min-width:0;padding:24px;background:var(--surface);border:1px solid var(--line);margin:22px 0}
.club .performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.club .performance-grid>div{border:1px solid var(--line);padding:24px;text-align:center;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.club .performance-grid strong{display:block;font:540 44px Bahnschrift,sans-serif;margin:14px 0}
.club .performance-grid p{font-size:12px}.club .performance-grid small{display:block;font-size:11px;color:var(--muted)}
.club .match-page{padding:28px;background:var(--surface);border:1px solid var(--line);width:100%}
.club .match-page-heading{display:flex;gap:12px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.club .match-page-heading>a{font-size:12px}
.club .match-status{display:flex;align-items:center;gap:12px 24px;flex:1;min-width:0}.club .match-status>.eyebrow{margin:0;flex:1;min-width:0}.club .match-status .h2h{margin:0;flex-shrink:0}
.club .match-duel{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:18px;text-align:center;align-items:center;margin:30px 0}
.club .match-duel h3{font-size:23px;min-height:60px;margin:14px 0}.club .duel-score{display:block;font:400 40px/1 Bahnschrift,sans-serif;color:var(--ink)}
.club .duel-score.score-winner{font-size:64px;font-weight:750}.club .duel-score.score-club{color:var(--accent)}.club .duel-separator{color:var(--muted)}
.club .match-page .venue-name{color:var(--muted)}.club .match-page .venue-address{color:var(--accent)}
.club .match-page .venue-missing,.club .data-note{color:var(--muted);font-size:12px}.club .match-page .timeline-note{margin-top:24px}
.club .point-timeline{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.club .chart-shell{border-radius:12px;margin-top:18px}
.club .set-tabs{display:flex;justify-content:center;gap:4px;margin:0;padding:12px 8px 2px;background:var(--chart-bg);border-radius:12px 12px 0 0}.club .set-tabs button{min-width:0;min-height:40px;background:transparent;color:#b1beca;border:1px solid transparent;border-radius:6px;padding:5px 12px;font:600 11px/1.1 "Segoe UI",sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.club .set-tabs button:hover{background:#ffffff0a}.club .set-tabs button span{display:block;font:10px/1.1 Consolas,monospace;margin-top:3px;white-space:nowrap}.club .set-tabs button[aria-pressed="true"]{background:#ffffff0d;color:var(--signal);border-color:#ffffff25}
.club .chart-shell .timeline-legend{padding:12px 20px 0;background:var(--chart-bg)}.club .chart-shell .timeline-legend .club-line{color:var(--signal)}.club .chart-shell .timeline-legend .opponent-line{color:#b1beca}
.club .chart-shell .score-chart{margin:0;border-radius:0 0 12px 12px}.club .chart-shell .point-list{background:var(--surface);padding-top:8px}.club .chart-shell .timeline-note{background:var(--chart-bg);color:#cbd5dc;padding:22px;margin:0;border-radius:0 0 12px 12px}
.club .timeline-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px}.club .timeline-legend span:before{content:"";display:inline-block;width:16px;border-top:3px solid currentColor;margin-right:8px;vertical-align:middle}
.club .home-line{color:#246951;stroke:#246951}.club .away-line{color:#335d98;stroke:#335d98}.club .timeline-legend .away-line:before{border-top-style:dashed}
.club .score-chart{display:block;width:100%;height:auto;margin-top:12px;background:var(--soft);border-radius:8px}.club .score-chart polyline{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.club .score-chart .away-line{stroke-dasharray:6 3}
.club .chart-axis line{stroke:var(--line)}.club .chart-axis text{fill:var(--muted);font:12px "Segoe UI",sans-serif}.club .timeline-summary{font-size:13px;margin:16px 0 22px}
.club .point-list summary{cursor:pointer;font-size:13px;font-weight:600;padding:12px 0}.club .point-table{max-height:360px;margin-top:12px}
.club .point-table th:first-child{min-width:50px}.club .point-table th:nth-child(2),.club .point-table td:nth-child(2){white-space:normal;text-align:left;min-width:150px}.club .point-table td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.club .point-table .score-club{color:var(--accent)}
.club .match-page th:first-child{text-align:left;white-space:normal;min-width:150px}.club .match-page th:nth-child(2),.club .match-page td:nth-child(2){min-width:0;text-align:right;white-space:nowrap}
.club .set-side{display:block;font:10px "Segoe UI",sans-serif;margin-top:5px}.club table caption{text-align:left;font-size:11px;color:var(--muted);padding-bottom:12px}
.club .action-button{display:inline-block;padding:10px 16px;background:var(--dark);color:var(--heroink);border:0;text-decoration:none;font-size:12px;margin-top:14px}
.club .empty{width:100%;padding:28px}.club .empty p{max-width:720px;font-size:13px}
.club .review-state-label,.club .freshness-alert{font-size:12px;background:#f4c2ad;color:#682c19;padding:14px 18px;margin:0 0 20px}
.club .loading-blocks{display:flex;gap:10px;margin-top:24px}.club .loading-blocks i{height:80px;flex:1;background:var(--soft)}
.club .other-club .display-name{font-size:clamp(38px,5vw,72px);line-height:1.1;letter-spacing:-2px;max-width:100%;overflow-wrap:anywhere}
/* Saisons, identité et effectifs : extensions de la direction retenue. */
.club #clubLogo{position:absolute;right:26px;top:22px;z-index:3;width:64px;height:64px;display:grid;place-items:center;filter:drop-shadow(0 8px 16px #0006)}
.club #clubLogo img{width:100%;height:100%;object-fit:contain}.club .logo-initials{font:600 35px Bahnschrift,sans-serif;border:1px solid #6a7777;padding:18px;color:var(--heroink)}
.club .hero-art{opacity:.3}.club .clubhead h1{max-width:100%}
.club .season-picker{grid-column:2;grid-row:2/4;align-self:center;display:grid;gap:5px;text-align:left;font:10px Consolas,monospace;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.club .season-picker select{min-width:160px;padding:10px 30px 10px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);font:600 14px "Segoe UI",sans-serif;cursor:pointer}
.club #teamNavigation{margin-bottom:24px}.club .teamtitle{margin-bottom:18px}.club .extra-contexts{font-size:11px;display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.club .extra-contexts:empty{display:none}.club .extra-contexts a[aria-current=page]{font-weight:700}
.club .result-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;padding:17px 0;border-top:1px solid var(--line);transition:box-shadow .2s}
.club .result-entry:hover,.club .result-entry:focus-within{box-shadow:inset 0 0 0 1000px #ffffff08}
.club .result-entry .match,.club .result-entry .match:hover{grid-column:1/-1;grid-row:1/3;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;padding:0;gap:inherit;border:0;background:none}
.club .result-entry .match-info{grid-column:1;grid-row:1}.club .result-entry .score{grid-column:2;grid-row:1/3;align-self:center}
.club .result-entry>.h2h,.club .result-entry>.h2h-empty{grid-column:1;grid-row:2;position:relative;z-index:1;margin:0;align-self:start;pointer-events:none}
.club .club-result{padding:17px 14px;margin:8px 0;border:0;border-radius:4px}
.club .tone-0{background:#2a3236}.club .tone-1{background:#362d32}.club .tone-2{background:#2b3831}.club .tone-3{background:#363229}
.club .results .score-own,.club .results .score-club,.club .row-team,.club .next .venue-address{color:var(--signal)}
.club .match-page .point-table th:first-child{min-width:50px}
.club .h2h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 0;font-size:10px}.club .h2h-dots{display:flex;gap:5px;flex-wrap:wrap;max-width:100%}.club .h2h-label{color:var(--muted)}
.club .h2h-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font:700 10px "Segoe UI",sans-serif;transition:transform .15s;pointer-events:auto}.club .h2h-dot:hover{transform:translateY(-2px)}
.club .h2h-dot.won{background:#277452;color:#fff}.club .h2h-dot.lost{background:#a83e3e;color:#fff}.club .h2h-empty{display:block;font-size:10px;color:var(--muted);margin:4px 0 0}
.club .results .h2h-label,.club .results .h2h-empty,.club .next .h2h-label,.club .next .h2h-empty{color:#c1cdc5}.club .next .h2h{margin-top:14px}
.club .calendar-entry{display:grid;grid-template-columns:84px minmax(0,1fr) 64px;grid-template-rows:auto auto;column-gap:20px;row-gap:8px;padding:18px 0;border-top:1px solid var(--line);transition:background .2s}.club .calendar-entry:hover,.club .calendar-entry:focus-within{background:var(--soft)}
.club .calendar-entry .calendar-row,.club .calendar-entry .calendar-row:hover{grid-column:1/-1;grid-row:1/3;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;gap:inherit;border:0;padding:0;background:none}
.club .calendar-entry time{grid-column:1;grid-row:1/3;align-self:center}.club .calendar-row>span:not(.calendar-score){grid-column:2;grid-row:1}.club .calendar-entry .calendar-score{grid-column:3;grid-row:1/3;align-self:center}
.club .calendar-entry>.h2h,.club .calendar-entry>.h2h-empty{grid-column:2;grid-row:2;position:relative;z-index:1;margin:0;align-self:start;pointer-events:none}
.club .set-scoreboard{background:var(--dark);color:var(--heroink);padding:10px 16px;margin:18px 0 24px;--line:#3b4649;border-radius:6px}
.club .set-scoreboard caption{color:#b9c4cb;font-size:10px;padding:0 0 6px}.club .set-scoreboard th,.club .set-scoreboard td{padding:6px 8px;font-size:13px}.club .set-scoreboard thead th{color:#b9c4cb;font-size:10px}
.club .set-scoreboard tbody th{color:var(--heroink);text-transform:none;font:500 12px "Segoe UI",sans-serif;min-width:145px}.club .set-scoreboard tbody tr:last-child>*{border:0}.club .set-scoreboard .set-side{font-size:9px;color:#b9c4cb;margin-top:2px}.club .set-scoreboard .set-winner{font-weight:750;color:var(--signal)}
.club .score-chart{background:var(--chart-bg);border-radius:12px;margin-bottom:8px}.club .score-chart .chart-axis line{stroke:#667684;stroke-opacity:.25}.club .score-chart .chart-axis text{fill:#aebac4;font-size:11px}
.club .club-line{color:var(--accent)}.club .opponent-line{color:#637589}.club .score-chart .club-line{stroke:var(--signal);stroke-width:3;stroke-dasharray:none;filter:drop-shadow(0 0 3px #ffffff16)}
.club .score-chart .opponent-line{stroke:#b1beca;stroke-width:2;stroke-dasharray:6 5}.club .timeline-legend .opponent-line:before{border-top-style:dashed}
.club .chart-end{fill:var(--signal);stroke:#1a1f24;stroke-width:2}.club .chart-point{fill:transparent;stroke:none}.club .chart-point:hover{fill:var(--signal);stroke:#fff;stroke-width:1;cursor:crosshair}
.club .match-meta-panel,.club .lineup-panel{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.club .players-panel{border:1px solid var(--line);background:var(--surface);padding:24px;margin:24px 0}.club .players-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.club .player-card{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;padding:12px;background:var(--soft);border-radius:5px;min-width:0}.club .player-card:hover{outline:1px solid var(--accent)}
.club .player-card strong{font-size:12px;display:block;overflow-wrap:anywhere}.club .player-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.club .player-portrait{position:relative;flex:none;width:48px;height:58px;background:#dfe3dd;border-radius:5px;overflow:hidden;display:grid;place-items:center}.club .portrait-initials{font:600 16px Bahnschrift,sans-serif;color:#56616a}
.club .player-portrait img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.club .lineup-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.club .lineup-grid h4{font:550 19px Bahnschrift,sans-serif;margin:18px 0 14px}.club .lineup-player{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.club a.lineup-player:hover{background:var(--soft)}
.club .lineup-player>span:nth-child(2){flex:1;min-width:0}.club .lineup-player strong{font-size:12px;display:block;overflow-wrap:anywhere}.club .lineup-player small{font-size:10px;color:var(--muted);display:block;margin-top:4px}
.club .player-page{background:var(--surface);border:1px solid var(--line);padding:28px}.club .player-heading{display:flex;align-items:center;gap:22px}.club .player-heading .player-portrait{width:100px;height:120px}.club .player-heading h3{font-size:30px}.club .player-heading p{font-size:12px}
.club .player-years{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.club .player-years a{padding:10px 18px;background:var(--soft);color:var(--ink);text-decoration:none;border-bottom:3px solid transparent;font-size:13px}.club .player-years small{display:block;font-size:10px;margin-top:4px}.club .player-years [aria-current=page]{border-color:var(--accent)}
.club .player-game{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:15px;color:var(--ink);text-decoration:none;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.club .player-game small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.club .player-game:hover{background:var(--soft)}
.club .score,.club .calendar-score,.club .player-game>b,.club .duel-score,.club .set-scoreboard td{white-space:nowrap;font-variant-numeric:tabular-nums}
.club .standings td:nth-child(6),.club .point-table td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.club .club-result[style]{background:var(--row-fill)}
@media(max-width:760px){
 .club #clubLogo{right:18px;top:18px;width:42px;height:42px}.club .clubhead h1{max-width:100%}.club .display-name{font-size:clamp(39px,9vw,65px)!important;letter-spacing:-2px!important}.club .display-name span{font-size:12px;margin-left:4px}
 .club .season-picker{grid-column:2;grid-row:2;gap:4px;letter-spacing:0}.club .season-picker select{min-width:0;width:112px;font-size:12px;padding:8px 3px}.club .teamtitle h2{font-size:29px;grid-row:2;letter-spacing:-1px}.club .teamtitle>div{column-gap:10px}
 .club .result-entry{column-gap:9px;padding:16px 0}.club .club-result{padding:16px 10px}.club .players-grid{grid-template-columns:1fr 1fr;gap:8px}.club .player-card{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;gap:8px;min-height:138px}.club .players-panel{padding:18px 14px}
 .club .lineup-grid{grid-template-columns:1fr;gap:12px}.club .player-heading{gap:14px}.club .player-heading .player-portrait{width:72px;height:88px}.club .player-heading h3{font-size:23px}.club .player-page{padding:20px 14px}
 .club .player-game{grid-template-columns:42px minmax(0,1fr) 50px;gap:8px;font-size:11px}.club .player-years a{padding:9px 12px;font-size:11px}
 .club .calendar-entry{grid-template-columns:45px minmax(0,1fr) 44px;column-gap:10px}.club .set-scoreboard{padding:8px;margin-top:12px}.club .set-scoreboard th,.club .set-scoreboard td{padding:5px 7px}
 .club .top{display:grid;grid-template-columns:auto 1fr;gap:10px 16px}.club .club-kicker{display:block;border:0;padding:0;text-align:right;font-size:8px}
 .club .club-search{grid-column:1/-1;width:100%;max-width:none;margin:0}.club .search-field input{font-size:16px;padding:12px}
 .club .search-results{max-height:340px}.club .breadcrumbs{font-size:10px;gap:8px;margin-top:18px}
 .club .team-tabs{gap:5px}.club .team-tabs a{font-size:11px;padding:9px 11px}
 .club .overview-grid{grid-template-columns:1fr 1fr;gap:8px}.club .overview-team{padding:16px 12px;font-size:10px}.club .overview-name{font-size:16px}.club .overview-competition{min-height:48px}
 .club .overview-rank{font-size:32px}.club .overview-rank small{font-size:10px}
 .club .overview-rank small{display:block;margin-top:4px}.club .overview-rank .podium-icon{width:22px;height:22px}
 .club .set-tabs{gap:3px;padding:10px 6px 0}.club .set-tabs button{padding:5px 4px}.club .timeline-legend{font-size:11px;gap:9px}.club .chart-shell .timeline-legend{padding:10px 12px 0}
 .club .club-agenda .next{grid-template-columns:52px minmax(0,1fr);gap:14px;padding:18px 14px}.club .club-agenda .next h3{font-size:20px}.club .club-agenda .datebox b{font-size:36px}
 .club .club-agenda .next .tag{grid-column:2}.club .calendar,.club .performance,.club .match-page{padding:20px 16px}
 .club .calendar-filters a{font-size:10px;padding:9px 10px}.club .calendar-row{grid-template-columns:45px minmax(0,1fr) 35px;gap:10px}.club .calendar-row strong{font-size:12px}.club .calendar-row time{font-size:9px}.club .calendar-score{font-size:19px}
 .club .performance-grid{gap:8px}.club .performance-grid>div{padding:18px 10px}.club .performance-grid strong{font-size:35px}
 .club .match-duel{gap:9px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.club .match-duel h3{font-size:16px;min-height:75px;overflow-wrap:anywhere}.club .duel-score{font-size:30px}.club .duel-score.score-winner{font-size:48px}
 .club .match-page-heading .eyebrow{font-size:10px}.club .match-status{flex-basis:100%;gap:12px}.club .match-status .h2h-label{display:none}.club .empty{padding:24px 18px}.club .other-club .display-name{font-size:35px;max-width:100%}
}

/* Les liens couvrent leur ligne tout en gardant un vrai lien au clavier. */
.club #clubHome{display:inline-block;color:inherit;text-decoration:none;max-width:100%}
.club #clubHome:hover .display-name{color:var(--signal)}
.club .standings tbody tr{position:relative;transition:background .15s}
.club .standing-team-link{color:inherit;text-decoration:none}
.club .standing-team-link::after{content:"";position:absolute;inset:0;cursor:pointer}
.club .standings tbody tr:has(.standing-team-link):hover{background:var(--soft)}
.club .standings tbody tr:focus-within{outline:2px solid var(--accent);outline-offset:-2px}
.club .results>h3{margin-bottom:20px}
.club .resultbadge.h2h-dot{padding:0;border:0;margin:0;justify-self:center;align-self:center;letter-spacing:0}
.club .h2h-dot.unknown{background:#546269;color:#fff}
.club .resultbadge.h2h-dot:hover{transform:none}
.club .score-own,.club .score-club{color:var(--signal)}
.club .row-team,.club .venue-address{color:var(--signal)}
.club .team-tabs a,.club .context button,.club .calendar-filters a,.club .player-years a{display:inline-flex;align-items:center;justify-content:center;text-align:center}
.club .player-years a{flex-direction:column}
.club .coverage-note{border-left:3px solid var(--accent);background:var(--soft);padding:12px 16px;font-size:12px;margin:18px 0}
@media(max-width:760px){
 .club .clubhead.other-club .display-name{font-size:clamp(27px,7.5vw,40px)!important;line-height:1.08;letter-spacing:-.8px!important}
}

.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:#111;padding:12px;border-radius:6px}.skip-link:focus{top:12px}button:disabled{opacity:.45;cursor:not-allowed}body.club a:focus-visible,body.club button:focus-visible,body.club select:focus-visible{outline:3px solid #236a9e;outline-offset:3px}.results a:focus-visible,.next a:focus-visible,.timeline a:focus-visible,.timeline button:focus-visible{outline-color:#edf4e8}.club-logo-slot img{object-fit:contain}


body[data-loading] .top,body[data-loading] .shell,body[data-loading] .skip-link{visibility:hidden}.site-loading{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:20;padding:20px;text-align:center}.site-loading .empty{max-width:420px}.loading-brand{font-size:40px;font-weight:800;letter-spacing:-2px;display:block}.loading-brand b{color:var(--accent)}.loading-orbit{display:block;margin:22px auto;width:36px;height:36px;border:2px solid #c3cbc2;border-top-color:var(--accent);border-radius:50%;animation:orbit-spin 1s linear infinite}body:not([data-loading]) .site-loading{display:none}@keyframes orbit-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-orbit{animation:none}}


.no-js-notice{position:fixed;inset:0;z-index:30;display:grid;align-content:center;justify-items:center;gap:16px;padding:24px;background:var(--bg);text-align:center}.no-js-notice h2,.no-js-notice p{margin:0}

/* Performances : lecture collective, graphiques et exploration sans surcharge. */
.club .performance-dashboard{width:100%;min-width:0;display:grid;gap:20px;--analysis-win:#358160;--analysis-loss:#b35151;--analysis-win-ink:#83c8a4;--analysis-loss-ink:#e09a9a}
.club .performance-dashboard .analysis-won{color:var(--analysis-win-ink)}.club .performance-dashboard .analysis-lost{color:var(--analysis-loss-ink)}
.club .performance-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:0}
.club .analysis-filter{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px}
.club .analysis-filter button{background:transparent;border:0;border-radius:5px;color:var(--muted);padding:9px 13px;font-size:12px}
.club .analysis-filter [aria-pressed=true]{background:var(--dark);color:#f6f7ef}
.club .analysis-coverage,.club .analysis-scope{font-size:11px;color:var(--muted);margin:0;line-height:1.6}
.club .analysis-scope{margin-top:-15px}
.club .analysis-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.club .analysis-insight{min-width:0;padding:23px 20px;background:var(--dark);color:#f6f7ef;display:flex;flex-direction:column;justify-content:center;gap:10px}
.club .analysis-insight>span{font:10px Consolas,monospace;letter-spacing:.8px;text-transform:uppercase;color:#bac4c9}
.club .analysis-insight>strong{font:600 clamp(32px,4vw,48px)/1.1 Bahnschrift,sans-serif;letter-spacing:-1px}
.club .analysis-insight strong small{font-size:19px;letter-spacing:0;color:#bac4c9}
.club .analysis-insight p{font-size:11px;line-height:1.5;color:#bac4c9;margin:0;min-height:33px}
.club .analysis-card{background:var(--dark);color:#f6f7ef;min-width:0;padding:26px 28px;border-radius:9px;--line:#394448}
.club .analysis-heading h3{font:550 24px/1.25 Bahnschrift,sans-serif;letter-spacing:-.6px;margin:0 0 6px}
.club .analysis-note{font-size:11px;line-height:1.6;color:#bac4c9;margin:0 0 20px}
.club .analysis-card a{color:#f6f7ef}
.club .analysis-card a:hover{color:var(--signal)}
.club .analysis-card a:focus-visible,.club .analysis-card button:focus-visible,.club .analysis-card select:focus-visible,.club .analysis-card summary:focus-visible{outline-color:#a9d9ff}
.club .plot-scroll,.club .analysis-table-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#61747f var(--dark);scrollbar-width:thin}
.club .plot-scroll svg{display:block;width:100%;min-width:var(--plot-width,0);height:auto}
.club .plot-axis text{fill:#bac4c9;font:10px "Segoe UI",sans-serif}
.club .plot-grid{stroke:#ffffff12;stroke-width:1}.club .plot-zero{stroke:#a4b6c0;stroke-opacity:.55;stroke-width:1}
.club .margin-bar.positive{fill:var(--analysis-win)}.club .margin-bar.negative{fill:var(--analysis-loss)}.club .margin-bar:hover{stroke:#fff;stroke-width:2}
.club .plot-axis .plot-result{font-size:12px;font-weight:700}.club .plot-axis .won{fill:var(--analysis-win-ink)}.club .plot-axis .lost{fill:var(--analysis-loss-ink)}
.club .analysis-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#bac4c9;margin-top:12px}
.club .analysis-legend span{display:flex;align-items:center;gap:7px}.club .analysis-legend span:before{content:"";height:7px;width:14px;border-radius:2px;background:var(--analysis-win)}
.club .analysis-legend .legend-other:before{background:var(--analysis-loss)}
.club .analysis-data{font-size:11px;margin-top:20px;color:#bac4c9;border-top:1px solid var(--line);padding-top:12px}
.club .analysis-data summary{cursor:pointer;display:list-item}.club .analysis-data table{width:100%;margin-top:12px;border-collapse:collapse;color:#f6f7ef}
.club .analysis-data th,.club .analysis-data td{padding:8px;font-size:11px;white-space:nowrap;text-align:right;border-bottom:1px solid var(--line)}
.club .analysis-data th:first-child,.club .analysis-data td:first-child{text-align:left}.club .analysis-data caption{text-align:left;font-size:10px;color:#bac4c9;padding:5px 8px}
.club .set-matrix{min-width:430px}.club .set-matrix-head,.club .set-matrix-row{display:grid;grid-template-columns:minmax(140px,1.7fr) repeat(var(--sets),minmax(42px,1fr));gap:4px;align-items:stretch;margin-bottom:4px}
.club .matrix-scroll{max-height:520px}.club .set-matrix-head{position:sticky;top:0;background:var(--dark);z-index:1;padding-bottom:6px}
.club .set-matrix-head{font:10px Consolas,monospace;color:#bac4c9;margin-bottom:8px}.club .set-matrix-head span:not(:first-child){text-align:center}
.club .matrix-opponent{text-decoration:none;display:flex;flex-direction:column;justify-content:center;padding:3px 10px 3px 0;min-width:0}
.club .matrix-opponent strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.club .matrix-opponent small{font-size:10px;color:#bac4c9}
.club .set-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;text-decoration:none;font:600 12px Consolas,monospace;border-radius:4px;white-space:nowrap}
.club .set-cell.set-win{background:var(--analysis-win);border:1px solid var(--analysis-win)}
.club .set-cell.set-loss{background:var(--analysis-loss);border:1px solid var(--analysis-loss)}.club .set-cell.set-missing{color:#7e8d96;background:#ffffff03;font-weight:400}
.club .set-cell i{position:absolute;bottom:0;right:5px;font-style:normal;font-size:10px;color:#fff}.club a.set-cell:hover{outline:1px solid #fff;color:#fff}
.club .analysis-match-picker{font-size:10px;color:#bac4c9;display:flex;align-items:center;gap:15px;margin:0 0 14px}
.club .analysis-match-picker select{min-width:0;max-width:100%;flex:1;background:#232a2a;border:1px solid #4c5c62;color:#f6f7ef;border-radius:5px;padding:10px;font-size:12px}
.club .analysis-leads{margin:18px 0 0}
.club .chart-insight{font-size:11px;line-height:1.7;padding:12px 14px;margin:20px 0 0;background:#ffffff06;border-left:2px solid var(--signal);color:#d1dade}.club .chart-insight a{text-decoration:none}
.club .analysis-swing{background:var(--chart-bg);border-radius:8px}.club .analysis-swing svg{display:block;width:100%;height:auto}
.club .analysis-point-readout{min-height:24px;margin:0;padding:0 16px 8px;font:11px Consolas,monospace;color:#f6f7ef}
.club .analysis-swing .compact-plot .plot-axis text{font-size:16px}.club .analysis-plot.compact-plot .plot-axis text{font-size:14px}
.club .swing-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.club .swing-line.positive{stroke:var(--analysis-win-ink)}.club .swing-line.negative{stroke:var(--analysis-loss-ink)}
.club [data-analysis-curve]{opacity:1}.club .curve-muted{opacity:.3}.club .curve-emphasized{opacity:1}.club .curve-emphasized .swing-line{stroke-width:3.5}
.club .curve-marker{fill:var(--chart-bg);stroke-width:1.5}.club .curve-marker.positive{stroke:var(--analysis-win-ink)}.club .curve-marker.negative{stroke:var(--analysis-loss-ink)}
.club .swing-set-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;padding:12px 10px 5px;color:#bac4c9}.club .swing-set-legend>button{display:flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;border:1px solid transparent;border-radius:5px;color:inherit;font:10px "Segoe UI",sans-serif;padding:6px;min-height:32px;cursor:pointer}.club .swing-set-legend .is-highlighted,.club .swing-set-legend [aria-pressed=true]{border-color:#6b777d;background:#ffffff08;color:#f6f7ef}.club .swing-set-legend svg{width:30px;height:12px}.club .swing-set-legend line{stroke:#b1bfc6;stroke-width:1.7}.club .swing-set-legend g{fill:var(--chart-bg);stroke:#b1bfc6;stroke-width:1.4}.club .swing-set-legend b{font:10px Consolas,monospace}
.club .swing-point{fill:transparent}.club .swing-point:hover{stroke:#fff;stroke-width:1}.club .swing-point.positive:hover{fill:var(--analysis-win-ink)}.club .swing-point.negative:hover{fill:var(--analysis-loss-ink)}
.club .swing-facts{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:11px;color:#bac4c9;margin-top:16px}.club .swing-facts b{color:#f6f7ef;margin-left:7px}.club .swing-facts>a{margin-left:auto;font-size:11px}
.club .run-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;align-items:center;margin-bottom:14px;font-size:11px;color:#bac4c9}
.club .run-line{display:flex;align-items:center;gap:9px;margin:3px 0;min-height:12px}.club .run-line i{display:block;min-height:7px;border-radius:2px}.club .run-line b{font:10px Consolas,monospace;color:#f6f7ef}
.club .own-run{background:var(--analysis-win)}.club .other-run{background:var(--analysis-loss)}
.club .run-records{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.club .run-records>div{display:flex;flex-direction:column;gap:8px}.club .run-records span,.club .run-records a{font-size:11px;color:#bac4c9}.club .run-records strong{font:600 30px Bahnschrift,sans-serif}.club .run-records strong small{font-size:13px;font-weight:400}
.club .analysis-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}
.club .position-bars>div{display:grid;grid-template-columns:45px minmax(0,1fr) 36px;align-items:center;gap:12px;font-size:11px;margin:17px 0}.club .position-bars b{text-align:right;font:11px Consolas,monospace}
.club .position-track{height:8px;background:var(--analysis-loss);border-radius:4px;overflow:hidden}.club .position-track i{display:block;background:var(--analysis-win);height:100%}
.club .analysis-venues{display:grid;grid-template-columns:1fr 1fr;gap:16px}.club .analysis-venues>div{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.club .analysis-venues strong{font:600 34px Bahnschrift,sans-serif}.club .analysis-venues small,.club .analysis-venues p{font-size:11px;color:#bac4c9;margin:0}
.club .season-comparison{display:grid;grid-template-columns:minmax(0,1.6fr) 1fr 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.club .season-comparison>div{display:flex;flex-direction:column;justify-content:center;gap:4px}.club .season-comparison small,.club .season-comparison span{font-size:10px;color:#bac4c9;overflow-wrap:anywhere}
.club .season-comparison b{font:600 26px Bahnschrift,sans-serif}.club .season-comparison strong{font:600 17px Bahnschrift,sans-serif}
@media(max-width:760px){
 .club .swing-set-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:8px 5px 3px}.club .swing-set-legend>button{justify-content:center;gap:4px;padding:4px 2px;font-size:9px}.club .swing-set-legend svg{width:20px;flex-shrink:0}.club .swing-set-legend b{font-size:9px}.club .swing-set-legend>button:last-child:nth-child(odd){grid-column:1/-1;justify-self:center}
 .club .performance-dashboard{gap:16px}.club .performance-toolbar{gap:8px}.club .analysis-filter{flex:1;justify-content:center}.club .analysis-filter button{padding:8px 9px;font-size:11px;white-space:nowrap}
 .club .analysis-insights{grid-template-columns:1fr}.club .analysis-insight{padding:18px;display:grid;grid-template-columns:1fr auto;column-gap:15px;row-gap:6px;align-items:center}.club .analysis-insight>strong{grid-column:2;grid-row:1/3;white-space:nowrap;font-size:34px}.club .analysis-insight>span{font-size:9px}.club .analysis-insight p{min-height:0;grid-column:1;font-size:10px}
 .club .analysis-card{width:100%;padding:20px 16px}.club .analysis-heading h3{font-size:22px}.club .analysis-pair{grid-template-columns:1fr;gap:16px}
 .club .analysis-match-picker{flex-direction:column;align-items:stretch;gap:6px}.club .analysis-match-picker select{width:100%;font-size:11px}.club .swing-facts{gap:10px;font-size:10px}.club .swing-facts>a{margin-left:0;width:100%}
 .club .analysis-legend{gap:10px;font-size:9px}.club .run-records{gap:14px}.club .season-comparison{grid-template-columns:minmax(0,1.3fr) 1fr 1fr;gap:10px}.club .season-comparison b{font-size:21px}.club .season-comparison strong{font-size:14px}
}

