/* ===== Lớp giao diện GAME: HUD, bảng viền vàng, nút nổi, bàn chờ, sân đấu ===== */
:root{--lacquer1:rgba(22,52,68,.94);--lacquer2:rgba(9,26,40,.96);--goldline:rgba(227,194,122,.6);--ink:#241707}
body{background-image:
  radial-gradient(900px 520px at 78% -8%,rgba(255,236,190,.16),transparent 60%),
  radial-gradient(1100px 700px at 10% -10%,rgba(127,214,194,.14),transparent 60%),
  linear-gradient(180deg,var(--bg2),var(--bg1) 72%)}
body::after{content:"";position:fixed;left:0;right:0;bottom:0;height:36vh;z-index:0;pointer-events:none;opacity:.9;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'><path d='M0 320V215l90-62 80 42 120-112 110 92 100-52 140 122 120-82 130 72 110-112 120 102 110-62 130 92 80-42v222z' fill='%230f2b3a' fill-opacity='.75'/><path d='M0 320V262l120-50 100 40 130-70 120 60 140-40 150 70 130-60 150 50 120-40 130 60v100z' fill='%2308202e'/></svg>") bottom/100% 100% no-repeat}

/* ---- HUD đầu trang ---- */
header.hud{min-height:58px;background:linear-gradient(180deg,rgba(6,18,30,.96),rgba(10,27,42,.86));border-bottom:2px solid var(--goldline);box-shadow:0 6px 24px rgba(0,0,0,.45),inset 0 -1px 0 rgba(255,255,255,.06)}
.brand-logo{height:38px;width:auto;border-radius:8px}
.hud-me{display:flex!important;align-items:center;gap:9px;padding:4px 14px 4px 5px!important;border-radius:999px!important;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px var(--goldline)}
.hud-txt{display:flex;flex-direction:column;line-height:1.2;min-width:120px}.hud-txt b{font-size:14px;color:var(--gold)}.hud-txt small{font-size:11.5px;color:var(--muted)}
.hud-bar{display:block;height:5px;border-radius:9px;background:rgba(255,255,255,.14);margin-top:3px;overflow:hidden}.hud-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--jade),var(--gold))}
@media (max-width:640px){.hud-txt small,.hud-bar{display:none}.hud-txt{min-width:0}nav a:not(.hud-me){padding:6px 8px;font-size:13px}}

/* ---- Bảng game: viền vàng đôi, góc trang trí, ruy băng tiêu đề ---- */
.gp{position:relative;background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2));border:1px solid var(--goldline);border-radius:14px;padding:20px 16px 16px;
  box-shadow:inset 0 0 0 3px rgba(8,22,34,.92),inset 0 0 0 4px rgba(227,194,122,.32),0 14px 34px rgba(0,0,0,.5)}
.gp::before,.gp::after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--gold);pointer-events:none;opacity:.9}
.gp::before{left:7px;top:7px;border-right:0;border-bottom:0;border-top-left-radius:8px}.gp::after{right:7px;bottom:7px;border-left:0;border-top:0;border-bottom-right-radius:8px}
.gp-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-34px auto 14px;width:max-content;max-width:calc(100% - 24px);padding:6px 30px;
  font:700 19px var(--serif);color:var(--ink);letter-spacing:.4px;background:linear-gradient(180deg,#f6dc9c,#c99a3c);
  clip-path:polygon(0 50%,12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%);box-shadow:0 3px 0 #7a5a1f}
.gp-sub{display:block;text-align:center;color:var(--muted);font-size:13px;margin:-6px 0 12px}
.gp h2{font-size:20px}

/* ---- Nút game ---- */
.gbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:2px solid #fff0bd;border-radius:14px;padding:12px 26px;min-height:50px;
  font:700 18px var(--serif);letter-spacing:.3px;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.45);text-decoration:none!important;
  background:linear-gradient(180deg,#fbe6a6,#e0b04f 55%,#c9902f);box-shadow:0 5px 0 #7d5a1d,0 10px 20px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.55);transition:transform .08s,box-shadow .08s,filter .15s}
.gbtn:hover{filter:brightness(1.07)}.gbtn:active{transform:translateY(4px);box-shadow:0 1px 0 #7d5a1d,0 4px 10px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.5)}
.gbtn.jade{border-color:#d6fff3;color:#04261d;background:linear-gradient(180deg,#a9f0dc,#5fc9ad 55%,#3a9d84);box-shadow:0 5px 0 #1b5f4e,0 10px 20px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.5)}
.gbtn.ghost{color:var(--pearl);text-shadow:none;border-color:var(--goldline);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03));box-shadow:0 4px 0 rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12)}
.gbtn.danger{color:#fff;border-color:#ffd0d0;text-shadow:none;background:linear-gradient(180deg,#ee8b8b,#c24747);box-shadow:0 5px 0 #7a2323,0 10px 20px rgba(0,0,0,.4)}
.gbtn.small{padding:6px 16px;min-height:36px;font-size:15px;border-radius:11px;box-shadow:0 3px 0 #7d5a1d,0 6px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.5)}
.gbtn.ghost.small{box-shadow:0 3px 0 rgba(0,0,0,.45)}.gbtn.jade.small{box-shadow:0 3px 0 #1b5f4e,0 6px 12px rgba(0,0,0,.35)}.gbtn.danger.small{box-shadow:0 3px 0 #7a2323}
.gbtn.big{font-size:23px;min-height:62px;padding:14px 38px}
.gbtn.pulse{animation:glow 2.6s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 5px 0 #7d5a1d,0 0 34px rgba(255,214,120,.65),inset 0 2px 0 rgba(255,255,255,.55)}}
.gbtn[disabled]{opacity:.5;pointer-events:none}

/* ---- Hộp thoại ---- */
.modal{background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2));border:1px solid var(--goldline);box-shadow:inset 0 0 0 3px rgba(8,22,34,.92),inset 0 0 0 4px rgba(227,194,122,.32),0 30px 70px rgba(0,0,0,.7)}
.modal h3{text-align:center;font-size:24px}
.modal .row .btn{border-radius:12px}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:6px}
.pick label{margin:0;cursor:pointer}.pick input{position:absolute;opacity:0;width:0;height:0}
.pick .opt{display:block;aspect-ratio:16/10;border-radius:10px;background:#0b1f2e center/cover;border:2px solid rgba(255,255,255,.15);position:relative;overflow:hidden}
.pick .opt span{position:absolute;left:0;right:0;bottom:0;padding:2px 5px;font-size:11px;background:rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick input:checked+.opt{border-color:var(--gold);box-shadow:0 0 0 2px rgba(227,194,122,.5),0 0 16px rgba(227,194,122,.45)}
.pick input:focus-visible+.opt{outline:2px solid var(--jade)}

/* ---- Sảnh ---- */
main.stage{max-width:1280px;margin:0 auto;padding:18px clamp(10px,2.5vw,28px) 10px}
.hero-stage{position:relative;overflow:hidden;border-radius:18px;padding:clamp(22px,4vw,44px);margin-bottom:22px;border:1px solid var(--goldline);
  background:radial-gradient(700px 300px at 85% 30%,rgba(255,226,160,.22),transparent 65%),linear-gradient(120deg,rgba(23,57,74,.95),rgba(9,26,40,.95));
  box-shadow:inset 0 0 0 3px rgba(8,22,34,.9),inset 0 0 0 4px rgba(227,194,122,.3),0 18px 40px rgba(0,0,0,.45);background-size:cover;background-position:center}
.hero-stage::before{content:"";position:absolute;inset:0;background:rgba(5,16,26,var(--ov,.45));pointer-events:none}
.hero-stage>*{position:relative}
.hero-stage h1{font-size:clamp(30px,5.2vw,52px);margin:0;text-shadow:0 3px 16px rgba(0,0,0,.6)}
.hero-stage p{margin:8px 0 0;max-width:560px;color:rgba(241,236,224,.82);font-size:16px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.notice{margin:0 0 18px;padding:9px 18px;border-radius:999px;text-align:center;background:linear-gradient(90deg,transparent,rgba(227,194,122,.18),transparent);border-top:1px solid var(--goldline);border-bottom:1px solid var(--goldline);color:var(--gold)}
.lobby-grid{display:grid;gap:26px;align-items:start}
.lobby-grid.l-right{grid-template-columns:minmax(0,1fr) 340px}.lobby-grid.l-left{grid-template-columns:340px minmax(0,1fr)}.lobby-grid.l-left .side-col{order:-1}
.lobby-grid.l-stack{grid-template-columns:1fr}
@media (max-width:980px){.lobby-grid.l-right,.lobby-grid.l-left{grid-template-columns:1fr}.lobby-grid.l-left .side-col{order:0}}
.main-col>.gp,.side-col>.gp,.side-col>.bot-card{margin-top:34px}.main-col>.gp:first-child,.side-col>*:first-child{margin-top:20px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.tile{position:relative;padding:12px 12px 14px;border-radius:14px;text-align:center;cursor:pointer;user-select:none;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid var(--goldline);transition:transform .15s,box-shadow .15s}
.tile:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.4),0 0 0 1px var(--jade)}
.tile.other{opacity:.6}
.tile-no{font:700 15px var(--serif);color:var(--ink);display:inline-block;padding:1px 14px;margin-top:-24px;background:linear-gradient(180deg,#f6dc9c,#c99a3c);border-radius:999px;box-shadow:0 2px 0 #7a5a1f}
.tile .lock{position:absolute;top:8px;right:10px;font-size:15px}
.seats{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:10px 0 8px}
.seat{display:flex;flex-direction:column;align-items:center;gap:3px;width:62px;font-size:11px;color:var(--muted);line-height:1.15}
.seat .avatar{width:44px;height:44px;font-size:18px}.seat.empty .avatar{background:rgba(255,255,255,.08);box-shadow:0 0 0 2px rgba(255,255,255,.22);color:var(--muted);animation:none}
.seat span.n{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-board{width:58px;height:64px;border-radius:5px;flex:none;border:2px solid #7b5b25;
  background:linear-gradient(90deg,transparent 11%,rgba(107,74,27,.7) 11%,rgba(107,74,27,.7) 12.5%,transparent 12.5% 87.5%,rgba(107,74,27,.7) 87.5% 89%,transparent 89%),
    repeating-linear-gradient(180deg,transparent 0 9%,rgba(107,74,27,.7) 9% 10.5%),linear-gradient(135deg,#f0e2b4,#d3bd80)}
.tile-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-meta{font-size:12.5px;color:var(--muted);margin:2px 0 10px}
.livetile .vs{font:700 18px var(--serif);color:var(--gold)}
.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--goldline);border-radius:12px}
.bot-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--goldline);text-align:center;padding:0 0 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(8,24,36,.95));box-shadow:inset 0 0 0 3px rgba(8,22,34,.9),inset 0 0 0 4px rgba(227,194,122,.3),0 14px 34px rgba(0,0,0,.5)}
.bot-art{aspect-ratio:16/11;background:radial-gradient(circle at 50% 38%,rgba(255,236,190,.3),transparent 62%),linear-gradient(180deg,#1b4257,#0e2a3b) center/cover no-repeat;display:grid;place-items:center}
.bot-art .glyph{display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;font:700 clamp(40px,6vw,64px) "KaiTi","STKaiti","Noto Serif SC",serif;color:#b3202a;
  background:radial-gradient(circle at 36% 30%,#fffdf5,#efe0b4 55%,#cdb67c);box-shadow:0 0 0 4px #7b5b25,0 0 0 6px var(--gold),0 16px 30px rgba(0,0,0,.5)}
.bot-card h3{margin:14px 0 4px;font-size:25px}.bot-card p{margin:0 18px 14px;color:var(--muted);font-size:13.5px}
.rankrow{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.rankrow .pos{font:700 20px var(--serif);color:var(--gold);text-align:center}.rankrow:nth-child(-n+3) .pos{color:var(--lotus)}
.rankrow small{display:block;color:var(--muted);font-size:12px}
.avatar{position:relative}
.avatar.big{width:62px;height:62px;font-size:26px;box-shadow:0 0 0 3px var(--ring,var(--gold)),0 0 0 5px rgba(0,0,0,.4)}

/* ---- Sân đấu ---- */
body.game{--room-bg:none}
body.game header.top,body.game .foot,body.game .mist{display:none}
body.game::before{content:"";position:fixed;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,14,24,.5),rgba(5,14,24,.82)),var(--room-bg) center/cover no-repeat fixed}
body.game::after{opacity:.55}
.gstage{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0 clamp(8px,2vw,22px) 20px}
.ghud{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}
.ghud-title{font:700 22px var(--serif);color:var(--gold);text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gmain{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
@media (max-width:920px){.gmain{grid-template-columns:1fr}}
.gcenter{display:flex;flex-direction:column;gap:12px}
.pcard{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 10px;width:min(100%,560px);margin:0 auto;border-radius:16px;
  background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2));border:1px solid var(--goldline);box-shadow:inset 0 0 0 3px rgba(8,22,34,.92),inset 0 0 0 4px rgba(227,194,122,.28),0 8px 20px rgba(0,0,0,.45)}
.pcard.turn{box-shadow:inset 0 0 0 3px rgba(8,22,34,.92),inset 0 0 0 4px var(--jade),0 0 26px rgba(127,214,194,.4)}
.pcard .who{flex:1;min-width:0}.pcard .nm{font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .sub{font-size:12.5px;color:var(--muted)}
.pcard .clock{padding:4px 12px;border-radius:10px;background:rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.pcard.empty .avatar{background:rgba(255,255,255,.08);color:var(--muted);box-shadow:0 0 0 3px rgba(255,255,255,.2);animation:wait 1.8s ease-in-out infinite}
@keyframes wait{50%{box-shadow:0 0 0 3px rgba(227,194,122,.9),0 0 22px rgba(227,194,122,.4)}}
.gside .gp{padding-top:14px}
.tabs{display:flex;gap:6px;margin-bottom:10px}.tab{flex:1;padding:8px;border-radius:10px;border:1px solid var(--goldline);background:rgba(255,255,255,.05);color:var(--pearl);cursor:pointer;font:600 14px var(--sans)}
.tab.on{background:linear-gradient(180deg,#f6dc9c,#c99a3c);color:var(--ink);border-color:#fff0bd}
.giftbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.giftbar .gbtn{flex:1;min-width:120px}
.chat-gift{align-self:stretch;text-align:center;padding:4px 8px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(232,163,181,.22),transparent);color:var(--lotus);font-size:13px}
.chat-login{margin-top:8px;padding:10px;border-radius:10px;text-align:center;background:rgba(255,255,255,.06);font-size:14px}
.ctrl .gbtn{min-height:40px;padding:6px 16px;font-size:15px}
.moves{max-height:300px}

/* ---- Bàn cờ thu nhỏ (SVG) ---- */
.mini-board{width:74px;height:82px;padding:3px;border-radius:6px;flex:none;border:2px solid #7b5b25;background:linear-gradient(135deg,#f0e2b4,#d3bd80);box-shadow:0 3px 8px rgba(0,0,0,.4)}
.mini-board svg{display:block;width:100%;height:100%}
.mini-board .ml path{stroke:#6b4a1b;stroke-width:1.1;fill:none;stroke-linecap:round}
.mini-board .mr{fill:#b3202a}.mini-board .mb{fill:#13202b}
.seat{width:56px}
.tag-level,.tag-stake{display:inline-block;margin:0 0 6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}
.tag-level{background:rgba(127,214,194,.16);color:var(--jade);box-shadow:inset 0 0 0 1px rgba(127,214,194,.45)}
.tag-stake{background:linear-gradient(180deg,#ee8b8b,#c24747);color:#fff}
.tile.chal{border-color:#e47b7b;box-shadow:0 0 0 1px rgba(228,123,123,.35),0 0 22px rgba(228,123,123,.18)}
.gp.challenge .gp-title{background:linear-gradient(180deg,#f3a5a5,#c24747);color:#fff;box-shadow:0 3px 0 #7a2323}

/* ---- Khung "Chơi ngay" cho khách ---- */
.hero-stage.has-guest{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:center}
@media (max-width:860px){.hero-stage.has-guest{grid-template-columns:1fr}}
.guest-panel{text-align:center;padding:26px 20px;border-radius:16px;border:1px solid var(--goldline);background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(5,14,24,.7)) center/cover;
  box-shadow:inset 0 0 0 3px rgba(8,22,34,.85),inset 0 0 0 4px rgba(227,194,122,.35),0 14px 34px rgba(0,0,0,.5)}
.guest-panel .gbtn.big{width:100%}.guest-panel p{margin:12px 0 14px;font-size:13.5px}
.guest-links{display:flex;gap:10px;justify-content:center}.guest-links .gbtn{flex:1;max-width:140px;min-height:34px;font-size:14px;padding:5px 12px}

/* ---- Sân đấu: số người xem + toàn màn hình ---- */
.ghud-right{display:flex;gap:8px;align-items:center}
.viewbadge{padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px var(--goldline);font-size:13px;white-space:nowrap}
.viewbadge b{color:var(--gold)}
@media (max-width:560px){.viewbadge{font-size:12px;padding:5px 8px}}
body.fs-fallback .gstage{max-width:none;padding:0 6px}
:fullscreen body.game,:fullscreen .gstage{overflow:auto}
:fullscreen .gstage{background:transparent}

/* ===== Đi đến bàn ===== */
.goto-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.25);border:1px dashed var(--goldline)}
.goto-bar .muted{font-size:13px;flex:1;min-width:200px}

/* ===== Khung chữ chào (hero-copy) có ảnh nền do admin tải lên ===== */
.hero-copy.has-bg{padding:clamp(18px,3vw,32px);border-radius:16px;border:1px solid var(--goldline);background-size:cover;background-position:center;position:relative;overflow:hidden;
  box-shadow:inset 0 0 0 3px rgba(8,22,34,.85),inset 0 0 0 4px rgba(227,194,122,.35),0 14px 34px rgba(0,0,0,.5)}
.hero-copy.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,26,calc(var(--cov,.35) + .25)),rgba(5,16,26,var(--cov,.35)));pointer-events:none}
.hero-copy.has-bg>*{position:relative}

/* ===== CHỐNG GIAN LẬN ===== */
.ac-shield{display:inline-block;flex:none;vertical-align:middle;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
svg.ac-shield,img.ac-shield{width:32px;height:36px}
.ac-shield.xs{width:18px!important;height:20px!important}.ac-shield.sm{width:28px!important;height:32px!important}.ac-shield.md{width:46px!important;height:52px!important}.ac-shield.xl{width:84px!important;height:96px!important}
a.ac-hud,a.ac-chip,a.ac-banner,a.ac-panel,a.ac-ghud{text-decoration:none}
.ac-hud{display:flex;align-items:center;gap:8px;padding:3px 12px 3px 8px;border-radius:999px;border:1px solid var(--goldline);color:var(--gold);margin:0 auto 0 16px;
  background:linear-gradient(180deg,rgba(127,214,194,.14),rgba(127,214,194,.03))}
.ac-hud span{display:flex;flex-direction:column;line-height:1.15}.ac-hud b{font-size:12.5px;font-weight:600}.ac-hud small{font-size:10.5px;color:var(--jade)}
@media (max-width:860px){.ac-hud span{display:none}.ac-hud{padding:3px 6px}}
.ac-chip{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:3px 12px 3px 7px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--jade);
  background:rgba(8,28,38,.72);border:1px solid rgba(127,214,194,.45)}
.ac-banner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,32px);margin:0 0 22px;padding:clamp(16px,2.6vw,26px) clamp(18px,3vw,34px);
  border-radius:16px;border:1px solid var(--goldline);color:inherit;overflow:hidden;background-size:cover;background-position:center;
  background-color:#0b2230;background-image:radial-gradient(520px 200px at 8% 50%,rgba(127,214,194,.22),transparent 70%),linear-gradient(110deg,#0f3547,#0a1c2b 70%);
  box-shadow:inset 0 0 0 3px rgba(8,22,34,.9),inset 0 0 0 4px rgba(227,194,122,.3),0 14px 32px rgba(0,0,0,.45)}
.ac-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,16,26,.8),rgba(5,16,26,.45) 65%,rgba(5,16,26,.7));pointer-events:none}
.ac-banner>*{position:relative}
.ac-banner:hover{border-color:var(--jade)}
.ac-banner-art{display:grid;place-items:center}
.ac-kicker{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-bottom:3px}
.ac-banner h2{margin:0;font:700 clamp(21px,2.8vw,30px)/1.2 var(--serif);color:var(--gold);text-shadow:0 2px 10px rgba(0,0,0,.6)}
.ac-banner p{margin:6px 0 10px;color:rgba(241,236,224,.85);max-width:680px;font-size:14.5px}
.ac-tags{display:flex;flex-wrap:wrap;gap:8px}
.ac-tags span{padding:4px 12px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(127,214,194,.3);font-size:12.5px;color:rgba(241,236,224,.9)}
.ac-more{color:var(--gold);font-weight:600;white-space:nowrap;font-size:14px}
@media (max-width:760px){.ac-banner{grid-template-columns:auto 1fr}.ac-more{display:none}}
@media (max-width:480px){.ac-banner{grid-template-columns:1fr}.ac-banner-art{justify-self:start}}

/* Trang ván cờ */
.ac-panel{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:10px 12px;border-radius:14px;border:1px solid rgba(127,214,194,.55);text-decoration:none;color:inherit;position:relative;overflow:hidden;
  background:linear-gradient(120deg,rgba(18,70,70,.7),rgba(8,24,34,.85));background-size:cover;background-position:center;box-shadow:0 0 22px rgba(127,214,194,.18)}
.ac-panel.has-bg::before{content:"";position:absolute;inset:0;background:rgba(5,16,26,.55)}
.ac-panel>*{position:relative}
.ac-panel b{display:block;color:var(--jade);font-size:14px}.ac-panel small{color:rgba(241,236,224,.8);font-size:12.5px;line-height:1.35;display:block}
.ac-panel .ac-pulse{width:9px;height:9px;border-radius:50%;background:#59e0a5;box-shadow:0 0 0 0 rgba(89,224,165,.7);animation:acp 1.8s infinite;display:inline-block;margin-right:6px}
@keyframes acp{70%{box-shadow:0 0 0 9px rgba(89,224,165,0)}100%{box-shadow:0 0 0 0 rgba(89,224,165,0)}}
.ac-ghud{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(127,214,194,.6);font-size:12.5px;color:var(--jade);white-space:nowrap}
.ac-ghud.hide,.ac-panel.hide{display:none}
@media (max-width:560px){.ac-ghud span{display:none}}

/* Hộp thoại gian lận */
.ac-modal{text-align:center}.ac-modal .ac-warn-img{max-width:100%;max-height:190px;border-radius:12px;margin:0 auto 10px;display:block;object-fit:cover}
.ac-modal .ac-shield{margin:0 auto 8px;display:block}.ac-modal h4{margin:4px 0 8px;font:700 22px var(--serif);color:#ff9a8a}.ac-modal p{margin:6px 0}
.ac-modal .ac-strikes{display:flex;gap:6px;justify-content:center;margin:10px 0}.ac-modal .ac-strikes i{width:26px;height:8px;border-radius:5px;background:rgba(255,255,255,.18)}.ac-modal .ac-strikes i.on{background:#ff6b5b;box-shadow:0 0 10px #ff6b5b}

/* Đăng nhập / đăng ký */
.ac-auth{display:flex;gap:14px;align-items:center;max-width:420px;margin:16px auto 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(127,214,194,.5);background:rgba(8,24,34,.78);box-shadow:0 0 22px rgba(127,214,194,.14)}
.ac-auth-img{width:96px;height:96px;border-radius:12px;object-fit:cover;flex:none}.ac-auth-def{display:grid;place-items:center;background:rgba(0,0,0,.25)}
.ac-auth b{color:var(--jade);font-size:14px}.ac-auth ul{margin:6px 0;padding-left:18px;font-size:12.5px;color:var(--muted)}.ac-auth a{font-size:12.5px}.ac-auth-def .ac-shield{width:56px!important;height:64px!important}

/* Trang luật chống gian lận */
.fp-hero{position:relative;border-radius:18px;overflow:hidden;border:2px solid var(--goldline);padding:clamp(24px,5vw,56px);margin-bottom:22px;text-align:center;
  background:radial-gradient(700px 260px at 50% 0,rgba(127,214,194,.3),transparent 70%),linear-gradient(160deg,#0f3547,#081824);background-size:cover;background-position:center}
.fp-hero.has-bg::before{content:"";position:absolute;inset:0;background:rgba(5,16,26,.55)}.fp-hero>*{position:relative}
.fp-hero h1{font-size:clamp(28px,5vw,46px);margin:8px 0}.fp-hero p{max-width:640px;margin:0 auto;color:rgba(241,236,224,.88)}
.fp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 0 22px}
.fp-step{padding:18px;border-radius:14px;border:1px solid var(--goldline);background:linear-gradient(180deg,var(--lacquer1),var(--lacquer2))}
.fp-step .n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(180deg,#f6dc9c,#c99a3c);color:var(--ink);font-weight:800;margin-bottom:8px}
.fp-step h3{margin:0 0 6px;color:var(--gold)}
