/* Shared player and match cards. Explicit ink colours on light surfaces. */
#fiche-joueur .public-player-identity{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:25px;padding:32px;border-radius:25px;background:linear-gradient(115deg,var(--club-surface),#e2eff2);color:var(--club-on-surface);border:1px solid var(--club-surface-border);box-shadow:0 15px 35px #00180e20}
.public-identity-court{position:absolute;z-index:-1;width:240px;height:240px;border:2px solid #45856a20;border-radius:50%;right:19%;top:-130px;pointer-events:none}
.public-identity-court:after{content:'';position:absolute;inset:20px;border:2px solid #45856a20;border-radius:50%}
#fiche-joueur .public-player-avatar{width:84px;height:84px;border-radius:23px;background:var(--club-ink);color:var(--club-white);font:italic 800 30px Arial,sans-serif;box-shadow:5px 6px 0 #b6d8dd;transform:rotate(-5deg)}
.public-player-name{min-width:0;display:grid;gap:10px}
#fiche-joueur .public-player-name .eyebrow{color:var(--club-on-surface-muted);font:800 11px Arial,sans-serif;letter-spacing:1.5px}
#fiche-joueur .public-player-identity h2{font:italic 800 clamp(24px,2.7vw,38px)/1.1 Arial,sans-serif;color:var(--club-on-surface);letter-spacing:-1px;margin:0;overflow-wrap:anywhere}
#fiche-joueur .public-player-name p{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--club-on-surface-muted);font-size:12px;line-height:1.5;margin:0}
.public-player-name p>b{background:var(--club-surface-raised);color:var(--club-on-surface);padding:5px 9px;border:1px solid var(--club-surface-border);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums}
#fiche-joueur .public-player-rank{margin:0;display:grid;place-items:center;gap:8px;min-width:150px;padding:18px 24px;background:var(--club-panel);border:1px solid var(--club-border);border-radius:20px;color:var(--club-accent-soft);transform:rotate(2deg)}
#fiche-joueur .public-player-rank>span{font-size:9px;font-weight:800;letter-spacing:1.25px;color:var(--club-muted)}
#fiche-joueur .public-player-rank>b{font:italic 800 49px/1 Arial,sans-serif;letter-spacing:-2px;color:var(--club-accent-soft)}
#fiche-joueur .public-player-rank>small{font-size:11px;color:var(--club-muted)}
#fiche-joueur .public-player-nav{gap:10px;margin:22px 0}
#fiche-joueur .public-player-nav .chip{padding:13px 17px;border-radius:12px;font-size:12px;background:var(--club-panel);border-color:var(--club-border);color:var(--club-white)}
#fiche-joueur .public-player-nav .chip:hover{background:var(--club-panel-raised);border-color:var(--club-turquoise)}
#public-player-bilan .my-stat{background:var(--club-panel);border-color:var(--club-border);color:var(--club-white);border-radius:18px;padding:22px}
#public-player-bilan .my-stat b{color:var(--club-accent);font-variant-numeric:tabular-nums}
#public-player-bilan .my-stat span{font-size:13px;color:var(--club-muted)}
#public-player-content>section{margin-top:32px}
#public-player-content>section>h2{font:italic 750 28px Arial,sans-serif;letter-spacing:-.5px;margin:0 0 20px}
#public-player-content>.notice{border-radius:14px;font-size:12px;line-height:1.7}
#public-player-content>.notice p{font-size:12px;margin:7px 0 0}
#public-player-status{font-size:11px;color:var(--club-muted)}
:is(#player-dashboard,#public-player-content) .numeric-day,:is(#player-dashboard,#public-player-content) .evolution-match-detail{padding:24px;border-radius:22px;background:var(--club-surface);color:var(--club-on-surface);border:1px solid var(--club-surface-border);box-shadow:0 7px 18px #001a1015}
.numeric-meeting-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding-bottom:20px;border-bottom:1px solid var(--club-surface-border)}
.meeting-date{display:grid;place-items:center;align-content:center;width:65px;min-height:86px;padding:10px;border-radius:15px;background:var(--club-panel);color:var(--club-white);box-shadow:3px 4px 0 #bfdbe2;flex-shrink:0}
.meeting-date>b{font:italic 800 30px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}
.meeting-date>span{font-size:11px;font-weight:750;margin-top:6px;text-transform:uppercase;color:var(--club-turquoise)}
.meeting-date>small{font-size:9px;color:var(--club-muted);margin-top:4px}
.meeting-title>span{font-size:9px;font-weight:800;letter-spacing:.9px;color:var(--club-on-surface-muted)}
:is(#player-dashboard,#public-player-content) .meeting-title h4{font:italic 800 clamp(20px,2.4vw,27px)/1.15 Arial,sans-serif;color:var(--club-on-surface);margin:8px 0 7px;letter-spacing:-.6px;overflow-wrap:anywhere}
:is(#player-dashboard,#public-player-content) .meeting-title p{font-size:11px;color:var(--club-on-surface-muted);margin:0;line-height:1.5}
.meeting-points{display:grid;gap:9px;text-align:right;padding:15px 18px;border-radius:15px;background:var(--club-accent);border:1px solid var(--club-accent);min-width:180px}
.meeting-points>span{font-size:8px;font-weight:800;letter-spacing:.8px;color:var(--club-on-accent)}
.meeting-points>b{font:italic 800 31px/1 Arial,sans-serif;color:var(--club-on-accent);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-1px}
.meeting-points b>small{font:700 13px Arial,sans-serif;letter-spacing:0}
.meeting-points.points-loss{background:#f1ddd2;border-color:#d9b4ac}
.meeting-points.points-loss>b{color:#963c49}
.meeting-points.points-loss>span{color:#854b50}
.meeting-sheet-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 18px}
:is(#player-dashboard,#public-player-content) .meeting-sheet-row .match-sheet-link{display:inline-flex;align-items:center;gap:20px;padding:10px 14px;background:var(--club-banner);border-color:var(--club-border);color:var(--club-white);border-radius:10px;font-size:11px;text-decoration:none}
.meeting-sheet-row>span{font-size:10px;color:var(--club-on-surface-muted)}
.numeric-party-list{display:grid;gap:10px;margin:0}
.numeric-party-card{display:grid;grid-template-columns:52px minmax(0,1fr) 84px 126px;gap:16px;align-items:center;padding:16px 18px;border-radius:15px;border:1px solid var(--club-surface-border);border-left:4px solid #009c9d;background:var(--club-surface-raised);color:var(--club-on-surface);min-width:0}
.numeric-party-card.party-loss{border-left-color:#bb6870}
.numeric-party-card.party-pending{border-left-color:#81947c}
.party-result{display:grid;justify-items:center;gap:5px;color:#24714a}
.party-result>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#d7efca;font-size:19px;font-weight:800}
.party-result>small{font-size:8px;font-weight:800}
.party-loss .party-result{color:#9e4552}
.party-loss .party-result>span{background:#f4dfdc}
.party-pending .party-result{color:#586e54}
.party-pending .party-result>span{background:#e1e9d9}
.party-opponent{min-width:0;display:grid;gap:9px}
:is(#player-dashboard,#public-player-content) .party-opponent .player-name-link{color:var(--club-on-surface);font-size:14px;line-height:1.4;font-weight:800;text-decoration:none;overflow-wrap:anywhere}
:is(#player-dashboard,#public-player-content) .party-opponent .player-name-link:hover{text-decoration:underline;text-underline-offset:4px}
.party-opponent-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.party-rank{padding:3px 7px;border-radius:6px;background:#e1eef1;border:1px solid var(--club-surface-border);color:var(--club-on-surface);font-size:10px;font-weight:800;line-height:1.3}
.party-opponent-meta>small{font-size:10px;color:var(--club-on-surface-muted)}
.party-decider{font-size:9px;color:#57663b;background:#edf0cd;padding:4px 7px;border-radius:6px}
.party-score{display:grid;gap:6px;text-align:center;padding:4px 0;border-left:1px solid var(--club-surface-border)}
.party-score>small{font-size:8px;font-weight:750;color:var(--club-on-surface-muted);letter-spacing:.8px}
.party-score>strong{font:800 24px/1.1 Arial,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--club-on-surface)}
.party-score strong>i{font-style:normal;color:var(--club-on-surface-muted);font-size:17px}
.party-loss .party-score>strong{color:#963f4c}
.party-pending .party-score>strong{color:#586e54}
.party-points{display:grid;gap:5px;padding:12px 10px;border-radius:10px;text-align:center;border:1px solid #b1d7d9;background:#def0f0;min-width:0}
.party-points>small{font-size:8px;font-weight:800;letter-spacing:1px;color:var(--club-on-surface-muted)}
.party-points>strong{font:800 19px/1.2 Arial,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--club-on-surface)}
.party-points strong>span{font-size:10px}
.party-points.points-loss{background:#f3e1df;border-color:#dfbdb8}
.party-points.points-loss>small{color:#925a61}
.party-points.points-loss>strong{color:#9e4050}
.party-points.points-pending,.party-points.points-neutral{background:#e4ecdc;border-color:#c4d2b9}
.party-points.points-pending>strong{font-size:11px;white-space:normal;color:#56694e}
.party-points.points-pending>small{letter-spacing:0}
:is(#player-dashboard,#public-player-content) .meeting-cumulative{margin:0 0 15px;padding:9px 12px;background:#dcebee;border-radius:8px;color:var(--club-on-surface-muted);font-size:11px}
#public-numeric-content .numeric-block{border-radius:22px}
#public-numeric-content .numeric-block-heading h3{color:var(--club-white)}
@media(hover:hover){.numeric-party-card{transition:border-color .18s,box-shadow .18s}.numeric-party-card:hover{border-top-color:var(--club-border-strong);border-right-color:var(--club-border-strong);border-bottom-color:var(--club-border-strong);box-shadow:0 5px 12px #24432d12}}
@media(max-width:900px){.numeric-party-card{grid-template-columns:40px minmax(0,1fr) 70px 110px;gap:12px;padding:15px 13px}.meeting-points{min-width:155px;padding:13px}.meeting-points>b{font-size:27px}}
@media(max-width:650px){#fiche-joueur .public-player-identity{grid-template-columns:58px minmax(0,1fr);gap:17px;padding:23px 20px;border-radius:21px}#fiche-joueur .public-player-avatar{width:58px;height:58px;border-radius:17px;font-size:22px}#fiche-joueur .public-player-identity h2{font-size:25px}#fiche-joueur .public-player-name .eyebrow{font-size:9px;letter-spacing:.8px}#fiche-joueur .public-player-name p{font-size:10px;gap:6px}#fiche-joueur .public-player-rank{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px;min-width:0;width:100%;padding:13px 17px;border-radius:13px;transform:none}#fiche-joueur .public-player-rank>b{font-size:32px}#fiche-joueur .public-player-rank>small{font-size:10px}#fiche-joueur .public-player-rank>span{font-size:8px}#fiche-joueur .public-player-nav .chip{padding:13px;font-size:11px}.numeric-meeting-header{grid-template-columns:52px minmax(0,1fr);gap:14px;padding-bottom:16px;margin-bottom:15px}.meeting-date{width:52px;min-height:77px;padding:9px}.meeting-date>b{font-size:27px}.meeting-points{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;min-width:0;padding:13px 14px;border-radius:12px}.meeting-points>b{font-size:25px}.meeting-points>span{font-size:8px}:is(#player-dashboard,#public-player-content) .numeric-day,:is(#player-dashboard,#public-player-content) .evolution-match-detail{padding:19px 15px;border-radius:18px}:is(#player-dashboard,#public-player-content) .meeting-title h4{font-size:23px}.numeric-party-card{grid-template-columns:32px minmax(0,1fr) 60px;gap:10px;padding:14px 12px}.party-result{grid-row:1/3}.party-result>span{width:27px;height:27px;font-size:17px}.party-result>small{font-size:7px}.party-score{grid-column:3;grid-row:1}.party-score>strong{font-size:21px}.party-score>small{font-size:7px}.party-points{grid-column:2/-1;grid-row:2;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px}.party-points>strong{font-size:17px}:is(#player-dashboard,#public-player-content) .party-opponent .player-name-link{font-size:13px}.party-opponent-meta{gap:6px}.party-opponent-meta>small{font-size:9px}.party-decider{font-size:8px}.numeric-party-list{gap:9px}}
@media(prefers-reduced-motion:reduce){.numeric-party-card{transition:none}}

#fiche-joueur .public-player-rank>b{max-width:180px;overflow-wrap:anywhere;text-align:center}.party-points>small{color:var(--club-on-surface-muted)}.party-points.points-loss>small{color:#77434b}.party-points.points-pending>small{color:#52644b}
