:root{
  --bg:#0b0e1a;
  --bg2:#121731;
  --panel:#171d3a;
  --linea:#2a3160;
  --texto:#eef1ff;
  --texto2:#9aa3cf;
  --oro:#f5b942;
  --oro-osc:#a06a12;
  --plata:#cfd6ea;
  --rojo:#e05c5c;
  --radio:12px;
  --sombra:0 10px 30px rgba(0,0,0,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,"Segoe UI",Roboto,Inter,sans-serif;
  background:
    radial-gradient(900px 500px at 80% -10%,rgba(245,185,66,.09),transparent),
    radial-gradient(700px 500px at 10% 20%,rgba(90,110,255,.10),transparent),
    var(--bg);
  color:var(--texto);
  line-height:1.6;
  min-height:100vh;
}
kbd{background:var(--panel);border:1px solid var(--linea);border-radius:6px;padding:1px 7px;font-size:.85em}

/* ---------- topbar ---------- */
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px clamp(16px,4vw,40px);max-width:1200px;margin:0 auto;
}
.brand{display:flex;gap:8px;align-items:center;font-weight:700;letter-spacing:.04em;color:var(--oro)}
.topbar nav a{color:var(--texto2);text-decoration:none;font-size:.85rem;margin-left:18px;transition:color .2s}
.topbar nav a:hover{color:var(--texto)}

/* ---------- hero ---------- */
.hero{text-align:center;padding:clamp(16px,4vw,36px) 16px 24px;animation:entrada .6s ease both}
.hero-kicker{font-size:.72rem;letter-spacing:.35em;color:var(--oro);font-weight:600;margin-bottom:8px}
h1{
  font-size:clamp(2.1rem,6vw,3.4rem);letter-spacing:-.02em;line-height:1.08;
  background:linear-gradient(180deg,#fff,#ffd98a);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{color:var(--texto2);margin-top:10px;font-size:clamp(.92rem,2vw,1.05rem)}

/* ---------- moneda ---------- */
.stage-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px}
.coin-stage{position:relative;width:190px;height:190px;display:flex;align-items:center;justify-content:center;perspective:900px}
.coin-shadow{
  position:absolute;bottom:-14px;width:130px;height:22px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);
  transition:transform .25s ease,opacity .25s ease;
}
.coin{
  width:170px;height:170px;border:none;background:none;cursor:pointer;
  position:relative;transform-style:preserve-3d;
  transition:transform .15s ease;
  animation:flotar 3.2s ease-in-out infinite;
}
.coin:focus-visible{outline:3px solid var(--oro);outline-offset:8px;border-radius:50%}
.coin.girando{animation:girar .95s cubic-bezier(.2,.75,.3,1) forwards}
.coin-face{
  position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.12),inset 0 -10px 22px rgba(0,0,0,.28),var(--sombra);
}
.coin-cara{background:radial-gradient(circle at 32% 28%,#ffe29a,var(--oro) 55%,#c8871f);color:#7a4d08;transform:rotateY(0)}
.coin-cruz{background:radial-gradient(circle at 32% 28%,#f2f5ff,var(--plata) 55%,#8b93ad);color:#4a5170;transform:rotateY(180deg)}
.coin-face svg{width:100%;height:100%}

@keyframes flotar{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes girar{
  0%{transform:rotateX(0) rotateY(var(--giro-ini,0)) translateY(0)}
  45%{transform:rotateX(360deg) rotateY(calc(var(--giro-ini,0) + 720deg)) translateY(-70px)}
  100%{transform:rotateX(720deg) rotateY(var(--giro-fin,1080deg)) translateY(0)}
}
@keyframes entrada{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.resultado{font-size:clamp(1.3rem,4vw,1.8rem);font-weight:800;min-height:1.4em;letter-spacing:.02em}
.resultado.cara{color:var(--oro)}
.resultado.cruz{color:var(--plata)}
.resumen-tanda{color:var(--texto2);font-size:.92rem;min-height:1.4em}

/* ---------- controles ---------- */
.controles{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.tanda-selector{display:flex;gap:6px;background:var(--panel);border:1px solid var(--linea);border-radius:999px;padding:5px}
.chip{
  border:none;background:none;color:var(--texto2);cursor:pointer;
  min-width:44px;min-height:38px;border-radius:999px;font-weight:600;font-size:.9rem;
  transition:all .2s;
}
.chip:hover{color:var(--texto)}
.chip.activo{background:var(--oro);color:#3a2600}
.btn-lanzar{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,#ffd061,var(--oro));color:#3a2600;
  border:none;border-radius:999px;padding:13px 30px;min-height:48px;
  font-size:1rem;font-weight:800;letter-spacing:.05em;cursor:pointer;
  box-shadow:0 6px 20px rgba(245,185,66,.35);transition:transform .15s,box-shadow .2s;
}
.btn-lanzar:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(245,185,66,.45)}
.btn-lanzar:active{transform:scale(.97)}
.btn-lanzar:disabled{opacity:.55;cursor:wait;transform:none}

/* ---------- stats / historial ---------- */
.stats-panel,.historial-panel{
  max-width:680px;margin:34px auto;padding:24px clamp(16px,4vw,32px);
  background:linear-gradient(180deg,var(--panel),var(--bg2));
  border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra);
}
.stats-panel h2,.historial-panel h2{font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto2);margin-bottom:16px;text-align:center}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.stat-card{background:rgba(255,255,255,.04);border:1px solid var(--linea);border-radius:10px;padding:12px 6px;text-align:center}
.stat-num{display:block;font-size:clamp(1.2rem,3.5vw,1.7rem);font-weight:800;color:var(--oro)}
.stat-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto2)}
.barra{height:12px;border-radius:99px;background:var(--plata);overflow:hidden;margin:16px 0 14px;border:1px solid var(--linea)}
.barra-caras{height:100%;width:0;background:linear-gradient(90deg,#ffd061,var(--oro));transition:width .5s ease}
.btn-sec{
  display:block;margin:0 auto;background:none;border:1px solid var(--linea);color:var(--texto2);
  border-radius:999px;padding:9px 20px;min-height:44px;cursor:pointer;font-size:.85rem;transition:all .2s;
}
.btn-sec:hover{color:var(--rojo);border-color:var(--rojo)}

.historial{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.historial li{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.8rem;border:1px solid var(--linea);animation:entrada .3s ease both;
}
.hist-vacio{width:auto!important;height:auto!important;border:none!important;color:var(--texto2)!important;font-size:.9rem!important}
.hist-cara{background:rgba(245,185,66,.16);color:var(--oro)}
.hist-cruz{background:rgba(207,214,234,.12);color:var(--plata)}

/* ---------- contenido ---------- */
.contenido{max-width:680px;margin:0 auto 34px;padding:0 20px}
.contenido h2{font-size:1.4rem;margin-bottom:10px;letter-spacing:-.01em}
.contenido p,.contenido ol{color:var(--texto2);font-size:.97rem}
.contenido ol{padding-left:22px}
.contenido li{margin-bottom:6px}
.contenido strong{color:var(--texto)}
.contenido code{background:var(--panel);border:1px solid var(--linea);border-radius:5px;padding:1px 6px;font-size:.85em}
details{border:1px solid var(--linea);border-radius:10px;padding:14px 18px;margin-bottom:10px;background:rgba(255,255,255,.03)}
summary{cursor:pointer;font-weight:600;min-height:24px}
details p{margin-top:8px}

.cta-final{text-align:center;padding:30px 20px 46px}
.cta-final h2{font-size:clamp(1.3rem,4vw,1.8rem);margin-bottom:16px}
.btn-cta{
  display:inline-block;background:linear-gradient(135deg,#ffd061,var(--oro));color:#3a2600;
  text-decoration:none;font-weight:800;border-radius:999px;padding:14px 34px;min-height:48px;
  letter-spacing:.05em;box-shadow:0 6px 20px rgba(245,185,66,.35);transition:transform .15s;
}
.btn-cta:hover{transform:translateY(-2px)}

.footer{border-top:1px solid var(--linea);padding:26px 20px;text-align:center;color:var(--texto2);font-size:.85rem}
.footer nav{margin-bottom:10px}
.footer a{color:var(--texto2);text-decoration:none;margin:0 12px;transition:color .2s}
.footer a:hover{color:var(--oro)}

@media (max-width:520px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .coin-stage{width:160px;height:160px}
  .coin{width:145px;height:145px}
  .topbar nav a{margin-left:12px;font-size:.78rem}
}
