:root{
  --bg-1:#fff7e6;
  --bg-2:#e7f7ff;
  --bg-grad:linear-gradient(180deg, #fff7e6 0%, #fff0fb 50%, #e7f7ff 100%);
  --gold:#f7b733;
  --gold-2:#ffe66d;
  --indigo:#7c4dff;
  --emerald:#1ec28b;
  --crimson:#ff4d6d;
  --sky:#2ba6ff;
  --ink:#1c195b;
  --muted:#6c6a86;
  --panel:#ffffffee;
  --shadow:0 10px 30px rgba(28,25,91,.15);
  --cell-size:84px;
  --gap:10px;
  --radius:16px;
  --speed:900ms;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif;
  color:var(--ink);
  background-image:var(--bg-grad);
  background-attachment:fixed;
}

.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;
  background:linear-gradient(90deg,#ffd86f,#ff9a9e 50%,#7de3ff);
  color:#2a1b00;
  position:sticky;top:0;z-index:10;
  box-shadow:var(--shadow);
}
.brand{display:flex;align-items:center;gap:12px}
.logo-emoji{font-size:28px}
.title{font-size:18px;margin:0;font-weight:800;letter-spacing:.4px}
.top-controls{display:flex;gap:8px}

.game-wrap{
  max-width:980px;margin:16px auto;padding:10px;
}
.notice{
  text-align:center;margin:10px auto 4px;
}
.disclaimer{
  display:inline-block;
  background:#fffcec;
  color:#7a5b00;
  border:1px dashed #f3c200;
  padding:6px 10px;border-radius:10px;margin:4px 6px;
  font-size:13px;
}

.status-bar{
  display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:10px;
  align-items:center;background:var(--panel);border-radius:var(--radius);
  padding:8px 10px;box-shadow:var(--shadow);
}
.status-item{display:flex;align-items:center;gap:10px}
.status-item .label{font-weight:700;color:#574a00;font-size:14px}
.value{font-weight:800;font-size:20px}
.win-val{color:#1b8f2e}

.bet-ctrl{display:flex;align-items:center;gap:6px}
.bet-input{
  width:110px;padding:8px;border-radius:10px;border:1px solid #e2d7b5;
  font-weight:700;text-align:center;background:#fff8e1;color:#4b3b00;
}
.btn{
  border:none;cursor:pointer;border-radius:12px;padding:10px 14px;
  font-weight:800;letter-spacing:.5px;transition:transform .06s ease, filter .2s ease, background .2s ease;
  background:#fff;color:#1c195b;box-shadow:var(--shadow);
}
.btn.small{padding:6px 10px;border-radius:10px}
.btn:active{transform:scale(0.97)}
.btn.ghost{background:#ffffffa8;border:1px solid #ded4ff}
.btn.primary{background:linear-gradient(180deg,#ffd86f,#f7b733);color:#3c2b00}

.stage{
  margin-top:12px;background:radial-gradient(120% 120% at 50% 0%, #ffffffcc 0%, #ffffff88 60%, #ffffff66 100%), #fff;
  border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);
  position:relative;overflow:hidden;
  border:3px solid #ffd86f;
}
.reels{
  position:relative;
  display:grid;grid-template-columns:repeat(6, var(--cell-size));
  justify-content:center;gap:var(--gap);padding:10px;
  margin:auto;max-width:calc(6*var(--cell-size) + 5*var(--gap));
}
.reel{
  width:var(--cell-size);height:calc(var(--cell-size)*5 + 4*var(--gap));
  overflow:hidden;border-radius:12px;background:linear-gradient(180deg,#f7fbff,#fff);
  box-shadow:inset 0 0 0 2px #e6f3ff, inset 0 8px 20px rgba(0,0,0,.05);
  position:relative;
}
.strip{
  position:absolute;left:0;top:0;right:0;will-change:transform;
  display:flex;flex-direction:column;gap:var(--gap);padding-bottom:200px;
}
.cell{
  width:var(--cell-size);height:var(--cell-size);
  display:grid;place-items:center;background:linear-gradient(180deg,#ffffff,#f7fbff);
  border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.08);
  position:relative;overflow:hidden;
}
.cell svg{width:64px;height:64px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.cell .mult{
  position:absolute;top:6px;right:6px;background:#7c4dff;color:#fff;font-size:12px;
  padding:2px 6px;border-radius:999px;font-weight:900;box-shadow:0 2px 8px rgba(124,77,255,.4)
}

.cell.win{animation:pop .6s ease both;box-shadow:0 0 0 3px #37ff7a inset, 0 4px 12px rgba(55,255,122,.4)}
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}

.win-banner{
  position:absolute;left:50%;top:14px;transform:translateX(-50%);
  background:linear-gradient(90deg,#37ff7a,#7de3ff);color:#072;
  padding:8px 14px;border-radius:999px;font-weight:900;letter-spacing:.5px;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .3s ease, transform .3s ease;
}
.win-banner.show{opacity:1;transform:translateX(-50%) scale(1.02)}

.toast{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  background:#1c195b;color:#fff;padding:8px 12px;border-radius:10px;opacity:0;transition:opacity .2s ease;
}
.toast.show{opacity:1}

.controls{
  display:flex;justify-content:center;margin:12px auto
}
.btn.spin{
  font-size:20px;padding:16px 26px;border-radius:18px;
  background:linear-gradient(180deg,#ffe66d,#f7b733);
  color:#3a2a00;border:2px solid #ffd86f;text-shadow:0 1px 0 #fff6bf;
}
.btn.spin[disabled]{filter:grayscale(.5) brightness(.9);cursor:not-allowed}

.switch{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#444}
.switch input{width:20px;height:20px}

.links{
  display:flex;gap:16px;justify-content:center;margin:16px auto;color:#3e3b00;
}
.links a{color:#3e3b00;font-weight:700;text-decoration:underline dotted}
.links a:hover{text-decoration:underline}

.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;background:#ffffffee;box-shadow:0 -8px 30px rgba(0,0,0,.12);
  padding:10px;display:grid;place-items:center;z-index:20;
}
.cookie-card{
  width:min(720px,96%);background:#fff;border-radius:16px;border:1px solid #eee;box-shadow:var(--shadow);
  padding:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
}
.cookie-actions{display:flex;gap:8px}

@media (min-width:740px){
  .title{font-size:22px}
  :root{ --cell-size:96px }
  .status-bar{grid-template-columns:1fr 1.2fr 1fr auto}
}
