/* =========================================================
   DrakenseCasino — dark red theme
   ========================================================= */

:root{
  --bg:#0a0708;
  --bg2:#0f0a0b;
  --panel:#151011;
  --panel2:#1b1416;
  --panel3:#22191b;
  --line:#2c2022;
  --line2:#3d2c2f;
  --red:#e01b2c;
  --red2:#ff3b4e;
  --red3:#ff6a4a;
  --red-deep:#8f0f1c;
  --grad:linear-gradient(135deg,#ff4a4f 0%,#d01226 55%,#9a0f1e 100%);
  --grad-hot:linear-gradient(135deg,#ff7a3d,#e01b2c 60%,#8f0f1c);
  --txt:#f7eded;
  --mut:#a89493;
  --mut2:#7c6b6b;
  --ok:#3ddc84;
  --topbar:64px;
  --side:280px;
  --radius:14px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(224,27,44,.14), transparent 60%),
    radial-gradient(700px 420px at 5% 110%, rgba(143,15,28,.16), transparent 65%),
    var(--bg);
  color:var(--txt);
  font-family:var(--font);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block}
button,input{font-family:inherit}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0;line-height:1.2}
p{margin:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-sm{width:15px;height:15px}
.ic-xs{width:12px;height:12px;stroke-width:2.4}

.container{max-width:1500px;margin:0 auto;padding:0 26px;width:100%}
.hl{color:var(--red2)}
.hl-hot{color:var(--red3);text-shadow:0 0 26px rgba(255,106,74,.45)}
.only-mobile{display:none !important}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;border-radius:12px;
  padding:11px 20px;font-size:14.5px;font-weight:800;letter-spacing:.3px;
  color:#fff;cursor:pointer;white-space:nowrap;
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease,
             background .45s ease, border-color .45s ease, filter .45s ease;
  background:var(--panel3);
}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(-1px) scale(.98)}
.btn-register{background:var(--grad);box-shadow:0 8px 22px rgba(224,27,44,.32)}
.btn-register:hover{box-shadow:0 16px 36px rgba(224,27,44,.5);filter:brightness(1.08)}
.btn-login{background:#b31225;box-shadow:0 8px 20px rgba(179,18,37,.28)}
.btn-login:hover{background:#c81730;box-shadow:0 16px 32px rgba(179,18,37,.45)}
.btn-race{background:linear-gradient(135deg,#c41b2c,#7c0c18);border-color:#e04a5844}
.btn-race:hover{filter:brightness(1.14);box-shadow:0 14px 30px rgba(196,27,44,.4)}
.btn-outline{background:transparent;border-color:#e01b2c66;color:#ff8f96}
.btn-outline:hover{border-color:var(--red2);background:#e01b2c1f;color:#fff;box-shadow:0 10px 26px rgba(224,27,44,.3)}
.btn-ghost{background:#ffffff10;border-color:#ffffff1f;color:#f2e6e6}
.btn-ghost:hover{background:#ffffff1a;transform:translateY(-3px)}
.btn-xl{padding:14px 26px;font-size:15.5px;border-radius:12px;letter-spacing:.6px}
.btn-block{width:100%}
.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:10px;cursor:pointer;
  background:#ffffff0d;border:1px solid var(--line);color:var(--txt);
  transition:background .15s ease,border-color .15s ease;
}
.icon-btn:hover{background:#ffffff14;border-color:var(--line2)}

/* ---------------- topbar ---------------- */
.topbar{
  position:fixed;inset:0 0 auto 0;height:var(--topbar);z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 18px;
  background:rgba(10,7,8,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}
.main-nav{display:flex;align-items:center;gap:10px;margin-left:8px}

.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:38px;height:38px;flex:none;filter:drop-shadow(0 4px 12px rgba(224,27,44,.5))}
.logo-mark svg{width:100%;height:100%}
.logo-text{
  font-weight:900;font-size:19px;letter-spacing:.4px;color:#fff;
  display:flex;gap:5px;align-items:baseline;white-space:nowrap;
}
.logo-text em{font-style:normal;color:var(--red2)}

.nav-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:0;color:var(--txt);
  font-size:14.5px;font-weight:700;cursor:pointer;
  padding:9px 12px;border-radius:10px;transition:background .15s ease;
}
.nav-chip:hover{background:#ffffff0d}
.nav-chip .ic-sm{transition:transform .2s ease}
.dd.is-open .nav-chip .ic-sm,.dd.is-open .caret .ic{transform:rotate(180deg)}
.caret .ic{transition:transform .2s ease}

.dd{position:relative}
.dd-menu{
  position:absolute;top:calc(100% + 10px);left:0;min-width:210px;z-index:70;
  background:var(--panel2);border:1px solid var(--line);border-radius:12px;
  padding:6px;box-shadow:var(--shadow);
  display:none;flex-direction:column;
}
.dd.is-open .dd-menu{display:flex;animation:pop .16s ease}
.dd-right .dd-menu{left:auto;right:0}
.dd-menu a,.dd-item{
  display:flex;align-items:center;gap:9px;width:100%;
  padding:9px 12px;border-radius:8px;border:0;background:transparent;
  color:var(--mut);font-size:14px;font-weight:600;cursor:pointer;text-align:left;
  transition:background .13s ease,color .13s ease;
}
.dd-menu a:hover,.dd-item:hover{background:#e01b2c1f;color:#fff}

/* ---------------- sidebar ---------------- */
.sidebar{
  position:fixed;top:var(--topbar);left:0;bottom:0;width:var(--side);z-index:50;
  display:flex;flex-direction:column;gap:14px;
  padding:16px 14px 14px;
  background:linear-gradient(180deg,#100b0c,#0c0809 70%);
  border-right:1px solid var(--line);
  overflow-y:auto;overscroll-behavior:contain;
}
.sidebar::-webkit-scrollbar{width:8px}
.sidebar::-webkit-scrollbar-thumb{background:#2c2022;border-radius:8px}

.rain{
  background:linear-gradient(180deg,#191113,#140e10);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 13px 13px;position:relative;overflow:hidden;
}
.rain::after{
  content:"";position:absolute;inset:auto -30% -70% -30%;height:120px;
  background:radial-gradient(closest-side,rgba(224,27,44,.35),transparent);
  pointer-events:none;
}
.rain-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1}
.rain-ic{
  width:36px;height:36px;border-radius:10px;flex:none;
  display:grid;place-items:center;color:#ff8f96;
  background:#e01b2c22;border:1px solid #e01b2c44;
}
.rain-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.rain-txt b{font-size:19px;font-weight:900;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.rain-txt small{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--mut2)}
.rain-time{
  margin-left:auto;display:flex;align-items:center;gap:5px;
  background:#0d0809;border:1px solid var(--line);border-radius:8px;
  padding:5px 9px;font-size:12.5px;font-weight:800;color:#ffb3b8;
  font-variant-numeric:tabular-nums;
}
.rain-bar{height:5px;border-radius:5px;background:#0d0809;margin-top:11px;overflow:hidden;position:relative;z-index:1}
.rain-bar i{display:block;height:100%;width:85%;border-radius:5px;background:var(--grad);transition:width 1s linear;box-shadow:0 0 12px rgba(224,27,44,.7)}

.side-nav{display:flex;flex-direction:column;gap:3px}
.side-link{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;border-radius:10px;
  color:var(--mut);font-size:14.5px;font-weight:700;
  border:1px solid transparent;
  transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.side-link:hover{background:#ffffff0a;color:#fff}
.side-link.is-active{
  background:linear-gradient(90deg,#e01b2c26,#e01b2c08);
  border-color:#e01b2c40;color:#fff;
}
.side-link.is-active .ic{color:var(--red2)}

.chat-card{
  margin-top:4px;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;padding:20px 16px 16px;text-align:center;position:relative;overflow:hidden;
}
.chat-card::before{
  content:"";position:absolute;inset:-60% -20% auto -20%;height:160px;
  background:radial-gradient(closest-side,rgba(224,27,44,.28),transparent);
}
.chat-ic{
  position:relative;width:56px;height:56px;margin:0 auto 12px;border-radius:16px;
  display:grid;place-items:center;color:#ff9aa1;
  background:#e01b2c1d;border:1px solid #e01b2c3d;
}
.chat-ic .ic{width:26px;height:26px}
.chat-badge{
  position:absolute;right:-7px;bottom:-7px;width:22px;height:22px;border-radius:50%;
  background:var(--panel3);border:1px solid var(--line2);display:grid;place-items:center;color:var(--mut);
}
.chat-card h4{font-size:16.5px;font-weight:800;position:relative}
.chat-card p{font-size:12.5px;color:var(--mut2);margin-top:6px;position:relative}
.chat-actions{display:flex;gap:9px;margin-top:14px;position:relative}
.chat-actions .btn{flex:1;padding:10px 8px;font-size:13.5px}

.side-bottom{
  margin-top:auto;display:flex;align-items:center;gap:9px;
  padding-top:12px;border-top:1px solid var(--line);
}
.icon-circle{
  width:36px;height:36px;border-radius:10px;flex:none;
  display:grid;place-items:center;cursor:pointer;
  background:#ffffff0d;border:1px solid var(--line);color:var(--mut);
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.icon-circle:hover{color:#fff;border-color:#e01b2c55;background:#e01b2c1a}
.online{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:12.5px;color:var(--mut2);font-weight:600}
.online b{color:var(--txt);font-weight:800;font-variant-numeric:tabular-nums}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:pulse 4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.5)}70%{box-shadow:0 0 0 7px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}

/* ---------------- main layout ---------------- */
.main{margin-left:var(--side);padding-top:var(--topbar);min-height:100vh}

/* ---------------- hero ---------------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:52px 0 44px;min-height:520px}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.moon{
  position:absolute;top:8%;right:7%;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#ff8d70,#e01b2c 55%,#7c0c18);
  box-shadow:0 0 90px 24px rgba(224,27,44,.35);opacity:.5;
}
.terrain{position:absolute;left:0;right:0;bottom:0;width:100%;height:56%}
.terrain .t-far{fill:#1a0e11;opacity:.85}
.terrain .t-mid{fill:#150b0d;opacity:.95}
.terrain .t-near{fill:#0d0708}
.hero-fog{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,7,8,.94) 0%,rgba(10,7,8,.55) 45%,rgba(10,7,8,.25) 70%,rgba(10,7,8,.9) 100%),
    radial-gradient(700px 320px at 30% 45%, rgba(224,27,44,.18), transparent 70%);
}
.embers{position:absolute;inset:0;overflow:hidden}
.embers i{
  position:absolute;bottom:-12px;width:5px;height:5px;border-radius:50%;
  background:var(--red3);box-shadow:0 0 10px 2px rgba(255,106,74,.75);
  opacity:0;animation:ember linear infinite;
}
@keyframes ember{
  0%{transform:translateY(0) scale(.7);opacity:0}
  12%{opacity:.9}
  100%{transform:translateY(-560px) translateX(var(--dx,20px)) scale(1.15);opacity:0}
}

.hero-inner{position:relative;z-index:1}
.hero-title{
  font-size:clamp(27px,3.3vw,50px);font-weight:900;text-transform:uppercase;
  letter-spacing:-.5px;line-height:1.08;max-width:1150px;
  text-shadow:0 6px 40px rgba(0,0,0,.6);
}
.hero-sub{margin-top:14px;color:#cbb6b5;font-size:15.5px;max-width:900px}

.hero-cards{display:grid;grid-template-columns:1.55fr .85fr .95fr;gap:16px;margin-top:34px}

.reg-card{
  position:relative;overflow:hidden;border-radius:18px;
  background:linear-gradient(160deg,#191011 0%,#130d0e 60%,#170e10 100%);
  border:1px solid var(--line);padding:30px 32px 32px;
  box-shadow:var(--shadow);
}
.reg-card::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(420px 240px at 8% 110%, rgba(224,27,44,.3), transparent 65%),
    radial-gradient(360px 200px at 60% -30%, rgba(255,106,74,.14), transparent 70%);
  pointer-events:none;
}
.reg-copy{position:relative;font-size:clamp(17px,1.5vw,23px);font-weight:800;max-width:430px;line-height:1.35}
.reg-card .btn{position:relative;margin-top:20px}
.reg-coins{
  position:absolute;right:26px;top:50%;transform:translateY(-50%);
  display:grid;grid-template-columns:repeat(6,34px);gap:12px;opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);
  mask-image:linear-gradient(90deg,transparent,#000 35%);
}
.reg-coins i{
  width:34px;height:34px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#3a2226,#1d1214 70%);
  border:1px solid #43282c;box-shadow:inset 0 -3px 6px #00000066;
}
.reg-coins i:nth-child(3n){background:radial-gradient(circle at 32% 30%,#5c1b24,#2a0f14 70%);border-color:#7a2531}

.promo{
  position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--line);
  padding:22px 22px 20px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:var(--shadow);min-height:210px;
}
.promo h3{font-size:clamp(18px,1.5vw,24px);font-weight:900;letter-spacing:.4px}
.promo p{font-size:12.5px;font-weight:700;letter-spacing:.8px;color:#e9a9ad;margin-top:10px;line-height:1.6}
.promo .btn{margin-top:16px;align-self:flex-start}

.promo-aff{
  background:
    radial-gradient(300px 220px at 110% 110%, rgba(224,27,44,.4), transparent 70%),
    linear-gradient(160deg,#171011,#110c0d);
}
.promo-aff p{color:#ff9aa1}

.promo-rew{
  flex-direction:row;gap:12px;align-items:center;
  background:
    radial-gradient(340px 260px at 90% 20%, rgba(255,106,74,.28), transparent 70%),
    linear-gradient(150deg,#2b1116 0%,#1b0f11 55%,#241014 100%);
  border-color:#e01b2c3d;
}
.promo-txt{position:relative;z-index:1}
.promo-rew p{color:#f3c9cb;max-width:230px}
.promo-chest{
  font-size:74px;line-height:1;filter:drop-shadow(0 10px 24px rgba(224,27,44,.55));
  transform:rotate(-8deg);animation:float 18s ease-in-out infinite;flex:none;
}
@keyframes float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(-4deg)}}

.dots{display:flex;gap:8px;justify-content:center;margin-top:26px}
.dots i{width:8px;height:8px;border-radius:50%;background:#ffffff2e}
.dots i.on{width:26px;border-radius:5px;background:var(--grad)}

/* ---------------- ticker ---------------- */
.ticker{
  display:flex;align-items:center;gap:0;
  background:linear-gradient(90deg,#120c0e,#1d1215 50%,#120c0e);
  border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);
  overflow:hidden;box-shadow:inset 0 0 40px rgba(0,0,0,.5);
}
.ticker-tag{
  display:flex;align-items:center;gap:8px;flex:none;
  padding:13px 18px;background:var(--grad);color:#fff;
  font-size:12.5px;font-weight:900;letter-spacing:1.8px;
  clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);
  padding-right:30px;box-shadow:0 0 24px rgba(224,27,44,.5);
}
.ticker-viewport{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;gap:38px;width:max-content;padding:14px 26px;animation:marquee 95s linear infinite}
.ticker-track:hover{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tick{display:flex;align-items:center;gap:9px;font-size:14.5px;white-space:nowrap;color:var(--mut)}
.tick b{color:#fff;font-weight:900}
.tick .win{color:var(--red3);font-weight:900;font-variant-numeric:tabular-nums}
.tick .g{
  background:#e01b2c26;border:1px solid #e01b2c4d;color:#ffa2a8;
  font-size:11px;font-weight:900;padding:3px 9px;border-radius:7px;letter-spacing:.8px;
}

/* ---------------- sections ---------------- */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.sec-head h2{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:clamp(23px,2.4vw,32px);font-weight:900;letter-spacing:1.2px;text-transform:uppercase;
  line-height:1.1;
}
.sec-head small{font-size:12.5px;font-weight:800;letter-spacing:2.6px;color:var(--mut2);text-transform:uppercase}
.sec-bar{width:7px;height:30px;border-radius:5px;background:var(--grad);box-shadow:0 0 18px rgba(224,27,44,.8)}
.sec-count{
  display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:1.4px;
  color:#8fe6b3;background:#3ddc8414;border:1px solid #3ddc8433;
  padding:7px 13px;border-radius:9px;
}

/* ---------------- games ---------------- */
.games{padding-block:44px 8px;scroll-margin-top:86px}
.games-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;
}
.game{
  position:relative;overflow:hidden;cursor:pointer;
  background:linear-gradient(180deg,#1a1214 0%,#130e0f 100%);
  border:1px solid var(--line);border-radius:18px;
  aspect-ratio:1/1.04;display:flex;flex-direction:column;justify-content:flex-end;
  padding:16px 16px 18px;text-align:center;
  transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .55s ease,box-shadow .55s ease;
  box-shadow:0 6px 20px rgba(0,0,0,.35);
}
.game::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(260px 190px at 50% 22%, rgba(224,27,44,.26), transparent 72%);
  opacity:0;transition:opacity .6s ease;pointer-events:none;
}
.game::after{
  content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,.06),transparent 42%);
  opacity:0;transition:opacity .6s ease;
}
.game:hover{transform:translateY(-9px);border-color:#e01b2c73;box-shadow:0 24px 48px rgba(224,27,44,.26)}
.game:hover::before{opacity:1}
.game:hover::after{opacity:1}
.game:active{transform:translateY(-4px) scale(.99)}
.game.featured{grid-column:span 3;grid-row:span 2;aspect-ratio:auto}

.tag{
  position:absolute;top:12px;left:12px;z-index:2;
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;font-weight:900;letter-spacing:1.2px;
  padding:5px 10px;border-radius:8px;background:var(--grad);color:#fff;
  box-shadow:0 6px 16px rgba(224,27,44,.45);
}
.tag-hot{background:var(--grad-hot)}

.game-art{
  position:relative;flex:1;display:flex;align-items:center;justify-content:center;
  font-size:clamp(48px,4.8vw,70px);line-height:1;
  filter:drop-shadow(0 12px 26px rgba(224,27,44,.5));
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.game-art .cover{
  width:clamp(76px,7.4vw,108px);height:clamp(76px,7.4vw,108px);
  overflow:visible;
}
.game.featured .game-art .cover{width:clamp(120px,12vw,186px);height:clamp(120px,12vw,186px)}
.game:hover .game-art{transform:scale(1.11) translateY(-4px)}
.art-vs{gap:18px;font-size:clamp(52px,5vw,84px)}
.art-vs .vs{
  display:grid;place-items:center;width:clamp(52px,5vw,74px);height:clamp(52px,5vw,74px);
  border-radius:50%;font-style:normal;font-weight:900;font-size:clamp(16px,1.6vw,22px);
  color:#fff;background:radial-gradient(circle at 32% 28%,#ff5a4f,#c01226 65%,#7c0c18);
  border:3px solid #ff8f9655;box-shadow:0 0 34px rgba(224,27,44,.6);
  letter-spacing:1px;flex:none;
}
.game.featured .game-art{margin-bottom:14px}
.game-info h3{font-size:17.5px;font-weight:900;letter-spacing:1.1px;text-transform:uppercase}
.game.featured .game-info h3{font-size:24px}
.game-info p{font-size:10px;font-weight:800;letter-spacing:2.4px;color:var(--mut2);margin-top:6px}

.games-more{display:flex;justify-content:center;margin-top:26px}

/* ---------------- how it works ---------------- */
.how{padding-block:52px 8px;scroll-margin-top:86px}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.how-card{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#161011,#120d0e);
  border:1px solid var(--line);border-radius:16px;padding:26px 24px 24px;
  transition:border-color .18s ease,transform .18s ease;
}
.how-card:hover{border-color:#e01b2c4d;transform:translateY(-4px)}
.how-num{
  position:absolute;top:6px;right:16px;font-size:74px;font-weight:900;font-style:italic;
  color:#ffffff08;letter-spacing:-4px;pointer-events:none;
}
.how-ic{
  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  background:#e01b2c1c;border:1px solid #e01b2c40;color:#ff8f96;margin-bottom:16px;
}
.how-ic .ic{width:24px;height:24px}
.how-card h3{font-size:17px;font-weight:900;letter-spacing:.7px}
.how-card p{margin-top:9px;font-size:14px;color:var(--mut)}
.how-card p b{color:var(--red3)}

/* ---------------- CTA ---------------- */
.cta{padding-block:52px 60px;scroll-margin-top:86px}
.cta-inner{
  position:relative;overflow:hidden;border-radius:20px;
  background:
    radial-gradient(520px 300px at 88% 130%, rgba(224,27,44,.4), transparent 70%),
    radial-gradient(420px 260px at 5% -40%, rgba(255,106,74,.2), transparent 70%),
    linear-gradient(150deg,#1b1113,#130d0e);
  border:1px solid #e01b2c33;
  padding:38px 40px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
}
.cta-copy h2{font-size:clamp(26px,3vw,42px);font-weight:900;letter-spacing:.5px}
.cta-copy p{margin-top:8px;color:var(--mut);font-size:15.5px}
.cta-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ip-chip{
  display:flex;align-items:center;gap:11px;cursor:pointer;
  background:#0d0809;border:1px dashed #e01b2c66;border-radius:13px;
  padding:13px 18px;color:var(--txt);transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.ip-chip:hover{border-color:var(--red2);background:#e01b2c14;transform:translateY(-2px)}
.ip-chip b{font-size:17px;font-weight:900;letter-spacing:.6px}
.ip-label{font-size:11px;font-weight:900;letter-spacing:1.4px;color:var(--red2);border-left:1px solid var(--line2);padding-left:11px}
.ip-chip.copied .ip-label{color:var(--ok)}

/* ---------------- footer ---------------- */
.footer{border-top:1px solid var(--line);background:linear-gradient(180deg,#0d0809,#0a0708);padding-top:44px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:34px}
.footer-brand p{margin-top:14px;color:var(--mut2);font-size:14px;max-width:330px}
.footer-credit{
  margin-top:9px;font-size:12.5px;font-weight:700;color:var(--red3);
  letter-spacing:.3px;max-width:330px;
}
.footer-social{display:flex;gap:9px;margin-top:16px}
.footer-col{display:flex;flex-direction:column;gap:11px}
.footer-col h5{font-size:12.5px;font-weight:900;letter-spacing:2px;color:#fff;margin-bottom:4px}
.footer-col a{font-size:14px;color:var(--mut);transition:color .14s ease;width:fit-content}
.footer-col a:hover{color:var(--red2)}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;padding-bottom:30px;display:flex;flex-direction:column;gap:12px}
.disclaimer{font-size:12.5px;color:var(--mut2);max-width:960px;line-height:1.7}
.copyright{font-size:13px;color:var(--mut2)}
.copyright b{color:#e8d7d7}

/* ---------------- modal ---------------- */
.modal{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;
  background:rgba(5,3,3,.78);backdrop-filter:blur(6px);
  animation:fade .18s ease;
}
.modal[hidden]{display:none}
.modal-card{
  position:relative;width:min(430px,100%);background:linear-gradient(180deg,#171011,#120c0d);
  border:1px solid var(--line2);border-radius:22px;padding:32px 32px 28px;
  box-shadow:0 46px 110px rgba(0,0,0,.78);animation:pop .45s cubic-bezier(.22,1,.36,1);
  max-height:92vh;overflow-y:auto;
}
/* Modal de juego: más ancho y con más respiración */
.game-modal{width:min(600px,100%);padding:36px 38px 32px}
.game-modal .gm-head{margin-bottom:26px}
.game-modal .gm-controls{gap:16px}
.game-modal .gm-bet{margin-top:22px;padding:16px 18px;gap:14px}
.game-modal .gm-result{margin-top:20px;padding:20px 22px}
.game-modal .gm-mult{margin-top:14px;font-size:14px}
.modal-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:150px;border-radius:20px 20px 0 0;
  background:radial-gradient(400px 150px at 50% -40%, rgba(224,27,44,.35), transparent 70%);
  pointer-events:none;
}
.modal-x{position:absolute;top:14px;right:14px;z-index:2}
.modal-brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:20px;position:relative}
.modal-brand .logo-mark{width:34px;height:34px}
.tabs{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;
  background:#0d0809;border:1px solid var(--line);border-radius:12px;padding:5px;margin-bottom:20px;
}
.tab{
  border:0;background:transparent;color:var(--mut);font-weight:800;font-size:14.5px;
  padding:10px;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;
}
.tab.is-on{background:var(--grad);color:#fff;box-shadow:0 6px 16px rgba(224,27,44,.35)}
.modal-title{font-size:21px;font-weight:900;text-align:center;margin-bottom:18px;position:relative}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;position:relative}
.field span{font-size:12.5px;font-weight:800;letter-spacing:.6px;color:var(--mut)}
.field input{
  background:#0d0809;border:1px solid var(--line);border-radius:11px;
  padding:13px 14px;color:var(--txt);font-size:15px;outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field input::placeholder{color:#5d5050}
.field input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(224,27,44,.18)}
.modal-note{margin-top:16px;font-size:12px;color:var(--mut2);text-align:center}

/* ---------------- toasts ---------------- */
.toasts{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;flex-direction:column;gap:10px;max-width:340px}
.toast{
  display:flex;align-items:flex-start;gap:10px;
  background:linear-gradient(180deg,#1a1213,#140f10);border:1px solid var(--line2);
  border-left:3px solid var(--red2);border-radius:12px;padding:13px 15px;
  font-size:14px;font-weight:600;box-shadow:var(--shadow);
  animation:slidein .25s ease;
}
.toast.ok{border-left-color:var(--ok)}
.toast.out{animation:slideout .25s ease forwards}
.toast .ic{margin-top:2px;color:var(--red2)}
.toast.ok .ic{color:var(--ok)}

/* ---------------- animations ---------------- */
@keyframes pop{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slidein{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes slideout{to{opacity:0;transform:translateX(30px)}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.2s ease,transform 1.2s ease}
.reveal.in{opacity:1;transform:none}

/* ---------------- responsive ---------------- */
@media (max-width:1240px){
  .hero-cards{grid-template-columns:1fr 1fr}
  .reg-card{grid-column:span 2}
  .reg-coins{display:none}
  .game.featured{grid-column:span 2}
}
@media (max-width:1020px){
  .only-mobile{display:inline-flex !important}
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;width:300px;box-shadow:0 0 60px rgba(0,0,0,.7)}
  body.nav-open .sidebar{transform:none}
  .main{margin-left:0}
  .page-veil{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:45}
  .page-veil[hidden]{display:none}
  .main-nav .btn-race{display:none}
  .how-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .main-nav{display:none}
  .hero{padding-top:36px;min-height:0}
  .hero-cards{grid-template-columns:1fr}
  .reg-card{grid-column:span 1}
  .games-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .game.featured{grid-column:span 2;grid-row:span 1;min-height:230px}
  .cta-inner{padding:28px 24px}
  .ticker-tag{font-size:11px}
}
@media (max-width:560px){
  .logo-text{font-size:16px}
  .topbar{padding:0 12px;gap:8px}
  .topbar-right{gap:8px}
  .games-grid{grid-template-columns:repeat(2,1fr);gap:11px}
  .game.featured{grid-column:span 2}
  .footer-grid{grid-template-columns:1fr}
  .cta-actions{width:100%}
  .ip-chip{flex:1;justify-content:center}
  .toasts{left:14px;right:14px;max-width:none}
  .sec-head small{display:none}
  .promo-chest{font-size:54px}
}

/* =========================================================
   Auth real (estado logueado), juegos y depósitos
   ========================================================= */
.auth-logged-out,.auth-logged-in{display:flex;align-items:center;gap:10px}
body.is-auth .auth-logged-out{display:none !important}
body:not(.is-auth) .auth-logged-in{display:none !important}
body.is-auth .chat-card{display:none}
.deposit-mini{display:none}
body.is-auth .deposit-mini{
  display:flex;flex-direction:column;gap:10px;
  background:var(--panel);border:1px solid #e01b2c3d;border-radius:16px;
  padding:16px 15px;position:relative;overflow:hidden;
}
body.is-auth .deposit-mini::before{
  content:"";position:absolute;inset:-70% -20% auto -20%;height:150px;
  background:radial-gradient(closest-side,rgba(224,27,44,.3),transparent);
  pointer-events:none;
}
.deposit-mini h4{font-size:15.5px;font-weight:900;letter-spacing:.4px;position:relative}
.dm-user{font-size:13px;color:var(--mut);position:relative}
.dm-user b{color:var(--red3);font-weight:800}
.dm-hint{font-size:12px;color:var(--mut2);line-height:1.5;position:relative}
.deposit-mini .btn{position:relative;padding:11px 14px;font-size:13.5px}
.dm-status{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mut2);position:relative}
.dm-status .dot{width:8px;height:8px;border-radius:50%;background:var(--mut2);animation:none}
.dm-status .dot.on{background:var(--ok);box-shadow:0 0 8px rgba(61,220,132,.8)}
.dm-status .dot.off{background:#e0a02b;box-shadow:0 0 8px rgba(224,160,43,.7)}

.balance-chip{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  background:linear-gradient(180deg,#1d1416,#151011);
  border:1px solid #e01b2c55;border-radius:11px;padding:9px 15px;
  color:var(--txt);font-size:15.5px;font-weight:900;
  font-variant-numeric:tabular-nums;
  box-shadow:0 6px 18px rgba(224,27,44,.22);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.balance-chip:hover{transform:translateY(-2px);border-color:var(--red2);box-shadow:0 10px 24px rgba(224,27,44,.34)}
.balance-chip .coin{font-size:15px;filter:drop-shadow(0 2px 6px rgba(224,27,44,.6))}
.balance-chip.bump{animation:bump .4s ease}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.12);border-color:var(--ok)}100%{transform:scale(1)}}

.dd-user{
  display:flex;flex-direction:column;padding:10px 12px;border-radius:8px;
  background:#e01b2c14;border:1px solid #e01b2c33;margin-bottom:4px;
}
.dd-user b{font-size:14.5px;font-weight:900}
.dd-user small{font-size:11.5px;color:var(--mut2);overflow:hidden;text-overflow:ellipsis}

/* ---------------- form hint ---------------- */
.field .hint{font-size:11.5px;color:var(--mut2);line-height:1.45}
.field input.is-invalid{border-color:#ff5a5a;box-shadow:0 0 0 3px rgba(255,90,90,.16)}

/* ---------------- game modal ---------------- */
/* (el ancho se define arriba en .game-modal — no duplicar) */
.gm-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;position:relative}
.game-modal .gm-art{font-size:58px}
.gm-art .cover{width:64px;height:64px;overflow:visible;
  filter:drop-shadow(0 8px 20px rgba(224,27,44,.55))}
.gm-art{font-size:44px;line-height:1;filter:drop-shadow(0 8px 18px rgba(224,27,44,.5))}
.gm-txt h3{font-size:26px;font-weight:900;letter-spacing:1.6px;line-height:1.05}
.gm-txt p{font-size:10px;font-weight:800;letter-spacing:2.6px;color:var(--mut2);margin-top:6px}
.gm-bal{
  margin-left:auto;text-align:right;background:#0d0809;border:1px solid var(--line);
  border-radius:11px;padding:8px 13px;
}
.gm-bal small{display:block;font-size:9.5px;font-weight:900;letter-spacing:1.6px;color:var(--mut2)}
.gm-bal b{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.gm-bal .coin{font-size:13px}

.gm-controls{display:flex;flex-direction:column;gap:15px;position:relative}
.gm-row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.gm-label{font-size:12.5px;font-weight:900;letter-spacing:1.6px;color:var(--mut)}
.gm-num{
  background:#0d0809;border:1px solid var(--line);border-radius:11px;
  padding:14px 16px;color:var(--txt);font-size:18px;font-weight:900;width:150px;
  outline:none;font-variant-numeric:tabular-nums;
  transition:border-color .35s ease,box-shadow .35s ease;
}
.gm-num:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(224,27,44,.18)}
.gm-chip{
  background:#ffffff0d;border:1px solid var(--line2);border-radius:10px;
  color:var(--mut);font-size:14px;font-weight:800;padding:11px 16px;cursor:pointer;
  transition:all .35s cubic-bezier(.22,1,.36,1);
}
.gm-chip:hover{color:#fff;border-color:#e01b2c66;background:#e01b2c1a;transform:translateY(-2px)}
.gm-chip.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(224,27,44,.4)}
.gm-chip:disabled{opacity:.35;cursor:not-allowed;transform:none}
.gm-chip .odd{display:block;font-size:11px;font-weight:900;opacity:.85;margin-top:3px}

.gm-card-pick{
  display:flex;align-items:center;justify-content:center;gap:18px;
  background:#0d0809;border:1px dashed #e01b2c55;border-radius:14px;padding:16px;
}
.gm-card-big{
  font-size:46px;font-weight:900;color:#fff;background:linear-gradient(160deg,#2b171a,#1a1011);
  border:1px solid #e01b2c55;border-radius:12px;width:74px;height:96px;
  display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.5);
}
.gm-card-arrow{font-size:26px;color:var(--red2);font-weight:900}
.gm-card-next{
  font-size:46px;font-weight:900;width:74px;height:96px;border-radius:12px;
  display:grid;place-items:center;background:#141011;border:1px dashed var(--line2);color:var(--mut2);
}
.gm-card-next.reveal-c{background:linear-gradient(160deg,#3a1a1e,#1f1113);border-color:#e01b2c77;color:#fff;animation:pop .3s ease}

.gm-rps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gm-rps .gm-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;font-size:13px}
.gm-rps .gm-chip .emo{font-size:30px}

.gm-result{
  margin-top:14px;border-radius:16px;padding:20px 22px;text-align:center;
  border:1px solid var(--line2);background:#0d0809;
  animation:pop .5s cubic-bezier(.22,1,.36,1);position:relative;
}
.game-modal .gm-result{margin-top:22px}
.gm-result.win{border-color:#3ddc8470;background:linear-gradient(180deg,#10201a,#0d120e);box-shadow:0 0 44px rgba(61,220,132,.28)}
.gm-result.lose{border-color:#e01b2c66;background:linear-gradient(180deg,#1f1113,#130c0d);box-shadow:0 0 44px rgba(224,27,44,.28)}
.gm-result.push{border-color:#e0a02b70;background:linear-gradient(180deg,#1f1a10,#13100b)}
.gm-result .r-title{font-size:24px;font-weight:900;letter-spacing:2px}
.gm-result.win .r-title{color:var(--ok)}
.gm-result.lose .r-title{color:#ff6b6b}
.gm-result.push .r-title{color:#e0a02b}
.gm-result .r-detail{font-size:13.5px;color:var(--mut);margin-top:5px}
.gm-result .r-detail b{color:#fff}
.gm-result .r-payout{font-size:22px;font-weight:900;margin-top:7px;font-variant-numeric:tabular-nums}
.gm-result.win .r-payout{color:var(--ok)}
.gm-result.lose .r-payout{color:#ff6b6b}

.gm-bet{
  display:flex;align-items:flex-end;gap:14px;margin-top:16px;
  background:#120d0e;border:1px solid var(--line);border-radius:16px;padding:16px 18px;
}
.gm-bet-input{display:flex;flex-direction:column;gap:6px}
.gm-bet-input span{font-size:11px;font-weight:900;letter-spacing:1.8px;color:var(--mut2)}
.gm-bet-input input{
  background:#0d0809;border:1px solid var(--line);border-radius:10px;
  padding:13px 15px;color:var(--txt);font-size:19px;font-weight:900;width:150px;
  outline:none;font-variant-numeric:tabular-nums;
  transition:border-color .35s ease,box-shadow .35s ease;
}
.gm-bet-input input:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(224,27,44,.18)}
.gm-quick{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.gm-quick button{
  background:#ffffff0d;border:1px solid var(--line2);border-radius:9px;
  color:var(--mut);font-size:13.5px;font-weight:900;padding:11px 14px;cursor:pointer;
  transition:all .35s cubic-bezier(.22,1,.36,1);
}
.gm-quick button:hover{color:#fff;border-color:#e01b2c66;background:#e01b2c1a;transform:translateY(-2px)}
.gm-play{
  align-self:stretch;padding-left:28px;padding-right:28px;font-size:17px;
  padding-top:16px;padding-bottom:16px;
}
.gm-mult{margin-top:14px;font-size:14.5px;color:var(--mut);text-align:center;min-height:20px}
.gm-mult b{color:var(--red3);font-size:17px}
.gm-busy{pointer-events:none;opacity:.6}

/* ---------------- wallet center modal ---------------- */
.wallet-modal{width:min(540px,100%)}
.wallet-tabs{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  background:#0d0809;border:1px solid var(--line);border-radius:12px;
  padding:5px;margin-bottom:18px;
}
.wtab{
  border:0;background:transparent;color:var(--mut);font-weight:800;font-size:13.5px;
  padding:10px 6px;border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:6px;
  transition:background .3s ease,color .3s ease;
}
.wtab .ic{color:inherit}
.wtab:hover{color:var(--txt)}
.wtab.is-on{background:var(--grad);color:#fff;box-shadow:0 6px 16px rgba(224,27,44,.35)}
.wflip{transform:rotate(180deg)}

.wpanel{position:relative;animation:fade .45s ease}
.wpanel[hidden]{display:none}

.whint{
  display:flex;align-items:center;gap:9px;
  background:#0d0809;border:1px solid var(--line);border-radius:11px;
  padding:11px 13px;font-size:13px;color:var(--mut);margin-bottom:16px;
}
.whint .ic{color:var(--red2);flex:none}
.whint span{flex:1}
.wcaret{transform:rotate(-90deg);color:var(--mut2)}

.whead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.wcoin{display:flex;align-items:center;gap:8px;font-size:16.5px;font-weight:900;color:#fff}
.wcoin .ic{color:var(--red2)}
.wbal{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.wbal small{font-size:9.5px;font-weight:900;letter-spacing:1.6px;color:var(--mut2)}
.wbal b{font-size:19px;font-weight:900;color:var(--red3);font-variant-numeric:tabular-nums}

.wlab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}
.wlab span{font-size:12.5px;font-weight:800;letter-spacing:.5px;color:var(--mut)}
.wlab small{font-size:11.5px;color:var(--mut2)}

.winput{
  display:flex;align-items:center;gap:10px;margin-bottom:15px;
  background:#0d0809;border:1px solid var(--line);border-radius:12px;
  padding:13px 15px;transition:border-color .3s ease,box-shadow .3s ease;
}
.winput .ic{color:var(--red2);flex:none}
.winput input{
  flex:1;min-width:0;background:none;border:0;outline:none;
  color:var(--txt);font-size:16px;font-weight:800;
}
.winput input::placeholder{color:var(--mut2);font-weight:600}
.winput:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(224,27,44,.16)}

.wgo{
  width:100%;border:0;cursor:pointer;font-size:15.5px;font-weight:900;letter-spacing:.4px;
  padding:15px;border-radius:12px;color:#fff;background:var(--grad);
  box-shadow:0 10px 26px rgba(224,27,44,.34);
  transition:transform .3s ease,box-shadow .3s ease,filter .3s ease;
}
.wgo:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(224,27,44,.42)}
.wgo:disabled{opacity:.55;pointer-events:none}
.wgo-wd{background:linear-gradient(135deg,#2fd07a,#12a45c);box-shadow:0 10px 26px rgba(18,164,92,.32)}
.wgo-wd:hover{box-shadow:0 14px 32px rgba(18,164,92,.42)}
.wgo-tip{background:linear-gradient(135deg,#ff7a3d,#e01b2c 65%,#8f0f1c)}
.wgo-promo{background:linear-gradient(135deg,#ffb347,#e01b2c 70%,#8f0f1c)}

.wcheck{
  display:block;width:100%;margin-top:11px;background:none;border:0;cursor:pointer;
  color:var(--red3);font-size:13px;font-weight:800;text-align:center;padding:6px;
  transition:color .3s ease;
}
.wcheck:hover{color:#fff}

.wresult{
  margin-top:14px;border-radius:12px;padding:14px 15px;
  display:flex;flex-direction:column;gap:9px;align-items:flex-start;
  font-size:14px;line-height:1.5;animation:pop .4s ease;
}
.wresult[hidden]{display:none}
.wresult b{font-size:15px;font-weight:900}
.wresult.ok{background:#0f1a14;border:1px solid rgba(61,220,132,.45);color:#cdf5de}
.wresult.err{background:#1a0f10;border:1px solid rgba(224,27,44,.5);color:#ffd3d6}
.wsub{font-size:13px;color:var(--mut);opacity:.95}
.wcmd{
  display:block;width:100%;background:#0d0809;border:1px dashed var(--red);
  border-radius:10px;padding:12px 14px;color:#fff;
  font-size:15.5px;font-weight:900;text-align:center;word-break:break-all;
}
.wcopy{
  border:0;cursor:pointer;border-radius:9px;padding:10px 16px;
  background:var(--grad);color:#fff;font-size:13.5px;font-weight:900;
  transition:transform .3s ease,filter .3s ease;
}
.wcopy:hover{transform:translateY(-2px);filter:brightness(1.12)}

.wlist{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:170px;overflow-y:auto}
.wlist li{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:#0d0809;border:1px solid var(--line);border-radius:9px;
  padding:9px 12px;font-size:13px;color:var(--mut);
}
.wlist li b{color:var(--red3);font-weight:900;font-variant-numeric:tabular-nums}
.wlist li span{font-size:11.5px;color:var(--mut2)}
.wst{font-style:normal;font-size:10.5px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;
  padding:3px 8px;border-radius:6px}
.wst-pending{background:#2a2113;color:#e0a02b}
.wst-paid{background:#0f1a14;color:#3ddc84}
.wst-failed{background:#1a0f10;color:#ff6a72}

/* ---------------- upgrader (medidor circular) ---------------- */
.up-gauge{
  position:relative;width:min(290px,74vw);aspect-ratio:1;margin:6px auto 10px;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.55));
}
.up-gauge svg{width:100%;height:100%;display:block}
.up-track{fill:none;stroke:#160f11;stroke-width:15}
.up-win{
  fill:none;stroke:#3ddc84;stroke-width:15;stroke-linecap:round;
  filter:drop-shadow(0 0 14px rgba(61,220,132,.7));
  transition:stroke-dasharray .7s cubic-bezier(.22,1,.36,1);
}
.up-needle{
  transform-origin:100px 100px;transform-box:view-box;
  transition:transform 2.6s cubic-bezier(.16,1.02,.3,1);
}
.up-needle line{stroke:#fff;stroke-width:3;stroke-linecap:round;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.75))}
.up-hub{fill:#fff;stroke:#0d0809;stroke-width:3}
.up-center{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;pointer-events:none;line-height:1.05;
}
.up-center b{
  font-size:46px;font-weight:900;color:#fff;letter-spacing:-1.5px;
  font-variant-numeric:tabular-nums;text-shadow:0 4px 22px rgba(0,0,0,.6);
}
.up-center small{
  font-size:10.5px;font-weight:800;letter-spacing:4.5px;color:var(--mut2);margin-top:7px;
}
.up-row{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  background:#0d0809;border:1px solid var(--line);border-radius:12px;padding:13px 15px;
}
.up-mult{font-size:18px;font-weight:900;color:var(--red3);font-variant-numeric:tabular-nums}

@media (max-width:820px){
  .topbar-right .auth-logged-out .btn-register{display:none}
  .gm-bet{flex-wrap:wrap}
  .gm-play{width:100%}
}

/* "prefers-reduced-motion" desactivado a pedido: las animaciones
   (regalo, ticker, brasas) deben verse siempre, aunque el sistema
   tenga activada la opcion de reducir movimiento. */
