/* Adaptation de culling-games-v21 : encre, papier, jaune acide et ville manga.
   Chargée après les styles fonctionnels pour conserver leurs états et layouts. */
:root {
  --ink:#090909; --ink-2:#171717; --paper:#f1f0e9; --paper-dim:#bcbcb4;
  --acid:#f1df45; --ice:#fff28a; --red:#f1df45; --red-deep:#7c721f;
  --ui-muted:#bcbcb4; --ui-selected:#f1df45;
  --red-glow:#fff28a; --line:#ffffff26; --dossier-border:#ffffff26;
  --dossier-muted:#bcbcb4; --font-display:'Archivo Black',Impact,sans-serif;
  --font-body:'IBM Plex Mono',monospace; --font-editorial:'Cormorant Garamond',Georgia,serif;
}
html { background:var(--ink); scroll-padding-top:100px; }
body { background:var(--ink); color:var(--paper); font-size:13px; }
::selection { background:var(--acid); color:var(--ink); }
:focus-visible { outline-color:var(--acid); }
h1,h2,h3 { text-wrap:balance; letter-spacing:-.045em; }
.cg-ambient { background:#090909; }
.cg-ambient::before {
  inset:-25px; background:url('/static/ui/v21/hero-manga-city.png') center 45%/cover no-repeat;
  filter:grayscale(1) brightness(.37) contrast(1.24);
  transform:translate3d(var(--v21-x,0px),var(--v21-y,0px),0) scale(1.035);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.cg-ambient::after { background:linear-gradient(90deg,#090909bf,#09090930 65%,#09090966),linear-gradient(0deg,#090909ed,transparent 65%); }
body:has(.v21-hero-copy) .cg-ambient::before { filter:grayscale(1) brightness(.62) contrast(1.24); }
body::after {
  content:''; position:fixed; inset:0; z-index:25; pointer-events:none; opacity:.065;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
#night-weather { opacity:.35; filter:grayscale(1); }
.nav-shell {
  min-height:82px; margin:0; padding:0 2.5vw; gap:20px; border:0; border-bottom:1px solid var(--line);
  background:linear-gradient(#070707f5,#070707cb); box-shadow:none; backdrop-filter:blur(10px);
}
.brand-logo-image { width:174px; height:66px; filter:drop-shadow(0 0 9px #f1df451c); }
.desktop-nav { counter-reset:nav; gap:16px; }
.desktop-nav a { counter-increment:nav; padding:12px 0; font:500 10px var(--font-body); text-transform:uppercase; letter-spacing:.045em; color:#b5b5af; }
.desktop-nav a::before { content:'0' counter(nav); position:static; margin-right:6px; background:none; color:#777771; font-size:9px; transform:none; }
.desktop-nav a:hover,.desktop-nav a.is-current { color:var(--acid); }
.desktop-nav a:hover::before,.desktop-nav a.is-current::before { background:none; transform:none; }
.desktop-nav a.is-current::after { left:0; right:0; bottom:0; height:1px; background:var(--acid); }
.nav-account { gap:12px; font-size:11px; }
.profile-dot { background:var(--acid); }
.profile-link[aria-current=page] { background:#f1df451a; color:#fff28a; }
.nav-account .button { background:#f1df450a; border-color:#f1df4566; color:#fff7aa; border-radius:999px; font-size:10px; box-shadow:none; }
.nav-account .button:hover { background:var(--acid); color:#090909; }
.page-shell { max-width:1440px; width:90%; padding-top:58px; gap:36px; }
.button { font:600 11px/1.5 var(--font-body); letter-spacing:.065em; border-radius:4px; background:#191919; border-color:#ffffff30; }
.button-primary { background:var(--acid); border-color:#fff39d; color:#090909; box-shadow:4px 4px 0 #ffffff12,0 10px 30px #f1df4512; }
.button-primary:hover { color:#090909; background:#fff084; border-color:#fff39d; box-shadow:5px 5px 0 #ffffff20; transform:translate(2px,-2px); }
.button:active { transform:translateY(1px); }
.button-danger-ghost { color:#edb0a9; border-color:#8b4c46; background:#29171655; }
.button-danger-ghost:hover { background:#4d2424; color:#fff; }
.section-index,.micro,.eyebrow { color:#c8c7bc; font:500 10px/1.6 var(--font-body); letter-spacing:.16em; }
.page-shell:has(.v21-hero-copy) { max-width:none; width:100%; padding:0 0 180px; gap:0; }
.home-dashboard {
  min-height:calc(100svh - 82px); padding:32px 5vw 0; gap:0;
  display:grid; grid-template-rows:auto 1fr auto; align-items:stretch;
}
.home-dashboard::before { content:''; position:absolute; inset:20px 3vw 138px; border:1px solid #ffffff20; border-radius:26px; pointer-events:none; z-index:-1; background:linear-gradient(90deg,transparent 49.95%,#ffffff07 50%,transparent 50.05%); }
.v21-edition { display:flex; justify-content:space-between; gap:18px; padding:0 0 22px; font-size:9px; letter-spacing:.13em; color:#c2c1b8; }
.home-dashboard .cg-home-core { grid-row:2; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(350px,.85fr); align-items:center; gap:5vw; padding:18px 0 36px; width:100%; }
.v21-hero-copy { min-width:0; padding:12px 0; }
.v21-hero-badge { display:inline-block; max-width:100%; padding:8px 12px; color:#fff7a8; border:1px solid #f1df4561; background:#08080894; border-radius:99px; font-size:9px; letter-spacing:.07em; }
.home-dashboard .v21-hero-logo { margin:8px -18px 14px; max-width:610px; font-size:0; line-height:0; }
.v21-hero-logo img { display:block; width:100%; height:auto; filter:drop-shadow(0 5px 18px #000b); }
.home-dashboard .v21-tagline { font:clamp(22px,2.2vw,36px)/1.18 var(--font-display); letter-spacing:-.045em; color:#fff; text-shadow:0 3px 15px #000; }
.v21-hero-sub { margin-top:20px; font-size:12px; line-height:1.9; max-width:57ch; color:#d0d0c8; text-shadow:0 2px 12px #000; }
.v21-rules-link { display:inline-flex; align-items:center; gap:24px; margin-top:24px; font-size:11px; border-bottom:1px solid #f1df4566; padding-bottom:7px; }
.v21-rules-link span { color:var(--acid); font-size:18px; transition:transform .2s; }
.v21-rules-link:hover span { transform:translate(3px,-3px); }
.home-dashboard .cg-home-panel { grid-column:2; grid-row:auto; max-width:540px; justify-self:end; padding:30px; width:100%; background:linear-gradient(145deg,#0c0c0cf0,#181816eb); border:1px solid #ffffff30; border-radius:22px; outline:none; box-shadow:0 28px 80px #0008,inset 0 1px #ffffff12; backdrop-filter:blur(12px); }
.home-dashboard .cg-home-panel::before { display:none; }
.home-dashboard .cg-home-panel-head { padding-bottom:18px; margin-bottom:24px; border-color:var(--line); }
.status-pill { background:none; border:0; padding:0; color:#d0cfc5; font:500 10px var(--font-body); letter-spacing:.1em; }
.status-pill>span { background:var(--acid); border-radius:50%; box-shadow:0 0 14px #f1df4555; }
.status-pill.is-live,.status-pill.is-pending { background:none; color:#fff28a; border:0; }
.home-dashboard .cg-home-state { max-width:none; }
.home-dashboard .cg-home-state h2 { font-size:clamp(28px,3.2vw,48px); line-height:1.04; text-transform:uppercase; margin-top:14px; letter-spacing:-.055em; color:var(--paper); }
.home-dashboard .cg-home-state p { color:#bdbdb5; font-size:12px; line-height:1.8; margin-top:18px; }
.home-dashboard .call-form { justify-content:flex-start; }
.home-dashboard .cg-home-state .button-primary { width:100%; margin-top:22px; min-height:54px; border-radius:10px; }
.home-dashboard .call-form .button-primary { margin-top:0; }
.v21-call-footer { display:grid; gap:9px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line); font-size:9px; letter-spacing:.05em; color:#9f9f96; }
.v21-call-footer a { color:#e4e2cb; font-size:10px; }
.v21-call-footer a:hover { color:var(--acid); }
.home-dashboard .custom-journey { grid-row:3; margin:0 -5vw; padding:27px 5vw 30px; background:#0a0a0ae8; border-top:1px solid var(--line); gap:25px; }
.custom-journey li>span { color:#7d7d73; border:0; font-size:30px; }
.custom-journey strong { color:#cacac0; font-size:11px; }
.custom-journey small { color:#a7a79f; font-size:10px; }
.custom-journey .is-current>span,.custom-journey .is-current strong { color:var(--acid); }
.custom-journey .is-complete>span { color:#e4e2cb; }
.home-betting { width:90%; max-width:1360px; margin:40px auto 0; }
.ranking-hero,.archive-hero,.match-hero,.kogane-hero { position:relative; min-height:240px; padding:35px 0; background:none; border:0; border-bottom:1px solid #ffffff40; box-shadow:none; outline:none; align-items:flex-end; }
.ranking-hero h1,.archive-hero h1,.match-hero h1,.kogane-hero h1 { font-size:clamp(42px,7.5vw,112px); letter-spacing:-.065em; line-height:1; color:var(--paper); text-shadow:5px 5px 0 #ffffff09; }
.ranking-hero p,.archive-hero p,.profile-title p { color:#c7c6bc; }
.ranking-rule { border-left:1px solid var(--acid); padding:10px 20px; }
.ranking-rule,.top3-demo-heading { background:#111110eb; border-color:var(--line); }
.profile-rating { background:#f1df4508; border-left:1px solid #f1df4566; }
.ranking-rule strong,.profile-rating strong,.ranking-rating { color:#fff7a5; }
.ranking-list,.archive-list,.patch-list { background:#0c0c0cec; border-color:var(--line); outline:none; }
.ranking-row { background:#111110ed; border-color:#ffffff18; }
.ranking-row:hover,.archive-match:hover { background:#f1df450c; }
.ranking-header { background:#22221f; color:#c7c6bc; }
.ranking-player b { font-size:14px; }
.ranking-player small,.archive-date small,.archive-state,.archive-winner,.patch-entry pre { color:#bbbbae; }
.ranking-index,.archive-id,.version { color:var(--acid); }

/* Classement complet : même composition éditoriale que la référence V21. */
.ranking-board { margin-top:24px; min-width:0; }
.ranking-board-title {
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  padding:0 6px 22px; border-top:6px solid var(--paper); border-bottom:1px solid #ffffff3a;
}
.ranking-board-title h2 {
  display:flex; align-items:center; gap:9px; padding-top:20px;
  font:clamp(25px,2.5vw,38px)/1 var(--font-display); text-transform:uppercase; letter-spacing:-.055em;
}
.ranking-board-title h2 span { font-size:.82em; color:var(--paper); }
.ranking-board-title p {
  max-width:none; padding-bottom:2px; color:#aaa9a1; font:500 10px/1.4 var(--font-body);
  letter-spacing:.14em; text-transform:uppercase;
}
.ranking-board .ranking-list { width:100%; max-width:none; overflow-x:auto; background:#0a0a09e8; border:0; }
.ranking-board .ranking-row {
  grid-template-columns:58px minmax(230px,1.55fr) minmax(210px,1.2fr) minmax(220px,1.15fr) 120px 70px 105px;
  gap:22px; min-width:1120px; min-height:118px; padding:18px 16px;
  border:0; border-bottom:1px solid #ffffff24; background:transparent;
  font-size:12px; animation:none!important; transition:background-color .22s ease;
}
.ranking-board .ranking-row:nth-child(odd):not(.ranking-header) { background:transparent; }
.ranking-board .ranking-row:hover { background:#f1df4507; }
.ranking-board .ranking-header {
  position:static; min-height:64px; padding-block:0; background:transparent;
  color:#92928b; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
}
.ranking-board .ranking-header:hover { background:transparent; }
.ranking-board .ranking-index { color:#77766f; font:28px/1 var(--font-display); font-variant-numeric:tabular-nums; }
.ranking-board .is-top .ranking-index { color:#a4a39b; }
.ranking-board .ranking-player { gap:18px; }
.ranking-board .ranking-avatar {
  width:58px; height:58px; flex:0 0 58px; border:1px solid #ffffff30; border-radius:3px;
  object-fit:cover; filter:saturate(.72) contrast(1.07);
}
.ranking-board .ranking-player b {
  color:#f1f0e9; font:22px/1.1 var(--font-display); letter-spacing:-.045em;
}
.ranking-board .ranking-player small {
  margin-top:8px; color:#aaa99f; font:italic 14px/1.2 var(--font-editorial); white-space:nowrap;
}
.ranking-board .ranking-solo { gap:14px; min-width:0; }
.ranking-board .ranking-solo img {
  width:48px; height:48px; flex:0 0 48px; object-fit:contain; filter:drop-shadow(0 0 9px #ffffff12);
}
.ranking-board .ranking-solo>span { display:grid; gap:6px; overflow:visible; }
.ranking-board .ranking-solo b {
  color:#e5e4dc; font:16px/1.15 var(--font-display); text-transform:uppercase; white-space:nowrap;
}
.ranking-board .ranking-solo small { color:#9f9e96; font-size:10px; white-space:nowrap; }
.ranking-roles { display:flex; align-items:center; gap:14px; min-width:0; }
.ranking-roles>span { display:flex; align-items:center; gap:7px; min-width:0; }
.ranking-roles>span+span::before { content:'/'; margin-right:4px; color:#686860; }
.ranking-roles img { width:31px; height:31px; object-fit:contain; filter:sepia(1) saturate(.65) brightness(1.35); }
.ranking-roles b { color:#d2d1c7; font-size:11px; white-space:nowrap; }
.ranking-record { display:flex; align-items:baseline; gap:5px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ranking-record b { color:#d6d5cc; font:17px/1 var(--font-display); }
.ranking-record small { color:#77766f; font:8px/1 var(--font-body); text-transform:uppercase; }
.ranking-record i { margin:0 3px; color:#6e6d66; font-style:normal; }
.ranking-winrate { color:#d6d5cc; font-size:12px; font-variant-numeric:tabular-nums; }
.ranking-board .ranking-rating {
  color:#fff28a; font:25px/1 var(--font-display); font-variant-numeric:tabular-nums; text-shadow:none;
}
.profile-hero { background:linear-gradient(135deg,#1c1c19eb,#0c0c0cf2); border-color:var(--line); border-left-color:var(--acid); outline:none; }
.profile-avatar { box-shadow:5px 5px 0 #f1df452b; border-color:#e0dec9; }
.profile-card,.team-panel,.replay-panel,.kogane-card,.kogane-rules,.kogane-history,.favor-tile,.player-dossier,.player-card { background:linear-gradient(145deg,#1b1b19f5,#0e0e0ef5); border-color:var(--line); outline-color:var(--line); }
.field input,.position-slot,.position-menu,.kogane-form input,.kogane-form select { background:#0c0c0c; color:var(--paper); border-color:#ffffff36; }
.position-slot.is-active { background:#f1df4512; border-color:var(--acid); }
.position-choice:hover { background:#f1df451a; }
.field input:focus,.kogane-form input:focus,.kogane-form select:focus { border-color:var(--acid); box-shadow:0 0 0 3px #f1df451a; }
.archive-match { padding:28px 24px; min-height:120px; outline:none; }
.patch-entry { padding:36px 28px; border-bottom:1px solid #ffffff30; outline:none; }
.patch-entry h2 { font-size:28px; }
.patch-entry .version { font:italic 28px var(--font-editorial); }
.kogane-balance { border-color:#f1df4555; background:#10100eee; }
.kogane-records [role=tabpanel] { background:#111110ed; border-color:var(--line); }
.record-tabs button,.players-tools button { background:#181816; color:#d0cfc5; border-color:var(--line); }
.record-tabs button:hover { background:#303027; }
.record-tabs button[aria-selected=true] { background:var(--acid); border-color:var(--acid); color:#090909; }
.kogane-history>span,.players-tools #players-count { color:#fff28a; }
.colony-count,.member-tooltip { background:#141412f2; border-color:#ffffff38; color:#d0cfc5; }
.players-universe { background:radial-gradient(ellipse at center,#171714a8,#090909e6 75%); }
.players-universe::before { background-image:url('/static/ui/v21/hero-manga-city.png'); }
.player-search,.orbit-player { background:#111110f5; border-color:#ffffff35; color:#d0cfc5; }
.orbit-caption { background:linear-gradient(transparent,#090909f5 55%); }
.players-center p,.players-tools,.orbit-caption small,.spiral-hint,.public-player-back { color:#bcbcb4; }
.rule-dialogue,.rule-topics button { background:#141412ef; border-color:#ffffff30; }
.rule-topics button[aria-pressed=true] { background:var(--acid); color:#090909; border-color:var(--acid); }
.rule-dialogue h2,.rule-dialogue p { color:#e3e2d5; }
.colony-count strong { color:#fff28a; }
.colony-member:hover,.colony-member:focus-visible { background:#f1df4510; }
.live-colony { border-color:var(--line); }
.demo-disclosure { border-color:#ffffff35; padding-inline:22px; }
.demo-disclosure>summary { color:#cdccc0; outline:none; }
.podium-grid { gap:24px; padding:30px 12px 55px; overflow:visible; }
.podium-grid .podium-card { --accent:#76d99d; --portrait-height:350px; display:grid; border:1px solid #ffffff35; border-bottom:3px solid var(--accent); background:#121210; box-shadow:10px 14px 0 #0008; transform:rotate(1.5deg); transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s; will-change:transform; }
.podium-grid .podium-1 { --accent:var(--acid); --portrait-height:410px; transform:translateY(-14px) rotate(-.6deg); border-color:#f1df4570; }
.podium-grid .podium-2 { --accent:#84a8ff; transform:rotate(-1.8deg); margin-top:28px; }
.podium-grid .podium-3 { --accent:#76d99d; margin-top:28px; }
/* Le fondu ne touche pas à la pose : aucune remise à plat en fin d'apparition. */
.podium-grid .podium-card.is-entering { animation:v21PodiumFade 450ms var(--ease-out) both; }
@keyframes v21PodiumFade { from { opacity:0; } to { opacity:1; } }
.podium-grid .podium-card:hover { transform:translateY(-7px) rotate(1.5deg); box-shadow:10px 21px 0 #0008,0 0 28px color-mix(in srgb,var(--accent) 17%,transparent),inset 0 0 0 1px var(--accent); }
.podium-grid .podium-1:hover { transform:translateY(-22px) rotate(-.6deg); }
.podium-grid .podium-2:hover { transform:translateY(-7px) rotate(-1.8deg); }
.podium-grid .podium-rank { color:var(--accent); }
.podium-grid .podium-avatar { height:var(--portrait-height); object-position:center 14%; filter:contrast(1.04) brightness(.98) saturate(.85); }
.podium-grid .podium-player { background:linear-gradient(transparent,#121210 35%); margin-top:-80px; padding-top:38px; min-height:110px; }
.podium-grid .podium-player span { font-size:clamp(24px,2.7vw,42px); color:#f6f4e8; text-shadow:0 3px 18px #000; }
.podium-grid .podium-player small { font:italic 22px var(--font-editorial); color:#d8d6ca; }
.podium-grid .podium-rank { background:#101010bb; color:var(--accent); font-size:32px; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent); }
.podium-grid .podium-1 .podium-rank { font-size:46px; }
.podium-grid .podium-rating { color:#fff7a5; font-size:46px; }
.podium-grid .podium-1 .podium-rating { font-size:62px; }
.podium-grid .podium-divider { display:none; }
.podium-grid .podium-meta { border-color:var(--line); color:#bab9ac; }
.podium-grid .podium-solo { color:#e0deca; }
#kogane-system .kogane-bubble { background:#151512f5; color:#e4e3d8; border-color:#f1df4566; box-shadow:0 10px 30px #0005; }
#kogane-system .kogane-bubble::after { background:#151512; border-color:#f1df4566; }
#kogane-system .kogane-name { color:var(--acid); }
#kogane-system #kogane-dialogue { color:#d4d3c7; }
.audio-toggle,.audio-fader { background:#11110ff5; border-color:#ffffff36; color:#e0decb; }
.audio-dock { background:#11110fed; border-color:#ffffff30; }
.audio-toggle.is-muted { color:#8e8e83; }
.audio-toggle:hover { color:var(--acid); border-color:var(--acid); }
.audio-fader input { accent-color:var(--acid); }
.mobile-nav { background:#0a0a0af5; border-color:var(--line); }
.mobile-nav a[aria-current=page] { background:var(--acid); color:#090909; }
@media (max-width:1200px) {
  .desktop-nav { gap:11px; } .desktop-nav a { font-size:9px; } .desktop-nav a::before { display:none; }
  .brand-logo-image { width:150px; }
  .home-dashboard .cg-home-core { gap:3vw; grid-template-columns:minmax(0,1.1fr) minmax(330px,1fr); }
  .podium-grid .podium-card { --portrait-height:290px; } .podium-grid .podium-1 { --portrait-height:350px; }
}
@media (max-width:900px) {
  .desktop-nav { gap:9px; } .nav-shell { gap:12px; }
  .home-dashboard .cg-home-core { grid-template-columns:1fr; padding:25px 0 40px; gap:30px; }
  .v21-hero-copy { max-width:680px; }
  .v21-hero-logo { max-width:620px; margin-top:8px; margin-bottom:12px; }
  .home-dashboard .cg-home-panel { grid-column:1; justify-self:start; max-width:680px; }
  .v21-edition { font-size:8px; }
  .home-dashboard::before { inset:20px 3vw 170px; }
  .home-dashboard .custom-journey { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
}
@media (max-width:800px) {
  .nav-shell { min-height:74px; padding:0 5vw; }
  .brand-logo-image { width:145px; height:64px; }
  .page-shell { padding-top:32px; gap:28px; }
  .home-dashboard { min-height:0; padding-top:24px; }
  .v21-edition { display:grid; gap:5px; padding-bottom:0; }
  .v21-hero-badge { font-size:8px; padding:7px 9px; }
  .v21-tagline { font-size:25px; }
  .v21-hero-sub { font-size:11px; }
  .home-dashboard .cg-home-panel { padding:25px; border-radius:18px; }
  .home-dashboard .cg-home-state h2 { font-size:32px; }
  .ranking-hero,.archive-hero,.match-hero,.kogane-hero { min-height:180px; padding:20px 0 30px; }
  .ranking-hero h1,.archive-hero h1,.match-hero h1,.kogane-hero h1 { font-size:clamp(32px,8vw,62px); overflow-wrap:anywhere; }
  .ranking-rule { padding:8px 12px; }
  .mobile-nav { justify-content:flex-start; overflow-x:auto; padding-block:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
  .mobile-nav a { flex:none; }
  #kogane-system .kogane-bubble { display:none; }
  #kogane-system:focus-within .kogane-bubble { display:block; }
}
@media (max-width:600px) {
  .home-dashboard .cg-home-core { padding-top:14px; gap:20px; }
  .home-dashboard .v21-hero-copy { padding-block:4px; }
  .home-dashboard .v21-hero-logo { max-width:320px; margin:4px -6px 8px; }
  .home-dashboard .v21-tagline { font-size:22px; }
  .v21-hero-sub { margin-top:12px; }
  .v21-rules-link { display:none; }
  .home-dashboard .cg-home-panel { padding:22px; }
  .home-dashboard .cg-home-state h2 { font-size:28px; }
  .home-dashboard .cg-home-state p { font-size:11px; margin-top:14px; }
  .home-dashboard .custom-journey { gap:22px 16px; } .custom-journey li { gap:10px; }
  .custom-journey li>span { font-size:25px; } .custom-journey strong { font-size:10px; }
  .custom-journey small { font-size:9px; }
  .podium-grid { grid-template-columns:1fr; gap:30px; padding-inline:6px; }
  .podium-grid .podium-card { --portrait-height:330px; margin:0; transform:none; }
  .podium-grid .podium-1 { --portrait-height:390px; order:0; }
  .podium-grid .podium-card:hover { transform:translateY(-4px); }
  .podium-grid .podium-1:hover { transform:translateY(-4px); }
  .profile-title h1 { font-size:28px; } .profile-rating strong { font-size:38px; }
  .patch-entry { padding:28px 20px; } .patch-entry h2 { font-size:23px; }
  .v21-hero-logo { margin-inline:-10px; }
}
@media (prefers-reduced-motion:reduce) {
  .cg-ambient::before { transform:none; transition:none; }
  .podium-grid .podium-card { transform:none; }
}
