/* Clash Arena V2 — public pages: rankings, profiles, archive, match report, live, guides */
.v2-crest[data-size=md]{--size:56px}.v2-crest[data-size=lg]{--size:76px}.v2-crest[data-size=xl]{--size:clamp(76px,10vw,110px)}.v2-crest[data-size=hero]{--size:clamp(108px,16vw,168px);border-width:3px}
.v2-gold-text{background:var(--v2-mat-gold);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
.v2-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:.92rem;font-weight:700;color:var(--v2-text-3)}
.v2-crumbs a{color:var(--v2-text-2);text-decoration:none}.v2-crumbs a:hover{color:var(--v2-gold-hi)}.v2-crumbs b{color:var(--v2-gold-hi);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Page hero band */
.v2-page-hero{position:relative;isolation:isolate;padding-block:clamp(28px,5vw,60px) clamp(18px,3vw,30px);overflow:hidden}
.v2-page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 120% at 85% 20%,rgba(255,122,46,.18),transparent 60%),linear-gradient(180deg,rgba(242,195,95,.05),transparent);border-bottom:1px solid var(--v2-stone-line)}
.v2-page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px}
.v2-page-hero h1{font-size:var(--v2-fs-h1);margin:6px 0 10px}
.v2-page-hero p.v2-muted{max-width:60ch}
.v2-page-hero-art{width:clamp(90px,14vw,170px);height:auto;filter:drop-shadow(0 16px 24px rgba(0,0,0,.6));animation:v2-float 6s ease-in-out infinite}
@media (max-width:600px){.v2-page-hero-inner{grid-template-columns:minmax(0,1fr)}.v2-page-hero-art{display:none}}

/* Rankings console */
.v2-console{display:grid;gap:14px;margin-top:6px}
.v2-console .v2-tabs{max-width:520px}
.v2-th-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v2-th-chip{display:flex;align-items:center;gap:10px;min-height:68px;padding:8px 12px;border-radius:18px;border:2px solid #0e0a07;background:linear-gradient(180deg,#2b221a,#1b1511);box-shadow:0 4px 0 #0b0806;text-decoration:none;transition:transform var(--v2-fast)}
.v2-th-chip:hover{transform:translateY(-2px)}
.v2-th-chip img{width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.v2-th-chip b{display:block;font-size:1.2rem}.v2-th-chip small{color:var(--v2-text-3);font-weight:700;font-size:.84rem}
.v2-th-chip.is-active{border-color:var(--v2-gold);background:linear-gradient(180deg,#4a3519,#2a1e10);box-shadow:0 4px 0 #3e280b,0 0 22px rgba(242,195,95,.2)}
@media (max-width:640px){.v2-th-row{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-th-chip{min-height:58px}.v2-th-chip img{width:40px;height:40px}}
.v2-mode-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v2-mode-chip{display:inline-grid;place-items:center;min-width:64px;min-height:44px;padding:0 16px;border-radius:14px;border:2px solid #241a10;background:var(--v2-mat-plate-dim);color:#fff;font:700 1rem/1 var(--v2-display);text-shadow:0 2px 0 rgba(0,0,0,.45);text-decoration:none;box-shadow:0 3px 0 #4a4235}
.v2-mode-chip.is-active{background:var(--v2-mat-plate);color:var(--v2-plate-ink);text-shadow:none;box-shadow:inset 0 2px 0 #fff,0 3px 0 #6f6452}
.v2-mode-chip.is-disabled{opacity:.4;cursor:not-allowed}
.v2-scope{margin-left:auto;min-width:min(100%,240px)}
@media (max-width:640px){.v2-scope{margin-left:0;width:100%}}
.v2-console-note{display:flex;gap:8px;align-items:flex-start}
.v2-console-note img{flex:0 0 auto;margin-top:2px}
.v2-board{padding-block:clamp(24px,4vw,44px) clamp(30px,5vw,60px)}
.v2-podium-wide{max-width:760px;margin:0 auto clamp(20px,3vw,34px)}
.v2-board-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}
.v2-search{position:relative;flex:1 1 280px;max-width:420px}
.v2-search img{position:absolute;left:14px;top:50%;width:18px;height:auto;transform:translateY(-50%);opacity:.9;pointer-events:none}
.v2-search .v2-input{padding-left:44px}
.v2-ranks{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.v2-ranks a{display:grid;grid-template-columns:44px 48px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:10px 16px 10px 10px;border-radius:18px;background:rgba(0,0,0,.26);border:1px solid var(--v2-stone-line);text-decoration:none;transition:background var(--v2-fast),transform var(--v2-fast),border-color var(--v2-fast)}
.v2-ranks a:hover{background:rgba(242,195,95,.07);border-color:rgba(242,195,95,.4);transform:translateX(3px)}
.v2-rank{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,236,190,.07);font-size:1.15rem;color:var(--v2-gold-hi)}
.v2-rank.is-top{background:var(--v2-mat-gold);color:#3a2306;box-shadow:0 3px 0 #6d4512}
/* Places 1-3: gold / silver / bronze, same materials as the podium blocks. */
.v2-rank.is-top.is-rank-1{background:var(--v2-mat-gold);color:#3a2306;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 3px 0 #6d4512}
.v2-rank.is-top.is-rank-2{background:linear-gradient(180deg,#fff,#d6dbe2 40%,#9aa3ae);color:#2a323b;box-shadow:inset 0 2px 0 #fff,0 3px 0 #5d6570}
.v2-rank.is-top.is-rank-3{background:linear-gradient(180deg,#ffd9b5,#d68b4f 45%,#9a5726);color:#3a1d08;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 3px 0 #5e3112}
.v2-rank-face{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#120e0b}
.v2-rank-name{min-width:0}
.v2-rank-name b,.v2-rank-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2-rank-name small{font-size:.86rem;color:var(--v2-text-3)}
.v2-rank-stat{display:grid;justify-items:end;gap:2px;min-width:86px}
.v2-rank-stat small{font:800 .78rem/1 var(--v2-body);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-text-3)}
.v2-rank-stat b{font-size:.92rem}
.v2-rank-elo{display:flex;align-items:center;justify-content:flex-end;min-width:76px;font:700 1.35rem/1 var(--v2-display);color:var(--v2-gold-hi)}
.v2-rank-elo small{font:700 .78rem var(--v2-body);color:var(--v2-text-3)}
@media (max-width:760px){
  .v2-ranks a{grid-template-columns:38px 42px minmax(0,1fr) auto;gap:10px;padding:8px 12px 8px 8px}
  .v2-rank{width:38px;height:38px;font-size:1rem}.v2-rank-face{width:42px;height:42px}
  .v2-rank-stat{display:none}
}

/* Profile */
.v2-profile-hero{position:relative;isolation:isolate;padding-block:clamp(26px,5vw,56px);overflow:hidden}
.v2-profile-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url("/clash-arena/assets/v2/art/battlefield-1280.webp") center 30%/cover;opacity:.22;filter:saturate(.8)}
.v2-profile-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,8,6,.4),var(--v2-night))}
.v2-profile-hero.is-player::before{background-position:20% 30%}
.v2-profile-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,34px)}
.v2-profile-emblem{position:relative}
.v2-profile-th{position:absolute;right:-18px;bottom:-12px;width:clamp(56px,7vw,84px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.v2-profile-id h1{font-size:var(--v2-fs-h1);margin:6px 0 10px;overflow-wrap:anywhere}
.v2-profile-rating{display:grid;justify-items:center;gap:2px;min-width:170px;padding:18px 22px;border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(242,195,95,.25),transparent 70%),rgba(0,0,0,.45);border:2px solid rgba(242,195,95,.55);box-shadow:0 0 30px rgba(242,195,95,.15)}
.v2-profile-rating small{font:800 .8rem/1.2 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3);text-align:center}
.v2-profile-rating b{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;background:var(--v2-mat-gold);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 0 #3b2306)}
.v2-profile-rating span{font-weight:800;color:var(--v2-text-2)}
@media (max-width:860px){.v2-profile-head{grid-template-columns:auto minmax(0,1fr)}.v2-profile-rating{grid-column:1/-1;grid-template-columns:auto auto auto;align-items:baseline;justify-content:center;column-gap:10px;min-width:0}}
@media (max-width:520px){.v2-profile-head{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.v2-profile-tag{justify-content:center}.v2-profile-rating{grid-template-columns:minmax(0,1fr)}}
.v2-profile-body{display:grid;gap:var(--v2-gap);padding-bottom:clamp(30px,5vw,60px)}
.v2-profile-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--v2-gap)}
@media (max-width:960px){.v2-profile-grid{grid-template-columns:minmax(0,1fr)}}
.v2-mode-ratings{display:grid;gap:10px;margin-bottom:12px}
.v2-mode-rating{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 16px 10px 10px;border-radius:18px;background:rgba(0,0,0,.26);border:1px solid var(--v2-stone-line);text-decoration:none}
.v2-mode-rating.is-active{border-color:var(--v2-gold);background:linear-gradient(90deg,rgba(242,195,95,.16),rgba(0,0,0,.2))}
.v2-mode-rating img{width:56px;height:auto}
.v2-mode-rating small{display:block;font-size:.85rem;color:var(--v2-text-3);font-weight:700}
.v2-mode-rating b{font-size:1.3rem}
.v2-mode-rating strong{font:700 1.6rem/1 var(--v2-display);color:var(--v2-gold-hi)}
.v2-elo-chart{margin:0}
.v2-elo-chart svg{width:100%;height:auto}
.v2-elo-chart figcaption{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;font-weight:700;color:var(--v2-text-3)}
.v2-result{display:inline-grid;place-items:center;min-width:72px;padding:6px 10px;border-radius:10px;background:rgba(255,236,190,.08);font:700 .9rem/1 var(--v2-display);color:var(--v2-text-2)}
.v2-result.is-win{background:rgba(124,204,60,.18);color:var(--v2-go-hi)}
.v2-result.is-loss{background:rgba(224,72,62,.18);color:var(--v2-danger-hi)}
.v2-result.is-draw{background:rgba(242,195,95,.15);color:var(--v2-gold-hi)}
.v2-chronicle .v2-rows li{flex-wrap:nowrap}
.v2-chronicle .v2-row-main{flex:1}
.v2-trust{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--v2-text-3)}

/* Match report */
.v2-match-hero{position:relative;isolation:isolate;padding-block:clamp(26px,5vw,54px);overflow:hidden}
.v2-match-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(91,184,255,.16),transparent 40%,transparent 60%,rgba(255,90,74,.16)),radial-gradient(60% 80% at 50% 50%,rgba(255,122,46,.12),transparent 70%)}
.v2-match-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.v2-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(10px,3vw,40px)}
.v2-score-side{position:relative;display:grid;justify-items:center;gap:6px;padding:clamp(16px,3vw,30px);border-radius:28px;background:rgba(0,0,0,.35);text-align:center;text-decoration:none;min-width:0}
.v2-score-side.is-ally{border:2px solid rgba(91,184,255,.45)}.v2-score-side.is-foe{border:2px solid rgba(255,90,74,.45)}
.v2-score-side.is-winner{box-shadow:0 0 0 2px var(--v2-gold),0 0 40px rgba(242,195,95,.25);padding-top:clamp(30px,4vw,40px)}
.v2-score-side>b{font-size:clamp(1.05rem,2.4vw,1.6rem);overflow-wrap:anywhere}
.v2-score-side small{color:var(--v2-text-3);font-weight:700}
.v2-score-stars{font-size:clamp(2.4rem,6vw,4rem);line-height:1;color:var(--v2-gold-hi)}
.v2-score-stars i{font-style:normal;font-size:.6em;margin-left:4px}
.v2-score-dest{font-weight:800;color:var(--v2-text-2)}
.v2-winner-badge{position:absolute;top:-14px;padding:6px 14px;border-radius:99px;background:var(--v2-mat-gold);color:#3a2306;font-size:.9rem;box-shadow:0 3px 0 #6d4512;text-shadow:none}
.v2-draw-note{text-align:center;margin-top:14px;font-size:1.4rem;color:var(--v2-gold-hi)}
@media (max-width:640px){.v2-scoreboard{grid-template-columns:minmax(0,1fr)}.v2-scoreboard>.v2-vs-mark{justify-self:center}}
.v2-match-body{display:grid;gap:var(--v2-gap);padding-bottom:clamp(30px,5vw,60px)}
.v2-integrity{display:flex;flex-wrap:wrap;gap:8px}
.v2-integrity span{padding:8px 14px;border-radius:99px;background:rgba(124,204,60,.12);border:1px solid rgba(124,204,60,.4);color:var(--v2-go-hi);font-weight:800;font-size:.92rem}
/* Rendered by the shared ArenaWarDetails helper */
.v2-war-panel .arena-war-context{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:14px;font-size:.92rem;font-weight:700;color:var(--v2-text-3)}
.v2-war-panel .arena-war-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--v2-gap)}
@media (max-width:760px){.v2-war-panel .arena-war-columns{grid-template-columns:minmax(0,1fr)}}
.v2-war-panel .arena-war-side{padding:16px;border-radius:20px;background:rgba(0,0,0,.28);border:1px solid var(--v2-stone-line);min-width:0}
.v2-war-panel .arena-war-side h3{font:700 1.2rem/1.1 var(--v2-display);margin-bottom:8px;overflow-wrap:anywhere}
.v2-war-panel .arena-war-side h4{margin:12px 0 6px;font:800 .82rem/1 var(--v2-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-text-3)}
.v2-war-panel .arena-war-side ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.v2-war-panel .arena-war-side li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,236,190,.04);min-width:0}
.v2-war-panel .arena-war-side li span{min-width:0;overflow-wrap:anywhere}
.v2-war-panel .arena-war-side li small{display:block;color:var(--v2-text-3)}
.v2-war-panel .arena-war-side li strong{font:700 1.05rem/1 var(--v2-display);color:var(--v2-gold-hi);white-space:nowrap}
.v2-war-panel .arena-war-side details summary{margin-top:12px;min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:800;color:var(--v2-gold-hi)}
.v2-war-panel .arena-war-rating{padding:8px 12px;border-radius:12px;background:rgba(242,195,95,.1);color:var(--v2-gold-hi);font-weight:800}
.v2-war-panel .arena-duel-filler-rule{display:flex;gap:10px;align-items:center;margin-bottom:12px;padding:10px 14px;border-radius:14px;background:rgba(242,195,95,.08);border:1px solid rgba(242,195,95,.35)}

/* Live */
.v2-vs-card.is-live{border-color:rgba(255,90,74,.5)}
.v2-skel-card{min-height:170px;border-radius:22px}

/* Guides & rules */
.v2-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--v2-gap);padding-block:clamp(24px,4vw,44px) clamp(30px,5vw,60px)}
.v2-guide .v2-path-cta{grid-column:1/-1}
@media (max-width:760px){.v2-guide{grid-template-columns:minmax(0,1fr)}}
.v2-guide-step{display:grid;gap:10px;align-content:start}
.v2-guide-step img{width:56px;height:56px}
.v2-guide-step h2{font-size:var(--v2-fs-h3)}
.v2-guide-step p{color:var(--v2-text-2)}
.v2-guide-num{position:absolute;top:18px;right:22px;font-size:2.4rem;color:rgba(242,195,95,.22)}
.v2-rules{display:grid;gap:var(--v2-gap);padding-block:clamp(24px,4vw,44px) clamp(30px,5vw,60px)}
.v2-rule-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none;counter-reset:rule}
.v2-rule-list li{position:relative;padding:12px 14px 12px 52px;border-radius:14px;background:rgba(0,0,0,.24);color:var(--v2-text);counter-increment:rule}
.v2-rule-list li::before{content:counter(rule);position:absolute;left:12px;top:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--v2-mat-gold);color:#3a2306;font:700 .95rem/1 var(--v2-display)}

/* 404 */
.v2-notfound{padding-block:clamp(30px,6vw,80px)}
.v2-notfound-card{display:grid;justify-items:center;gap:12px;max-width:620px;margin:auto;text-align:center}
.v2-notfound-card img{width:90px;height:auto;animation:v2-float 4s ease-in-out infinite}
.v2-notfound-code{font-size:clamp(3rem,10vw,5rem);line-height:1;color:var(--v2-gold-hi)}
.v2-notfound-card h1{font-size:var(--v2-fs-h2)}

/* Season history */
.v2-history-stamp{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.v2-history-tabs{max-width:640px;margin-bottom:var(--v2-gap)}
.v2-season-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--v2-gap)}
.v2-season-card{position:relative;display:grid;gap:8px;padding:22px;border-radius:24px;background:var(--v2-mat-panel);border:1px solid var(--v2-stone-edge);text-decoration:none;overflow:hidden;transition:transform var(--v2-mid) var(--v2-ease),border-color var(--v2-mid)}
.v2-season-card:hover{transform:translateY(-4px);border-color:rgba(242,195,95,.6);color:var(--v2-text)}
.v2-season-card .v2-chip{justify-self:start}
.v2-season-card b{font-size:1.4rem}
.v2-season-card small{color:var(--v2-text-3);font-weight:700}
.v2-season-num{position:absolute;right:16px;top:8px;font-size:3.4rem;color:rgba(242,195,95,.16)}
.v2-season-open{margin-top:6px;font:700 .95rem/1 var(--v2-display);color:var(--v2-go-hi)}
.v2-pager{display:flex;justify-content:center;gap:10px;margin-top:var(--v2-gap)}
.v2-pager:empty{display:none}
.v2-board>.v2-panel+.v2-panel,.v2-board>.v2-stat-strip+.v2-panel{margin-top:var(--v2-gap)}
.v2-board>.v2-stat-strip{margin-bottom:var(--v2-gap)}
.v2-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.v2-table-scroll .v2-table{min-width:560px}
.v2-vs-inline{margin:0 .35em;font:700 .88rem/1 var(--v2-display);color:var(--v2-ember)}
.v2-history-ranks{margin-top:var(--v2-gap)}
.v2-recent-grid>.v2-state,.v2-recent-grid>.v2-skel{grid-column:1/-1}

/* Profile finder + season numbers */
.v2-tools-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--v2-gap);align-items:center}
.v2-finder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end}
.v2-season-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v2-season-stats .v2-stat{padding:10px 12px}
.v2-season-stats .v2-stat b{font-size:1.25rem}
@media (max-width:1023px){.v2-tools-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.v2-finder{grid-template-columns:1fr 1fr}.v2-finder .v2-field:nth-child(2){grid-column:1/-1;grid-row:1}.v2-season-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.v2-page-hero-art.v2-page-hero-art-native{width:min(147px,30vw)}
.v2-profile-rating .v2-trophy{width:30px;height:30px;margin:0}
/* Live wars strip on the archive page. */
.v2-live-strip{margin-top:clamp(18px,3vw,30px)}
.v2-live-strip h2{display:flex;align-items:center;gap:10px;font-size:var(--v2-fs-h3)}
/* Share row under the match scoreboard. */
.v2-share-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:clamp(16px,2.6vw,26px)}
.v2-share-label{display:inline-flex;align-items:center;gap:8px;margin-right:4px;font:700 1rem/1 var(--v2-display);color:var(--v2-gold-hi)}
