/* Player dossier: neutral surfaces, distinct data families, minimal cyan. */
.league-player-page{
  --dossier-gold:#efc45f;
  --dossier-orange:#ed9859;
  --dossier-violet:#b498f2;
  --dossier-green:#64d39d;
  --dossier-rose:#ec7899;
  --dossier-ink:#0c0d11;
  --dossier-panel:#121318;
  --dossier-line:#393941;
  overflow-x:clip;
  color:#e9e7e1;
  background-color:#0b0c0f;
  background-image:linear-gradient(135deg,rgba(239,196,95,.035) 0 1px,transparent 1px 34px),linear-gradient(180deg,#0b0c0f,#100e13 58%,#0b0c0f);
  background-size:34px 34px,auto;
}
.league-player-page .topbar{border-bottom:1px solid #3d3930;background:#08090c;box-shadow:0 10px 28px rgba(0,0,0,.38)}
.league-player-page .topbar>a:first-child{color:var(--dossier-gold)}

.league-player-page main{width:min(100% - 32px,1240px)}
.league-player-page .league-hero{min-height:370px;border:1px solid #554b36;border-radius:5px 5px 0 0;border-bottom:0;background:#0a0b0e;box-shadow:0 25px 70px rgba(0,0,0,.42)}
.league-player-page .league-hero::after{position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--dossier-gold) 0 25%,var(--dossier-orange) 25% 48%,var(--dossier-violet) 48% 73%,var(--dossier-green) 73%);content:""}
.league-player-page .league-hero .hero-shade{background:linear-gradient(90deg,rgba(5,6,8,.99) 0,rgba(7,8,11,.91) 40%,rgba(7,8,11,.28) 72%,rgba(7,8,11,.08))}
.league-player-page .league-hero .hero-copy{min-height:370px;padding:40px 32px;justify-content:center}
.league-player-page .league-hero .eyebrow{width:fit-content;padding:5px 9px;border-left:4px solid var(--dossier-gold);color:#f4cf76;background:rgba(8,9,12,.84)}
.league-player-page .league-hero h1{max-width:760px;color:#fffaf0;font-size:clamp(2.8rem,5.4vw,5rem);text-shadow:0 4px 28px #000}
.league-player-page .league-hero .hero-copy>p:not(.eyebrow){max-width:720px;color:#d8d3ca}
.league-player-page .player-hero-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:850px;gap:8px}
.league-player-page .player-hero-facts span{--fact-tone:var(--dossier-gold);display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-height:62px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--fact-tone) 45%,#3b3a3c);border-radius:4px;color:#f4f0e8;background:color-mix(in srgb,var(--fact-tone) 9%,rgba(12,13,17,.9));box-shadow:inset 3px 0 var(--fact-tone)}
.league-player-page .player-hero-facts span:nth-child(2){--fact-tone:var(--dossier-orange)}.league-player-page .player-hero-facts span:nth-child(3){--fact-tone:var(--dossier-violet)}.league-player-page .player-hero-facts span:nth-child(4){--fact-tone:var(--dossier-green)}
.league-player-page .player-hero-facts i{grid-row:1/3;color:var(--fact-tone);font-size:1.15rem}.league-player-page .player-hero-facts b{align-self:end}.league-player-page .player-hero-facts small{align-self:start;color:#aaa7a2}
.league-player-page .league-hero-actions a{border-radius:4px;background:#111319}.league-player-page .league-hero-actions a:nth-child(1){border-color:var(--dossier-gold);color:#ffe09b;background:#28200f}.league-player-page .league-hero-actions a:nth-child(2){border-color:var(--dossier-green);color:#91e6bb;background:#10231a}.league-player-page .league-hero-actions a:nth-child(3){border-color:var(--dossier-violet);color:#cdbaf7;background:#1d172b}

.league-player-page .player-lookup-shell{position:relative;margin:0;padding:44px 0 28px;border:0}
.league-player-page .player-lookup-shell::before{position:absolute;top:0;left:0;width:180px;height:4px;background:var(--dossier-gold);content:""}
.league-player-page .player-lookup-heading{display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:end;gap:48px;margin-bottom:20px}
.league-player-page .player-lookup-heading .eyebrow{color:var(--dossier-gold)}
.league-player-page .player-lookup-heading h2{max-width:680px;color:#fff8e9;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98;text-wrap:balance}
.league-player-page .player-lookup-heading>p{padding:14px 0 14px 18px;border-left:1px solid #5d5140;color:#bbb7af}
.league-player-page .player-access-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:14px;align-items:start}
.league-player-page .player-access-primary{display:flex;min-width:0;flex-direction:column;gap:10px;padding:20px;border:1px solid #5c4a27;border-top:4px solid var(--dossier-gold);border-radius:5px;background:#17140d;box-shadow:0 18px 44px rgba(0,0,0,.2)}
.league-player-page .lookup-pending-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:0;border:0;background:transparent;box-shadow:none}
.league-player-page .lookup-pending-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid #856a31;border-radius:4px;color:#ffd471;background:#32270f}
.league-player-page .lookup-pending-state{color:#f1c766}.league-player-page .lookup-pending-panel strong{color:#fff1ca;font-size:1.15rem}.league-player-page .lookup-pending-panel p{color:#bbb2a0}
.league-player-page .lookup-pending-panel button{grid-column:1/-1;justify-self:start;min-height:44px;border-color:#6e5a2d;border-radius:4px;color:#ffe09a;background:#28200f}
.league-player-page .status.success{margin:0;color:#81d9aa}
.league-player-page .player-access-explainer{min-width:0;padding:20px;border:1px solid #4d435c;border-top:4px solid var(--dossier-violet);border-radius:5px;background:#15121d}
.league-player-page .player-access-explainer header{margin-bottom:15px}.league-player-page .player-access-explainer .eyebrow{color:var(--dossier-violet)}.league-player-page .player-access-explainer h3{margin:2px 0 6px;color:#f1eafd;font-size:1.22rem}.league-player-page .player-access-explainer header p:last-child{margin:0;color:#aaa4b5}
.league-player-page .player-fact-contract{display:grid;grid-template-columns:1fr;gap:7px}
.league-player-page .player-fact-contract article{--fact-tone:var(--dossier-gold);display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--fact-tone) 30%,#393740);border-radius:4px;background:color-mix(in srgb,var(--fact-tone) 5%,#111218);box-shadow:inset 3px 0 var(--fact-tone)}
.league-player-page .player-fact-contract article:nth-child(2){--fact-tone:var(--dossier-orange)}.league-player-page .player-fact-contract article:nth-child(3){--fact-tone:var(--dossier-violet)}.league-player-page .player-fact-contract article:nth-child(4){--fact-tone:var(--dossier-rose)}
.league-player-page .player-fact-contract article i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:var(--fact-tone);background:color-mix(in srgb,var(--fact-tone) 11%,transparent)}
.league-player-page .player-fact-contract article span{display:grid;gap:2px}.league-player-page .player-fact-contract article strong{color:#eeeae3}.league-player-page .player-fact-contract article small{color:#97949c;line-height:1.35}

.league-player-page .player-dashboard-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}
.league-player-page .player-dashboard-nav a{--dash-tone:var(--dossier-gold);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--dash-tone) 42%,#393a3e);border-radius:4px;color:#eeeae2;background:color-mix(in srgb,var(--dash-tone) 6%,#121318);box-shadow:inset 3px 0 var(--dash-tone);text-decoration:none}
.league-player-page .player-dashboard-nav a.is-ranked{--dash-tone:var(--dossier-orange)}.league-player-page .player-dashboard-nav a.is-mastery{--dash-tone:var(--dossier-violet)}.league-player-page .player-dashboard-nav a.is-matches{--dash-tone:var(--dossier-green)}
.league-player-page .player-dashboard-nav a>i:first-child{display:grid;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb,var(--dash-tone) 56%,transparent);border-radius:50%;color:var(--dash-tone);background:color-mix(in srgb,var(--dash-tone) 10%,transparent)}
.league-player-page .player-dashboard-nav a>i:last-child{color:var(--dash-tone)}.league-player-page .player-dashboard-nav span{display:grid;min-width:0;gap:2px}.league-player-page .player-dashboard-nav small{color:var(--dash-tone);font-size:.63rem;text-transform:uppercase}.league-player-page .player-dashboard-nav strong{overflow-wrap:anywhere;font-size:.84rem}.league-player-page .player-dashboard-nav a:is(:hover,:focus-visible){border-color:var(--dash-tone);color:#fff;background:color-mix(in srgb,var(--dash-tone) 13%,#121318);transform:translateY(-1px)}

.league-player-page .results{margin-top:18px;padding:30px 0 0;border-top:1px solid #474349}
.league-player-page .player-data-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin:0 0 18px}.league-player-page .player-data-heading .eyebrow{color:var(--dossier-violet)}.league-player-page .player-data-heading h2{margin:2px 0 0;color:#fbf5e9;font-size:clamp(2rem,4vw,3.5rem)}.league-player-page .player-data-heading>p{margin:0;padding:12px 0 12px 18px;border-left:1px solid #645478;color:#b7b1be}
.league-player-page .player-result-banner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:14px 18px;border:1px solid #6a562a;border-left:4px solid var(--dossier-gold);border-radius:4px;background:#1a170f}.league-player-page .player-result-banner span{color:#f0c65f}.league-player-page .player-result-banner p{margin:0;color:#d1c7ae}
.league-player-page .profile-band{border:1px solid #584a69;border-left:5px solid var(--dossier-violet);border-radius:5px;background:#16121f;box-shadow:0 18px 42px rgba(0,0,0,.22)}
.league-player-page .profile-band img{border-color:#967bd2;box-shadow:0 0 0 3px rgba(180,152,242,.12)}.league-player-page .profile-band .eyebrow{color:#cdb8f7}.league-player-page .profile-boundary{border-color:#397052;border-radius:4px;color:#9be8bd;background:#0f2419}
.league-player-page .player-mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #403d43;border-radius:5px;background:#0d0f13}
.league-player-page .player-mode-tabs button{--mode-tone:#d2cec6;min-width:0;border:1px solid #383a40;border-radius:4px;border-bottom:3px solid transparent;color:#aaa7a2;background:#13151a}.league-player-page .player-mode-tabs button:nth-child(2){--mode-tone:var(--dossier-gold)}.league-player-page .player-mode-tabs button:nth-child(3){--mode-tone:var(--dossier-violet)}.league-player-page .player-mode-tabs button:nth-child(4){--mode-tone:var(--dossier-green)}.league-player-page .player-mode-tabs button i{color:var(--mode-tone)}.league-player-page .player-mode-tabs button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--mode-tone) 55%,#3a3b40);border-bottom-color:var(--mode-tone);color:#fff;background:color-mix(in srgb,var(--mode-tone) 10%,#14161b)}
.league-player-page .recent-overview{border:1px solid #514365;border-top:4px solid var(--dossier-violet);border-radius:5px;background:#15121c}.league-player-page .recent-overview .section-heading .eyebrow{color:var(--dossier-violet)}
.league-player-page .recent-metrics article{--metric-tone:var(--dossier-gold);border-color:color-mix(in srgb,var(--metric-tone) 35%,#3a3b40);border-radius:4px;background:color-mix(in srgb,var(--metric-tone) 6%,#121318)}.league-player-page .recent-metrics article:nth-child(2){--metric-tone:var(--dossier-violet)}.league-player-page .recent-metrics article:nth-child(3){--metric-tone:var(--dossier-green)}.league-player-page .recent-metrics article:nth-child(4){--metric-tone:var(--dossier-rose)}.league-player-page .recent-metrics article>span{color:var(--metric-tone)}
.league-player-page .result-grid{gap:12px}.league-player-page .player-ranked-panel{border:1px solid #65522c;border-top:4px solid var(--dossier-gold);border-radius:5px;background:#17140e}.league-player-page .player-mastery-panel{border:1px solid #514565;border-top:4px solid var(--dossier-violet);border-radius:5px;background:#16121f}.league-player-page .player-ranked-panel .eyebrow{color:var(--dossier-gold)}.league-player-page .player-mastery-panel .eyebrow{color:var(--dossier-violet)}
.league-player-page .player-matches-panel{border:1px solid #315f49;border-top:4px solid var(--dossier-green);border-radius:5px;background:#101813}.league-player-page .player-matches-panel .eyebrow{color:var(--dossier-green)}
.league-player-page .match-card{border-color:#38423d;border-radius:4px;background:#121719}.league-player-page .match-card.win{border-left-color:var(--dossier-green);background:#111a15}.league-player-page .match-card.loss{border-left-color:var(--dossier-rose);background:#1a1115}.league-player-page .match-card.remake{border-left-color:var(--dossier-gold);background:#19170f}
.league-player-page .player-source-panel{border:1px solid #59502f;border-top:4px solid var(--dossier-gold);border-radius:5px;background:#17150f}.league-player-page .player-reading-guide{border:1px solid #574662;border-top:4px solid var(--dossier-violet);border-radius:5px;background:#17131f}

.league-player-page .player-tool-directory{margin:26px 0;border:1px solid #403d43;border-radius:5px;background:#101115}.league-player-page .player-tool-directory>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:14px 18px;color:#eee9df;cursor:pointer;list-style:none;background:#151419}.league-player-page .player-tool-directory>summary::-webkit-details-marker{display:none}.league-player-page .player-tool-directory>summary>span{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.league-player-page .player-tool-directory>summary>span>i{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--dossier-violet);border-radius:4px;color:#c9b3f7;background:#21192e}.league-player-page .player-tool-directory>summary b{font-size:1rem}.league-player-page .player-tool-directory>summary small{color:#9e9aa2}.league-player-page .player-tool-directory>summary>i{color:var(--dossier-gold);transition:transform .2s ease}.league-player-page .player-tool-directory[open]>summary>i{transform:rotate(180deg)}.league-player-page .player-tool-directory .league-tool-directory{margin:0;border:0;border-top:1px solid #403d43;border-radius:0;background:#0e0f13}
.league-player-page .next-work{border-color:#514565;background:#15121c}.league-player-page .next-work .eyebrow{color:var(--dossier-violet)}

@media(max-width:980px){.league-player-page .player-access-layout{grid-template-columns:1fr}.league-player-page .player-fact-contract{grid-template-columns:repeat(2,minmax(0,1fr))}.league-player-page .player-dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.league-player-page main{width:min(100% - 18px,1240px)}.league-player-page .league-hero,.league-player-page .league-hero .hero-copy{min-width:0;min-height:0}.league-player-page .league-hero .hero-copy{padding:28px 18px}.league-player-page .player-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.league-player-page .player-lookup-heading,.league-player-page .player-data-heading{grid-template-columns:1fr;gap:12px}.league-player-page .player-lookup-heading>p,.league-player-page .player-data-heading>p{padding:10px 0 10px 14px}.league-player-page .player-lookup-heading h2{font-size:clamp(2.3rem,12vw,3.6rem)}.league-player-page .player-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.league-player-page .lookup-pending-panel>*{min-width:0}}
@media(max-width:520px){.league-player-page .player-hero-facts,.league-player-page .player-fact-contract,.league-player-page .player-dashboard-nav{grid-template-columns:1fr}.league-player-page .player-access-primary,.league-player-page .player-access-explainer{padding:14px}.league-player-page .player-dashboard-nav a{min-height:58px}.league-player-page .player-result-banner{grid-template-columns:1fr;gap:5px}.league-player-page .player-tool-directory>summary{padding:12px}.league-player-page .player-tool-directory>summary b{font-size:.9rem}.player-match-grade{grid-template-columns:38px minmax(0,1fr)}.player-match-grade>a{grid-column:1/-1;justify-content:center}}

/* v3: match cards are indexes into a complete factual record, not score grades. */
.league-player-page {
  background-color: #090a0d;
  background-image:
    linear-gradient(180deg, rgba(238, 195, 95, .045) 0 15%, transparent 15% 38%, rgba(180, 152, 242, .04) 38% 61%, transparent 61% 78%, rgba(100, 211, 157, .035) 78%),
    linear-gradient(180deg, #090a0d, #100d12 55%, #090b0d);
}
.league-player-page .league-hero {
  border-color: #5d4e31;
  background: #090a0d;
  box-shadow: inset 5px 0 var(--dossier-gold), 0 24px 64px rgba(0, 0, 0, .42);
}
.league-player-page .league-hero .hero-shade {
  background: linear-gradient(90deg, rgba(4, 5, 7, .99), rgba(9, 8, 12, .91) 49%, rgba(20, 13, 25, .35) 76%, rgba(5, 6, 8, .15));
}
.league-player-page .player-lookup-shell { border-bottom: 1px solid #403947; }
.league-player-page .player-access-primary { box-shadow: inset 4px 0 var(--dossier-gold), 0 18px 44px rgba(0, 0, 0, .2); }
.league-player-page .player-access-explainer { box-shadow: inset 4px 0 var(--dossier-violet); }
.league-player-page .results { border-top-color: #554a39; }
.league-player-page .recent-overview { box-shadow: inset 5px 0 var(--dossier-violet); }
.league-player-page .player-ranked-panel { box-shadow: inset 4px 0 var(--dossier-gold); }
.league-player-page .player-mastery-panel { box-shadow: inset 4px 0 var(--dossier-violet); }
.league-player-page .player-matches-panel {
  border-color: #3d5548;
  background: #0d1411;
  box-shadow: inset 5px 0 var(--dossier-green);
}
.league-player-page .player-matches-panel .section-heading > span {
  border-color: #56505b;
  color: #c1bbc6;
  background: #17151b;
}
.league-player-page .player-matches-panel .player-section-explainer strong { color: #9be6bd; }
.league-player-page .match-list {
  grid-template-columns: repeat(auto-fit, minmax(410px, 1fr));
  gap: 15px;
}
.league-player-page .match-list .match-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
  min-width: 0;
  padding: 17px;
  border: 1px solid #3b4640;
  border-left: 4px solid var(--dossier-rose);
  border-radius: 6px;
  background: #171014;
  box-shadow: none;
}
.league-player-page .match-list .match-card.win {
  border-color: #355544;
  border-left-color: var(--dossier-green);
  background: #0f1814;
}
.league-player-page .match-list .match-card:is(:hover, :focus-within) {
  border-color: #6b5874;
  transform: none;
}
.league-player-page .match-result {
  padding-bottom: 10px;
  border-bottom: 1px solid #3b3c40;
}
.league-player-page .match-result > span {
  padding: 5px 8px;
  border: 1px solid rgba(236, 120, 153, .42);
  border-radius: 4px;
  color: #ff9db7;
  background: rgba(236, 120, 153, .08);
}
.league-player-page .match-card.win .match-result > span {
  border-color: rgba(100, 211, 157, .42);
  color: #91e7b8;
  background: rgba(100, 211, 157, .08);
}
.league-player-page .match-result small { color: #b1aab5; }
.league-player-page .match-champion { grid-template-columns: 54px minmax(0, 1fr) auto; }
.league-player-page .match-champion img {
  width: 54px;
  height: 54px;
  border-color: #756583;
  border-radius: 50%;
}
.league-player-page .match-champion strong { color: #fff; font-size: 1.05rem; }
.league-player-page .match-champion small { color: #b6a9c0; }
.league-player-page .match-grade { align-self:center;max-width:92px;padding:5px 7px;border:1px solid #5a515f;border-radius:4px;color:#aaa3ad;background:#121318;font-size:.62rem;line-height:1.2;text-align:center;text-transform:uppercase }
.league-player-page .match-grade.is-captured{border-color:#9a7932;color:#ffe19a;background:#211a0d;font-size:1rem}
.league-player-page .match-card-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.league-player-page .match-card-facts > span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #443b4b;
  border-bottom: 2px solid var(--dossier-violet);
  border-radius: 4px;
  background: #121116;
}
.league-player-page .match-card-facts > span:nth-child(2) { border-bottom-color: var(--dossier-gold); }
.league-player-page .match-card-facts > span:nth-child(3) { border-bottom-color: var(--dossier-green); }
.league-player-page .match-card-facts small { color: #918a96; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.league-player-page .match-card-facts strong { color: #eeeaf0; font-size: .78rem; line-height: 1.35; }
.league-player-page .match-team-preview {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  min-width: 0;
  padding: 11px;
  border: 1px solid #45414a;
  border-radius: 5px;
  background: #0d0f13;
}
.league-player-page .match-team-preview-group {
  --team-tone: var(--dossier-green);
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 0;
}
.league-player-page .match-team-preview-group.is-enemies { --team-tone: var(--dossier-rose); }
.league-player-page .match-team-preview-group > small {
  color: var(--team-tone);
  font-size: .62rem;
  font-weight: 850;
  text-transform: uppercase;
}
.league-player-page .match-team-preview-group > span { display: flex; gap: 5px; min-width: 0; }
.league-player-page .match-team-preview-group i {
  display: grid;
  flex: 0 1 36px;
  width: 36px;
  min-width: 27px;
  height: 36px;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--team-tone) 55%, #37383e);
  border-radius: 50%;
  color: var(--team-tone);
  background: #17191e;
  font-style: normal;
}
.league-player-page .match-team-preview-group i.is-self { border: 2px solid #ffe096; box-shadow: 0 0 0 2px rgba(239,196,95,.16); }
.league-player-page .match-team-preview-group img { width: 100%; height: 100%; object-fit: cover; }
.league-player-page .match-team-preview > b {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.league-player-page .match-team-preview > p {
  display: flex;
  gap: 7px;
  align-items: center;
  margin: 2px 0 0;
  padding-top: 8px;
  border-top: 1px solid #33343a;
  color: #9f98a5;
  font-size: .68rem;
}
.league-player-page .match-team-preview > p i { color: var(--dossier-violet); }
.league-player-page .match-items {
  min-height: 34px;
  padding: 8px;
  border: 1px solid #3b373f;
  border-radius: 4px;
  background: #0a0d10;
}
.league-player-page .match-items img { width: 32px; height: 32px; border-color: #5a4b63; }
.league-player-page .match-open {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 46px;
  padding: 6px 12px 6px 6px;
  border: 1px solid #604c72;
  border-radius: 5px;
  color: #dfcef3;
  background: #1b1423;
  font: inherit;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}
.league-player-page .match-open i {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #876ba0;
  border-radius: 50%;
  color: #c7a9e8;
}
.league-player-page .match-open:is(:hover, :focus-visible) { border-color: #b78ce5; color: #fff; background: #271b32; }

.player-match-dialog {
  width: min(920px, calc(100% - 28px));
  max-width: 920px;
  max-height: min(88vh, 920px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #675675;
  border-radius: 7px;
  color: #eeeaf0;
  background: #0b0d11;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
}
.player-match-dialog::backdrop { background: rgba(3, 4, 6, .82); backdrop-filter: blur(5px); }
.player-match-dialog-shell { display: grid; max-height: inherit; grid-template-rows: auto minmax(0, 1fr); }
.player-match-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 16px;
  align-items: center;
  min-height: 86px;
  padding: 15px 18px;
  border-bottom: 1px solid #564761;
  background: #17111e;
  box-shadow: inset 5px 0 var(--dossier-rose);
}
.player-match-dialog.is-win .player-match-dialog-header { border-bottom-color: #3e634f; background: #101b16; box-shadow: inset 5px 0 var(--dossier-green); }
.player-match-dialog-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; }
.player-match-dialog-result {
  padding: 7px 10px;
  border: 1px solid rgba(236, 120, 153, .5);
  border-radius: 4px;
  color: #ff9bb5;
  background: rgba(236, 120, 153, .09);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}
.player-match-dialog.is-win .player-match-dialog-result { border-color: rgba(100, 211, 157, .5); color: #91e7b8; background: rgba(100, 211, 157, .09); }
.player-match-dialog-heading div { display: grid; gap: 2px; }
.player-match-dialog-heading p,
.player-match-dialog-heading small { margin: 0; color: #a69eaa; }
.player-match-dialog-heading h3 { margin: 0; color: #fff; font-size: clamp(1.25rem, 3vw, 1.8rem); }
.player-match-dialog-close {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #5e5366;
  border-radius: 50%;
  color: #e5dce9;
  background: #111318;
  cursor: pointer;
}
.player-match-dialog-close:is(:hover, :focus-visible) { border-color: #d1a1ec; color: #fff; }
.player-match-dialog-body { display: grid; gap: 15px; min-width: 0; padding: 20px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.player-match-dialog-lead {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 17px;
  border: 1px solid #51445b;
  border-left: 4px solid var(--dossier-violet);
  border-radius: 5px;
  background: #14111b;
}
.player-match-dialog-lead img { width: 88px; height: 88px; border: 2px solid #8a70a0; border-radius: 50%; }
.player-match-dialog-lead div { display: grid; gap: 4px; }
.player-match-dialog-lead span { color: #c7a8e5; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.player-match-dialog-lead strong { color: #fff; font-size: 1.55rem; }
.player-match-dialog-lead p { margin: 2px 0 0; color: #b8afb9; line-height: 1.5; }
.player-match-grade{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px;border:1px solid #615437;border-left:4px solid var(--dossier-gold);border-radius:5px;background:#19160f}.player-match-grade>i{display:grid;width:42px;height:42px;place-items:center;border:1px solid #806832;border-radius:50%;color:var(--dossier-gold);font-size:1.25rem}.player-match-grade>div{display:grid;gap:3px}.player-match-grade small{color:#c7aa68;font-size:.68rem;font-weight:850;text-transform:uppercase}.player-match-grade strong{color:#fff0c7;font-size:1.05rem}.player-match-grade p{margin:0;color:#bdb4a2;line-height:1.45}.player-match-grade>a{display:inline-flex;align-items:center;min-height:42px;padding:9px 12px;border:1px solid #765e30;border-radius:4px;color:#ffe0a0;background:#261e0e;text-decoration:none}.player-match-grade.is-captured strong{font-size:1.8rem}
.player-match-dialog-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.player-match-dialog-facts article {
  --fact-tone: var(--dossier-violet);
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 4px 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #433b49;
  border-bottom: 3px solid var(--fact-tone);
  border-radius: 5px;
  background: #111318;
}
.player-match-dialog-facts article:nth-child(4n+2) { --fact-tone: var(--dossier-gold); }
.player-match-dialog-facts article:nth-child(4n+3) { --fact-tone: var(--dossier-green); }
.player-match-dialog-facts article:nth-child(4n+4) { --fact-tone: var(--dossier-rose); }
.player-match-dialog-facts i { grid-row: 1 / 3; align-self: center; color: var(--fact-tone); font-size: 1.15rem; }
.player-match-dialog-facts small { color: #8f8992; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.player-match-dialog-facts strong { color: #eee9ef; font-size: .8rem; line-height: 1.35; }
.player-match-rosters {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #51445b;
  border-radius: 5px;
  background: #101218;
}
.player-match-rosters > header {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid #3d3842;
}
.player-match-rosters > header div { display: grid; gap: 3px; }
.player-match-rosters > header small { color: #c7a8e5; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.player-match-rosters > header strong { color: #f0eaf2; }
.player-match-rosters > header > i { color: var(--dossier-violet); font-size: 1.25rem; }
.player-match-rosters > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.player-match-roster {
  --roster-tone: var(--dossier-green);
  min-width: 0;
  border: 1px solid #365347;
  border-top: 3px solid var(--roster-tone);
  border-radius: 5px;
  background: #0d1512;
  overflow: hidden;
}
.player-match-roster.is-enemies { --roster-tone: var(--dossier-rose); border-color: #583845; background: #171014; }
.player-match-roster > header { display: flex; gap: 10px; align-items: center; padding: 12px; border-bottom: 1px solid #304039; }
.player-match-roster.is-enemies > header { border-bottom-color: #49303a; }
.player-match-roster > header i { color: var(--roster-tone); font-size: 1.05rem; }
.player-match-roster > header div { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; width: 100%; }
.player-match-roster > header strong { color: #f2edf0; }
.player-match-roster > header small { color: #968f97; }
.player-match-roster > div { display: grid; }
.player-match-participant {
  display: grid;
  grid-template-columns: 46px minmax(90px, 1fr) auto;
  gap: 8px 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.player-match-participant:last-child { border-bottom: 0; }
.player-match-participant.is-self { background: rgba(100, 211, 157, .08); box-shadow: inset 3px 0 var(--dossier-green); }
.player-match-participant img,
.player-match-participant-fallback { width: 46px; height: 46px; border: 1px solid color-mix(in srgb, var(--roster-tone) 65%, #333); border-radius: 50%; object-fit: cover; }
.player-match-participant-fallback { display: grid; place-items: center; color: #aaa; background: #17191d; }
.player-match-participant-identity { display: grid; gap: 2px; min-width: 0; }
.player-match-participant-identity span { display: flex; gap: 6px; align-items: center; color: var(--roster-tone); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.player-match-participant-identity span b { padding: 2px 5px; border: 1px solid rgba(100,211,157,.35); border-radius: 3px; color: #d9ffea; background: rgba(100, 211, 157, .12); font-size: .55rem; }
.player-match-participant-identity strong { overflow: hidden; color: #f2eef1; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.player-match-participant-kda{display:grid;gap:2px;color:#f0e9ee;font-size:.76rem;text-align:right;white-space:nowrap}.player-match-participant-kda small{color:#8e878e;font-size:.52rem;text-transform:uppercase}
.player-match-participant > p { grid-column:2/-1;display:flex;flex-wrap:wrap;gap:5px;margin:0;color:#9a9399;font-size:.61rem;text-align:left; }
.player-match-participant > p span{display:inline-flex;gap:4px;align-items:center;min-height:23px;padding:3px 6px;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:rgba(255,255,255,.025)}.player-match-participant>p i{color:var(--roster-tone)}
.player-match-participant-items{grid-column:2/-1;min-width:0;margin-top:-2px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:rgba(0,0,0,.14)}.player-match-participant-items>summary{display:grid;grid-template-columns:20px minmax(0,1fr) auto 16px;gap:6px;align-items:center;min-height:32px;padding:5px 8px;color:#bdb6bc;cursor:pointer;list-style:none}.player-match-participant-items>summary::-webkit-details-marker{display:none}.player-match-participant-items>summary>i:first-child{color:var(--roster-tone)}.player-match-participant-items>summary strong{color:#ddd7dc;font-size:.67rem}.player-match-participant-items>summary small{color:#8f898f;font-size:.58rem}.player-match-participant-items[open]>summary>i:last-child{transform:rotate(180deg)}.player-match-participant-items>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:7px;border-top:1px solid rgba(255,255,255,.07)}.player-match-participant-items>div>span{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:center;min-width:0;padding:4px;border:1px solid rgba(255,255,255,.06);border-radius:3px;background:rgba(255,255,255,.025)}.player-match-participant-items img{width:30px;height:30px;border:1px solid #4c4850;border-radius:3px;object-fit:cover}.player-match-participant-items b{overflow:hidden;color:#bdb7bc;font-size:.58rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.player-match-rosters.is-empty p { margin: 0; color: #a9a2aa; }
.player-match-objectives{display:grid;gap:13px;padding:16px;border:1px solid #574a31;border-radius:5px;background:#15130e}.player-match-objectives>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-match-objectives>header>div{display:grid;gap:2px}.player-match-objectives>header small,.structure-timeline>header small{color:#d6ae58;font-size:.67rem;font-weight:850;text-transform:uppercase}.player-match-objectives>header strong,.structure-timeline>header strong{color:#fff0cc}.player-match-objectives>header>i{color:#f1c65d;font-size:1.35rem}.objective-score{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.objective-score article{--objective-tone:#ed9859;display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;min-width:0;padding:9px;border:1px solid color-mix(in srgb,var(--objective-tone) 44%,#49443c);border-bottom:3px solid var(--objective-tone);border-radius:4px;background:color-mix(in srgb,var(--objective-tone) 5%,#101115)}.objective-score .objective-towers{--objective-tone:#64b7dc}.objective-score .objective-inhibitors{--objective-tone:#c59af1}.objective-score .objective-barons{--objective-tone:#ec7899}.objective-score .objective-heralds{--objective-tone:#62d69e}.objective-score article>i{color:var(--objective-tone);font-size:1rem}.objective-score article>span{display:grid;gap:2px}.objective-score article small{overflow:hidden;color:#999298;font-size:.55rem;text-overflow:ellipsis;text-transform:uppercase}.objective-score article strong{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;color:#f1ecf0;font-size:.9rem}.objective-score article strong b:last-child{text-align:right}.objective-score article em{color:#746d72;font-style:normal}.objective-score>p{grid-column:1/-1;display:flex;justify-content:space-between;margin:-2px 0 0;color:#9d979c;font-size:.6rem;text-transform:uppercase}.player-match-objectives>aside{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border-left:3px solid #ed9859;background:#1a120d}.player-match-objectives>aside i{color:#ed9859}.player-match-objectives>aside p{display:grid;gap:2px;margin:0;color:#aaa19b;font-size:.66rem;line-height:1.4}.player-match-objectives>aside strong{color:#ffc08c}.structure-timeline{display:grid;gap:9px}.structure-timeline>header{display:grid;gap:2px}.structure-timeline>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.structure-side{--structure-tone:var(--dossier-green);overflow:hidden;border:1px solid #365347;border-radius:4px;background:#0d1512}.structure-side.is-enemies{--structure-tone:var(--dossier-rose);border-color:#583845;background:#171014}.structure-side>header{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid color-mix(in srgb,var(--structure-tone) 35%,#333)}.structure-side>header strong{color:var(--structure-tone);font-size:.72rem}.structure-side>header small{color:#958e94}.structure-side ol{display:grid;max-height:235px;margin:0;padding:0;overflow:auto;list-style:none;scrollbar-color:var(--structure-tone) #111}.structure-side li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:34px;padding:6px 9px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.65rem}.structure-side li:last-child{border-bottom:0}.structure-side li i{color:var(--structure-tone)}.structure-side li span{color:#c9c2c7}.structure-side li time{color:#f0e9ed;font-weight:850;font-variant-numeric:tabular-nums}.structure-side>p{margin:0;padding:12px;color:#8e878d;font-size:.65rem}
.player-match-dialog-items {
  padding: 16px;
  border: 1px solid #5a4b32;
  border-radius: 5px;
  background: #17140e;
}
.player-match-dialog-items header { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; align-items: center; }
.player-match-dialog-items header > i { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #806731; border-radius: 50%; color: var(--dossier-gold); }
.player-match-dialog-items header div { display: grid; gap: 2px; }
.player-match-dialog-items small { color: #bca46f; font-weight: 850; text-transform: uppercase; }
.player-match-dialog-items header strong { color: #fff2cf; }
.player-match-dialog-items > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.player-match-dialog-items > div > span { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 8px; align-items: center; min-width: 150px; padding: 7px; border: 1px solid #55472d; border-radius: 4px; background: #0e1013; }
.player-match-dialog-items img { width: 42px; height: 42px; border: 1px solid #74603b; border-radius: 4px; }
.player-match-dialog-items > div strong { color: #ddd5c5; font-size: .75rem; }
.player-match-dialog-boundary { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 14px; border-left: 4px solid var(--dossier-gold); background: #19160f; }
.player-match-dialog-boundary i { color: var(--dossier-gold); font-size: 1.25rem; }
.player-match-dialog-boundary p { margin: 0; color: #bfb7a3; line-height: 1.55; }
.player-match-dialog-boundary strong { color: #f5d78f; }

@media(max-width:760px) {
  .league-player-page .match-list { grid-template-columns: minmax(0, 1fr); }
  .player-match-dialog-facts { grid-template-columns: 1fr 1fr; }
  .player-match-rosters > div { grid-template-columns: 1fr; }
  .objective-score{grid-template-columns:repeat(2,minmax(0,1fr))}.objective-score article:last-of-type{grid-column:1/-1}.structure-timeline>div{grid-template-columns:1fr}
}
@media(max-width:520px) {
  .league-player-page .match-card-facts { grid-template-columns: 1fr; }
  .league-player-page .match-team-preview-group { grid-template-columns: 1fr; }
  .league-player-page .match-team-preview-group > span { gap: 4px; }
  .player-match-dialog { width: calc(100% - 14px); max-height: 94vh; }
  .player-match-dialog-header { grid-template-columns: minmax(0, 1fr) 42px; padding: 12px; }
  .player-match-dialog-heading { grid-template-columns: 1fr; gap: 6px; }
  .player-match-dialog-result { width: fit-content; }
  .player-match-dialog-body { padding: 12px; }
  .player-match-dialog-lead { grid-template-columns: 64px minmax(0, 1fr); padding: 13px; }
  .player-match-dialog-lead img { width: 64px; height: 64px; }
  .player-match-dialog-facts { grid-template-columns: 1fr; }
  .player-match-rosters { padding: 11px; }
  .player-match-participant { grid-template-columns: 42px minmax(0, 1fr); }
  .player-match-participant img,
  .player-match-participant-fallback { width: 42px; height: 42px; }
  .player-match-participant-kda{grid-column:2;text-align:left}.player-match-participant > p { grid-column: 2; }
  .player-match-participant-items>div{grid-template-columns:1fr}.objective-score{grid-template-columns:1fr}.objective-score article:last-of-type{grid-column:auto}
  .player-match-dialog-items > div > span { width: 100%; }
}

/* Match evidence additions: keep restored structures and inventory state explicit. */
.player-match-objectives > aside.is-swift-structure-note { border-left-color:#c59af1; background:#17121c; }
.player-match-objectives > aside.is-swift-structure-note i { color:#c59af1; }
.player-match-objectives > aside.is-swift-structure-note p { color:#c8bdce; }
.structure-side li.is-nexus-turret { background:color-mix(in srgb,var(--structure-tone) 7%,#111); }
.structure-side li.is-nexus-turret span { color:#f0e6ee; font-weight:750; }
.player-match-dialog-items > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:10px; }
.player-match-dialog-items .inventory-group { --inventory-tone:#e8bd55; display:grid; align-self:start; gap:8px; min-width:0; padding:11px; border:1px solid color-mix(in srgb,var(--inventory-tone) 38%,#3e4146); border-left:4px solid var(--inventory-tone); border-radius:5px; background:color-mix(in srgb,var(--inventory-tone) 5%,#101115); }
.player-match-dialog-items .inventory-group:nth-child(2){--inventory-tone:#68dca1}
.player-match-dialog-items .inventory-group:nth-child(3){--inventory-tone:#b99af4}
.player-match-dialog-items .inventory-group:nth-child(4){--inventory-tone:#ef8297}
.player-match-dialog-items .inventory-group > small { color:var(--inventory-tone); font-size:.64rem; letter-spacing:.04em; }
.player-match-dialog-items .inventory-group > div { display:grid; gap:6px; }
.player-match-dialog-items .inventory-group span { display:grid; grid-template-columns:46px minmax(0,1fr); gap:9px; align-items:center; min-width:0; padding:7px; border:1px solid color-mix(in srgb,var(--inventory-tone) 24%,#3d4248); border-radius:4px; background:#0d1116; }
.player-match-dialog-items .inventory-group img { width:46px; height:46px; border-color:color-mix(in srgb,var(--inventory-tone) 55%,#42464c); }
.player-match-dialog-items .inventory-group strong { min-width:0; color:#eee9df; font-size:.78rem; line-height:1.25; overflow-wrap:anywhere; }
@media(max-width:520px) { .player-match-dialog-items > div { grid-template-columns:1fr; } }

/* Objective totals use the current header + two-side score structure. */
.player-match-objectives .objective-score{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:stretch}
.player-match-objectives .objective-score article{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:9px;
  padding:11px;
}
.player-match-objectives .objective-score article>header{display:flex;gap:8px;align-items:center;min-width:0}
.player-match-objectives .objective-score article>header i{flex:0 0 auto;color:var(--objective-tone);font-size:1rem}
.player-match-objectives .objective-score article>header strong{display:block;min-width:0;color:#f3edf1;font-size:.7rem;overflow-wrap:anywhere}
.player-match-objectives .objective-score article>div{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:6px;align-items:end;min-width:0}
.player-match-objectives .objective-score article>div>span{display:grid;min-width:0;gap:4px}
.player-match-objectives .objective-score article>div small{
  min-height:2.5em;
  overflow:visible;
  color:#aaa3a9;
  font-size:.56rem;
  line-height:1.25;
  text-overflow:clip;
  text-transform:uppercase;
  white-space:normal;
  overflow-wrap:anywhere;
}
.player-match-objectives .objective-score article>div b{color:#fff7ef;font-size:1.15rem;font-variant-numeric:tabular-nums}
.player-match-objectives .objective-score article>div span:last-child{text-align:right}
.player-match-objectives .objective-score article>div em{align-self:end;padding-bottom:3px;color:#766e74;font-style:normal;text-align:center}
@media(max-width:520px){
  .player-match-objectives .objective-score{grid-template-columns:1fr}
  .player-match-objectives .objective-score article>div small{min-height:0}
}

/* Completed-match roster cards and reflective guide. */
.player-match-roster > div { display:grid; gap:7px; padding:8px; }
.player-match-participant { border:1px solid color-mix(in srgb,var(--roster-tone) 24%,#3a373d); border-radius:5px; background:color-mix(in srgb,var(--roster-tone) 3%,#101115); }
.player-match-participant:last-child { border-bottom:1px solid color-mix(in srgb,var(--roster-tone) 24%,#3a373d); }
.player-match-participant.is-self { border-color:#58b98a; background:#102019; box-shadow:inset 4px 0 var(--dossier-green); }
.player-match-participant-identity span { width:fit-content; min-height:20px; padding:2px 6px; border:1px solid color-mix(in srgb,var(--roster-tone) 34%,#3b3940); border-radius:3px; background:color-mix(in srgb,var(--roster-tone) 7%,#111216); }
.player-match-participant-identity span em { color:inherit; font-style:normal; }
.player-match-participant-identity .player-match-role-icon { width:18px; height:18px; border:0; border-radius:0; object-fit:contain; filter:drop-shadow(0 0 3px color-mix(in srgb,var(--roster-tone) 30%,transparent)); }
.player-match-learning { display:grid; gap:14px; padding:17px; border:1px solid #4b5362; border-left:5px solid #64b7dc; border-radius:6px; background:linear-gradient(120deg,#101820,#15111b); }
.player-match-learning > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid #37404d; }
.player-match-learning > header > div { display:grid; gap:3px; }
.player-match-learning > header small { color:#76c7e9; font-size:.66rem; font-weight:850; text-transform:uppercase; }
.player-match-learning > header strong { color:#eef8ff; font-size:1.04rem; }
.player-match-learning > header > i { color:#64b7dc; font-size:1.35rem; }
.player-match-learning > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.player-match-learning article { --learning-tone:#64b7dc; display:grid; grid-template-columns:40px minmax(0,1fr); gap:11px; align-items:start; min-width:0; padding:13px; border:1px solid color-mix(in srgb,var(--learning-tone) 35%,#414149); border-top:3px solid var(--learning-tone); border-radius:4px; background:color-mix(in srgb,var(--learning-tone) 5%,#101115); }
.player-match-learning article.is-lane { --learning-tone:#c59af1; }
.player-match-learning article.is-items { --learning-tone:#f1c65d; }
.player-match-learning article.is-replay { --learning-tone:#62d69e; }
.player-match-learning article > i { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--learning-tone); border-radius:50%; color:var(--learning-tone); }
.player-match-learning article span { display:grid; gap:5px; min-width:0; }
.player-match-learning article strong { color:#f1edf1; }
.player-match-learning article p { margin:0; color:#aea8af; font-size:.72rem; line-height:1.52; }
.player-match-learning > nav { display:flex; flex-wrap:wrap; gap:8px; }
.player-match-learning > nav a { display:inline-flex; gap:7px; align-items:center; min-height:40px; padding:8px 11px; border:1px solid #445766; border-radius:4px; color:#d9f2ff; background:#10202a; text-decoration:none; }
.player-match-learning > nav a:nth-child(2) { border-color:#66572f; color:#ffe6a7; background:#211b0d; }
.player-match-learning > nav a:nth-child(3) { border-color:#4c3f60; color:#e5d1fa; background:#1a1421; }
.player-match-learning > aside { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:start; padding:11px; border-left:3px solid #62d69e; background:#0e1a14; }
.player-match-learning > aside i { color:#62d69e; }
.player-match-learning > aside p { display:grid; gap:3px; margin:0; color:#aebbb3; font-size:.68rem; line-height:1.45; }
.player-match-learning > aside strong { color:#b8efd0; }
@media(max-width:700px) { .player-match-learning > div { grid-template-columns:1fr; } .player-match-learning > nav a { flex:1 1 180px; justify-content:center; } }

/* Objective comparisons keep both sides attached to every number. */
.objective-score article { display:grid; grid-template-columns:1fr; gap:8px; padding:10px; }
.objective-score article > header { display:flex; gap:7px; align-items:center; min-width:0; padding-bottom:7px; border-bottom:1px solid color-mix(in srgb,var(--objective-tone) 24%,#3d393b); }
.objective-score article > header i { color:var(--objective-tone); font-size:1rem; }
.objective-score article > header strong { min-width:0; overflow:hidden; color:#e7e0e4; font-size:.67rem; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.objective-score article > div { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr); gap:4px; align-items:center; }
.objective-score article > div span { display:grid; gap:3px; min-width:0; text-align:center; }
.objective-score article > div small { overflow:hidden; color:#918b91; font-size:.48rem; font-weight:800; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.objective-score article > div b { color:#f1edf0; font-size:1.2rem; font-variant-numeric:tabular-nums; line-height:1; }
.objective-score article > div span:first-child b { color:var(--dossier-green); }
.objective-score article > div span:last-child b { color:var(--dossier-rose); }
.objective-score article > div em { color:#716b70; font-style:normal; text-align:center; }
.objective-score > p { display:none; }
