/* GuardSMP v4 — Frozen Citadel */
:root{
  --bg:#060a13;--bg2:#0a1120;--bg3:#101a2e;--line:rgba(160,200,255,.12);--line2:rgba(160,200,255,.22);
  --tx:#ecf3ff;--mu:#8e9fbb;--mu2:#5f7090;
  --em:#2fd38a;--em2:#5ee0a8;--ice:#9fdcff;--gold:#ffcf5a;--vio:#b48cff;--red:#ff5a6e;--tw:#9146ff;--dc:#5865f2;
  --r:22px;--r2:14px;--w:1240px;
  --fd:'Unbounded',system-ui,sans-serif;--fb:'Manrope',system-ui,sans-serif;--fp:'Silkscreen',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font:500 16px/1.6 var(--fb);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--em);color:#04120b}
.wrap{width:min(var(--w),100% - 32px);margin-inline:auto}
section{position:relative;padding:110px 0}
.px{font-family:var(--fp);font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.kick{display:inline-flex;align-items:center;gap:10px;font:400 12px var(--fp);letter-spacing:.12em;text-transform:uppercase;color:var(--em2)}
.kick::before{content:"";width:22px;height:2px;background:currentColor}
.h2{font:800 clamp(30px,4.6vw,58px)/1.02 var(--fd);letter-spacing:-.02em;margin:16px 0 16px}
.sub{color:var(--mu);font-size:18px;max-width:620px}
.grad{background:linear-gradient(100deg,var(--ice),var(--em2) 45%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--mu)}
.note{color:var(--mu);font-size:14px}

/* aurora background */
.aurora{position:fixed;inset:0;z-index:-2;pointer-events:none;background:
 radial-gradient(60vw 40vh at 15% -5%,rgba(47,211,138,.16),transparent 60%),
 radial-gradient(50vw 40vh at 90% 0%,rgba(120,140,255,.14),transparent 60%),
 radial-gradient(70vw 60vh at 50% 120%,rgba(159,220,255,.07),transparent 60%),var(--bg)}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* header */
header{position:fixed;top:14px;left:0;right:0;z-index:50}
.nav{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(8,13,24,.62);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);transition:background .3s}
header.scrolled .nav{background:rgba(8,13,24,.88)}
.logo{display:flex;align-items:center;gap:10px;font:800 16px var(--fd);letter-spacing:-.01em;margin-right:auto}
.logo svg{width:30px;height:30px;filter:drop-shadow(0 0 12px rgba(47,211,138,.5))}
.logo small{display:block;font:400 9px var(--fp);color:var(--mu);letter-spacing:.14em}
.links{display:flex;gap:2px}
.links a{padding:9px 14px;border-radius:999px;font-weight:700;font-size:14px;color:var(--mu);transition:.2s}
.links a:hover,.links a.on{color:var(--tx);background:rgba(255,255,255,.06)}
.lang{display:flex;border:1px solid var(--line2);border-radius:999px;padding:3px}
.lang button{font:400 11px var(--fp);padding:6px 9px;border-radius:999px;color:var(--mu)}
.lang button.on{background:var(--tx);color:var(--bg)}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line2)}
.burger i,.burger i::before,.burger i::after{display:block;width:16px;height:2px;background:var(--tx);margin:auto;position:relative;content:""}
.burger i::before{position:absolute;top:-5px}.burger i::after{position:absolute;top:5px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;font:800 15px var(--fb);border:1px solid var(--line2);background:rgba(255,255,255,.04);transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.btn svg{width:18px;height:18px}
.btn.g{background:linear-gradient(180deg,#46e39b,#22b673);color:#03140b;border-color:transparent;box-shadow:0 10px 34px -10px rgba(47,211,138,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.btn.g:hover{box-shadow:0 16px 44px -10px rgba(47,211,138,.9),inset 0 1px 0 rgba(255,255,255,.4)}
.btn.gold{background:linear-gradient(180deg,#ffe08e,#e9a92a);color:#2a1a00;border-color:transparent;box-shadow:0 10px 34px -10px rgba(255,207,90,.7)}
.btn.dc{background:var(--dc);border-color:transparent;color:#fff}
.btn.sm{padding:10px 16px;font-size:14px}
.btn[aria-disabled=true]{opacity:.5;pointer-events:none}

/* hero */
.hero{min-height:100svh;padding:0;display:flex;align-items:center;overflow:hidden}
#world3d{position:absolute;inset:0;z-index:0}
#world3d canvas{width:100%!important;height:100%!important}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,19,.92) 0%,rgba(6,10,19,.55) 38%,rgba(6,10,19,0) 62%),linear-gradient(0deg,var(--bg) 0%,transparent 26%)}
.hero .wrap{position:relative;z-index:2;padding:140px 0 120px}
.status{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid var(--line2);border-radius:999px;background:rgba(6,10,19,.6);font-weight:700;font-size:13px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--mu2);box-shadow:0 0 0 0 rgba(47,211,138,.6)}
.st.up .dot{background:var(--em);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(47,211,138,.6)}70%{box-shadow:0 0 0 10px rgba(47,211,138,0)}100%{box-shadow:0 0 0 0 rgba(47,211,138,0)}}
.title{font:900 clamp(56px,11vw,150px)/.86 var(--fd);letter-spacing:-.045em;margin:22px 0 22px}
.title span{display:block}
.title .o{-webkit-text-stroke:2px rgba(236,243,255,.85);color:transparent}
.title .e{background:linear-gradient(180deg,#7ff0bd,#22b673);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 30px rgba(47,211,138,.35))}
.lead{font-size:clamp(17px,1.6vw,20px);color:#c6d3ea;max-width:520px}
.ipbox{display:flex;align-items:stretch;margin:32px 0 18px;max-width:520px;border-radius:20px;border:1px solid var(--line2);background:rgba(8,14,26,.75);backdrop-filter:blur(10px);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.ipbox:hover{border-color:rgba(47,211,138,.55);transform:translateY(-2px)}
.ipbox .l{padding:14px 18px;flex:1;min-width:0}
.ipbox .l small{display:block;font:400 10px var(--fp);letter-spacing:.14em;color:var(--mu)}
.ipbox .l b{display:block;font:700 clamp(17px,2.2vw,22px) var(--fd);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ipbox .r{display:flex;align-items:center;gap:8px;padding:0 20px;background:linear-gradient(180deg,#46e39b,#22b673);color:#03140b;font-weight:800;font-size:14px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.heads{display:flex;margin-top:26px;align-items:center;gap:12px;color:var(--mu);font-size:14px}
.heads .h{display:flex}
.heads img{width:30px;height:30px;border-radius:7px;border:2px solid var(--bg);margin-left:-8px;image-rendering:pixelated}
.heads img:first-child{margin-left:0}
.scrollhint{position:absolute;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);font:400 10px var(--fp);letter-spacing:.2em;color:var(--mu);display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollhint i{width:2px;height:34px;background:linear-gradient(var(--em),transparent);animation:drip 1.8s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* marquee */
.marquee{border-block:1px solid var(--line);background:rgba(10,17,32,.6);overflow:hidden;padding:16px 0}
.marquee .t{display:flex;gap:44px;width:max-content;animation:mq 38s linear infinite;font:700 clamp(16px,2vw,22px) var(--fd);letter-spacing:-.01em;color:#c9d6ee;white-space:nowrap}
.marquee .t span{display:flex;align-items:center;gap:44px}
.marquee .t span::after{content:"✦";color:var(--em);font-size:.8em}
@keyframes mq{to{transform:translateX(-50%)}}

/* bento live */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:46px}
.card{position:relative;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(18,28,48,.7),rgba(10,16,30,.7));padding:26px;overflow:hidden;isolation:isolate}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(400px 200px at var(--mx,50%) var(--my,0%),rgba(159,220,255,.09),transparent 70%);opacity:0;transition:opacity .3s}
.card:hover::before{opacity:1}
.card .lab{font:400 11px var(--fp);letter-spacing:.14em;color:var(--mu);text-transform:uppercase}
.big{font:800 clamp(48px,6vw,84px)/1 var(--fd);letter-spacing:-.04em;margin:14px 0 8px}
.b1{grid-column:span 5;min-height:280px;display:flex;flex-direction:column}
.b1 .big{color:var(--em2)}
.b2{grid-column:span 4;background:linear-gradient(160deg,rgba(88,101,242,.32),rgba(40,46,120,.25));border-color:rgba(88,101,242,.35)}
.b3{grid-column:span 3}
.b4,.b5,.b6{grid-column:span 4}
.b4 .big,.b5 .big,.b6 .big{font-size:clamp(34px,4vw,50px)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);font-weight:700;font-size:13px;color:#cfe0f5}
.ver{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px;counter-reset:s}
.step{counter-increment:s;padding:30px;border-radius:var(--r);border:1px solid var(--line);background:rgba(12,19,34,.55)}
.step::before{content:"0" counter(s);display:block;font:400 14px var(--fp);color:var(--em2);margin-bottom:46px}
.step h3{font:700 22px var(--fd);letter-spacing:-.01em;margin-bottom:8px}
.step p{color:var(--mu)}
.step code{font:700 15px var(--fb);color:var(--tx);background:rgba(255,255,255,.07);padding:3px 8px;border-radius:7px;cursor:pointer}

/* modes horizontal */
.modes-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.arrows{display:flex;gap:8px}
.arrows button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line2);font-size:20px;transition:.2s}
.arrows button:hover{background:var(--tx);color:var(--bg)}
.modes{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:46px max(16px,calc((100vw - var(--w))/2)) 10px;scrollbar-width:none}
.modes::-webkit-scrollbar{display:none}
.mode{flex:0 0 min(420px,82vw);scroll-snap-align:start;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,var(--c1,#12203a),var(--c2,#0a1222));overflow:hidden;display:flex;flex-direction:column;min-height:520px;transition:transform .35s}
.mode:hover{transform:translateY(-6px)}
.mode canvas{width:100%;height:270px}
.mode .in{padding:26px;margin-top:auto}
.mode .tag{font:400 11px var(--fp);letter-spacing:.12em;color:var(--ac,var(--em2))}
.mode h3{font:800 30px/1.05 var(--fd);letter-spacing:-.02em;margin:10px 0}
.mode p{color:#b9c7de}

/* keys */
.keys{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:46px}
.key{position:relative;padding:30px;border-radius:28px;border:1px solid color-mix(in srgb,var(--kc) 35%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--kc) 16%,transparent),rgba(10,16,30,.8) 60%);overflow:hidden}
.key .glow{position:absolute;width:300px;height:300px;right:-80px;top:-80px;border-radius:50%;background:var(--kc);filter:blur(90px);opacity:.25}
.key h3{display:flex;align-items:center;gap:12px;font:800 28px var(--fd);letter-spacing:-.02em}
.key h3 svg{width:38px;height:38px;filter:drop-shadow(0 0 14px var(--kc))}
.key p{color:var(--mu);margin:10px 0 22px}
.reel{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.reel .track{display:flex;gap:10px;width:max-content;animation:mq var(--dur,24s) linear infinite}
.loot{flex:0 0 auto;padding:14px 16px;border-radius:14px;border:1px solid var(--line2);background:rgba(6,10,19,.6);font-weight:800;font-size:15px;min-width:150px}
.loot small{display:block;font:400 9px var(--fp);letter-spacing:.12em;color:var(--kc);margin-bottom:4px}

/* ranks */
.ranks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px}
.rank{position:relative;border-radius:26px;padding:1px;background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 60%,transparent),rgba(160,200,255,.08) 50%);transition:transform .3s;transform-style:preserve-3d}
.rank .in{height:100%;border-radius:25px;background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 13%,#0b1222),#0a1120 55%);padding:26px 22px;display:flex;flex-direction:column}
.rank.feat{box-shadow:0 30px 80px -30px color-mix(in srgb,var(--rc) 70%,transparent)}
.rank.prem .in{background:linear-gradient(180deg,rgba(255,207,90,.2),#0f1220 55%)}
.flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:2;padding:6px 12px;border-radius:999px;background:var(--rc);color:#04120b;font:400 10px var(--fp);letter-spacing:.1em;white-space:nowrap}
.flag.gold{background:var(--gold);color:#2a1a00}
.rank-art{position:relative;height:120px;display:grid;place-items:center;margin-bottom:10px}
.rank-art .emb{width:110px;height:110px;filter:drop-shadow(0 12px 30px color-mix(in srgb,var(--rc) 60%,transparent));animation:float 5s ease-in-out infinite}
.rank-art img{position:absolute;inset:0;margin:auto;height:120px;object-fit:contain}
@keyframes float{50%{transform:translateY(-8px)}}
.rank h3{font:800 26px var(--fd);letter-spacing:-.02em;text-align:center}
.price{text-align:center;font:800 34px var(--fd);letter-spacing:-.03em;margin:6px 0 2px}
.price small{display:block;font:600 13px var(--fb);color:var(--mu);letter-spacing:0}
.rank ul{list-style:none;margin:18px 0 22px;display:grid;gap:9px;font-size:14.5px;color:#c9d6ec}
.rank li{display:flex;gap:9px}
.rank li::before{content:"";flex:0 0 16px;height:16px;margin-top:3px;border-radius:5px;background:var(--rc);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' stroke='black' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' stroke='black' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.rank .btn{margin-top:auto;width:100%}

/* preview */
.preview{display:grid;grid-template-columns:300px 1fr;gap:16px;margin-top:46px;border:1px solid var(--line);border-radius:28px;padding:16px;background:rgba(10,16,30,.6)}
.pv-stage{position:relative;border-radius:20px;background:radial-gradient(circle at 50% 75%,rgba(47,211,138,.25),transparent 60%),linear-gradient(180deg,#14223d,#0a1222);display:grid;place-items:center;min-height:360px;overflow:hidden}
.pv-stage img{height:250px;image-rendering:pixelated;margin-top:40px;filter:drop-shadow(0 18px 20px rgba(0,0,0,.5))}
.pv-tag{position:absolute;top:34px;left:50%;transform:translateX(-50%);padding:5px 10px;background:rgba(0,0,0,.45);border-radius:4px;font:400 13px var(--fp);white-space:nowrap}
.pv-ctl{padding:14px;display:flex;flex-direction:column;gap:16px}
.pv-ctl input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line2);background:rgba(6,10,19,.7);color:var(--tx);font:700 16px var(--fb);outline:none}
.pv-ctl input:focus{border-color:var(--em)}
#pv-ranks{display:flex;flex-wrap:wrap;gap:8px}
#pv-ranks button{padding:9px 14px;border-radius:999px;border:1px solid var(--line2);font-weight:800;font-size:14px}
#pv-ranks button.on{background:var(--rc);color:#06120c;border-color:transparent}
.pv-chat{border-radius:14px;background:rgba(0,0,0,.45);padding:14px 16px;font:400 13px/1.9 var(--fp);letter-spacing:.02em}

/* compare / points */
.tablewrap{overflow-x:auto;margin-top:46px;border:1px solid var(--line);border-radius:22px}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{padding:15px 16px;text-align:center;border-bottom:1px solid var(--line)}
th{font:800 15px var(--fd)}
td:first-child,th:first-child{text-align:left;color:#c9d6ec}
tr:last-child td{border-bottom:0}
.yes{color:var(--em);font-weight:900}.no{color:var(--mu2)}
.points{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px}
.pt{position:relative;padding:24px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,207,90,.08),rgba(10,16,30,.7));display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.pt.feat{border-color:rgba(255,207,90,.45)}
.pt svg{width:58px;height:58px;filter:drop-shadow(0 8px 20px rgba(255,207,90,.4))}
.pt b{font:800 32px var(--fd);letter-spacing:-.03em;display:block}
.pt .lbl{font:400 10px var(--fp);letter-spacing:.14em;color:var(--mu)}
.pt .btn{width:100%;margin-top:auto}
.bonus{position:absolute;top:18px;right:18px;padding:5px 10px;border-radius:999px;background:var(--gold);color:#2a1a00;font:400 10px var(--fp)}
.donors{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.donor{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid rgba(255,207,90,.35);background:rgba(255,207,90,.08);font-weight:800}
.donor img{width:26px;height:26px;border-radius:6px;image-rendering:pixelated}
.trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

/* streamers */
.live-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:40px}
.streamer{border-radius:22px;border:1px solid var(--line);background:rgba(12,19,34,.7);overflow:hidden}
.embed{aspect-ratio:16/9;background:#000}
.embed iframe{width:100%;height:100%;border:0}
.streamer .meta{display:flex;gap:14px;padding:18px}
.streamer .meta img{width:52px;height:52px;border-radius:12px;image-rendering:pixelated}
.streamer h3{font:700 18px var(--fd);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.streamer p{color:var(--mu);font-size:14px;margin:4px 0 8px}
.streamer .links{display:flex;gap:12px;font-weight:800;font-size:14px;color:var(--ice)}
.badge{font:400 9px var(--fp);letter-spacing:.08em;padding:4px 8px;border-radius:999px;border:1px solid var(--line2);color:var(--mu)}
.badge.live{background:var(--red);color:#fff;border-color:transparent}
.badge.game{background:rgba(47,211,138,.15);color:var(--em2);border-color:rgba(47,211,138,.4)}
.badge.creator{background:rgba(255,90,110,.12);color:#ff8a99;border-color:rgba(255,90,110,.4)}
.empty{grid-column:1/-1;padding:40px;border-radius:22px;border:1px dashed var(--line2);text-align:center;color:var(--mu)}
.empty a{color:var(--em2);font-weight:800}
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.rules div{padding:26px;border-radius:22px;border:1px solid var(--line);background:rgba(12,19,34,.6)}
.rules b{display:block;font:800 40px var(--fd);color:#ff8a99;letter-spacing:-.03em}
.rules span{color:var(--mu)}
.hashtag{display:inline-block;font:900 clamp(40px,8vw,110px)/1 var(--fd);letter-spacing:-.04em;background:linear-gradient(90deg,#ff8a99,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}

/* bands */
.band{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.bigcard{position:relative;border-radius:32px;padding:clamp(28px,5vw,56px);overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}
.bigcard h2{font:800 clamp(32px,4vw,52px)/1 var(--fd);letter-spacing:-.03em;margin:14px 0 14px}
.bigcard p{color:#d5def0;max-width:440px}
.bigcard .btn{margin-top:24px;align-self:flex-start}
.bc-dc{background:radial-gradient(500px 300px at 85% 15%,rgba(255,255,255,.18),transparent 60%),linear-gradient(140deg,#5865f2,#3a3fb5)}
.bc-dc .num{position:absolute;top:34px;right:40px;text-align:right;font:800 clamp(40px,6vw,76px)/1 var(--fd);letter-spacing:-.04em}
.bc-dc .num small{display:block;font:400 11px var(--fp);letter-spacing:.14em;opacity:.8}
.bc-vote{background:radial-gradient(400px 260px at 20% 0%,rgba(47,211,138,.35),transparent 60%),linear-gradient(160deg,#0f2a20,#0a1622);border:1px solid rgba(47,211,138,.25)}
.bc-vote .ico{position:absolute;top:30px;right:30px;width:90px;height:90px;opacity:.9}

/* votes page */
.votes{display:grid;gap:12px;margin-top:40px}
.vote{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:20px 22px;border-radius:20px;border:1px solid var(--line);background:rgba(12,19,34,.65)}
.vote .i{font:400 14px var(--fp);color:var(--em2)}
.vote b{font:700 18px var(--fd)}

/* faq / prose */
.faq{display:grid;gap:10px;margin-top:40px;max-width:900px}
.faq details{border-radius:18px;border:1px solid var(--line);background:rgba(12,19,34,.6);padding:4px 22px;transition:border-color .2s}
.faq details[open]{border-color:var(--line2)}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font:700 17px var(--fd);display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px var(--fb);color:var(--em2);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--mu);padding:0 0 20px}
.pagehead{padding:170px 0 50px}
.pagehead h1{font:900 clamp(44px,8vw,104px)/.92 var(--fd);letter-spacing:-.045em;margin:18px 0 18px}
.pagehead p{color:var(--mu);font-size:18px;max-width:640px}
.prose{max-width:800px}
.prose h2{font:700 22px var(--fd);margin:34px 0 10px}
.prose p{color:#b8c5dc}

/* footer */
footer{border-top:1px solid var(--line);padding:60px 0 40px;margin-top:40px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.foot h4{font:400 11px var(--fp);letter-spacing:.14em;color:var(--mu);margin-bottom:14px}
.foot a{display:block;color:#c3cfe4;padding:4px 0;font-weight:600}
.foot a:hover{color:var(--em2)}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:40px;color:var(--mu2);font-size:13px}

/* misc */
.toast{position:fixed;left:50%;bottom:28px;z-index:99;transform:translate(-50%,30px);opacity:0;padding:12px 18px;border-radius:14px;background:var(--tx);color:var(--bg);font-weight:800;transition:.3s;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.split-word{display:inline-block;opacity:0;transform:translateY(60%) rotate(4deg);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1)}
.ready .split-word{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal,.split-word{opacity:1;transform:none}}

@media (max-width:1060px){
  .links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;padding:10px;border-radius:22px;border:1px solid var(--line);background:rgba(8,13,24,.96)}
  header.open .links{display:flex}
  .links a{padding:14px 16px}
  .burger{display:block}
  .ranks,.points{grid-template-columns:1fr 1fr}
  .b1,.b2,.b3{grid-column:span 6}.b3{grid-column:span 12}
  .b4,.b5,.b6{grid-column:span 4}
  .foot{grid-template-columns:1fr 1fr}
  .rules{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  section{padding:80px 0}
  .nav .btn.dc span{display:none}
  .hero::after{background:linear-gradient(0deg,var(--bg) 8%,rgba(6,10,19,.7) 55%,rgba(6,10,19,.35))}
  .hero .wrap{padding:120px 0 100px}
  .b1,.b2,.b3,.b4,.b5,.b6{grid-column:span 12}
  .steps,.keys,.band,.preview{grid-template-columns:1fr}
  .ranks,.points{grid-template-columns:1fr}
  .vote{grid-template-columns:1fr;text-align:left}
  .foot{grid-template-columns:1fr}
  .rules{grid-template-columns:1fr}
  .ipbox .r span{display:none}
  .bc-dc .num{position:static;text-align:left;margin-bottom:auto}
}
.bc-dc h2,.bc-dc p{max-width:68%}@media (max-width:720px){.bc-dc h2,.bc-dc p{max-width:none}}

/* ===== bande-annonce hero ===== */
.hero{align-items:flex-end}
.hero::after{background:linear-gradient(0deg,rgba(6,10,19,.96) 0%,rgba(6,10,19,.55) 30%,rgba(6,10,19,0) 55%),linear-gradient(90deg,rgba(6,10,19,.6),transparent 45%)}
.hero .wrap{padding:0 0 70px}
.title{font-size:clamp(46px,8vw,118px);margin:16px 0 14px}
.title span{display:inline}
.title .e{display:inline}
.lead{max-width:560px}
.ipbox{margin:22px 0 14px}
.heads{margin-top:18px}
.scrollhint{display:none}
.reel-ui{position:absolute;z-index:3;top:96px;left:50%;transform:translateX(-50%);width:min(var(--w),100% - 32px);display:flex;align-items:center;gap:18px}
.bars{flex:1;display:flex;gap:6px}
.bars i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.bars b{display:block;height:100%;width:0;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.7)}
.rec{display:flex;align-items:center;gap:8px;font:400 10px var(--fp);letter-spacing:.14em;color:#ffd0d6}
.rec span{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.2}}
.reel-cap{position:absolute;z-index:3;right:max(16px,calc((100vw - var(--w))/2));bottom:90px;text-align:right;pointer-events:none}
.reel-cap b{display:block;font:900 clamp(54px,9vw,140px)/.85 var(--fd);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.9);text-shadow:0 0 40px rgba(47,211,138,.25)}
.reel-cap span{display:block;margin-top:10px;font:400 13px var(--fp);letter-spacing:.16em;color:var(--em2);text-transform:uppercase}
.reel-cap.on b{animation:capin .9s cubic-bezier(.2,.8,.2,1) both}
.reel-cap.on span{animation:capin .9s .15s cubic-bezier(.2,.8,.2,1) both}
@keyframes capin{from{opacity:0;transform:translateY(30px) skewY(4deg);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.reel-flash{position:absolute;inset:0;z-index:2;background:#fff;opacity:0;pointer-events:none}
.reel-flash.on{animation:flash .45s ease-out}
@keyframes flash{0%{opacity:.85}100%{opacity:0}}
@media (max-width:1060px){.reel-cap{bottom:auto;top:130px}.reel-cap b{font-size:clamp(44px,13vw,90px)}}
@media (max-width:720px){.reel-ui{top:84px}.rec{display:none}.reel-cap{right:16px;top:110px}.hero .wrap{padding-bottom:40px}.hero::after{background:linear-gradient(0deg,rgba(6,10,19,.97) 0%,rgba(6,10,19,.7) 45%,rgba(6,10,19,0) 70%)}}

.title .e{background:none;-webkit-background-clip:initial;background-clip:initial;color:#3fe09a;filter:none;text-shadow:0 0 40px rgba(47,211,138,.45)}

/* ===== Play ===== */
.boost{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 18px;border-radius:16px;border:1px solid rgba(255,207,90,.3);background:rgba(255,207,90,.07);max-width:760px}
.boost b{font:700 15px var(--fd);color:var(--gold)}
.boost span{color:#d9cfae;font-size:14px}
.boost code{font:400 14px var(--fp);color:#fff;background:rgba(0,0,0,.35);padding:3px 8px;border-radius:7px}
.boost.on{border-color:var(--gold);background:linear-gradient(90deg,rgba(255,207,90,.25),rgba(255,140,60,.15));box-shadow:0 0 50px -10px rgba(255,207,90,.6);animation:glowp 2s infinite}
@keyframes glowp{50%{box-shadow:0 0 70px -6px rgba(255,207,90,.8)}}
.linkcard{max-width:640px}
.linkrow{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.linkrow input,.bet input{flex:1;min-width:180px;padding:14px 16px;border-radius:14px;border:1px solid var(--line2);background:rgba(6,10,19,.7);color:var(--tx);font:700 16px var(--fb);outline:none}
.linkrow input:focus,.bet input:focus{border-color:var(--em)}
.bigcode{margin:12px 0;padding:18px 20px;border-radius:16px;background:rgba(0,0,0,.45);border:1px dashed rgba(47,211,138,.5);font:400 clamp(20px,3vw,30px) var(--fp);color:var(--em2);cursor:pointer;letter-spacing:.06em}
.spin{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--em);border-right-color:transparent;animation:rot .8s linear infinite;vertical-align:-1px}
@keyframes rot{to{transform:rotate(360deg)}}
.me{display:flex;align-items:center;gap:14px;padding:16px 18px}
.me img{width:48px;height:48px;border-radius:10px;image-rendering:pixelated}
.me div{flex:1;min-width:0}.me b{display:block;font:700 18px var(--fd)}.me span{color:var(--mu);font-size:14px}
.ptabs{display:flex;gap:8px;margin:18px 0;overflow-x:auto;scrollbar-width:none}
.ptab{padding:12px 18px;border-radius:999px;border:1px solid var(--line2);font-weight:800;white-space:nowrap;color:var(--mu)}
.ptab.on{background:var(--tx);color:var(--bg)}
.dgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px}
.cal b{font:400 10px var(--fp);color:var(--mu2);text-align:center}
.cal i{font-style:normal;aspect-ratio:1;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.04);font-weight:800;font-size:14px;color:var(--mu)}
.cal i:empty{background:none}
.cal i.got{background:linear-gradient(180deg,#46e39b,#22b673);color:#03140b}
.cal i.miss{opacity:.35}
.cal i.td{outline:2px solid var(--gold);outline-offset:-2px;color:var(--tx)}
.dclaim{display:flex;flex-direction:column}.dclaim .big{color:var(--gold)}.dclaim .btn{margin-top:auto}
.track{position:relative;height:10px;border-radius:10px;background:rgba(255,255,255,.08);margin:30px 8px 0}
.track .fill{height:100%;border-radius:10px;background:linear-gradient(90deg,var(--em),var(--gold))}
.ms{position:absolute;top:-9px;transform:translateX(-50%);text-align:center;width:90px}
.ms span{display:grid;place-items:center;width:28px;height:28px;margin:auto;border-radius:50%;background:var(--bg3);border:2px solid var(--line2);font:400 11px var(--fp)}
.ms.ok span{background:var(--gold);color:#2a1a00;border-color:var(--gold)}
.ms em{display:block;font-style:normal;font-size:11px;color:var(--mu);margin-top:6px;line-height:1.25}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.mission{display:flex;align-items:center;gap:14px;padding:18px}
.mission.done{opacity:.55}
.mi{width:50px;height:50px;flex:0 0 50px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:rgba(255,255,255,.06)}
.mt{flex:1;min-width:0}.mt b{font:700 15px var(--fd);margin-right:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chips .pill{font-size:12px;padding:4px 9px}
.ma{display:flex;flex-direction:column;gap:6px}
.cbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;margin-bottom:14px}
.cbar b{font:800 26px var(--fd);color:var(--gold);margin-right:auto}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.game{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.game .btn{width:100%}
.seg{display:flex;gap:6px}.seg button{flex:1;padding:10px;border-radius:12px;border:1px solid var(--line2);font-weight:800;font-size:14px}
.seg button.on{background:var(--tx);color:var(--bg)}.seg .red.on{background:#d63a4a;color:#fff}.seg .black.on{background:#111;color:#fff;border-color:#fff}.seg .green.on{background:#22b673;color:#03140b}
.bet{display:flex;flex-direction:column;gap:8px}.bet input{min-width:0}
.chipsrow{display:flex;gap:6px}.chipsrow button{flex:1;padding:8px 4px;border-radius:10px;background:rgba(255,207,90,.1);border:1px solid rgba(255,207,90,.3);color:var(--gold);font-weight:800;font-size:13px}
.res{min-height:24px;text-align:center;font:800 18px var(--fd)}.res.win{color:var(--em2)}.res.lose{color:var(--red)}.res.push{color:var(--mu)}
.coin{position:relative;width:110px;height:110px;margin:10px auto;transform-style:preserve-3d;transition:transform .6s}
.coin div{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;font:900 40px var(--fd);backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#fff0b8,#e0a21c 60%,#9a6a08);color:#7a5005;box-shadow:inset 0 0 0 6px rgba(0,0,0,.12)}
.coin .b{transform:rotateY(180deg)}
.coin.spin{animation:flip .35s linear infinite}.coin.tails{transform:rotateY(180deg)}
@keyframes flip{to{transform:rotateY(360deg)}}
.reels{display:flex;gap:8px;justify-content:center;margin:10px 0}
.reels i{font-style:normal;width:70px;height:84px;display:grid;place-items:center;font-size:40px;border-radius:14px;background:linear-gradient(180deg,#0b1222,#1a2640 50%,#0b1222);border:1px solid rgba(255,207,90,.3)}
.wheel{width:110px;height:110px;margin:10px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d63a4a 0 10deg,#111 10deg 20deg,#d63a4a 20deg 30deg,#111 30deg 40deg,#d63a4a 40deg 50deg,#111 50deg 60deg,#22b673 60deg 70deg,#d63a4a 70deg 80deg,#111 80deg 90deg,#d63a4a 90deg 100deg,#111 100deg 110deg,#d63a4a 110deg 120deg,#111 120deg 130deg,#d63a4a 130deg 140deg,#111 140deg 150deg,#d63a4a 150deg 160deg,#111 160deg 170deg,#d63a4a 170deg 180deg,#111 180deg 190deg,#d63a4a 190deg 200deg,#111 200deg 210deg,#d63a4a 210deg 220deg,#111 220deg 230deg,#d63a4a 230deg 240deg,#111 240deg 250deg,#d63a4a 250deg 260deg,#111 260deg 270deg,#d63a4a 270deg 280deg,#111 280deg 290deg,#d63a4a 290deg 300deg,#111 300deg 310deg,#d63a4a 310deg 320deg,#111 320deg 330deg,#d63a4a 330deg 340deg,#111 340deg 350deg,#d63a4a 350deg 360deg);box-shadow:0 0 0 6px #3a2a10,0 10px 30px rgba(0,0,0,.5)}
.wheel span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);font:800 22px var(--fd)}
.wheel.spin{animation:rot .5s linear infinite}.wheel.red span{color:#ff6a7a}.wheel.green span{color:var(--em2)}
.bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bcard h3{font:700 20px var(--fd);margin:10px 0 16px}
.howto{margin:12px 0 0 20px;color:#c3cfe4;display:grid;gap:8px}
.howto code{font:400 13px var(--fp);color:var(--em2)}
#bcode{margin-top:14px}
.lb{display:grid;gap:8px;margin-top:14px}
.lb .row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.04)}
.lb .row span{font:400 14px var(--fp);width:24px;color:var(--mu)}.lb .row img{width:32px;height:32px;border-radius:7px;image-rendering:pixelated}.lb .row b{flex:1}.lb .row em{font-style:normal;color:var(--mu)}
.lb .p0{background:rgba(255,207,90,.14)}.lb .p0 span{color:var(--gold)}.lb .p1{background:rgba(200,215,235,.1)}.lb .p2{background:rgba(205,127,50,.12)}
.conf{position:fixed;z-index:200;width:8px;height:12px;border-radius:2px;pointer-events:none;animation:conf 1.1s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes conf{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
.btn[disabled]{opacity:.5;pointer-events:none}
@media (max-width:1060px){.cgrid{grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.dgrid,.cgrid,.bgrid,.mgrid{grid-template-columns:1fr}.ms em{display:none}.track{margin-top:20px}}
#hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ===== Live ===== */
.livegrid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px}
.viewcard{padding:12px;display:flex;flex-direction:column;gap:10px}
.vtabs{display:flex;gap:8px}
.vtabs button{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line2);font-weight:800}
.vtabs button.on{background:var(--tx);color:var(--bg)}
.vtabs i{width:8px;height:8px;border-radius:50%;background:var(--mu2)}.vtabs i.on{background:var(--red);animation:blink 1.2s infinite}
.vframe{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.onair{position:absolute;top:12px;right:12px;padding:5px 10px;border-radius:8px;background:var(--red);color:#fff;font:400 11px var(--fp);letter-spacing:.1em}
.hud{position:absolute;left:12px;bottom:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;pointer-events:none}
.hud>*{padding:6px 10px;border-radius:10px;background:rgba(0,0,0,.6);font-size:13px;font-weight:700}
.hud code{font:400 12px var(--fp);color:var(--ice)}
.feedcard{display:flex;flex-direction:column;max-height:calc(56.25vw * .62 + 120px);min-height:420px}
.feed{flex:1;overflow-y:auto;margin:12px 0;display:flex;flex-direction:column;gap:6px;font-size:14px;padding-right:4px}
.fl{padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.04);line-height:1.45}
.fl b{margin-right:4px}.fl.deb{border-left:3px solid var(--ice)}.fl.deb b{color:var(--ice)}
.fl.dec{background:rgba(47,211,138,.12);color:var(--em2);font-weight:700}
.fl.ev{background:rgba(255,90,110,.1);color:#ffb3bd}
.fl.usr b{color:var(--gold)}.fl.rep{margin-left:18px;border-left:3px solid var(--em)}.fl.rep b{color:var(--em2)}
.fl.sys{color:var(--mu);font-size:12px}
.cform{display:flex;gap:8px}.cform input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(6,10,19,.7);color:var(--tx);font:600 14px var(--fb);outline:none}
.bstats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.bsth{display:flex;align-items:center;gap:12px;margin-bottom:14px}.bsth img{width:40px;height:40px;border-radius:9px;image-rendering:pixelated}.bsth b{display:block;font:700 18px var(--fd)}
.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kv div{padding:10px;border-radius:12px;background:rgba(255,255,255,.04)}.kv em{display:block;font-style:normal;font:400 9px var(--fp);letter-spacing:.08em;color:var(--mu);text-transform:uppercase}.kv b{font:800 20px var(--fd)}.kv b.sm{font:700 12px var(--fb);display:block;margin-top:4px}
@media (max-width:1060px){.livegrid{grid-template-columns:1fr}.feedcard{max-height:520px}}
@media (max-width:720px){.bstats{grid-template-columns:1fr}.kv{grid-template-columns:1fr 1fr}}

/* live : grand écran + streamers */
.vbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.vtabs{flex-wrap:wrap}
.vtabs button.st{border-color:rgba(255,90,110,.5)}.vtabs button.st i{background:var(--red);animation:blink 1.2s infinite}
.vtabs button.st img{width:18px;height:18px;border-radius:4px;image-rendering:pixelated}
.tbtn{padding:10px 16px;border-radius:999px;border:1px solid var(--line2);font-weight:800;background:rgba(255,255,255,.04);color:var(--tx);cursor:pointer}
.tbtn:hover{background:var(--tx);color:var(--bg)}
.livegrid.theater{position:fixed;inset:0;z-index:999;background:#04070d;grid-template-columns:1fr 360px;gap:0;padding:0}
.livegrid.theater .viewcard{border-radius:0;border:0;padding:10px;background:#04070d;min-height:0}
.livegrid.theater .vframe{aspect-ratio:auto;flex:1;border-radius:12px}
.livegrid.theater .feedcard{border-radius:0;border:0;border-left:1px solid var(--line2);max-height:none;height:100vh;min-height:0}
@media (max-width:860px){.livegrid.theater{grid-template-columns:1fr;grid-template-rows:1fr 42vh}.livegrid.theater .feedcard{height:auto;border-left:0;border-top:1px solid var(--line2)}}
body.noscroll{overflow:hidden}
