/* ranked.css — the ranked arenas in the Challengers' Court (online-view.js rk- classes): the duel-type signs, the ranked board
   (season banner, arena card, trophies, rewards track), the device-only gladiator note, the ranked duel pennant and trophy tally,
   and the season results sheet. Static textures; only the tally and promotion pop move, and not under reduced motion. */
.rk-modes,.rk-court,.rk-device,.rk-pennant,.rk-tally,.rk-sheet,.rk-emblem,.rk-waiting,.rk-picker,.rk-board,.rk-vs{--rk-ink:#2b1709;--rk-parch:#f3e3bd;--rk-parch-ink:#3a220f;--rk-gold:linear-gradient(#ffe08f,#f0b955 48%,#d18f3a);--rk-grain:repeating-linear-gradient(176deg,#0000 0 7px,#1a0b0312 7px 8px,#0000 8px 15px,#ffd9a00a 15px 16px);--rk-display:'Lilita One','DM Sans',system-ui,sans-serif}
/* metal of each arena: emblem rims, track medals */
.rk-tier-0{--m1:#f2dcae;--m2:#c9a06a;--m3:#7a5530}.rk-tier-1{--m1:#d9a877;--m2:#9a6a3c;--m3:#4e2f18}.rk-tier-2{--m1:#f7d58f;--m2:#c98b3c;--m3:#7a4a1e}.rk-tier-3{--m1:#dfe5ea;--m2:#8d969e;--m3:#3d444b}.rk-tier-4{--m1:#ffffff;--m2:#c3cad2;--m3:#7f8a96}
.rk-tier-5{--m1:#fff3bd;--m2:#f0c14f;--m3:#9a6a14}.rk-tier-6{--m1:#ffffff;--m2:#e6e0d6;--m3:#a79e90}.rk-tier-7{--m1:#a996c9;--m2:#4a4058;--m3:#1a1622}.rk-tier-8{--m1:#e8d7bb;--m2:#a8957b;--m3:#4e4232}.rk-tier-9{--m1:#fffbe6;--m2:#ffd24a;--m3:#b88a1e}

/* ---------- duel type: two big wooden signs ---------- */
.rk-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.rk-modes button{display:flex;align-items:center;gap:9px;min-height:56px;padding:8px 12px;border:3px solid var(--rk-ink);border-radius:10px;background:var(--rk-grain),linear-gradient(#7a4d2a,#5e3b1f 60%,#4b2e18);color:#fff0d2;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 #ffd79a55,inset 0 -3px 0 #0004,0 3px 0 var(--rk-ink);font:inherit}
.rk-modes button .icon{flex:none;width:24px;height:24px;color:#f0c46a}
.rk-modes button span{display:grid;gap:2px;min-width:0}
.rk-modes b{font:400 16px/1.1 var(--rk-display);letter-spacing:.02em;text-shadow:0 1px 0 var(--rk-ink)}
.rk-modes small{font:600 11px/1.2 var(--font,system-ui);color:#e9cfa3;opacity:.9}
.rk-modes button[aria-pressed=true]{background:radial-gradient(ellipse at 50% 0,#fff9,#fff0 60%),var(--rk-gold);color:var(--rk-parch-ink);box-shadow:inset 0 2px 0 #fff8,inset 0 -3px 0 #0003,0 3px 0 var(--rk-ink),0 0 0 2px #ffd24a66}
.rk-modes button[aria-pressed=true] b{text-shadow:none}
.rk-modes button[aria-pressed=true] small{color:#5a3a17}
.rk-modes button[aria-pressed=true] .icon{color:#7a1d12}
.rk-modes button:focus-visible{outline:3px solid #ffd24a;outline-offset:2px}

/* ---------- the ranked board ---------- */
.rk-court{position:relative;display:flex;flex-direction:column;gap:12px;margin:0 0 14px;padding:12px;border:3px solid var(--rk-ink);border-radius:12px;background:radial-gradient(circle at 12px 12px,#c9a24f 0 3px,#2b1709 4px,#0000 5px),radial-gradient(circle at calc(100% - 12px) 12px,#c9a24f 0 3px,#2b1709 4px,#0000 5px),radial-gradient(circle at 12px calc(100% - 12px),#c9a24f 0 3px,#2b1709 4px,#0000 5px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),#c9a24f 0 3px,#2b1709 4px,#0000 5px),var(--rk-grain),linear-gradient(#5e3b1f,#46291a 60%,#3b2414);box-shadow:inset 0 0 0 2px #a07040aa,0 4px 0 #1a0b03a6,0 10px 18px #0007;color:#fff0d2}
.rk-court>*{margin:0}
/* season: a red cloth banner */
.rk-season{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 6px;padding:8px 12px 12px;border:2px solid var(--rk-ink);background:linear-gradient(#d24a37,#a82c1e 70%,#8c2318);color:#fff3dc;clip-path:polygon(0 0,100% 0,100% 100%,97% 86%,94% 100%,91% 86%,88% 100%,0 100%);box-shadow:inset 0 2px 0 #ffffff40,inset 0 -3px 0 #0003}
.rk-season-flag{padding:2px 8px;border:2px solid var(--rk-ink);border-radius:4px;background:var(--rk-gold);color:var(--rk-parch-ink);font:400 13px/1.2 var(--rk-display);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 0 var(--rk-ink)}
.rk-season>b{flex:1 1 auto;min-width:0;font:400 17px/1.15 var(--rk-display);letter-spacing:.02em;text-shadow:0 2px 0 var(--rk-ink)}
.rk-countdown{display:inline-flex;align-items:center;gap:5px;font:700 12px/1.2 var(--font,system-ui);color:#ffe7c2;white-space:nowrap}
.rk-countdown .icon{width:14px;height:14px}
.rk-countdown time{font-variant-numeric:tabular-nums;color:#fff}
/* the arena card: its little backdrop, the emblem and the name */
.rk-arena{position:relative;display:flex;align-items:center;gap:12px;min-height:118px;padding:10px 12px;border:3px solid var(--rk-ink);border-radius:10px;overflow:hidden;isolation:isolate;box-shadow:0 3px 0 var(--rk-ink)}
.rk-arena .rk-art,.rk-sheet-arena .rk-art{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.rk-arena:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a0b0300 0 22%,#1a0b03a8 56%,#1a0b03d0)}
.rk-arena-text{flex:1;min-width:0;text-align:right;color:#fff5de}
.rk-arena-text .eyebrow{display:block;color:#ffd98f;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 0 #000}
.rk-arena h2{margin:3px 0 4px;font:400 clamp(19px,5.6vw,25px)/1.05 var(--rk-display);letter-spacing:.02em;color:#fff;text-shadow:0 2px 0 var(--rk-ink),2px 0 0 var(--rk-ink),-2px 0 0 var(--rk-ink),0 -2px 0 var(--rk-ink),0 4px 6px #0008}
.rk-arena-text p{margin:0;font:600 12.5px/1.35 var(--font,system-ui);color:#f6e2c0;text-shadow:0 1px 2px #000}
/* the emblem: a metal medallion with the arena's sign and its numeral on a ribbon */
.rk-emblem{position:relative;flex:none;display:grid;place-items:center;width:78px;height:78px;border:3px solid var(--rk-ink);border-radius:50%;background:radial-gradient(circle at 34% 28%,var(--m1),var(--m2) 48%,var(--m3) 92%);box-shadow:inset 0 0 0 5px #ffffff30,inset 0 -6px 10px #0004,0 3px 0 var(--rk-ink),0 6px 12px #0006;color:var(--rk-ink)}
.rk-emblem:before{content:'';position:absolute;inset:9px;border:2px dashed #2b170966;border-radius:50%}
.rk-emblem .icon{width:36px;height:36px;stroke-width:2.1;filter:drop-shadow(0 1px 0 #fff8)}
.rk-emblem i{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);min-width:34px;padding:1px 7px;border:2px solid var(--rk-ink);border-radius:4px;background:linear-gradient(#d24a37,#a82c1e);color:#fff3dc;font:400 13px/1.2 var(--rk-display);font-style:normal;text-align:center;letter-spacing:.04em;text-shadow:0 1px 0 var(--rk-ink);box-shadow:0 2px 0 var(--rk-ink)}
.rk-emblem.rk-tier-7 .icon,.rk-emblem.rk-tier-7{color:#f1e6ff}.rk-emblem.rk-tier-7 .icon{filter:drop-shadow(0 0 4px #b58cff)}
.rk-emblem.rk-tier-9{box-shadow:inset 0 0 0 5px #ffffff50,inset 0 -6px 10px #0003,0 3px 0 var(--rk-ink),0 0 18px #ffd24a99}
.rk-emblem.small{width:44px;height:44px;border-width:2px}.rk-emblem.small:before{inset:5px}.rk-emblem.small .icon{width:20px;height:20px}.rk-emblem.small i{display:none}
.rk-emblem.big{width:96px;height:96px;margin:0 auto 22px}.rk-emblem.big .icon{width:44px;height:44px}
/* trophies and progress */
.rk-score{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--rk-ink);border-radius:8px;background:var(--rk-grain),linear-gradient(#3a2212,#2a180c);box-shadow:inset 0 2px 4px #0006}
.rk-trophies{display:grid;justify-items:center;flex:none}
.rk-count{display:flex;align-items:center;gap:5px;font:400 30px/1 var(--rk-display);color:#ffd24a;text-shadow:0 2px 0 var(--rk-ink),2px 0 0 var(--rk-ink),-2px 0 0 var(--rk-ink),0 -2px 0 var(--rk-ink);font-variant-numeric:tabular-nums}
.rk-count .icon{width:24px;height:24px;color:#ffd24a;stroke-width:2.2}
.rk-trophies small,.rk-tally-row small{font:700 10px/1.2 var(--font,system-ui);letter-spacing:.12em;text-transform:uppercase;color:#e0c49a}
.rk-progress{flex:1;min-width:0;display:grid;gap:6px}
.rk-progress small{font:600 12px/1.35 var(--font,system-ui);color:#f0dcb8}
.rk-bar{position:relative;height:14px;border:2px solid var(--rk-ink);border-radius:8px;background:#1a0b03;box-shadow:inset 0 2px 3px #000a;overflow:hidden}
.rk-bar>i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:linear-gradient(#ffe08f,#f0b955 50%,#c77f2e);box-shadow:inset 0 1px 0 #fff9}
/* season record: little brass plaques */
.rk-record{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0}
.rk-record>div{display:grid;justify-items:center;gap:2px;padding:6px 2px;border:2px solid var(--rk-ink);border-radius:7px;background:radial-gradient(ellipse at 50% 0,#fff8,#fff0 60%),linear-gradient(#f0d9a8,#c9974f);color:var(--rk-parch-ink);box-shadow:inset 0 1px 0 #fffa,0 2px 0 var(--rk-ink)}
.rk-record dt{font:800 9.5px/1.2 var(--font,system-ui);letter-spacing:.1em;text-transform:uppercase;color:#5a3a17}
.rk-record dd{display:flex;align-items:center;gap:2px;margin:0;font:400 19px/1.1 var(--rk-display);color:var(--rk-parch-ink)}
.rk-record dd .icon{width:14px;height:14px;color:#c0392b}
/* find / claim */
.rk-find{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:64px;padding:10px 16px;text-align:left}
.rk-find .icon{flex:none;width:28px;height:28px}
.rk-find span{display:grid;gap:3px;min-width:0}
.rk-find b{font:400 19px/1.1 var(--rk-display);letter-spacing:.02em}
.rk-find small{font:700 12px/1.3 var(--font,system-ui);opacity:.85}
/* an unclaimed season glows a few times (opacity only: composited, and it stops) */
.rk-claim{position:relative;isolation:isolate}
.rk-claim:after{content:'';position:absolute;inset:-5px;z-index:-1;border-radius:14px;box-shadow:0 0 18px 4px #ffd24a99;opacity:0;pointer-events:none;animation:rk-glow 1.6s ease-in-out 6 alternate}
@keyframes rk-glow{to{opacity:1}}
.rk-blocked{color:#f0dcb8}
/* rewards track: one medal per arena, gold and the season legendaries */
.rk-track-wrap{display:grid;gap:6px}
.rk-track-title{display:flex;align-items:center;gap:6px;margin:0;font:400 15px/1.2 var(--rk-display);letter-spacing:.02em;color:#ffe7c2}
.rk-track-title .icon{width:17px;height:17px;color:#ffd24a}
.rk-track-title small{font:600 11px var(--font,system-ui);color:#d9bf94}
.rk-track{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a07040 #2a180c;overscroll-behavior-x:contain}
.rk-track:focus-visible{outline:3px solid #ffd24a;outline-offset:2px;border-radius:8px}
.rk-node{position:relative;flex:0 0 68px;display:grid;justify-items:center;align-content:start;gap:3px;padding:6px 3px 7px;border:2px solid var(--rk-ink);border-radius:8px;background:var(--rk-grain),linear-gradient(#4b2e18,#3a2212);color:#d9c19a;scroll-snap-align:start;opacity:.82}
.rk-node-medal{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--rk-ink);border-radius:50%;background:radial-gradient(circle at 34% 28%,var(--m1),var(--m2) 50%,var(--m3));color:var(--rk-ink);font:400 11px/1 var(--rk-display);box-shadow:0 2px 0 var(--rk-ink)}
.rk-node-gold,.rk-node-legend{display:grid;place-items:center;height:36px}
.rk-node-gold .icon{width:22px;height:22px;color:#e8b64c}
.rk-node-legend{width:40px;border-radius:8px;background:radial-gradient(circle,#ffd24a66,#ffd24a00 70%)}
.rk-node-legend svg{max-width:36px;max-height:36px;filter:drop-shadow(0 0 3px #ffd24a)}
.rk-node-legend.owned{background:none}.rk-node-legend.owned svg{filter:grayscale(.2) drop-shadow(0 0 2px #fff6)}
.rk-node b{font:400 15px/1 var(--rk-display);color:#ffe08f;text-shadow:0 1px 0 var(--rk-ink)}
.rk-node small{display:flex;align-items:center;gap:2px;font:700 10px/1 var(--font,system-ui);color:#cdb189}
.rk-node small .icon{width:10px;height:10px}
.rk-node.reached{opacity:1;border-color:#2b1709;background:radial-gradient(ellipse at 50% 0,#fff4,#fff0 60%),linear-gradient(#8a5a2b,#5e3b1f);box-shadow:inset 0 0 0 1px #ffd24a88,0 0 10px #ffd24a44}
.rk-node.current{box-shadow:inset 0 0 0 2px #ffd24a,0 0 12px #ffd24a77}
.rk-node.current:after{content:'YOU';position:absolute;top:-9px;right:-4px;padding:1px 5px;border:2px solid var(--rk-ink);border-radius:4px;background:linear-gradient(#d24a37,#a82c1e);color:#fff3dc;font:400 10px/1.2 var(--rk-display);letter-spacing:.06em}
.rk-node.has-legend{flex-basis:74px}
.rk-honest{margin:0;font:500 11.5px/1.5 var(--font,system-ui)!important;color:#e0c9a4!important}

/* ---------- "this gladiator lives on this device" (save slots + one cloud gladiator) ---------- */
.rk-device{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:12px 14px;border:2px solid var(--rk-ink);border-radius:8px;background:radial-gradient(ellipse at 28% 18%,#fff8e2,#fff8e200 58%),linear-gradient(#f5e6c2,#ead29f);color:var(--rk-parch-ink);box-shadow:inset 0 1px 0 #fff,0 3px 0 var(--rk-ink),0 6px 12px #0005}
.rk-device>.icon{flex:none;width:26px;height:26px;margin-top:2px;color:#8c2318}
.rk-device>div{min-width:0}
.rk-device b{display:block;font:400 16px/1.25 var(--rk-display);letter-spacing:.01em;color:var(--rk-parch-ink)}
.rk-device p{margin:5px 0 0;font:500 13px/1.45 var(--font,system-ui);color:#4d3418}
.rk-device .online-row{margin:10px 0 0;gap:8px}
.rk-device .online-row>button{flex:1 1 150px;min-height:44px;font-size:13px}
.rk-device .secondary{color:var(--rk-parch-ink)}
.rk-locked{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border:2px dashed #e8bf7f80;border-radius:8px;background:#1a0b0366;color:#f3dfbd}
.rk-locked>.icon{flex:none;width:24px;height:24px;color:#f0c46a}
.rk-locked p{flex:1 1 200px;margin:0;font:500 13px/1.45 var(--font,system-ui)}
.rk-locked b{color:#fff0d2}
.rk-locked>button{flex:1 1 100%;min-height:48px}
.online-cloud .rk-device{margin:12px 0}

/* ---------- ranked matchmaking ---------- */
.rk-waiting .rk-stake{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:2px solid #2b1709;border-radius:999px;background:#2a180c;color:#ffe7c2;font-weight:700}
.rk-waiting .rk-stake .icon{width:16px;height:16px;color:#ffd24a}
.rk-waiting .rk-stake b{color:#ffd24a}

/* ---------- the ranked duel: a hanging pennant with the stake, and the trophy tally ---------- */
.online-duel.ranked-duel{position:relative}
.online-duel.ranked-duel .arena-location h2:after{content:var(--rk-arena,'The World Arena')}
.online-duel.ranked-duel .arena-location>span:after{content:'RANKED DUEL'}
.rk-pennant{position:absolute;top:var(--rk-pennant-top,100px);right:8px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:1px;width:64px;padding:5px 4px 16px;border:2px solid var(--rk-ink);border-top-width:4px;background:linear-gradient(#d24a37,#a82c1e 70%,#8c2318);color:#fff3dc;clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);box-shadow:inset 0 2px 0 #ffffff40;pointer-events:none;filter:drop-shadow(0 3px 2px #0007)}
.rk-pennant-top{display:flex;flex-direction:column;align-items:center;font:400 11px/1.1 var(--rk-display);letter-spacing:.06em;text-transform:uppercase;color:#ffe08f;text-shadow:0 1px 0 var(--rk-ink)}
.rk-pennant-top .icon{width:17px;height:17px;color:#ffd24a}
.rk-pennant>span:not(.rk-pennant-top){display:flex;align-items:baseline;gap:3px}
.rk-pennant b{font:400 17px/1.05 var(--rk-display);text-shadow:0 1px 0 var(--rk-ink)}
.rk-pennant small{font:700 9px/1 var(--font,system-ui);text-transform:uppercase;opacity:.85}
.rk-pennant .loss b{color:#ffd0c4}
.rk-tally{display:grid;gap:7px;margin:8px 0;padding:10px 12px;border:2px solid var(--rk-ink);border-radius:9px;background:var(--rk-grain),linear-gradient(#3a2212,#2a180c);box-shadow:inset 0 2px 4px #0006,0 2px 0 #0006;color:#fff0d2}
.rk-tally .eyebrow{display:flex;align-items:center;gap:5px;color:#ffd98f}
.rk-tally .eyebrow .icon{width:14px;height:14px}
.rk-tally.pending p{margin:0!important;font-weight:600;color:#e9d3ae}
.rk-tally-row{display:flex;align-items:center;gap:10px}
.rk-tally-count{font:400 32px/1 var(--rk-display);color:#ffd24a;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 var(--rk-ink),2px 0 0 var(--rk-ink),-2px 0 0 var(--rk-ink),0 -2px 0 var(--rk-ink);min-width:3ch}
.rk-delta{padding:2px 8px;border:2px solid var(--rk-ink);border-radius:6px;background:linear-gradient(#8bd35b,#4f9a2b);color:#fff;font:400 17px/1.2 var(--rk-display);text-shadow:0 1px 0 var(--rk-ink);box-shadow:0 2px 0 var(--rk-ink)}
.rk-delta.loss{background:linear-gradient(#e5705c,#a82c1e)}.rk-delta.even{background:linear-gradient(#c9a06a,#7a5530)}
.rk-tally .rk-bar>i{transition:none}
.rk-tally.rk-fresh .rk-delta{animation:rk-pop .5s cubic-bezier(.2,1.6,.4,1) .15s both}
.rk-tally.rk-fresh .rk-bar>i{animation:rk-fill 1.1s ease-out both}
@keyframes rk-pop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
@keyframes rk-fill{from{width:var(--from,0%)}}
.rk-promo{margin:0!important;display:flex;align-items:center;gap:6px;font:400 17px/1.25 var(--rk-display);color:#ffd24a;letter-spacing:.02em;text-shadow:0 1px 0 var(--rk-ink)}
.rk-promo .icon{flex:none;width:20px;height:20px}
.rk-promo.down{font:600 13px/1.4 var(--font,system-ui);color:#f0c7b8}
.rk-tally.promoted.rk-fresh .rk-promo{animation:rk-pop .6s cubic-bezier(.2,1.6,.4,1) 1s both}
.rk-tally.promoted{border-color:#2b1709;box-shadow:inset 0 0 0 2px #ffd24a88,0 0 16px #ffd24a55}

/* ---------- season results & rewards (dialog) ---------- */
.rk-sheet{display:grid;gap:10px;text-align:center}
.rk-sheet>*{margin:0}
.rk-sheet h2{font:400 clamp(24px,7vw,30px)/1.1 var(--rk-display);letter-spacing:.02em}
.rk-sheet h3{font:400 17px/1.2 var(--rk-display);letter-spacing:.02em;margin-top:4px}
.rk-sheet-arena{position:relative;display:flex;align-items:center;gap:12px;min-height:104px;padding:10px 14px 16px;border:3px solid var(--rk-ink);border-radius:10px;overflow:hidden;isolation:isolate;text-align:left}
.rk-sheet-arena:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a0b0300 10%,#1a0b03b8 60%)}
.rk-sheet-arena>div{display:grid;gap:2px;margin-left:auto;text-align:right;color:#fff5de}
.rk-sheet-arena small{font:800 11px/1.2 var(--font,system-ui);letter-spacing:.1em;text-transform:uppercase;color:#ffd98f}
.rk-sheet-arena b{font:400 21px/1.1 var(--rk-display);color:#fff;text-shadow:0 2px 0 var(--rk-ink),2px 0 0 var(--rk-ink),-2px 0 0 var(--rk-ink),0 -2px 0 var(--rk-ink)}
.rk-sheet .rk-record{grid-template-columns:repeat(4,minmax(0,1fr))}
.rk-reset{display:flex;align-items:flex-start;gap:7px;text-align:left;font-size:13px;line-height:1.45}
.rk-reset .icon{flex:none;width:18px;height:18px;margin-top:1px}
.rk-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0;list-style:none}
.rk-rewards li{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border:2px solid var(--rk-ink);border-radius:8px;background:radial-gradient(ellipse at 50% 0,#fff8,#fff0 60%),linear-gradient(#f0d9a8,#c9974f);color:var(--rk-parch-ink);font-weight:700;box-shadow:inset 0 1px 0 #fffa,0 2px 0 var(--rk-ink)}
.rk-rewards li .icon{width:20px;height:20px;color:#7a4a1e}
.rk-rewards b{font:400 18px/1 var(--rk-display)}
.rk-rewards .rk-legend{flex-basis:100%;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#fff6c9,#fff0 65%),linear-gradient(#ffe08f,#e0a33a);box-shadow:inset 0 1px 0 #fffa,0 2px 0 var(--rk-ink),0 0 14px #ffd24a88}
.rk-rewards .rk-legend svg{width:40px;height:40px;filter:drop-shadow(0 0 3px #fff)}
.rk-rewards .rk-legend span{display:grid;text-align:left}
.rk-rewards .rk-legend small{font:800 10px/1.2 var(--font,system-ui);letter-spacing:.12em;color:#8c2318}
.rk-legend-art{display:grid;place-items:center;min-height:110px}
.rk-legend-art svg{width:96px;height:96px;filter:drop-shadow(0 0 8px #ffd24a)}
.rk-next-reveal{margin-top:10px}

/* ---------- server ranked (game server 8.1.0+): the rank plaque, the last duel, the matchmaking range, the rival line ---------- */
.rk-emblem.tiny{width:22px;height:22px;border-width:2px;box-shadow:inset 0 0 0 2px #ffffff40,0 1px 0 var(--rk-ink)}
.rk-emblem.tiny:before,.rk-emblem.tiny i{display:none}.rk-emblem.tiny .icon{width:13px;height:13px;stroke-width:2.4;filter:none}
.rk-court .rk-rank{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:0;padding:7px 12px;border:2px solid var(--rk-ink);border-radius:8px;background:radial-gradient(ellipse at 50% 0,#fff8,#fff0 60%),linear-gradient(#f0d9a8,#c9974f);color:var(--rk-parch-ink);font:600 13px/1.3 var(--font,system-ui);text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:inset 0 1px 0 #fffa,0 2px 0 var(--rk-ink)}
.rk-court .rk-rank>.icon{flex:none;width:20px;height:20px;color:#8c2318}
.rk-court .rk-rank>span{flex:1;min-width:0}
.rk-court .rk-rank b{font:400 18px/1 var(--rk-display);color:var(--rk-parch-ink);margin-right:2px}
.rk-court .rk-rank>.icon:last-child{width:16px;height:16px;color:#5a3a17}
.rk-court .rk-rank:focus-visible{outline:3px solid #ffd24a;outline-offset:2px}
.rk-court .rk-last{display:flex;align-items:center;gap:7px;margin:0;font:600 12.5px/1.4 var(--font,system-ui);color:#f0dcb8}
.rk-court .rk-last .icon{flex:none;width:16px;height:16px;color:#ffd24a}
.rk-court .rk-last b{color:#fff0d2}
.rk-court .rk-tally-lobby{margin:0}
.rk-court.rk-loading{min-height:140px;justify-content:center}
.rk-court .rk-find.secondary{min-height:56px}
.rk-waiting .rk-range{margin:10px auto;padding:7px 12px;max-width:440px;border:2px dashed #e8bf7f80;border-radius:8px;font-weight:700;color:#ffe7c2;font-variant-numeric:tabular-nums}
.rk-waiting>.rk-emblem.big{margin-bottom:22px}
.battle-stage.ranked-duel .online-turn>div:first-child{flex-wrap:wrap;row-gap:2px}
.online-turn .rk-vs{display:flex;flex:1 0 100%;align-items:center;gap:5px;margin:2px 0 0;min-width:0;font:600 11.5px/1.3 var(--font,system-ui);color:#e9d3ae}
.online-turn .rk-vs>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.online-turn .rk-vs b{display:inline;margin:0;font:inherit;font-weight:800;color:#ffd24a}

/* ---------- the season board (hall of fame, third board): the season picker, trophies with arena emblems ---------- */
.leaderboard-modes.rk-three{gap:6px}.leaderboard-modes.rk-three>button{padding:10px 8px;white-space:nowrap}
.rk-picker{display:flex;align-items:stretch;gap:8px;margin:0 0 14px}
.rk-picker-step{flex:none;display:grid;place-items:center;width:48px;min-height:52px;padding:0;border:2px solid var(--rk-ink);border-radius:9px;background:var(--rk-grain),linear-gradient(#7a4d2a,#5e3b1f 60%,#4b2e18);color:#ffe08f;box-shadow:inset 0 1px 0 #ffd79a55,0 3px 0 var(--rk-ink);cursor:pointer}
.rk-picker-step .icon{width:22px;height:22px}.rk-picker-step:last-child .icon{transform:scaleX(-1)}
.rk-picker-step:disabled{opacity:.38;cursor:default;box-shadow:none}
.rk-picker-step:focus-visible{outline:3px solid #ffd24a;outline-offset:2px}
.rk-picker-label{flex:1;min-width:0;display:grid;justify-items:center;align-content:center;gap:3px;padding:6px 10px 8px;border:2px solid var(--rk-ink);border-radius:4px;background:linear-gradient(#d24a37,#a82c1e 70%,#8c2318);color:#fff3dc;text-align:center;box-shadow:inset 0 2px 0 #ffffff40,inset 0 -3px 0 #0003}
.rk-picker-label b{font:400 17px/1.15 var(--rk-display);letter-spacing:.02em;text-shadow:0 2px 0 var(--rk-ink)}
.rk-picker-label small{font:700 11.5px/1.25 var(--font,system-ui);color:#ffe7c2}
.rk-picker-label time{font-variant-numeric:tabular-nums;color:#fff}
.rk-podium .rk-podium-emblem{display:grid;place-items:center;margin:0 auto 10px}
.rk-podium .podium-place>strong{font-variant-numeric:tabular-nums}
.rk-me .leaderboard-my-rank>.rk-emblem{flex:none}
.leaderboard-table.rk-table th:nth-child(1),.leaderboard-table.rk-table td:nth-child(1){width:16%}
.leaderboard-table.rk-table th:nth-child(2){width:42%}
.leaderboard-table.rk-table th:nth-child(3),.leaderboard-table.rk-table td:nth-child(3){width:24%}
.leaderboard-table.rk-table th:last-child,.leaderboard-table.rk-table td:last-child{width:18%}
.rk-table .rk-cell-trophies{white-space:nowrap;font-variant-numeric:tabular-nums}
.rk-table .rk-cell-trophies .rk-emblem{display:inline-grid;vertical-align:middle;margin:-3px 6px 0 0}
.rk-table .rk-cell-trophies b{font-weight:800}
.rk-table .rk-cell-wld{white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- server season sheet ---------- */
.rk-sheet-dates{font:600 12.5px/1.3 var(--font,system-ui);opacity:.8}
.rk-sheet .rk-cloud-only{padding:9px 11px;border:2px dashed currentColor;border-radius:8px}
.rk-sheet .rk-cloud-only .icon{color:#8c2318}
.rk-sheet .rk-claim-error{text-align:left;margin:0}
.rk-sheet .rk-blocked-dark{margin:-4px 0 0}

/* ---------- small screens, landscape phones, reduced motion ---------- */
@media (max-width:420px){.leaderboard-modes.rk-three{gap:5px}.leaderboard-modes.rk-three>button{padding:8px 5px;gap:4px;font-size:12px;line-height:1.15;text-align:center;white-space:normal}.leaderboard-modes.rk-three>button>.icon{flex:none;width:14px;height:14px}.rk-picker-step{width:44px}.rk-picker-label b{font-size:15.5px}.leaderboard-table.rk-table th:nth-child(1),.leaderboard-table.rk-table td:nth-child(1){width:15%}.leaderboard-table.rk-table th:nth-child(2){width:39%}.leaderboard-table.rk-table th:nth-child(3),.leaderboard-table.rk-table td:nth-child(3){width:26%}.leaderboard-table.rk-table th:last-child,.leaderboard-table.rk-table td:last-child{width:20%}.rk-table .rk-cell-trophies .rk-emblem{width:18px;height:18px;margin-right:4px}.rk-table .rk-cell-trophies .rk-emblem .icon{width:11px;height:11px}}
@media (max-width:400px){.rk-court{padding:10px 9px}.rk-arena{min-height:104px;gap:8px;padding:8px 10px}.rk-emblem{width:66px;height:66px}.rk-emblem .icon{width:30px;height:30px}.rk-record{gap:4px}.rk-record dd{font-size:17px}.rk-modes b{font-size:15px}.rk-modes small{font-size:10.5px}.rk-count{font-size:26px}.rk-season>b{font-size:15.5px}}
/* landscape phones: the arena takes the left 60% (battle-stage.css), so the pennant hangs at the arena's right edge, not over the controls */
@media (orientation:landscape) and (max-height:500px),(orientation:landscape) and (max-height:700px) and (min-aspect-ratio:4/3){.online-duel.ranked-duel>.rk-pennant{right:calc(40% + 10px);--rk-pennant-top:96px;width:58px}}
@media (orientation:landscape) and (max-height:500px){.rk-arena{min-height:100px}}
html[data-motion=off] .rk-claim:after,html[data-motion=off] .rk-tally *{animation:none!important}
html[data-motion=off] .rk-claim:after{opacity:.8}
