/* =========================================================
   Asianrisk Rewards — Asianrisk × Roobet
   Chinatown night theme. Layout language from Stell, exclusives + socials from Fred.
   Fonts: Bungee (display), Fredoka (UI), Figtree (body), ZCOOL QingKe HuangYou (CJK signs)
   ========================================================= */
@font-face{font-family:'Bungee';src:url(fonts/bungee-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fredoka';src:url(fonts/fredoka-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Fredoka';src:url(fonts/fredoka-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Fredoka';src:url(fonts/fredoka-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-800-normal.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'Figtree';src:url(fonts/figtree-latin-900-normal.woff2) format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'Seal TC';src:url(fonts/seal-sub.woff2) format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'ZCOOL QingKe HuangYou';src:url(fonts/zcool-sub.woff2) format('woff2');font-weight:400;font-display:swap}

:root{
  --bg:#0d0717;--bg-2:#120a1f;--panel:#1a0e2a;--panel-2:#24123a;--panel-3:#2e1748;
  --line:rgba(245,183,49,.14);--line-2:rgba(245,183,49,.28);--line-3:rgba(245,183,49,.5);
  --red:#e3262e;--red-hi:#ff5a45;--red-dk:#8c0f1c;--red-ink:#3a0a14;
  --gold:#f5b731;--gold-hi:#ffe08a;--gold-dk:#a86a07;
  --jade:#3fb397;--cyan:#36c8ff;--roo:#2e1660;
  --text:#fff4e6;--muted:#d2bfda;--dim:#a690b4;
  --kick:#53fc18;--discord:#5865f2;
  --display:'Bungee',Impact,sans-serif;
  --ui:'Fredoka','Figtree',system-ui,sans-serif;
  --body:'Figtree',system-ui,sans-serif;
  --seal:'Seal TC','Noto Serif TC','Songti TC',serif;
  --cjk:'ZCOOL QingKe HuangYou','Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-weight:500;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--gold-hi);text-decoration:none}
a:hover{color:#fff}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--gold);color:#2a1206;font-weight:800}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;position:relative;z-index:2}
.sec{position:relative;overflow:hidden}
.i{width:20px;height:20px;flex:none}

/* ---------- pinned header (Stell) ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1520px;margin:0 auto;padding:18px 40px;isolation:isolate;transition:padding .35s ease}
.top::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:linear-gradient(180deg,rgba(18,8,30,.9),rgba(13,7,23,.78));-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 1px 0 rgba(245,183,49,.16),0 14px 34px rgba(0,0,0,.4);opacity:0;transition:opacity .35s ease}
.top::after{content:"";position:absolute;left:calc(50% - 50vw);right:calc(50% - 50vw);bottom:-6px;height:6px;background:url(art/fret.svg) 0 0/24px 12px repeat-x;opacity:0;transition:opacity .35s ease}
.top.scrolled{padding-top:10px;padding-bottom:10px}
.top.scrolled::before,.top.scrolled::after{opacity:1}
.top.scrolled::after{opacity:.35}
.top-l{display:flex;align-items:center;gap:22px;min-width:0}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand img{width:46px;height:46px;border-radius:50%;box-shadow:0 0 0 2px var(--gold),0 0 18px rgba(245,183,49,.4)}
.bn{font-family:var(--display);font-size:21px;line-height:1;color:#fff;white-space:nowrap;text-shadow:0 2px 0 var(--red-ink),0 0 18px rgba(0,0,0,.4)}
.bn em{font-style:normal;color:var(--gold)}
.pillnav{display:flex;align-items:center;gap:2px;padding:5px;border-radius:999px;background:rgba(26,12,40,.55);border:1px solid rgba(245,183,49,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}
.pillnav a{display:flex;align-items:center;gap:9px;white-space:nowrap;min-height:44px;padding:0 18px 0 12px;border-radius:999px;font-family:var(--ui);font-size:16px;font-weight:600;color:#e3d2ea;transition:background .25s,color .25s}
.pillnav a:hover{background:rgba(245,183,49,.1);color:#fff}
.pillnav a.on{background:linear-gradient(180deg,#b5121f,#7c0c18);color:#fff;box-shadow:inset 0 1px 0 rgba(255,200,160,.35),inset 0 0 0 1px rgba(245,183,49,.45),0 4px 12px rgba(0,0,0,.3)}
.seal{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;font-family:var(--seal);font-weight:900;font-size:14px;line-height:1;color:var(--gold-hi);background:rgba(227,38,46,.22);box-shadow:inset 0 0 0 1px rgba(245,183,49,.35);flex:none}
.pillnav a.on .seal{background:rgba(255,224,138,.16);color:#fff}
.pillnav .chip{margin-left:2px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:20px;color:#3a1a02;background:var(--gold)}
.btn-join{min-height:48px;padding:0 20px;font-size:17px;border-radius:16px}
.top-space{height:84px;flex:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:0;border-radius:16px;font-family:var(--ui);font-size:17px;font-weight:600;letter-spacing:.005em;cursor:pointer;transition:transform .2s,filter .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);filter:brightness(1.07)}
.btn:active{transform:translateY(3px)}
.btn svg{width:20px;height:20px;flex:none}
.btn .roo{width:22px;height:22px}
.btn-go{background:linear-gradient(180deg,#ffe9a0 0%,#ffcb45 42%,#f0a51c 100%);color:#3a1a02;box-shadow:inset 0 2px 0 rgba(255,255,255,.65),0 5px 0 #a86a07,0 12px 26px rgba(245,183,49,.28)}
.btn-go:hover{color:#3a1a02}
.btn-red{background:linear-gradient(180deg,#ff5a45 0%,#e3262e 48%,#b5121f 100%);color:#fff;box-shadow:inset 0 2px 0 rgba(255,210,180,.55),inset 0 0 0 1px rgba(255,224,138,.35),0 5px 0 #6e0a14,0 12px 26px rgba(227,38,46,.3)}
.btn-red:hover{color:#fff}
.btn-plum{background:linear-gradient(180deg,#3d1d5e,#25113d);color:#fff;box-shadow:inset 0 2px 0 rgba(220,180,255,.22),inset 0 0 0 1px rgba(245,183,49,.25),0 5px 0 #12081f,0 12px 26px rgba(0,0,0,.3)}
.btn-plum:hover{color:#fff}
.btn-lg{min-height:60px;padding:0 28px;font-size:19px;border-radius:18px}
.btn-sm{min-height:46px;padding:0 18px;font-size:15px;border-radius:14px}
.btn-kick{background:linear-gradient(180deg,#8dff5c,#53fc18 50%,#33c80a);color:#071a02;box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 5px 0 #1f7a06,0 12px 26px rgba(83,252,24,.22)}
.btn-kick:hover{color:#071a02}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;min-height:max(900px,100vh);display:flex;flex-direction:column;background:#120824}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;pointer-events:none}
.hero-vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 50% at 50% 60%,rgba(13,7,23,.5),transparent 75%),linear-gradient(180deg,rgba(13,7,23,.6) 0%,transparent 16%,transparent 74%,var(--bg) 100%)}
#sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-mid{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 16px 110px}
.hstage{--cw:min(880px,calc(100vw - 32px));position:relative;width:var(--cw)}
.hcard{position:relative;z-index:1;padding:70px 48px 38px;border-radius:30px;text-align:center;background:linear-gradient(180deg,rgba(40,16,58,.34),rgba(18,8,30,.5));border:1px solid rgba(245,183,49,.32);box-shadow:inset 0 1px 0 rgba(255,230,180,.16),inset 0 0 0 6px rgba(13,7,23,.35),inset 0 0 0 7px rgba(245,183,49,.16),0 30px 80px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2.5px) saturate(1.1);backdrop-filter:blur(2.5px) saturate(1.1)}
.hcard::before,.hcard::after{content:"";position:absolute;width:46px;height:46px;pointer-events:none;border:3px solid var(--gold);opacity:.6}
.hcard::before{left:14px;bottom:14px;border-right:0;border-top:0;border-radius:0 0 0 10px}
.hcard::after{right:14px;bottom:14px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.medal-av{position:absolute;left:50%;top:-58px;width:116px;height:116px;margin-left:-58px;display:grid;place-items:center;z-index:2}
.medal-av img{width:104px;height:104px;border-radius:50%;box-shadow:0 0 0 3px #1a0a28,0 0 0 5px var(--gold),0 0 0 6px rgba(90,40,4,.8),0 0 36px rgba(255,170,60,.35),0 16px 30px rgba(0,0,0,.55);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.medal-av:hover img{transform:scale(1.05)}
.hchip{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:6px 16px;border-radius:999px;background:rgba(13,7,23,.55);border:1px solid rgba(245,183,49,.24);font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.16em;color:#ead9ef}
.hchip .x{color:var(--dim);letter-spacing:0}
.hchip a{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:16px;letter-spacing:.02em;color:var(--gold)}
.hchip a img{width:22px;height:22px}
.title{margin:0;font-family:var(--display);font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.tl{display:grid;justify-items:center}
.tl>span{grid-area:1/1}
.t-gold{font-size:clamp(34px,9.6vw,104px)}
.t-red{font-size:clamp(30px,8vw,86px);margin-top:.04em}
.t-gold .ex{color:var(--red-ink);-webkit-text-stroke:.14em var(--red-ink);text-shadow:0 .05em 0 var(--red-ink),0 .09em 0 #2a0610,0 .13em 0 #1c040b,0 .2em .3em rgba(0,0,0,.5)}
.t-gold .fx{background:linear-gradient(180deg,rgba(255,255,255,.3) 0 44%,transparent 44%),linear-gradient(180deg,#fff6d0 0%,#ffd860 34%,#f5a623 70%,#c9780a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.t-red .ex{color:var(--gold);-webkit-text-stroke:.14em var(--gold);text-shadow:0 .05em 0 #c9780a,0 .09em 0 #8a4f04,0 .13em 0 #5a3202,0 .2em .3em rgba(0,0,0,.5)}
.t-red .fx{background:linear-gradient(180deg,rgba(255,255,255,.28) 0 46%,transparent 46%),linear-gradient(180deg,#ffb09a 0%,#ff5a45 32%,#e3262e 64%,#a3141f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{margin:18px auto 0;max-width:600px;font-size:19px;color:#f3e4f4;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.sub strong{color:var(--gold-hi);font-weight:800}
.ctas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:24px}
.cue{position:absolute;left:50%;bottom:30px;z-index:3;width:44px;height:44px;margin-left:-22px;display:grid;place-items:center;color:#ead9ef;animation:cue 2.2s ease-in-out infinite}
.cue svg{width:22px;height:22px}
@keyframes cue{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}

/* code plaque — display only, no copy */
.plaque{position:relative;display:inline-flex;align-items:center;gap:16px;min-height:60px;padding:8px 22px 8px 10px;border-radius:14px;background:linear-gradient(180deg,#c41a26,#7c0c18);box-shadow:inset 0 0 0 2px var(--gold),inset 0 0 0 5px #8c0f1c,inset 0 0 0 6px rgba(255,224,138,.5),0 10px 26px rgba(227,38,46,.35);text-align:left;rotate:-1.2deg;transition:rotate .35s cubic-bezier(.34,1.56,.64,1)}
.plaque:hover{rotate:.8deg}
.plaque .pl-seal{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:var(--gold);color:#7c0c18;font-family:var(--seal);font-weight:900;font-size:22px;line-height:1;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.plaque .pl-k{display:block;font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:.18em;color:#ffd7c4;text-transform:uppercase;line-height:1.2}
.plaque .pl-v{display:block;font-family:var(--display);font-size:26px;line-height:1.05;color:var(--gold-hi);text-shadow:0 2px 0 #4a0710;letter-spacing:.02em}
.plaque.big .pl-v{font-size:clamp(28px,4vw,40px)}
.plaque.big{min-height:76px;padding:10px 28px 10px 12px}
.plaque.big .pl-seal{width:54px;height:54px;font-size:28px}

/* ---------- section heads ---------- */
.section{padding:84px 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:36px}
.sec-head>div{display:flex;flex-direction:column;gap:12px;min-width:0}
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.eyebrow .seal{width:30px;height:30px;font-size:17px;border-radius:7px;background:var(--red);color:#fff4d6;box-shadow:inset 0 0 0 2px rgba(255,224,138,.55),0 0 18px rgba(227,38,46,.5);rotate:-6deg}
.eyebrow::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,42px);line-height:1.12;letter-spacing:0;text-wrap:balance}
.h2 .hl{color:var(--red-hi)}
.h2 .hg{color:var(--gold)}
.lead{font-size:17px;line-height:1.55;color:var(--muted);max-width:640px}
.lead b,.lead strong{color:var(--gold-hi)}
.link{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:600;font-size:16px;color:var(--gold-hi)}
.link svg{width:18px;height:18px;transition:transform .25s}
.link:hover svg{transform:translateX(4px)}
.soft-bg{position:absolute;inset:0;pointer-events:none;background:url(art/clouds.svg) 0 0/220px auto repeat;opacity:.05}
.glow-red{position:absolute;pointer-events:none;width:900px;height:600px;border-radius:50%;background:radial-gradient(closest-side,rgba(227,38,46,.18),transparent);filter:blur(10px)}

/* ---------- leaderboard preview card (Stell) ---------- */
.lbx{position:relative}
.lbx.carded{border-radius:32px;padding:40px 44px 34px;background:radial-gradient(60% 40% at 50% 0%,rgba(245,183,49,.08),transparent 70%),linear-gradient(180deg,rgba(46,20,72,.72),rgba(18,8,30,.9));box-shadow:inset 0 0 0 1px rgba(245,183,49,.24),inset 0 1px 0 rgba(255,230,180,.18),0 40px 90px rgba(0,0,0,.45)}
.lbx.carded::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--red-hi),var(--gold),var(--red-hi),transparent)}
.lbx>*{position:relative;z-index:1}
.lbx>.lx-deco{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.lx-spot{position:absolute;left:50%;top:0;width:640px;height:86%;margin-left:-320px;background:radial-gradient(50% 42% at 50% 62%,rgba(245,183,49,.16),transparent 70%),linear-gradient(180deg,rgba(255,90,69,.12),rgba(245,183,49,.05) 60%,transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);filter:blur(18px)}
.lx-char{position:absolute;right:-10px;top:-18px;font-family:var(--cjk);font-size:180px;line-height:1;color:rgba(245,183,49,.05);writing-mode:vertical-rl;letter-spacing:-.05em}
.lbx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.lbx-head>div:first-child{display:flex;flex-direction:column;gap:12px;min-width:0}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:999px;background:rgba(13,7,23,.6);border:1px solid rgba(245,183,49,.22);font-family:var(--ui);font-weight:600;font-size:14px;color:#ead9ef}
.pill b{font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 4px rgba(63,179,151,.2);animation:pulse 1.8s ease-in-out infinite}
.pill.preview .dot{background:var(--gold);box-shadow:0 0 0 4px rgba(245,183,49,.2)}
.pill.ended .dot{background:var(--dim);box-shadow:none;animation:none}
.pill svg{width:16px;height:16px;color:var(--gold)}
@keyframes pulse{50%{opacity:.4}}
.pool{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:16px 22px;border-radius:22px;background:rgba(13,7,23,.6);box-shadow:inset 0 0 0 1px rgba(245,183,49,.32),0 0 40px rgba(245,183,49,.1)}
.label{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--dim);text-transform:uppercase}
.pool-v{font-family:var(--display);font-size:clamp(34px,4.2vw,50px);line-height:1;background:linear-gradient(180deg,#fff6d0,#ffcb45 55%,#e0901a);-webkit-background-clip:text;background-clip:text;color:transparent}
.pool-s{font-family:var(--ui);font-weight:600;font-size:14px;color:var(--muted)}
.t1{--t:#ffcb45}
.t2{--t:#d6dbe8}
.t3{--t:#ef9a62}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end;margin-top:48px}
.pc{--t:#ffcb45;--m:linear-gradient(135deg,#fff3c4,#f5b731 38%,#a86a07 68%,#ffe08a);position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 26px;border-radius:14px;text-align:center;min-width:0;
  border:3px solid transparent;background:radial-gradient(90% 55% at 50% 0%,color-mix(in srgb,var(--t) 26%,transparent),transparent 72%) padding-box,linear-gradient(180deg,#2c1444,#140a22 80%) padding-box,var(--m) border-box;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.85),0 0 46px -16px var(--t);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.pc:hover{transform:translateY(-6px);box-shadow:0 36px 70px -30px rgba(0,0,0,.9),0 0 60px -10px var(--t)}
.pc::before{content:"";position:absolute;inset:9px;border-radius:6px;border:1.5px solid color-mix(in srgb,var(--t) 50%,transparent);box-shadow:inset 0 0 0 4px rgba(10,5,18,.35),inset 0 0 0 5px color-mix(in srgb,var(--t) 16%,transparent);pointer-events:none;z-index:-1}
.pc-fr{position:absolute;width:44px;height:44px;background:var(--m);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 56 56%22%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22square%22%3E%3Cpath d=%22M1.5 54.5V1.5h53%22/%3E%3Cpath d=%22M8 40V8h32%22/%3E%3Cpath d=%22M8 8%22/%3E%3Cpath d=%22M14 30V14h16v10h-8v-4%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3Cpath d=%22M1.5 47l4 4-4 4-4-4z%22 transform=%22translate%280 -1%29%22/%3E%3Cpath d=%22M47 1.5l4-4 4 4-4 4z%22 transform=%22translate%28-1 0%29%22/%3E%3Ccircle cx=%228%22 cy=%2246%22 r=%222.4%22/%3E%3Ccircle cx=%2246%22 cy=%228%22 r=%222.4%22/%3E%3C/g%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 56 56%22%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22square%22%3E%3Cpath d=%22M1.5 54.5V1.5h53%22/%3E%3Cpath d=%22M8 40V8h32%22/%3E%3Cpath d=%22M8 8%22/%3E%3Cpath d=%22M14 30V14h16v10h-8v-4%22/%3E%3C/g%3E%3Cg fill=%22%23000%22%3E%3Cpath d=%22M1.5 47l4 4-4 4-4-4z%22 transform=%22translate%280 -1%29%22/%3E%3Cpath d=%22M47 1.5l4-4 4 4-4 4z%22 transform=%22translate%28-1 0%29%22/%3E%3Ccircle cx=%228%22 cy=%2246%22 r=%222.4%22/%3E%3Ccircle cx=%2246%22 cy=%228%22 r=%222.4%22/%3E%3C/g%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none;z-index:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.6))}
.pc-fr.tl{left:8px;top:8px}.pc-fr.tr{right:8px;top:8px;transform:scaleX(-1)}.pc-fr.bl{left:8px;bottom:8px;transform:scaleY(-1)}.pc-fr.br{right:8px;bottom:8px;transform:scale(-1,-1)}
.pc1 .pc-fr{width:54px;height:54px}
.pc::after{content:"";position:absolute;inset:0;z-index:-1;background:url(art/clouds-dim.svg) 0 0/170px auto;opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);mask-image:linear-gradient(180deg,#000,transparent 60%)}
.t1{--t:#ffcb45;--m:linear-gradient(135deg,#fff3c4,#f5b731 38%,#a86a07 68%,#ffe08a)}
.t2{--t:#d6dbe8;--m:linear-gradient(135deg,#ffffff,#c8ceda 38%,#6c7486 68%,#eef1f6)}
.t3{--t:#ef9a62;--m:linear-gradient(135deg,#ffe0c8,#e0905a 38%,#7a3a18 68%,#ffc9a0)}
.pc1{order:2}.pc2{order:1}.pc3{order:3}
.pc-cjk{position:absolute;right:-8px;top:38px;z-index:-1;font-family:var(--seal);font-weight:900;font-size:150px;line-height:1;color:var(--t);opacity:.07;pointer-events:none}
.pc-ribbon{padding:8px 20px 9px;border-radius:0 0 14px 14px;background:var(--m);color:#2a1406;font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 6px 14px rgba(0,0,0,.35)}
.pc-ava{display:block;width:84px;height:84px;margin-top:22px;border-radius:22px;box-shadow:0 14px 26px rgba(0,0,0,.5)}
.pc-ava .tok{border-radius:inherit;font-size:34px}
.pc1 .pc-ava{width:104px;height:104px;margin-top:28px;border-radius:26px}.pc1 .pc-ava .tok{font-size:44px}
.pc-name{margin-top:14px;max-width:100%;font-family:var(--ui);font-weight:600;font-size:22px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc1 .pc-name{font-size:26px}
.pc-w{font-size:14px;color:var(--muted);font-weight:600}
.pc-w b{color:#fff;font-weight:800}
.pc-prize{align-self:stretch;display:flex;align-items:baseline;justify-content:center;gap:10px;margin:18px -26px 0;padding:14px 12px 16px;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.42));border-top:1px solid color-mix(in srgb,var(--t) 35%,transparent)}
.pc-prize span{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pc-prize b{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;background:var(--m);-webkit-background-clip:text;background-clip:text;color:transparent}
.pc1 .pc-prize{padding:18px 12px 20px}.pc1 .pc-prize b{font-size:40px}
.runs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:860px;margin:22px auto 0}
.run{display:flex;align-items:center;gap:14px;padding:10px 16px;border-radius:18px;background:rgba(26,12,40,.7);box-shadow:inset 0 0 0 1px rgba(245,183,49,.14);transition:box-shadow .3s,transform .3s;min-width:0}
.run:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(245,183,49,.45)}
.run-n{font-family:var(--display);font-size:18px;color:var(--dim);width:38px;flex:none}
.run-a{width:42px;height:42px;border-radius:13px;flex:none}
.run-who{display:flex;flex-direction:column;min-width:0;flex:1}
.run-who b{font-family:var(--ui);font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.run-who small{font-size:12.5px;color:var(--muted);font-weight:600}
.run-p{font-family:var(--display);font-size:15px;color:var(--gold)}
.lbx-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:28px;padding-top:22px;box-shadow:inset 0 1px 0 rgba(245,183,49,.14)}
.lbx-foot p{font-size:15px;color:var(--muted);font-weight:500}
.disclose{margin-top:22px;padding:16px 18px;border-radius:16px;background:rgba(13,7,23,.55);box-shadow:inset 0 0 0 1px rgba(245,183,49,.14);font-size:13.5px;line-height:1.6;color:var(--muted)}
.disclose p+p,.disclose p+ul,.disclose ul+p{margin-top:8px}
.disclose ul{margin:6px 0 0;padding-left:18px}
.disclose b{color:var(--text)}
.disclose.big{font-size:15px;padding:22px 24px}

/* letter avatars (privacy-safe) */
.tok{--a:#e3262e;--b:#6e0a14;position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;font-family:var(--display);color:#fff4d6;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.35);
  background:linear-gradient(180deg,var(--a),var(--b));box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.tok.v1{--a:#e3262e;--b:#6e0a14}.tok.v2{--a:#2fa585;--b:#0c3a33}.tok.v3{--a:#7a3fd0;--b:#2a1050}.tok.v4{--a:#e09a1c;--b:#7a4304}.tok.v5{--a:#2f7fd0;--b:#102a5a}.tok.v6{--a:#d03a80;--b:#5a0a30}
.run-a{display:block;width:42px;height:42px;border-radius:13px;flex:none}.run-a .tok{font-size:18px}
.board .p .tok-w{display:block;width:40px;height:40px;border-radius:12px;flex:none}.board .p .tok{font-size:17px}
.raw{display:block;font-size:12px;font-weight:600;color:var(--dim);letter-spacing:.02em}
.raw b{font-weight:700;color:var(--muted)}
.st-w b{color:#fff}
.th-sub{display:block;font-size:10.5px;letter-spacing:.1em;color:#7d6890;margin-top:2px}

/* ---------- Asianrisk exclusives (Fred) ---------- */
.xc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.xcard{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:18px;min-height:300px;padding:34px 30px;border-radius:26px;border:1px solid var(--line-2);transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .25s}
.xcard:hover{transform:translateY(-6px);border-color:var(--line-3)}
.xcard::before{content:"";position:absolute;inset:0;z-index:-1;background:url(art/clouds.svg) 0 0/200px auto repeat;opacity:.07}
.xcard::after{content:"";position:absolute;left:0;right:0;top:0;height:12px;z-index:-1;background:url(art/fret.svg) 0 0/24px 12px repeat-x;opacity:.35}
.xc-a{background:radial-gradient(60% 80% at 85% 50%,rgba(255,90,69,.32),transparent 70%),linear-gradient(135deg,#5a0b18,#24081a 70%)}
.xc-b{background:radial-gradient(60% 80% at 85% 50%,rgba(245,183,49,.24),transparent 70%),linear-gradient(135deg,#3a1a52,#160a24 70%)}
.xc-copy{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.sticker{display:inline-block;font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:7px;background:var(--gold);color:#3a1a02;rotate:-3deg;box-shadow:0 3px 0 var(--gold-dk)}
.sticker.red{background:var(--red);color:#fff4e6;box-shadow:0 3px 0 var(--red-dk)}
.xcard h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.02;color:#fff;text-shadow:0 3px 0 rgba(40,4,10,.7)}
.xcard h3 span{color:var(--gold)}
.xcard p{font-size:16px;line-height:1.55;color:#f0dfee;max-width:40ch}
.xcard p b{color:var(--gold-hi)}
.xc-art{position:relative;flex:none;width:190px;height:190px}
.xc-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.5))}
.xc-art .disc{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,200,90,.28),transparent 72%)}
.xc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:22px;font-size:14px;color:var(--dim)}
.xc-foot p{display:flex;align-items:center;gap:8px}
.xc-foot svg{width:18px;height:18px;color:var(--gold)}

/* ---------- reward cards (Stell bento) ---------- */
.rgrid{display:grid;gap:18px}
.rgrid.feat{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.rgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.rgrid.one{grid-template-columns:minmax(0,1fr);margin-bottom:18px}
.rw-wide .bonus-tiers{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:6px}
.rw-wide .bonus-tiers li{flex:1 1 220px;flex-direction:column;align-items:flex-start;gap:2px}
.rw-wide .bonus-tiers span{text-align:left}
.rw-wide .ic{width:210px;height:210px}
.rw{--a:var(--gold);--a2:var(--red-hi);position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:28px;border:1px solid color-mix(in srgb,var(--a) 28%,rgba(255,255,255,.06));background:var(--bg-card);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 24px 44px rgba(0,0,0,.38);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,opacity .8s ease}
.rw:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 32px 58px rgba(0,0,0,.48),0 0 0 1px color-mix(in srgb,var(--a) 50%,transparent),0 0 50px color-mix(in srgb,var(--a) 16%,transparent)}
.rw::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(art/clouds.svg) 0 0/180px auto repeat;opacity:.06;-webkit-mask-image:radial-gradient(70% 60% at 50% 0%,#000,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 0%,#000,transparent 80%)}
.rw::after{content:"";position:absolute;left:12%;right:12%;top:0;height:2px;z-index:0;border-radius:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);opacity:.75}
.cr{--a:#ff6a4d;--a2:#f5b731;--bg-card:radial-gradient(90% 70% at 50% -8%,rgba(227,38,46,.3),transparent 62%),radial-gradient(60% 55% at 100% 100%,rgba(245,183,49,.08),transparent 70%),linear-gradient(165deg,#3a0d24 0%,#220a22 52%,#150818 100%)}
.cg{--a:#f5b731;--a2:#ff6a4d;--bg-card:radial-gradient(90% 70% at 50% -8%,rgba(245,183,49,.24),transparent 62%),radial-gradient(60% 55% at 100% 100%,rgba(227,38,46,.08),transparent 70%),linear-gradient(165deg,#34184c 0%,#1e0d30 52%,#140a20 100%)}
.cj{--a:#5fd4b6;--a2:#36c8ff;--bg-card:radial-gradient(90% 70% at 50% -8%,rgba(63,179,151,.22),transparent 62%),radial-gradient(60% 55% at 100% 100%,rgba(54,200,255,.08),transparent 70%),linear-gradient(165deg,#13323a 0%,#141a30 52%,#120a20 100%)}
.rw .rw-n{position:absolute;top:22px;right:24px;font-family:var(--display);font-size:22px;line-height:1;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--a) 45%,transparent)}
.rw-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--a);background:rgba(13,7,23,.55);border:1px solid color-mix(in srgb,var(--a) 35%,transparent)}
.rw-tag::before{content:"";width:6px;height:6px;background:var(--a);transform:rotate(45deg)}
.rw-t{font-family:var(--ui);font-weight:600;font-size:23px;line-height:1.2}
.rw-p{font-size:14.5px;line-height:1.55;color:var(--muted);font-weight:500;max-width:48ch}
.rf{flex-direction:row;align-items:center;gap:20px;min-height:270px}
.rf-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.rf .rw-t{font-size:28px}
.rf-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:14px;color:var(--muted);font-weight:600}
.rf-stat b{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1;color:var(--a)}
.rs{align-items:flex-start}
.ic{position:relative;flex:none;width:136px;height:136px;align-self:center;margin:6px 0 10px}
.rf .ic{width:190px;height:190px;margin:0}
.ic img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.45))}
.disc{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--a) 30%,transparent),transparent 72%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 26%,transparent);transition:box-shadow .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.rw:hover .disc{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 55%,transparent),0 0 34px color-mix(in srgb,var(--a) 30%,transparent);transform:scale(1.06)}
.fl{animation:float 6s ease-in-out infinite}
.fl2{animation:float 7s ease-in-out -2s infinite}
.fl3{animation:float 5.4s ease-in-out -1s infinite}
.sway{animation:sway 4s ease-in-out infinite alternate;transform-origin:50% 0}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.rw .ic img{animation-play-state:paused}
.rw:hover .ic img,.rw:focus-within .ic img{animation-play-state:running}
.tiers{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}
.tiers li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-radius:12px;background:rgba(13,7,23,.5);box-shadow:inset 0 0 0 1px rgba(245,183,49,.12);font-size:13.5px}
.tiers b{font-family:var(--ui);font-weight:600;color:var(--a)}
.tiers span{color:var(--muted);font-weight:500;text-align:right}
.tiers li.me{box-shadow:inset 0 0 0 1px var(--gold);background:rgba(245,183,49,.1)}
.tiers li.me b{color:var(--gold-hi)}
.src{margin-top:18px;font-size:13px;color:var(--dim);line-height:1.6}
.src a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}

/* ---------- Roowards clock ---------- */
.clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ck{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:62px 16px 22px;border-radius:22px;text-align:center;background:linear-gradient(180deg,rgba(46,20,72,.7),rgba(18,8,30,.9));box-shadow:inset 0 0 0 1px rgba(245,183,49,.2),0 20px 40px rgba(0,0,0,.35)}
.ck::before{content:"";position:absolute;left:50%;top:-1px;width:1.5px;height:20px;background:rgba(245,183,49,.5)}
.ck img{position:absolute;left:50%;top:-26px;width:58px;height:auto;margin-left:-29px;transform-origin:50% 0;animation:sway 4s ease-in-out infinite alternate}
.ck:nth-child(2) img{animation-delay:-1s}.ck:nth-child(3) img{animation-delay:-2s}.ck:nth-child(4) img{animation-delay:-3s}
.ck-k{font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ck-v{font-family:var(--display);font-size:clamp(24px,2.6vw,32px);line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.ck-s{font-size:13px;color:var(--muted)}

/* ---------- boost table ---------- */
.boost{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bt{position:relative;padding:22px 20px;border-radius:20px;background:rgba(26,12,40,.75);box-shadow:inset 0 0 0 1px rgba(245,183,49,.16)}
.bt b{display:block;font-family:var(--display);font-weight:400;font-size:34px;line-height:1;color:var(--gold)}
.bt span{display:block;margin-top:8px;font-family:var(--ui);font-weight:600;font-size:17px}
.bt small{display:block;margin-top:4px;font-size:13.5px;color:var(--muted)}
.bt.me{background:linear-gradient(160deg,#7c0c18,#3a0a1e);box-shadow:inset 0 0 0 2px var(--gold),0 0 40px rgba(227,38,46,.3)}
.bt.me b{color:var(--gold-hi)}
.bt .sticker{position:absolute;top:-12px;right:14px;font-size:11px;padding:4px 9px}

/* ---------- watch: embedded Kick player ---------- */
.watch{position:relative;max-width:1000px;margin:0 auto;padding:14px;border-radius:30px;border:2px solid transparent;
  background:linear-gradient(180deg,#26103a,#120818) padding-box,linear-gradient(135deg,#ffe08a,#c41a26 30%,#7c0c18 50%,#c41a26 70%,#ffe08a) border-box;
  box-shadow:0 0 0 6px rgba(13,7,23,.9),0 0 0 7px rgba(245,183,49,.25),0 40px 80px -30px rgba(0,0,0,.9),0 0 80px -30px rgba(227,38,46,.6)}
.wc{position:absolute;width:34px;height:34px;border:3px solid var(--gold);z-index:4;pointer-events:none}
.wc.tl{left:-9px;top:-9px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}
.wc.tr{right:-9px;top:-9px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.wc.bl{left:-9px;bottom:-9px;border-right:0;border-top:0;border-radius:0 0 0 10px}
.wc.br{right:-9px;bottom:-9px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.watch-player{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#000;box-shadow:inset 0 0 0 1px rgba(245,183,49,.3)}
.watch-player>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(1.05) brightness(.8);transition:transform .6s ease}
.watch-player:hover>img{transform:scale(1.03)}
.watch-player::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(45% 55% at 50% 50%,transparent,rgba(15,8,24,.55))}
.watch-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.watch-badge{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:rgba(13,7,23,.75);color:var(--kick);font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(83,252,24,.35)}
.watch-badge svg{width:14px;height:14px}
.watch-play{position:absolute;left:50%;top:50%;z-index:2;width:96px;height:96px;margin:-48px 0 0 -48px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--kick);color:#071a02;box-shadow:0 0 0 10px rgba(83,252,24,.18),0 0 60px rgba(83,252,24,.5);transition:transform .3s}
.watch-play:hover{transform:scale(1.08)}
.watch-play svg{width:38px;height:38px;margin-left:5px}
.watch-hint{position:absolute;left:50%;bottom:20px;z-index:2;transform:translateX(-50%);padding:6px 14px;border-radius:999px;background:rgba(13,7,23,.7);font-family:var(--ui);font-weight:600;font-size:13px;color:#f3e4f4;white-space:nowrap}
.watch-bar{display:flex;align-items:center;gap:16px;padding:18px 10px 6px}
.watch-ava{width:58px;height:58px;border-radius:50%;flex:none;box-shadow:0 0 0 3px #1a0a24,0 0 0 5px var(--gold)}
.watch-id{display:flex;flex-direction:column;min-width:0}
.watch-id b{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.1}
.watch-id span{font-family:var(--ui);font-weight:600;font-size:13.5px;color:var(--kick)}
.watch-bar p{flex:1;min-width:0;font-size:14.5px;color:var(--muted);padding:0 8px;border-left:1px solid rgba(245,183,49,.18);margin-left:6px;padding-left:18px}

/* ---------- social cards (Fred) ---------- */
.soc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.soc{--c1:#1a0b12;--c2:#0c0509;--bd:rgba(227,38,46,.35);--ln:#ff3b52;--gl:rgba(227,38,46,.55);--ring:#f5b731;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:318px;padding:26px 24px 24px;border-radius:22px;border:1px solid var(--bd);color:#fff;background:linear-gradient(155deg,var(--c1) 0%,var(--c2) 70%);box-shadow:0 24px 60px -34px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s}
.soc::before{content:"";position:absolute;inset:auto -30% -55% -30%;height:80%;z-index:-1;background:radial-gradient(50% 50% at 30% 50%,var(--gl),transparent 70%);opacity:.75;transition:opacity .3s}
.soc::after{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--ln),transparent);opacity:.85}
.soc:hover{transform:translateY(-6px);color:#fff;border-color:var(--ln);box-shadow:0 30px 70px -30px var(--gl),inset 0 1px 0 rgba(255,255,255,.1)}
.soc:hover::before{opacity:1}
.soc-tile{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;margin-bottom:22px;background:#fff;box-shadow:0 0 0 3px rgba(10,5,14,.85),0 0 0 5px var(--ring),0 0 18px color-mix(in srgb,var(--ring) 45%,transparent),0 8px 20px rgba(0,0,0,.35)}
.soc-tile svg{width:30px;height:30px}
.soc h3{font-family:var(--display);font-weight:400;font-size:36px;line-height:1;letter-spacing:.01em;color:#fff}
.soc-handle{font-family:var(--ui);font-weight:600;font-size:15px;color:rgba(255,255,255,.75);margin-top:8px}
.soc-desc{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.82);margin-top:16px;max-width:280px}
.soc-cta{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:6px;font-family:var(--ui);font-weight:600;font-size:17px;color:#fff}
.soc-cta svg{width:18px;height:18px;transition:transform .25s}
.soc:hover .soc-cta svg{transform:translateX(4px)}
.soc-mark{position:absolute;right:-34px;bottom:-34px;width:190px;height:190px;z-index:-1;opacity:.13;transform:rotate(-12deg);transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.soc:hover .soc-mark{transform:rotate(-4deg) scale(1.06);opacity:.18}
.soc-dc{--c1:#6c75ff;--c2:#3f1a6e;--bd:rgba(255,255,255,.18);--ln:#b9bfff;--gl:rgba(140,150,255,.55)}
.soc-dc .soc-tile{color:#5865f2}
.soc-dc .soc-mark{color:#fff}
.soc-kick{--c1:#13300c;--c2:#0b0d08;--bd:rgba(83,252,24,.4);--ln:#53fc18;--gl:rgba(83,252,24,.4)}
.soc-kick .soc-tile{background:#53fc18;color:#0b0b0b}
.soc-kick .soc-mark{color:#53fc18;opacity:.16}
.soc-x{--c1:#24202a;--c2:#0b090c;--bd:rgba(255,255,255,.18);--ln:#ffffff;--gl:rgba(255,255,255,.22)}
.soc-x .soc-tile{color:#000}
.soc-x .soc-mark{color:#fff;opacity:.1}

/* ---------- fine print ---------- */
.faq{display:grid;gap:12px}
.fq{border-radius:20px;background:linear-gradient(180deg,rgba(40,18,60,.75),rgba(20,9,32,.85));box-shadow:inset 0 0 0 1px rgba(245,183,49,.18)}
.fq[open]{box-shadow:inset 0 0 0 1px rgba(245,183,49,.4)}
.fq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:64px;padding:0 22px;font-family:var(--ui);font-weight:600;font-size:19px}
.fq summary::-webkit-details-marker{display:none}
.fq summary .seal{width:30px;height:30px;font-size:17px;background:var(--red);color:#fff4d6;box-shadow:inset 0 0 0 2px rgba(255,224,138,.5)}
.fq summary .chev{width:18px;height:18px;margin-left:auto;color:var(--gold);transition:transform .25s}
.fq[open] summary .chev{transform:rotate(180deg)}
.fq-b{padding:0 22px 22px 66px;color:var(--muted);font-size:15.5px;line-height:1.65}
.fq-b p+p{margin-top:10px}
.fq-b a{color:var(--gold-hi);text-decoration:underline;text-underline-offset:2px}
.rules{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--muted);font-size:15.5px;line-height:1.6}
.rules b{color:var(--text)}
.rules li::marker{color:var(--gold)}
.rules-card{margin-bottom:16px;padding:22px 24px;border-radius:20px;background:rgba(26,12,40,.75);box-shadow:inset 0 0 0 1px rgba(245,183,49,.18)}

/* ---------- code banner ---------- */
.code-banner{position:relative;overflow:hidden;isolation:isolate;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:40px 38px;border-radius:26px;border:1px solid var(--line-3);background:radial-gradient(50% 120% at 100% 50%,rgba(245,183,49,.18),transparent 70%),linear-gradient(120deg,#6e0a14,#2a0a1e 60%,#1a0a28)}
.code-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:url(art/clouds.svg) 0 0/200px auto repeat;opacity:.08}
.code-banner::after{content:"福";position:absolute;right:20px;top:50%;z-index:-1;transform:translateY(-50%) rotate(180deg);font-family:var(--seal);font-weight:900;font-size:220px;line-height:1;color:rgba(245,183,49,.08)}
.code-banner h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,44px);line-height:1.05;color:#fff;text-shadow:0 3px 0 rgba(40,4,10,.7)}
.code-banner h2 .hl{color:var(--gold)}
.code-banner p{margin-top:10px;color:#f0dfee;font-size:16px}
.code-banner .acts{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* ---------- page hero (subpages) ---------- */
.page-hero{position:relative;overflow:hidden;padding:0 0 64px;background:#120824}
.page-hero .hero-bg{object-position:50% 34%}
.page-hero .hero-vig{background:radial-gradient(70% 90% at 20% 70%,rgba(13,7,23,.7),transparent 70%),linear-gradient(180deg,rgba(13,7,23,.45) 0%,rgba(13,7,23,.5) 45%,var(--bg) 100%)}
.ph-in{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;padding-top:70px}
.ph-in>div:first-child{display:flex;flex-direction:column;gap:14px;min-width:0}
.ph-title{font-family:var(--display);font-weight:400;font-size:clamp(46px,8vw,104px);line-height:.95;text-transform:uppercase}
.ph-title .dot{color:var(--red-hi)}
.ph-sub{font-size:18px;color:#f0dfee;max-width:540px}
.ph-cjk{position:absolute;right:3%;top:40px;z-index:1;font-family:var(--cjk);font-size:clamp(90px,12vw,170px);line-height:1;writing-mode:vertical-rl;color:#ffe08a;opacity:.12;text-shadow:0 0 40px rgba(255,176,46,.6);pointer-events:none}

/* ---------- full leaderboard page ---------- */
.board{margin-top:26px;border-radius:24px;overflow:hidden;background:rgba(18,8,30,.85);box-shadow:inset 0 0 0 1px rgba(245,183,49,.18),0 30px 60px rgba(0,0,0,.35)}
.board table{width:100%;border-collapse:collapse}
.board th{padding:14px 20px;text-align:left;font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);background:rgba(46,20,72,.6)}
.board td{padding:14px 20px;border-top:1px solid rgba(245,183,49,.08);font-size:15.5px}
.board tr:hover td{background:rgba(245,183,49,.05)}
.board tbody tr:nth-child(odd) td{background:rgba(255,255,255,.015)}
.board .r{width:78px}
.rk-b{display:inline-grid;place-items:center;min-width:44px;height:36px;padding:0 8px;border-radius:10px;font-family:var(--display);font-size:16px;color:var(--gold-hi);background:linear-gradient(180deg,#3a1a52,#22102f);box-shadow:inset 0 0 0 1px rgba(245,183,49,.35),0 3px 0 #12081f}
.board .p{display:flex;align-items:center;gap:12px;font-family:var(--ui);font-weight:600;font-size:16.5px;min-width:0}
.board .p img{width:38px;height:38px;border-radius:11px;flex:none}
.board .w{font-weight:800;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.board .z{text-align:right;white-space:nowrap}
.prz{display:inline-block;padding:5px 12px;border-radius:999px;font-family:var(--display);font-size:15px;color:#3a1a02;background:linear-gradient(180deg,#ffe9a0,#f5b731);box-shadow:0 3px 0 var(--gold-dk)}
.prz.none{background:rgba(255,255,255,.06);color:var(--dim);box-shadow:none}
.board th:last-child{text-align:right}
.board .empty{padding:28px 20px;text-align:center;color:var(--muted)}
.dds{display:flex;flex-wrap:wrap;gap:10px}
.dd{position:relative}
.dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px 0 12px;border-radius:14px;background:rgba(26,12,40,.8);border:1px solid rgba(245,183,49,.24);color:#fff;font-family:var(--ui);font-weight:600;font-size:15px;transition:border-color .2s,background .2s;user-select:none}
.dd summary::-webkit-details-marker{display:none}
.dd summary:hover{border-color:rgba(245,183,49,.5)}
.dd[open] summary{border-color:var(--gold);background:rgba(46,20,72,.95)}
.dd .dd-k{color:var(--dim);font-weight:500}
.dd .chev{width:14px;height:14px;transition:transform .2s;color:var(--gold)}
.dd[open] .chev{transform:rotate(180deg)}
.dd-ic{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(227,38,46,.2);color:var(--gold)}
.dd-ic svg{width:15px;height:15px}
.dd-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:30;width:min(360px,84vw);padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(46,20,72,.98),rgba(18,8,30,.98));border:1px solid rgba(245,183,49,.3);box-shadow:0 28px 56px rgba(0,0,0,.6);animation:ddin .18s ease-out}
.dd-panel.r{left:auto;right:0}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.dd-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14px;box-shadow:inset 0 -1px 0 rgba(245,183,49,.1)}
.dd-row:last-child{box-shadow:none}
.dd-row span{color:var(--muted);font-weight:600}
.dd-row b{color:#fff;font-weight:800;text-align:right}
.dd-note{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.step{position:relative;padding:26px 22px 24px;border-radius:22px;background:rgba(26,12,40,.75);box-shadow:inset 0 0 0 1px rgba(245,183,49,.16)}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:12px;font-family:var(--display);font-size:20px;color:#7c0c18;background:linear-gradient(180deg,#ffe9a0,#f5b731);box-shadow:0 4px 0 var(--gold-dk)}
.step h3{font-family:var(--ui);font-weight:600;font-size:20px}
.step p{margin-top:6px;font-size:14.5px;color:var(--muted)}

/* ---------- footer ---------- */
.footer{position:relative;z-index:2;border-top:1px solid rgba(245,183,49,.16);background:#0a0512}
.footer::before{content:"";position:absolute;left:0;right:0;top:-7px;height:12px;background:url(art/fret.svg) 0 0/24px 12px repeat-x;opacity:.3}
.ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:44px 0 26px}
.ft-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.ft-links a{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-family:var(--ui);font-weight:600;color:#ead9ef}
.ft-links a:hover{color:var(--gold-hi)}
.ft-links svg{width:14px;height:14px}
.ft-legal{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-top:1px solid rgba(255,255,255,.06)}
.age{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid var(--red-hi);font-family:var(--display);font-size:16px;color:var(--red-hi)}
.ft-legal p{font-size:14px;line-height:1.65;color:var(--dim);max-width:900px}
.ft-legal p+p{margin-top:8px}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0 34px;font-size:13.5px;color:var(--dim)}
.ft-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.ft-bottom a{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.ft-bottom svg{width:13px;height:13px}

/* ---------- reveal ---------- */
.rv{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv-wait{opacity:0;transform:translateY(40px) scale(.985)}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.rw.rv{transition:opacity .8s ease,transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.pagein{animation:pagein .6s ease-out backwards}
@keyframes pagein{from{opacity:0}to{opacity:1}}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .clock,.boost{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xcard{flex-direction:column-reverse;align-items:flex-start}
  .xc-art{width:170px;height:170px}
}
@media (max-width:1000px){
  .rgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rgrid.feat{grid-template-columns:minmax(0,1fr)}
  .soc-grid{grid-template-columns:minmax(0,1fr)}
  .soc{min-height:0}
  .watch-bar{flex-wrap:wrap}
  .watch-bar p{flex-basis:100%;border-left:0;margin:0;padding:0}
}
@media (max-width:900px){
  .top{flex-wrap:wrap;padding:12px 16px;row-gap:10px}
  .top-l{display:contents}
  .brand{order:1}
  .btn-join{order:2}
  .pillnav{order:3;width:100%;justify-content:center;overflow-x:auto}
  .top-space{height:128px}
  .xc-grid{grid-template-columns:minmax(0,1fr)}
  .xcard{flex-direction:row;align-items:center}
}
@media (max-width:760px){
  .lbx.carded{padding:26px 16px 22px;border-radius:26px}
  .hcard{padding:70px 20px 30px;border-radius:24px}
  .sub{font-size:16px}
  .pool{align-items:flex-start;width:100%}
  .podium{grid-template-columns:minmax(0,1fr);gap:16px}
  .pc1,.pc2,.pc3{order:0}
  .runs{grid-template-columns:minmax(0,1fr)}
  .rgrid.three{grid-template-columns:minmax(0,1fr)}
  .rf{flex-direction:column-reverse;align-items:flex-start}
  .rf .ic{width:150px;height:150px}
  .xcard{flex-direction:column-reverse;align-items:flex-start;padding:28px 22px}
  .code-banner{padding:28px 22px}
  .board th,.board td{padding:12px 12px}
  .board .r{width:44px}
  .board .hide-sm{display:none}
  .fq-b{padding-left:22px}
  .section{padding:64px 0}
}
@media (max-width:640px){
  .bn{font-size:16px}
  .brand img{width:38px;height:38px}
  .pillnav a{min-height:40px;padding:0 12px;font-size:15px}
  .pillnav .seal,.pillnav .chip{display:none}
  .btn-join{min-height:42px;padding:0 14px;font-size:15px}
  .btn-join .roo{display:none}
  .btn-lg{min-height:54px;padding:0 20px;font-size:16px}
  .plaque .pl-v{font-size:22px}
  .clock,.boost,.steps{grid-template-columns:minmax(0,1fr)}
  .ck{padding-top:56px}
  .wrap{padding:0 16px}
  .ft-legal{flex-direction:column}
}
/* phones: leaderboard rows become compact cards so the prize is always visible */
@media (max-width:600px){
  .board thead{display:none}
  .board table,.board tbody{display:block}
  .board tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"r p z" "r w z";column-gap:12px;row-gap:2px;align-items:center;padding:12px 14px;border-top:1px solid rgba(245,183,49,.08)}
  .board tbody tr:first-child{border-top:0}
  .board tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
  .board td,.board tbody tr:nth-child(odd) td,.board tr:hover td{padding:0;border:0;background:none}
  .board td.r{grid-area:r;width:auto}
  .board td:nth-child(2){grid-area:p;min-width:0}
  .board tbody tr td.w{grid-area:w;padding-left:48px;font-size:14.5px}
  .board tbody tr td.w .raw{display:block;margin-top:1px}
  .board td.z{grid-area:z}
  .board .rk-b{min-width:38px;height:34px;font-size:15px}
  .board .p{gap:10px;font-size:15.5px}
  .board .p .tok-w{width:38px;height:38px}
  .board .empty{display:block}
  .hero{min-height:auto}
  .hero-mid{padding-bottom:96px}
  .ph-title{font-size:clamp(30px,10.2vw,64px)}
}
@media (max-width:440px){
  .top .bn em{display:none}
  .hero-mid{padding-top:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv-wait{opacity:1;transform:none}
}
