
  *{box-sizing:border-box;}
  html,body{margin:0;background:#f5f4f3;}
  a{color:#c8102e;}
  a:hover{color:#8f0d21;}
  ::-webkit-scrollbar{height:6px;width:6px;}
  ::-webkit-scrollbar-thumb{background:#e0d6d4;border-radius:3px;}
  .rc-scroll{scrollbar-width:thin;scroll-snap-type:x mandatory;}
  .rc-scroll > *{scroll-snap-align:start;}
  details > summary{list-style:none;}
  details > summary::-webkit-details-marker{display:none;}
  .rc-menu-btn{display:none;}
  .rc-mobile-cta{display:none;}
  .rc-slide{transition:opacity .55s ease;}
  .rc-bubble{position:relative;background:#fff;border:2px solid #c8102e;border-radius:16px;padding:10px 14px;font-size:13.5px;font-weight:800;color:#c8102e;line-height:1.55;box-shadow:0 4px 14px rgba(200,16,46,0.12);}
  .rc-bubble::after{content:"";position:absolute;bottom:-11px;left:24px;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #c8102e;}
  .rc-bubble::before{content:"";position:absolute;bottom:-8px;left:26px;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #fff;z-index:1;}
  .rc-bubble-r::after{left:auto;right:24px;}
  .rc-bubble-r::before{left:auto;right:26px;}
  .rc-mascot{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
  .rc-mascot img{height:96px;width:auto;display:block;}
  .rc-bubble-side::after{bottom:auto;left:-11px;top:50%;margin-top:-11px;border-left:none;border-top:11px solid transparent;border-bottom:11px solid transparent;border-right:11px solid #c8102e;}
  .rc-bubble-side::before{bottom:auto;left:-8px;top:50%;margin-top:-9px;border-left:none;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff;}
  .rc-bubble-side-r::after{left:auto;right:-11px;top:50%;margin-top:-11px;border-right:none;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:11px solid #c8102e;}
  .rc-bubble-side-r::before{left:auto;right:-8px;top:50%;margin-top:-9px;border-right:none;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:9px solid #fff;}
  @media (max-width:900px){ .rc-mascot-hide{display:none !important;} }
  a{transition:box-shadow .18s ease, transform .18s ease, background .18s ease, color .18s ease;}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #c8102e;outline-offset:2px;}
  .rc-lift:hover{transform:translateY(-2px);}
  @media (max-width:700px){
    .rc-mobile-cta{display:flex !important;}
    .rc-mobile-pad{padding-bottom:78px !important;}
  }
  @media (max-width:1000px){
    .rc-rank-layout{grid-template-columns:1fr !important;}
  }
  @media (max-width:820px){
    .rc-rank-row{grid-template-columns:46px 1fr !important;gap:14px !important;padding:0 18px 18px 0 !important;}
    .rc-rank-row > div:nth-child(2){align-items:flex-start !important;text-align:left !important;padding-top:16px;}
    .rc-rank-row > div:nth-child(3),.rc-rank-row > div:nth-child(4){grid-column:2;}
  }
  .rc-rank-row{position:relative;}
  .rc-rank-row.rc-rank-top{border:1.5px solid rgba(217,164,24,0.55);box-shadow:0 10px 26px rgba(217,164,24,0.22),0 2px 10px rgba(0,0,0,0.05) !important;}
  .rc-rank-ribbon{position:absolute;top:18px;right:-30px;width:120px;padding:4px 0;text-align:center;transform:rotate(45deg);background:linear-gradient(135deg,#eac35a,#c6900f);color:#fff;font-size:11px;font-weight:900;letter-spacing:.03em;box-shadow:0 2px 6px rgba(0,0,0,.18);z-index:2;}
  .rc-rank-badge-inline{display:none;}
  @media (max-width:820px){
    .rc-rank-ribbon{display:none;}
    .rc-rank-badge-inline{display:inline-block;margin-top:1px;font-size:8.5px;font-weight:900;color:#fff;background:rgba(255,255,255,0.22);padding:1px 4px;border-radius:5px;white-space:nowrap;}
  }
  .rc-star-chip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;border-radius:50%;background:linear-gradient(135deg,#f4d888,#d9a418);color:#fff;font-size:10px;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,0.18);margin-top:1px;}
  .rc-rank-kicker{display:inline-flex;align-items:center;gap:6px;background:#fff6e2;color:#9a7416;border:1px solid rgba(217,164,24,0.4);font-size:11.5px;font-weight:900;letter-spacing:.03em;padding:5px 12px;border-radius:999px;margin-bottom:8px;}
  @media (max-width:1060px){
    .rc-desktop-nav{display:none !important;}
    .rc-header-cta{display:none !important;}
    .rc-menu-btn{display:flex !important;}
  }

  /* ---- TOP redesign (static port of the Claude Design "Revenge Casino TOP") ---- */
  /* DESIGN: two banners per slide instead of one cropped image — mobile/tablet banners are
     ~2.4:1 (unchanged), desktop banners are ~4:1 (wider/shorter, swapped in via <picture> at
     900px). The frame's aspect-ratio matches each breakpoint's intended banner shape, and
     object-fit:contain is a safety net so a mismatched or not-yet-made banner is only ever
     letterboxed, never cropped. */
  .rc-hero-wrap{background:#120608;}
  .rc-hero{position:relative;max-width:1920px;margin:0 auto;aspect-ratio:2.4;background:#120608;overflow:hidden;touch-action:pan-y;}
  @media (min-width:900px){ .rc-hero{aspect-ratio:4;} }
  .rc-slide{position:absolute;inset:0;display:block;opacity:0;z-index:1;transition:opacity .55s ease;}
  .rc-slide.is-active{opacity:1;z-index:2;}
  .rc-slide picture,.rc-slide img{display:block;width:100%;height:100%;}
  .rc-slide img{object-fit:contain;object-position:50% 50%;}
  .rc-hero-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:none;background:rgba(18,6,8,0.45);color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .rc-hero-prev{left:14px;}
  .rc-hero-next{right:14px;}
  /* dots sit in their own strip under the banner so they never cover a banner's CTA/text */
  .rc-hero-dots{display:flex;justify-content:center;gap:8px;padding:12px 0 0;background:#fff;}
  .rc-hero-dot{width:8px;height:8px;border-radius:100px;border:none;padding:0;cursor:pointer;background:#d9cfcd;transition:width .2s ease,background .2s ease;}
  .rc-hero-dot.is-active{width:26px;background:#c8102e;}
  @media (max-width:700px){
    .rc-hero-btn{width:34px;height:34px;font-size:16px;}
    .rc-hero-prev{left:8px;}
    .rc-hero-next{right:8px;}
  }
  .rc-menu-panel{display:none !important;}
  .rc-menu-panel.is-open{display:flex !important;}
  .rc-hero a:focus-visible,.rc-hero button:focus-visible{outline-color:#fff;}
  img{max-width:100%;}
  @media (max-width:700px){ h2{font-size:20px !important;} }
  @media (prefers-reduced-motion:reduce){
    .rc-slide,.rc-hero-dot,a{transition:none !important;}
  }
  /* hover styles (converted from the design's style-hover attributes) */
  .rch0:hover{color:#c8102e !important}
  .rch1:hover{background:#8f0d21 !important}
  .rch2:hover{background:rgba(200,16,46,0.06) !important}
  .rch3:hover{box-shadow:0 8px 22px rgba(200,16,46,0.14) !important}
  .rch4:hover{background:rgba(200,16,46,0.05) !important}
  .rch5:hover{box-shadow:0 8px 22px rgba(200,16,46,0.12) !important}
  .rch6:hover{color:#fff !important}

/* Slottenkoku limited bonus popup */
.slottenkoku-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(20, 20, 20, 0.62);
  backdrop-filter: blur(4px);
}

.slottenkoku-popup-overlay.is-active {
  display: flex;
}

.slottenkoku-popup-modal {
  position: relative;
  width: min(520px, 100%);
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(214, 166, 66, 0.35);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.28);
  animation: slottenkokuPopupIn 0.28s ease both;
}

.slottenkoku-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(20, 20, 20, 0.66);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.slottenkoku-popup-close:hover {
  background: rgba(159, 16, 23, 0.92);
}

.slottenkoku-popup-image-wrap {
  min-height: 190px;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 224, 140, 0.34), transparent 30%),
    linear-gradient(135deg, #111827 0%, #4b1114 55%, #9f1017 100%);
}

.slottenkoku-popup-image {
  width: 100%;
  aspect-ratio: 960 / 420;
  object-fit: cover;
  display: block;
}

.slottenkoku-popup-fallback {
  display: none;
  min-height: 210px;
  padding: 28px 24px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 22%, rgba(255, 224, 140, 0.34), transparent 30%),
    linear-gradient(135deg, #111827 0%, #4b1114 55%, #9f1017 100%);
}

.slottenkoku-popup-fallback.is-visible {
  display: grid;
  align-content: center;
  gap: 8px;
}

.slottenkoku-popup-fallback strong {
  display: block;
  font-size: clamp(24px, 5vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.slottenkoku-popup-fallback span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 800;
}

.slottenkoku-popup-body {
  padding: 22px 24px 24px;
  text-align: center;
}

.slottenkoku-popup-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff8e6;
  border: 1px solid rgba(214, 166, 66, 0.42);
  color: #8b6114;
  font-size: 12px;
  font-weight: 900;
}

.slottenkoku-popup-body h3 {
  margin: 0 0 8px;
  color: #9f1017;
  font-size: clamp(22px, 4vw, 28px);
  line-height: 1.35;
  letter-spacing: -0.04em;
}

.slottenkoku-popup-body p {
  margin: 0;
  color: #4d4d4d;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 700;
}

.slottenkoku-popup-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(280px, 100%);
  min-height: 48px;
  margin-top: 18px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #d71920, #9f1017);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(215, 25, 32, 0.22);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.slottenkoku-popup-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(215, 25, 32, 0.28);
}

.slottenkoku-popup-note {
  display: block;
  margin-top: 10px;
  color: #888;
  font-size: 11px;
  line-height: 1.6;
}

@keyframes slottenkokuPopupIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 640px) {
  .slottenkoku-popup-overlay {
    padding: 16px;
    align-items: center;
  }

  .slottenkoku-popup-modal {
    border-radius: 20px;
  }

  .slottenkoku-popup-image-wrap {
    min-height: 150px;
  }

  .slottenkoku-popup-body {
    padding: 18px 18px 20px;
  }

  .slottenkoku-popup-body p {
    font-size: 13px;
  }
}
