#collection-shell { max-width:1480px; margin:auto; padding:35px 4vw 65px; }
.platform-intro .eyebrow { color:var(--accent); }
.platform-intro h1 { font:700 clamp(48px,6.5vw,90px)/1 var(--display); text-transform:uppercase; margin:15px 0; letter-spacing:-1px; }
.platform-intro>p { font-size:14px; line-height:1.8; max-width:720px; margin-bottom:25px; }
.platform-modes { display:flex; gap:0; border-bottom:1px solid var(--ink); }
.platform-modes button { background:transparent; border:1px solid transparent; border-bottom:0; color:var(--muted); padding:13px 24px; font:600 15px var(--sans,sans-serif); cursor:pointer; }
.platform-modes button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.platform-controls { display:flex; flex-wrap:wrap; gap:20px; padding:22px 0; }
.platform-controls label,.value-plan>label { display:grid; gap:7px; font:10px/1.5 var(--mono); }
.platform-controls select,.value-plan input,.game-filters input,.game-filters select { background:var(--paper); color:var(--ink); border:1px solid var(--line); min-height:42px; padding:9px 12px; font:12px/1.5 sans-serif; max-width:100%; }
.scoring-rule { display:flex; gap:25px; align-items:center; flex-wrap:wrap; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--ink); font-size:12px; }
.scoring-rule b { color:var(--accent); font-family:var(--mono); }.scoring-rule small { font-size:10px; color:var(--muted); }
.platform-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:35px; align-items:start; margin-top:30px; }
.platform-ranking,.platform-detail { min-width:0; }
.ranking-heading { display:flex; justify-content:space-between; gap:12px; font:9px/1.8 var(--mono); padding:0 0 14px; border-bottom:1px solid var(--ink); }
.platform-row { display:flex; gap:14px; align-items:start; width:100%; padding:19px 12px; background:none; color:var(--ink); text-align:left; border:0; border-bottom:1px solid var(--line); cursor:pointer; }
.platform-row:hover { background:var(--panel); }.platform-row.is-active { background:#dce5d4; box-shadow:inset 3px 0 var(--accent); }
.platform-position { flex:0 0 24px; font:11px/2 var(--mono); color:var(--muted); }.platform-row-main { min-width:0; flex:1; display:grid; gap:9px; }
.platform-row-main>strong { font:600 30px/1 var(--display); text-transform:uppercase; }.row-stats { font:9px/1.8 var(--mono); color:var(--muted); }.row-key-games { font-size:11px; line-height:1.7; }.row-cost { font-size:10px; line-height:1.7; color:var(--muted); }
.platform-row-score { flex:0 0 48px; text-align:right; font:600 31px/1 var(--display); }
.score-bars { display:flex; height:5px; background:#223a3010; overflow:hidden; width:100%; margin:3px 0; }.score-bars i { display:block; height:100%; }.library-part,.library-dot { background:#42634b; }.best-part,.best-dot { background:#d69b43; }.exclusive-part,.exclusive-dot { background:#a65335; }
.detail-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; padding-bottom:24px; border-bottom:1px solid var(--ink); }.detail-heading .eyebrow { color:var(--accent); }.detail-heading h2 { font:700 57px/1 var(--display); text-transform:uppercase; margin:10px 0 0; overflow-wrap:anywhere; }.detail-score { font:600 60px/1 var(--display); text-align:right; }.detail-score small { display:block; font:9px/1.8 var(--mono); color:var(--muted); margin-top:10px; }
.platform-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:24px 0; }.platform-metrics>div { display:grid; gap:7px; }.platform-metrics b { font:600 36px/1 var(--display); }.platform-metrics span { font:9px/1.8 var(--mono); color:var(--muted); }
.raw-components { display:flex; gap:17px; flex-wrap:wrap; font-size:11px; }.raw-components>span { display:flex; align-items:center; gap:6px; }.raw-components i { display:inline-block; width:8px; height:8px; }.component-note { font-size:10px; line-height:1.8; color:var(--muted); margin:14px 0 26px; }
.key-games-heading { display:flex; justify-content:space-between; gap:14px; align-items:center; padding-top:20px; border-top:1px solid var(--ink); }.key-games-heading h3 { font:600 29px/1.1 var(--display); margin:0; }.key-games-heading>span { font:8px/1.8 var(--mono); color:var(--muted); }
.game-filters { display:flex; gap:10px; margin:20px 0 12px; }.game-filters input { min-width:0; flex:1; }.game-filters select { min-width:120px; }.game-count { font:9px var(--mono); color:var(--muted); }
.contribution-game { padding:14px 0; border:0; border-bottom:1px solid var(--line); margin:0; }.contribution-game>summary { display:flex; gap:12px; align-items:center; padding:0 0 10px; font-size:12px; }.contribution-game>summary>span { float:none; margin:0; }.game-rank { font:9px/1.8 var(--mono); flex:0 0 30px; color:var(--accent); }.contribution-title { flex:1; min-width:0; }.contribution-title b { display:block; font-size:13px; line-height:1.6; }.contribution-title>span { display:block; font:8px/1.8 var(--mono); color:var(--muted); margin-top:4px; }.game-points { font:11px/1.8 var(--mono); white-space:nowrap; }
.contribution-breakdown { display:flex; gap:20px; font:9px/1.8 var(--mono); color:var(--muted); margin-top:9px; }.game-context { font-size:12px; line-height:1.8; padding:8px 0; }.game-context p { margin:10px 0; }.game-context a { color:var(--accent); }.game-context:empty { display:none; }
.contribution-game:not([open]) .game-context { display:none; }.contribution-game .score-bars,.contribution-game .contribution-breakdown { display:flex; }
.more-platform-games,#apply-hardware { background:var(--ink); color:var(--paper); border:1px solid var(--ink); padding:11px 16px; font-size:11px; cursor:pointer; margin:18px 0; min-height:42px; }
.language-games,.platform-imports,.coverage-notes { margin:25px 0; border:0; border-top:1px solid var(--line); padding:0; }.language-games summary,.platform-imports summary,.coverage-notes summary { font-size:12px; }.language-games p,.platform-imports p,.coverage-notes p { font-size:12px; line-height:1.9; }.coverage-notes { border-top:1px solid var(--ink); margin-top:40px; }
.value-plan { background:var(--panel); padding:22px; margin-bottom:25px; }.value-plan h3 { font:600 30px var(--display); margin:0 0 18px; }.value-plan input { width:180px; }.value-plan>p { font-size:11px; line-height:1.8; }.basket-list { margin:20px 0; }.basket-list>div { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); padding:10px 0; font-size:12px; }.basket-list b { font:10px/1.8 var(--mono); white-space:nowrap; }.basket-totals { display:grid; gap:10px; font-size:12px; }.basket-totals>span { display:flex; justify-content:space-between; gap:12px; }.value-plan details { padding:0; border:0; border-top:1px solid var(--line); }.value-plan details p { font-size:11px; line-height:1.8; }
@media(max-width:1050px) { .platform-layout { gap:25px; }.platform-row { gap:9px; padding:17px 9px; }.platform-row-main>strong { font-size:26px; }.row-stats { font-size:9px; }.detail-heading h2 { font-size:45px; }.detail-score { font-size:50px; }.game-filters { flex-wrap:wrap; }.game-filters input { flex-basis:100%; }.key-games-heading>span { display:none; } }
@media(max-width:850px) { .platform-layout { display:block; }.platform-detail { margin-top:35px; }.platform-intro h1 { font-size:57px; }.platform-controls { gap:12px; }.platform-controls label { flex:1; min-width:135px; }.scoring-rule { gap:12px 20px; }.scoring-rule small { flex-basis:100%; }.platform-modes button { flex:1; padding:13px 12px; }.platform-row-main>strong { font-size:29px; }.row-key-games { font-size:12px; }.row-stats { font-size:10px; }.platform-row { padding:17px 10px; gap:13px; }.detail-heading h2 { font-size:50px; }.platform-intro>p { font-size:13px; }.game-filters input { flex-basis:auto; }.detail-score { font-size:54px; } }
@media(max-width:400px) { .platform-intro h1 { font-size:48px; }.platform-row-main>strong { font-size:27px; }.row-stats { font-size:9px; }.platform-row-score { flex-basis:35px; font-size:28px; }.platform-position { flex-basis:20px; font-size:10px; }.platform-row { gap:10px; }.detail-heading h2 { font-size:42px; }.detail-score { font-size:47px; }.value-plan { padding:17px; }.game-filters { flex-wrap:wrap; }.game-filters input { flex-basis:100%; }.contribution-breakdown { gap:10px; font-size:9px; }.raw-components { gap:12px; }.platform-metrics { gap:10px; } }

.scarce-game .contribution-title>span { color:var(--accent); font-weight:600; }

.contribution-game>summary::after { content:"+"; font:14px var(--mono); color:var(--muted); }.contribution-game[open]>summary::after { content:"−"; }

.row-key-games { font-size:12px; }.row-stats { font-size:10px; }.contribution-title>span { font-size:10px; }.contribution-breakdown { font-size:10px; }.platform-metrics span { font-size:10px; }
