/* ============================================================
   Winlive4d — winlive4d.games
   Casino editorial theme: red / gold / green / blue on ink & white
   ============================================================ */
:root{
  --red:#d3172c; --red-2:#a30f22; --red-3:#ff3b52;
  --gold:#f5b301; --gold-2:#ffd34d; --gold-3:#c98c00;
  --green:#17a558; --green-2:#0c7a3d;
  --blue:#2563eb; --blue-2:#1e40af;
  --ink:#0d0e14; --ink-2:#14161f; --ink-3:#1d2029;
  --paper:#ffffff; --mist:#f5f6fa; --line:#e6e8f0;
  --text:#2b2d38; --muted:#69707f;
  --rad:14px; --rad-lg:20px;
  --shadow:0 10px 30px rgba(13,14,20,.10);
  --shadow-lg:0 22px 60px rgba(13,14,20,.22);
  --grad-red:linear-gradient(135deg,#ff4257 0%,#d3172c 55%,#8f0c1e 100%);
  --grad-gold:linear-gradient(135deg,#ffd866 0%,#f5b301 55%,#d18f00 100%);
  --grad-green:linear-gradient(135deg,#2ecb74 0%,#17a558 55%,#0b6e3a 100%);
  --font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--text);background:var(--paper);line-height:1.65;font-size:16px;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--red);text-decoration:none;transition:color .2s}
a:hover{color:var(--red-2)}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,select{font-family:inherit;font-size:1rem}
h1,h2,h3,h4{line-height:1.25;color:var(--ink);font-weight:800}
.container{width:min(1180px,92%);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:8px 14px;font-weight:700;z-index:999}
.skip:focus{left:12px;top:12px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;letter-spacing:.02em;border-radius:10px;padding:12px 22px;font-size:.95rem;transition:transform .15s,box-shadow .2s,filter .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-red{background:var(--grad-red);color:#fff;box-shadow:0 8px 22px rgba(211,23,44,.35)}
.btn-gold{background:var(--grad-gold);color:#2a1c00;box-shadow:0 8px 22px rgba(245,179,1,.35)}
.btn-green{background:var(--grad-green);color:#fff;box-shadow:0 8px 22px rgba(23,165,88,.32)}
.btn-line{border:2px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06)}
.btn-dark{background:var(--ink-2);color:#fff}
.btn-sm{padding:9px 16px;font-size:.85rem;border-radius:9px}
.btn-lg{padding:15px 30px;font-size:1.03rem}
.btn-block{width:100%}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(13,14,20,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(245,179,1,.25)}
.hdr-in{display:flex;align-items:center;gap:14px;min-height:66px;width:min(1240px,95%);margin-inline:auto}
.brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:900;font-size:1.15rem;letter-spacing:.03em;flex-shrink:0;white-space:nowrap}
.brand svg{width:32px;height:32px;flex-shrink:0}
.brand b{color:var(--gold)}
.brand:hover{color:#fff}
.age{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:21px;padding:0 4px;border-radius:6px;border:1.5px solid var(--red-3);color:#ff6b7d;font-size:.68rem;font-weight:800;letter-spacing:.05em;margin-left:2px}
.nav{display:flex;gap:2px;margin-left:4px}
.nav-a{color:#d8dbe4;font-weight:600;font-size:.88rem;padding:8px 9px;border-radius:8px}
.nav-a:hover,.nav-a.on{color:#fff;background:rgba(255,255,255,.09)}
.hdr-tools{margin-left:auto;display:flex;align-items:center;gap:8px}
#srchTgl{display:none}
.hdr-search{position:relative}
.hdr-search input{width:170px;background:#20232e;border:1px solid #343846;color:#fff;border-radius:9px;padding:9px 12px 9px 32px;font-size:.85rem;outline:none;transition:border .2s,width .2s}
.hdr-search input:focus{border-color:var(--gold);width:206px}
.hdr-search .s-ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8b91a3;pointer-events:none}
.sr-pop{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:82vw;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--line);overflow:hidden;display:none;text-align:left}
.sr-pop.open{display:block}
.sr-pop a{display:block;padding:11px 14px;border-bottom:1px solid var(--line);color:var(--text)}
.sr-pop a:last-child{border-bottom:0}
.sr-pop a:hover{background:var(--mist)}
.sr-pop .sr-t{font-weight:700;color:var(--ink);font-size:.9rem}
.sr-pop .sr-d{font-size:.78rem;color:var(--muted)}
.sr-empty{padding:14px;color:var(--muted);font-size:.85rem;text-align:center}
.ico-btn{color:#d8dbe4;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#20232e;border:1px solid #343846}
.ico-btn:hover{color:#fff;border-color:var(--gold)}
.nav-tgl{display:none}
.m-search{display:none;background:var(--ink-2);border-top:1px solid #262a36;padding:10px 0}
.m-search .m-sr-in{position:relative}
.m-search input{width:100%;background:#20232e;border:1px solid #343846;color:#fff;border-radius:10px;padding:11px 14px 11px 38px;outline:none}
.m-search input:focus{border-color:var(--gold)}
.m-search .s-ic{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#8b91a3}

/* ---------- hero ---------- */
.hero{background:radial-gradient(1100px 500px at 85% -10%,rgba(211,23,44,.5),transparent 60%),radial-gradient(800px 420px at -10% 110%,rgba(245,179,1,.16),transparent 55%),linear-gradient(180deg,#151722 0%,#0d0e14 100%);color:#e8eaf1;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:64px 0 70px;position:relative;z-index:1}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(245,179,1,.14);border:1px solid rgba(245,179,1,.45);color:var(--gold-2);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.hero h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.7rem);margin:18px 0 14px;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero-sub{color:#b9bece;font-size:1.02rem;max-width:34rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 26px}
.hero-search{position:relative;max-width:30rem}
.hero-search input{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.97);padding:15px 112px 15px 44px;font-size:.95rem;outline:none;color:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.35)}
.hero-search .s-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.hero-search .btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:10px 18px}
.tag-cloud{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:.82rem;color:#9aa1b3}
.tag{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#dfe3ec;padding:5px 13px;border-radius:999px;font-weight:600;transition:.2s}
.tag:hover{background:var(--grad-gold);color:#241800;border-color:transparent}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;color:#c3c8d6;font-size:.82rem;font-weight:600}
.hero-trust li{display:flex;align-items:center;gap:7px}
.hero-trust svg{color:var(--green);flex-shrink:0}
.hero-media{position:relative}
.hero-media img{border-radius:var(--rad-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(245,179,1,.3)}
.hero-badge{position:absolute;background:#fff;color:var(--ink);border-radius:12px;padding:10px 16px;font-weight:800;font-size:.85rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px}
.hero-badge small{display:block;font-weight:600;color:var(--muted);font-size:.72rem}
.hb-1{top:-16px;left:-14px}
.hb-2{bottom:-16px;right:-10px}
.hero-badge .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(23,165,88,.2)}

/* ---------- section ---------- */
.sec{padding:64px 0}
.sec.alt{background:var(--mist)}
.sec.dark{background:linear-gradient(180deg,var(--ink) 0%,#12141c 100%);color:#c6cad6}
.sec-head{text-align:center;max-width:46rem;margin:0 auto 40px}
.kicker{display:inline-block;color:var(--red);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:10px}
.dark .kicker{color:var(--gold-2)}
.sec-head h2{font-size:clamp(1.4rem,2.6vw,2.05rem);letter-spacing:-.01em}
.sec-head h2 span{color:var(--red)}
.dark .sec-head h2{color:#fff}
.dark .sec-head h2 span{color:var(--gold-2)}
.sec-sub{color:var(--muted);margin-top:12px}
.dark .sec-sub{color:#a4aab8}

/* ---------- feature cards ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--rad-lg);padding:26px 24px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.feat::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent,var(--grad-red))}
.feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.feat-ic{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--accent,var(--grad-red));color:#fff;margin-bottom:16px;box-shadow:0 8px 18px rgba(13,14,20,.16)}
.feat h3{font-size:1.06rem;margin-bottom:8px}
.feat p{color:var(--muted);font-size:.9rem}
.f-red{--accent:var(--grad-red)} .f-gold{--accent:var(--grad-gold)} .f-green{--accent:var(--grad-green)} .f-blue{--accent:linear-gradient(135deg,#4f8cff,#2563eb 60%,#1e40af)} .f-ink{--accent:linear-gradient(135deg,#3a3f52,#0d0e14)}

/* ---------- split (why choose / security) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split img{border-radius:var(--rad-lg);box-shadow:var(--shadow)}
.split h2{font-size:clamp(1.35rem,2.4vw,1.9rem);margin-bottom:8px}
.split .lead{color:var(--muted);margin-bottom:22px}
.tick-list li{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);color:var(--text);font-size:.94rem}
.tick-list li:last-child{border-bottom:0}
.tick-list svg{color:var(--green);flex-shrink:0;margin-top:3px}
.tick-list b{color:var(--ink)}

/* ---------- payments ---------- */
.pay-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pay{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 10px;text-align:center;font-weight:800;color:var(--ink);font-size:.9rem;transition:.2s}
.pay:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow)}
.pay small{display:block;font-weight:600;color:var(--muted);font-size:.72rem;margin-top:3px}
.pay-note{margin-top:18px;text-align:center;color:var(--muted);font-size:.84rem}

/* ---------- testimonials ---------- */
.ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ts{background:var(--ink-2);border:1px solid #262a36;border-radius:var(--rad-lg);padding:24px;position:relative}
.ts::before{content:"“";position:absolute;top:6px;right:18px;font-size:4rem;color:rgba(245,179,1,.25);font-family:Georgia,serif;line-height:1}
.ts p{color:#ccd1dd;font-size:.92rem}
.ts-who{display:flex;align-items:center;gap:12px;margin-top:18px}
.ts-av{width:42px;height:42px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;font-weight:800;color:#241800}
.ts-n{color:#fff;font-weight:700;font-size:.92rem}
.ts-r{color:#8f96a8;font-size:.78rem}
.ts-stars{color:var(--gold-2);font-size:.8rem;letter-spacing:2px}
.ts-note{text-align:center;color:#8f96a8;font-size:.8rem;margin-top:20px}

/* ---------- glossary ---------- */
.glo-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:26px}
.glo-tab{background:#fff;border:1.5px solid var(--line);color:var(--text);font-weight:700;font-size:.88rem;padding:9px 18px;border-radius:999px;transition:.2s}
.glo-tab:hover{border-color:var(--gold)}
.glo-tab.on{background:var(--grad-red);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(211,23,44,.3)}
.glo-pane{display:none;max-width:760px;margin:0 auto}
.glo-pane.on{display:block}
.glo-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.glo-item summary{cursor:pointer;padding:15px 18px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;list-style:none}
.glo-item summary::-webkit-details-marker{display:none}
.glo-item summary::after{content:"+";color:var(--red);font-size:1.25rem;font-weight:800;transition:transform .2s}
.glo-item[open] summary::after{transform:rotate(45deg)}
.glo-item summary:hover{background:var(--mist)}
.glo-body{padding:0 18px 16px;color:var(--muted);font-size:.9rem}

/* ---------- promo cards ---------- */
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pr{background:#fff;border:1px solid var(--line);border-radius:var(--rad-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative}
.pr:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pr-img{position:relative;aspect-ratio:16/9;overflow:hidden}
.pr-img img{width:100%;height:100%;object-fit:cover}
.pr-ribbon{position:absolute;top:12px;left:12px;background:var(--grad-gold);color:#241800;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.pr-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.pr-body h3{font-size:1.05rem}
.pr-desc{color:var(--muted);font-size:.88rem}
.pr-terms{background:var(--mist);border-radius:10px;padding:12px 14px;font-size:.8rem;color:var(--muted)}
.pr-terms li{display:flex;gap:8px;padding:2px 0}
.pr-terms b{color:var(--ink)}
.pr-body .btn{margin-top:auto;align-self:flex-start}

/* ---------- article preview / cards ---------- */
.art-prev{display:grid;grid-template-columns:400px 1fr;gap:34px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--rad-lg);overflow:hidden;box-shadow:var(--shadow)}
.art-prev img{height:100%;width:100%;object-fit:cover;min-height:300px}
.art-prev-txt{padding:34px 36px}
.art-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.8rem;font-weight:600}
.art-meta .cat{background:rgba(211,23,44,.08);color:var(--red);padding:3px 11px;border-radius:999px;font-weight:700}
.art-prev-txt h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:12px 0}
.art-prev-txt p{color:var(--muted)}
.art-prev-txt .btn{margin-top:20px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--rad-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.pcard img{aspect-ratio:16/9;object-fit:cover;width:100%}
.pcard-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard h3{font-size:1.02rem}
.pcard p{color:var(--muted);font-size:.88rem}
.pcard .btn{margin-top:auto;align-self:flex-start}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:800px;margin:0 auto}
.faq-i{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq-i summary{cursor:pointer;padding:17px 20px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;gap:14px;align-items:center;list-style:none;font-size:.98rem}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";color:var(--red);font-size:1.4rem;font-weight:800;line-height:1;transition:transform .2s;flex-shrink:0}
.faq-i[open] summary::after{transform:rotate(45deg)}
.faq-i summary:hover{background:var(--mist)}
.faq-b{padding:0 20px 18px;color:var(--muted);font-size:.92rem}
.dark .faq-i{background:var(--ink-2);border-color:#2a2e3b}
.dark .faq-i summary{color:#fff}
.dark .faq-i summary:hover{background:#1a1d27}
.dark .faq-b{color:#a9afbd}

/* ---------- page hero (inner) ---------- */
.phero{background:radial-gradient(900px 380px at 80% -20%,rgba(211,23,44,.45),transparent 60%),linear-gradient(180deg,#171923,#0d0e14);color:#e8eaf1;padding:38px 0 46px}
.phero h1{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin:10px 0 10px}
.phero .lead{color:#aab0c0;max-width:44rem}
.crumbs{font-size:.8rem;font-weight:600}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#9aa1b3}
.crumbs a{color:#d6dae4}
.crumbs a:hover{color:var(--gold-2)}
.crumbs li+li::before{content:"›";margin-right:6px;color:#5c6272}
.crumbs.lite a{color:#69707f}
.crumbs.lite li{color:#69707f}
.crumbs.lite li+li::before{color:#aab}
.crumbs.lite .on{color:var(--ink)}

/* ---------- prose ---------- */
.prose{max-width:800px}
.prose h2{font-size:1.45rem;margin:34px 0 12px}
.prose h3{font-size:1.13rem;margin:26px 0 10px}
.prose p{margin-bottom:14px;color:#3a3d49}
.prose ul{margin:0 0 16px 4px}
.prose ul li{position:relative;padding-left:24px;margin-bottom:8px;color:#3a3d49}
.prose ul li::before{content:"";position:absolute;left:2px;top:.58em;width:8px;height:8px;border-radius:2px;background:var(--grad-gold);transform:rotate(45deg)}
.prose ol{counter-reset:li;margin:0 0 16px 6px}
.prose ol li{position:relative;padding-left:34px;margin-bottom:10px;color:#3a3d49;counter-increment:li}
.prose ol li::before{content:counter(li);position:absolute;left:0;top:.12em;width:22px;height:22px;background:var(--grad-red);color:#fff;border-radius:7px;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.prose img{border-radius:var(--rad-lg);margin:22px 0;box-shadow:var(--shadow)}
.prose figcaption{font-size:.8rem;color:var(--muted);margin-top:-14px;margin-bottom:18px;text-align:center}
.prose blockquote{background:var(--mist);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 16px;color:#3a3d49;font-style:italic}
.prose table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:.9rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.prose th{background:var(--ink-2);color:#fff;padding:11px 14px;text-align:left;font-size:.85rem}
.prose td{padding:10px 14px;border-bottom:1px solid var(--line);color:#3a3d49}
.prose tr:last-child td{border-bottom:0}
.prose .note{background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.25);border-radius:12px;padding:14px 18px;font-size:.88rem;color:#33415e;margin:0 0 16px}

/* ---------- game tiles (category) ---------- */
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.game{background:#fff;border:1px solid var(--line);border-radius:var(--rad-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.game:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.game-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;font-size:2.6rem;background:var(--g,var(--grad-red));color:#fff}
.game-thumb span{filter:drop-shadow(0 6px 12px rgba(0,0,0,.3))}
.game-body{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.game-body h3{font-size:1rem}
.game-body p{color:var(--muted);font-size:.86rem}
.game-body .gtag{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:rgba(211,23,44,.07);align-self:flex-start;padding:3px 10px;border-radius:999px}
.g-1{--g:var(--grad-red)} .g-2{--g:var(--grad-gold)} .g-3{--g:var(--grad-green)} .g-4{--g:linear-gradient(135deg,#4f8cff,#1e40af)} .g-5{--g:linear-gradient(135deg,#3a3f52,#0d0e14)} .g-6{--g:linear-gradient(135deg,#a855f7,#6b21a8)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:st}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:22px 18px;position:relative}
.step-n{width:36px;height:36px;border-radius:10px;background:var(--grad-gold);color:#241800;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:1rem}
.step h3{font-size:.98rem;margin-bottom:6px}
.step p{color:var(--muted);font-size:.85rem}

/* ---------- auth ---------- */
.auth-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 66px)}
.auth-media{position:relative;background:linear-gradient(180deg,#171923,#0d0e14);display:flex;align-items:center;justify-content:center;overflow:hidden}
.auth-media img{opacity:.5;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.auth-media .ov{position:relative;color:#e8eaf1;padding:40px;max-width:30rem}
.auth-media .ov h2{color:#fff;margin-bottom:12px}
.auth-form{display:flex;align-items:center;justify-content:center;padding:56px 20px;background:var(--mist)}
.auth-card{width:100%;max-width:430px;background:#fff;border-radius:var(--rad-lg);box-shadow:var(--shadow-lg);padding:36px 32px;border:1px solid var(--line)}
.auth-card h1{font-size:1.45rem;margin-bottom:6px}
.auth-card .sub{color:var(--muted);font-size:.9rem;margin-bottom:24px}
.f-field{margin-bottom:16px}
.f-field label{display:block;font-weight:700;font-size:.85rem;margin-bottom:6px;color:var(--ink)}
.f-field input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;outline:none;transition:border .2s;background:#fff}
.f-field input:focus{border-color:var(--red)}
.f-hint{font-size:.78rem;color:var(--muted);margin-top:5px}
.f-check{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin:6px 0 20px}
.f-check input{margin-top:3px;accent-color:var(--red);width:16px;height:16px;flex-shrink:0}
.f-alt{margin-top:18px;text-align:center;font-size:.86rem;color:var(--muted)}
.f-err{display:none;background:rgba(211,23,44,.07);border:1px solid rgba(211,23,44,.3);color:var(--red-2);border-radius:10px;padding:10px 14px;font-size:.83rem;margin-bottom:14px}
.f-err.show{display:block}

/* ---------- CTA band ---------- */
.cta-band{background:radial-gradient(700px 300px at 50% -40%,rgba(245,179,1,.22),transparent 60%),linear-gradient(135deg,#a30f22,#d3172c 60%,#7c0a19);color:#fff;border-radius:var(--rad-lg);padding:44px 36px;text-align:center;box-shadow:var(--shadow-lg)}
.cta-band h2{color:#fff;font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:10px}
.cta-band p{color:#ffd9de;max-width:38rem;margin:0 auto 22px}
.cta-band .btn-line:hover{background:rgba(255,255,255,.14)}

/* ---------- footer ---------- */
.ftr{background:linear-gradient(180deg,#101119,#0a0b10);color:#a7adbb;padding:56px 0 0;position:relative}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:40px}
.ftr h4{color:#fff;font-size:.95rem;margin-bottom:16px;letter-spacing:.03em}
.ftr-brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:900;font-size:1.15rem;letter-spacing:.04em;margin-bottom:14px}
.ftr-brand b{color:var(--gold)}
.ftr-brand svg{width:30px;height:30px}
.ftr p{font-size:.85rem}
.ftr-links li{margin-bottom:9px}
.ftr-links a{color:#a7adbb;font-size:.87rem}
.ftr-links a:hover{color:var(--gold-2)}
.ftr-pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ftr-pay span{border:1px solid #2c303d;background:#171a23;color:#c9cedb;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:7px}
.ftr-18{display:inline-flex;align-items:center;gap:9px;background:#171a23;border:1px solid #3a2030;border-radius:12px;padding:12px 14px;margin-top:14px;font-size:.8rem;color:#d9b8bf}
.ftr-18 .b{border:2px solid var(--red-3);color:#ff6b7d;font-weight:800;border-radius:8px;padding:1px 8px;font-size:.85rem}
.ftr-legal{border-top:1px solid #22252f;padding:22px 0;font-size:.78rem;color:#7c8292;text-align:center}
.ftr-legal p{max-width:60rem;margin:0 auto 8px}
.ftr-bottom{padding-bottom:calc(74px + env(safe-area-inset-bottom))}

/* ---------- floating bar (slot style) ---------- */
.fbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:linear-gradient(180deg,rgba(13,14,20,.9),rgba(13,14,20,.97));border-top:2px solid var(--gold);box-shadow:0 -12px 40px rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.fbar-in{display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 12px;position:relative}
.fb-reels{display:flex;gap:5px}
.fb-reel{width:34px;height:34px;border-radius:8px;background:linear-gradient(180deg,#232633,#101218);border:1px solid #333849;display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:inset 0 2px 6px rgba(0,0,0,.5)}
.fb-reel.spin{animation:reelshake .5s linear}
@keyframes reelshake{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}75%{transform:translateY(4px)}}
.fb-btn{font-weight:900;letter-spacing:.1em;border-radius:10px;padding:12px 30px;font-size:.95rem;text-transform:uppercase;transition:transform .15s,filter .2s;position:relative;overflow:hidden}
.fb-btn:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.12)}
.fb-daftar{background:var(--grad-green);color:#fff;box-shadow:0 6px 22px rgba(23,165,88,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.fb-login{background:var(--grad-gold);color:#241800;box-shadow:0 6px 22px rgba(245,179,1,.5),inset 0 1px 0 rgba(255,255,255,.5)}
.fb-btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,60%{left:-80%}100%{left:130%}}
.fbar-coins{position:absolute;inset:0;pointer-events:none;overflow:visible}
.coin{position:absolute;bottom:10px;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#ffe9a8,#f5b301 55%,#c98c00);box-shadow:0 0 8px rgba(245,179,1,.75),inset 0 -2px 3px rgba(120,70,0,.5);animation:coinup 1.15s ease-out forwards}
.coin::after{content:"Rp";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:900;color:#8a5c00}
@keyframes coinup{0%{transform:translateY(0) rotate(0);opacity:1}70%{opacity:1}100%{transform:translateY(-96px) rotate(340deg);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .coin,.fb-btn::after,.fb-reel.spin{animation:none}
  .coin{display:none}
  html{scroll-behavior:auto}
}

/* ---------- utilities ---------- */
.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:34px}.mt-4{margin-top:48px}
.center{text-align:center}
.backlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-bottom:18px}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;position:absolute;top:66px;left:0;right:0;background:var(--ink-2);padding:12px 5%;border-bottom:1px solid #262a36;gap:2px}
  .nav.open .nav-a{padding:12px 14px}
  .nav-tgl{display:inline-flex}
  #srchTgl{display:inline-flex}
  .hdr-search{display:none}
  .hero-in{grid-template-columns:1fr;padding:46px 0 54px}
  .hero-media{display:none}
  .feat-grid,.pr-grid,.card-grid,.game-grid{grid-template-columns:repeat(2,1fr)}
  .pay-grid{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:28px}
  .art-prev{grid-template-columns:1fr}
  .art-prev img{min-height:220px;max-height:300px}
  .auth-wrap{grid-template-columns:1fr}
  .auth-media{display:none}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .sec{padding:44px 0}
  .hdr-in{gap:8px;min-height:58px;width:96%}
  .brand{font-size:.98rem;gap:7px}
  .brand svg{width:27px;height:27px}
  .age{min-width:28px;height:18px;font-size:.62rem}
  .hdr-tools{gap:6px}
  .hdr-tools .btn{padding:8px 11px;font-size:.78rem;border-radius:8px}
  .ico-btn{width:33px;height:33px}
  .nav.open{top:58px}
  .feat-grid,.pr-grid,.card-grid,.game-grid,.ts-grid{grid-template-columns:1fr}
  .pay-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr;gap:26px}
  .hero-cta .btn{flex:1 1 auto}
  .hero-search input{padding-right:14px;padding-bottom:56px}
  .hero-search .btn{position:static;transform:none;margin-top:8px;width:100%}
  .fb-reels{display:none}
  .fb-btn{padding:12px 22px;font-size:.9rem;flex:1;max-width:180px}
  .fbar-in{gap:10px}
  .art-prev-txt{padding:24px 20px}
  .cta-band{padding:32px 20px}
  .prose table{display:block;overflow-x:auto}
}
@media (max-width:380px){
  .pay-grid{grid-template-columns:repeat(2,1fr)}
  .fb-btn{padding:12px 16px}
  .hdr-tools .btn{padding:8px 9px;font-size:.74rem}
  .age{display:none}
}
