/* The Vault shares the Arena's gold signals and centered console shell. */
#main.main:has(> .rewards-console),body[data-destination="rewards"] #main.main { margin-inline:auto; }
body:has(.rewards-console) .section-atmosphere { display:none; }
.rewards-console { --vault-gold:#ffcf5b; --vault-ice:#a4d9e7; position:relative; max-width:1500px; min-width:0; margin-inline:auto; }
.rewards-console,.rewards-console * { letter-spacing:0; }
.vault-masthead { position:relative; isolation:isolate; min-height:246px; display:grid; place-items:center; padding:24px 0 28px; }
.vault-scene { position:absolute; inset:-30px calc(-1 * var(--gutter)) -104px; z-index:-2; pointer-events:none; overflow:hidden; }
.vault-scene>img { position:absolute; right:0; top:0; width:auto; height:100%; max-width:none; object-fit:contain; transform-origin:78% 56%; mask-image:linear-gradient(90deg,transparent,#000 22%),linear-gradient(180deg,#000 75%,transparent); mask-composite:intersect; animation:vault-camera 14s ease-in-out infinite; }
.vault-shimmer { position:absolute; inset:0 0 0 45%; background:linear-gradient(115deg,transparent 38%,#fff3cc18 49%,transparent 60%); background-size:260% 100%; mask-image:linear-gradient(180deg,transparent,#000 35%,transparent 95%); mix-blend-mode:screen; animation:vault-light-pass 9s ease-in-out infinite; }
.vault-title { position:relative; z-index:1; width:100%; text-align:center; }
.vault-eyebrow { display:flex; justify-content:center; align-items:center; gap:9px; font:600 11px/1.5 Consolas,monospace; color:#ffd579; }
.vault-title h1 { font:900 78px/1 var(--display-font); margin:14px 0; text-shadow:0 5px 35px #000a; }
.vault-title h1 em { color:var(--vault-gold); font-style:normal; }
.vault-title p { font-size:14px; color:#d3d6df; margin:0; }
.vault-provenance { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-top:18px; font:10px/1.5 Consolas,monospace; color:#c2c6cf; }
.vault-provenance span+span { padding-left:16px; border-left:1px solid #becadd44; }
.vault-provenance span:first-child { color:#f3d280; }
.vault-status { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr 1.4fr; margin-bottom:18px; border:1px solid #c3d6ee22; border-left:3px solid var(--vault-gold); border-radius:5px; background:linear-gradient(105deg,#1b202be8,#0d111ae8); backdrop-filter:blur(16px); }
.vault-status>button,.vault-status>a { display:flex; gap:15px; align-items:center; min-width:0; padding:17px 24px; text-align:left; border:0; border-radius:0; background:transparent; color:inherit; }
.vault-status>button+button,.vault-status>a { border-left:1px solid #c7d5eb1a; }
.vault-status>button:hover,.vault-status>a:hover { background:#ffffff08; }
.vault-status>button:focus-visible,.vault-status>a:focus-visible { outline:2px solid var(--vault-gold); outline-offset:-3px; }
.vault-status>button>.icon,.vault-status>a>.icon { margin-left:auto; flex-shrink:0; color:var(--vault-gold); }
.vault-status-icon { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; color:var(--vault-gold); }
.vault-status>button:nth-child(2) .vault-status-icon { color:var(--vault-ice); }
.vault-status strong { display:block; font-size:26px; line-height:1.2; font-weight:750; color:#fff1cd; overflow-wrap:anywhere; }
.vault-status small { display:block; margin-top:4px; font-size:12px; line-height:1.4; color:#c1c5cf; }
.vault-status>a strong { font-size:18px; color:#eef0f5; }
.rewards-console .level-banner { position:relative; padding:20px 24px; margin:0 0 22px; gap:24px; border-radius:0; border:0; border-bottom:1px solid #d8dce52b; background:linear-gradient(105deg,#1e2128c9,#111318e8); }
.rewards-console .level-emblem { width:68px; height:68px; border:1px solid #f4cd7180; border-radius:8px; transform:rotate(-7deg); background:linear-gradient(135deg,#f1bc3f20,#121316); }
.rewards-console .level-emblem>div { transform:rotate(7deg); color:#ffdc86; }
.rewards-console .level-emblem small { font-size:10px; }
.rewards-console .level-banner .grow { min-width:0; }
.rewards-console .level-banner .eyebrow { font-size:10px; color:#b8c5d3; }
.rewards-console .level-banner h2 { font-size:22px; margin-top:5px; line-height:1.25; }
.rewards-console .level-banner .grow p { font-size:12px; line-height:1.6; color:#c1c7d2; }
.rewards-console .level-banner .progress-track { max-width:none; height:4px; background:#becde81a; margin-top:12px; }
.rewards-console .level-banner .progress-track>span { background:linear-gradient(90deg,#b48735,#ffdf81); box-shadow:0 0 14px #ffcf5b44; }
.rewards-console .next-stop { min-width:90px; }
.rewards-console .next-stop strong { color:#ffdc86; }
.rewards-console .next-stop small { font:10px/1.5 Consolas,monospace; }
.rewards-console .filter-bar { position:relative; gap:15px; margin-bottom:18px; flex-wrap:wrap; }
.rewards-console .chips { display:flex; gap:4px; }
.rewards-console .chip { border-radius:4px; padding:11px 16px; min-height:44px; font-size:12px; white-space:normal; }
.rewards-console .chip.active { border-color:#ffdd87; color:#241b08; background:linear-gradient(125deg,#ffdd82,#e9b333); }
.rewards-console .filter-bar>.text-link { color:#d3baff; font-size:12px; min-height:44px; }
.rewards-console .season-track-shell { border:0; border-block:1px solid #b8c1cf33; border-radius:0; background:#111316; box-shadow:none; }
.rewards-console .season-track-shell:before { display:none; }
.rewards-console .season-track-head { padding:22px 24px; border-color:#c2d2eb1c; align-items:center; }
.rewards-console .season-track-head .eyebrow { color:#d8c68f; font:10px/1.5 Consolas,monospace; }
.rewards-console .season-track-head h2 { font:800 27px/1.2 var(--display-font); margin:8px 0; }
.rewards-console .season-track-head p { font-size:12px; color:#b6c0cf; }
.rewards-console .season-position { font:10px/1.5 Consolas,monospace; color:#b8c1d0; }
.rewards-console .season-position strong { color:#ffdb80; font-size:15px; }
.rewards-console .track-arrow { width:44px; height:44px; flex-shrink:0; border:1px solid #abbfd13f; background:#22262c; border-radius:4px; }
.rewards-console .track-arrow:hover:not(:disabled) { color:#ffe2a0; border-color:#ffcf5b; }
.rewards-console .track-arrow:disabled { opacity:.3; cursor:default; }
.rewards-console .season-track-viewport { padding:18px 24px 22px; scrollbar-color:#e9c66c #14171b; scroll-padding-inline:24px; }
.rewards-console .season-track-viewport:focus-visible { outline-color:#ffcf5b; }
.rewards-console .season-track-viewport::-webkit-scrollbar-thumb { background:#e9c66c; }
.rewards-console .rewards-grid.season-track { grid-auto-columns:276px; gap:20px; padding-top:64px; }
.rewards-console .season-track:before { top:36px; background:linear-gradient(90deg,#ffda79,#84693c 55%,#9981be); box-shadow:none; }
.rewards-console .reward-node { border-radius:7px; border-color:#9c895d; background:#181a1e; color:#d1c098; box-shadow:0 0 0 7px #111316; width:40px; height:40px; top:-48px; }
.rewards-console .reward-node span { font-size:13px; }
.rewards-console .reward-station.reached .reward-node { background:linear-gradient(120deg,#ffe5a1,#cf9f35); border-color:#ffdf8e; color:#2b210f; box-shadow:0 0 0 7px #111316,0 0 24px #ffca5330; }
.rewards-console .reward-station.plus-lane .reward-node { border-color:#b596f0; }
.rewards-console .reward-station.plus-lane.reached .reward-node { background:linear-gradient(120deg,#e4cfff,#a27acb); color:#25182f; box-shadow:0 0 0 7px #111316,0 0 24px #b694ef30; }
.rewards-console .current-marker { color:#ffdc88; font:10px/1.5 Consolas,monospace; left:81px; top:-36px; animation:none; }
.rewards-console .season-track .reward-card { min-height:376px; border:1px solid #bdc8d533; border-radius:6px; background:#1b1e23; }
.rewards-console .reward-station { --item-light:#f4d17a; }
.rewards-console .plus-lane { --item-light:#c3a4ff; }
.rewards-console .reward-station.current .reward-card { border-color:var(--item-light); box-shadow:0 0 0 1px #d8ad3818; }
.rewards-console .season-track .reward-station.future .reward-card { filter:none; }
.rewards-console .season-track .reward-card:hover,.rewards-console .season-track .reward-card:focus-within { transform:translateY(-5px); border-color:var(--item-light); box-shadow:0 12px 24px #0005; filter:none; }
.rewards-console .reward-art { height:174px; background:linear-gradient(140deg,#31363e,#181b20); perspective:600px; border-color:#c2c8d122; }
.rewards-console .plus-lane .reward-art { background:linear-gradient(140deg,#34303e,#1c1a22); }
.rewards-console .reward-art:before { display:none; }
.rewards-console .reward-art:after { width:100%; height:100%; border:0; border-radius:0; background:linear-gradient(115deg,transparent 32%,#ffffff0e 49%,transparent 63%); }
.vault-item-crest { position:absolute; width:88px; height:96px; border-radius:8px; transform:rotate(-8deg); background:linear-gradient(140deg,#ffffff15,#ffffff02 45%,#0003); border:1px solid color-mix(in srgb,var(--item-light) 65%,transparent); box-shadow:inset 0 2px 0 #ffffff13,0 12px 25px #0006; }
.vault-item-crest:after { content:''; position:absolute; inset:-8px; border:1px solid color-mix(in srgb,var(--item-light) 22%,transparent); border-radius:8px; transform:rotate(15deg); }
.vault-item-plinth { position:absolute; bottom:18px; width:114px; height:5px; background:color-mix(in srgb,var(--item-light) 12%,transparent); border-bottom:1px solid color-mix(in srgb,var(--item-light) 48%,transparent); transform:skewX(-35deg); }
.rewards-console .reward-art>.icon { width:47px; height:47px; color:var(--item-light); filter:drop-shadow(0 4px 1px #0006); }
.vault-access { position:absolute; top:12px; left:14px; display:flex; align-items:center; gap:5px; z-index:3; font:10px/1.5 Consolas,monospace; color:var(--item-light); }
.rewards-console .reward-art>.reward-level { top:12px!important; right:14px; font:10px/1.5 Consolas,monospace; color:#c2c8d2; }
.rewards-console .reward-card.locked .reward-art>.icon { opacity:.6; }
.rewards-console .reward-card.available .vault-item-crest,.rewards-console .current .vault-item-crest { animation:vault-crest 6s ease-in-out infinite; }
.rewards-console .reward-card.available .reward-art>.icon,.rewards-console .current .reward-art>.icon { animation:vault-hover 6s ease-in-out infinite; }
.rewards-console .reward-body { padding:18px; }
.rewards-console .reward-body .eyebrow { color:#bfc9d8; font:10px/1.5 Consolas,monospace; }
.rewards-console .reward-body h3 { font:800 20px/1.2 var(--display-font); margin:8px 0; overflow-wrap:anywhere; }
.rewards-console .reward-body p { font-size:12px; min-height:58px; line-height:1.65; color:#c1c8d3; overflow-wrap:anywhere; }
.rewards-console .reward-body>.button { min-height:44px; border-radius:4px; font-size:12px; }
.rewards-console .reward-body .claimed-state,.rewards-console .reward-body .locked-state { min-height:44px; height:auto; padding:9px; border-radius:4px; font-size:12px; text-align:center; line-height:1.5; }
.rewards-console .reward-body .claimed-state { color:var(--vault-ice); border-color:#a4d9e73b; background:#a4d9e708; }
.rewards-console .reward-body .locked-state { border-color:#a7bedb24; color:#b4becd; }
.rewards-console .reward-body .locked-state>.icon { flex-shrink:0; }
.rewards-console .season-track-footer { border-color:#9eb5d329; color:#bac4d2; padding:14px 24px; font-size:10px; flex-wrap:wrap; }
.rewards-console .season-track-footer .vault-track-legend { display:flex; }
.rewards-console .track-key.free { background:#ffcf5b; }
.rewards-console .notice { font-size:12px; line-height:1.7; background:transparent; border:0; color:#b0bac8; padding-inline:0; }
.rewards-console .rewards-grid.is-empty { display:block!important; width:100%; min-width:0; padding:12px 0; }
.rewards-console .season-track.is-empty:before { display:none; }
.rewards-console .is-empty .empty-state { padding:36px 16px; }
.vault-sparks { position:absolute; inset:0 0 -60px; z-index:-1; overflow:hidden; pointer-events:none; }
.vault-sparks i { position:absolute; right:12%; bottom:3%; width:2px; height:6px; background:#ffda7d; box-shadow:0 0 8px #ffcd62; opacity:0; animation:vault-spark 7s ease-out infinite; }
.vault-sparks i:nth-child(2) { right:19%; animation-delay:-1.2s; }
.vault-sparks i:nth-child(3) { right:6%; animation-delay:-2.7s; }
.vault-sparks i:nth-child(4) { right:24%; animation-delay:-4s; }
.vault-sparks i:nth-child(5) { right:15%; animation-delay:-5.3s; }
.vault-sparks i:nth-child(6) { right:9%; animation-delay:-6.1s; }
@keyframes vault-camera { 0%,100% { transform:translate3d(0,0,0) scale(1); } 50% { transform:translate3d(-4px,-5px,0) scale(1.025); } }
@keyframes vault-light-pass { 0%,15% { background-position:150% 0; opacity:0; } 40% { opacity:.85; } 75%,100% { background-position:-100% 0; opacity:0; } }
@keyframes vault-spark { 0% { transform:translate3d(0,12px,0) rotate(24deg); opacity:0; } 20% { opacity:.75; } 80% { opacity:0; } 100% { transform:translate3d(-34px,-160px,0) rotate(24deg); opacity:0; } }
@keyframes vault-hover { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-6px) rotate(3deg); } }
@keyframes vault-crest { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(-6px) rotate(-3deg); } }
body.arena-backgrounded .rewards-console *,body.arena-backgrounded .rewards-console *:before,body.arena-backgrounded .rewards-console *:after { animation-play-state:paused!important; }
body.reduced-motion .rewards-console *,body.reduced-motion .rewards-console *:before,body.reduced-motion .rewards-console *:after,body.reduce-atmosphere .rewards-console *,body.reduce-atmosphere .rewards-console *:before,body.reduce-atmosphere .rewards-console *:after { animation:none!important; transition:none!important; }
body.reduced-motion .vault-sparks,body.reduce-atmosphere .vault-sparks,body.reduced-motion .vault-shimmer,body.reduce-atmosphere .vault-shimmer { display:none; }
@media(prefers-reduced-motion:reduce) { .rewards-console *,.rewards-console *:before,.rewards-console *:after { animation:none!important; transition:none!important; } .vault-sparks,.vault-shimmer { display:none; } }
@media(min-width:761px) and (max-width:1100px) {
 .vault-masthead { min-height:390px; grid-template-rows:194px auto; padding:0 0 24px; }
 .vault-title { grid-row:2; }
 .vault-title h1 { font-size:62px; }
 .vault-scene { inset:-15px calc(-1 * var(--gutter)) 0; }
 .vault-scene>img { height:262px; right:calc(50% - 126px); top:-8px; mask-image:linear-gradient(180deg,#000 65%,transparent); }
 .vault-shimmer { inset:0 0 40%; }
 .vault-sparks { inset:0 0 44%; }
 .vault-sparks i { right:46%; }
 .vault-sparks i:nth-child(2n) { right:57%; }
}
@media(max-width:760px) {
 .vault-masthead { min-height:388px; grid-template-rows:194px auto; padding:0 0 24px; }
 .vault-title { grid-row:2; }
 .vault-title h1 { font-size:46px; }
 .vault-title p { font-size:13px; max-width:290px; margin:auto; line-height:1.6; }
 .vault-eyebrow { font-size:10px; }
 .vault-provenance { font-size:9px; gap:8px 10px; }
 .vault-provenance span+span { padding-left:10px; }
 .vault-provenance span:last-child { flex-basis:100%; border:0; padding:0; }
 .vault-scene { inset:-15px -20px 0; }
 .vault-scene>img { height:262px; right:calc(50% - 126px); top:-8px; mask-image:linear-gradient(180deg,#000 65%,transparent 100%); }
 .vault-shimmer { inset:0 0 40%; }
 .vault-sparks { inset:0 0 44%; }
 .vault-sparks i { right:36%; }
 .vault-sparks i:nth-child(2n) { right:64%; }
 .vault-status { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vault-status>button,.vault-status>a { padding:14px 12px; gap:8px; }
 .vault-status>a { grid-column:1/-1; border-left:0; border-top:1px solid #c7d5eb1a; }
 .vault-status-icon { width:26px; height:30px; }
 .vault-status strong { font-size:24px; }
 .vault-status small { font-size:11px; }
 .vault-status>button>.icon { display:none; }
 .vault-status>a strong { font-size:16px; }
 .rewards-console .level-banner { padding:18px 12px; gap:17px; }
 .rewards-console .level-emblem { width:52px; height:60px; }
 .rewards-console .level-emblem>div { font-size:25px; }
 .rewards-console .level-banner h2 { font-size:18px; }
 .rewards-console .level-banner .grow p { font-size:11px; }
 .rewards-console .next-stop { display:none; }
 .rewards-console .filter-bar { gap:5px; }
 .rewards-console .chips { width:100%; }
 .rewards-console .chip { flex:1; font-size:11px; padding:10px 6px; }
 .rewards-console .filter-bar>.text-link { font-size:12px; }
 .rewards-console .season-track-head { padding:18px 14px; gap:16px; align-items:stretch; }
 .rewards-console .season-track-head h2 { font-size:23px; }
 .rewards-console .season-track-head .eyebrow { font-size:9px; }
 .rewards-console .season-track-head p { font-size:11px; line-height:1.6; }
 .rewards-console .season-track-controls { width:100%; justify-content:flex-end; }
 .rewards-console .season-position { margin-right:auto; align-items:start; }
 .rewards-console .season-track-viewport { padding-inline:14px; scroll-padding-inline:14px; }
 .rewards-console .rewards-grid.season-track { grid-auto-columns:256px; gap:16px; }
 .rewards-console .season-track-footer { padding:14px; }
 .rewards-console .reward-art { height:168px; }
 .rewards-console .reward-body { padding:16px; }
 .rewards-console .notice { font-size:11px; }
}
@media(max-width:360px) { .vault-title h1 { font-size:40px; } .rewards-console .rewards-grid.season-track { grid-auto-columns:238px; } }
