/* ══════════════════════════════════════════════════════════════════════
   街机三款(BUILD 91):扫雷 Mines / 高低牌 HiLo / 弹珠台 Plinko
   复用 scratch.css 的 scprices / scbar / scbtn / scpt、penguin.css 的 pgstat / pgpt-g、crash.css 的 resbig
   ══════════════════════════════════════════════════════════════════════ */
#app #minesview,#app #hiloview,#app #plinkoview{display:flex;flex-direction:column;min-height:0}
#app .mnwrap,#app .hlwrap,#app .pkwrap{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 12px calc(16px + var(--safeb));
  background:var(--grain),radial-gradient(120% 70% at 50% -5%,rgba(212,175,55,.18),transparent 60%),radial-gradient(90% 90% at 50% 45%,#231f28 0%,#151218 55%,#09080c 100%);background-blend-mode:soft-light,normal,normal}
#app .mnwrap>*,#app .hlwrap>*,#app .pkwrap>*{position:relative;z-index:1;flex:0 0 auto}
#app .actitle{font-family:var(--toon);font-size:20px;letter-spacing:.06em;color:var(--gold2);text-shadow:0 2px 0 #2a1d05;padding:2px 0 0}
#app .mncard .thumb,#app .hlcard .thumb,#app .pkcard .thumb{transform:none;border-radius:10px}
#app .acscene-shake,#app .mnscene.shake{animation:tshake .55s cubic-bezier(.36,.07,.19,.97) both}
#app .scbtn.ghostbtn{background:linear-gradient(180deg,#3a3642,#26232c);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 2px #2a1d05,0 4px 0 #14121a}
#app .scbtn.ghostbtn small{color:var(--muted)}

/* ───────────────────────── 扫雷 ───────────────────────── */
#app .mnsel{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;max-width:400px}
#app .mnsel .lbl{font-family:var(--toon2);font-size:12px;color:var(--muted);letter-spacing:.06em}
#app .mnsel b{font-family:var(--num);font-weight:700;font-size:20px;color:var(--gold2);min-width:30px;text-align:center;text-shadow:0 2px 0 #2a1d05}
#app .mnsel input[type=range]{flex:1 1 120px;min-width:120px;max-width:220px;height:28px;margin:0;-webkit-appearance:none;appearance:none;background:none}
#app .mnsel input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,rgba(212,175,55,.55),rgba(226,85,106,.7));box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
#app .mnsel input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:linear-gradient(90deg,rgba(212,175,55,.55),rgba(226,85,106,.7))}
#app .mnsel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--goldgrad);border:2px solid #2a1d05;box-shadow:0 2px 6px rgba(0,0,0,.6)}
#app .mnsel input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--goldgrad);border:2px solid #2a1d05}
#app .mnsel input[type=range]:disabled{opacity:.45}
#app .mnsel .mnfirst{font-family:var(--num);font-size:12px;color:var(--muted);min-width:44px;text-align:right}
#app .mnscene{position:relative;width:min(96vw,400px);border-radius:18px;padding:12px;border:1px solid rgba(212,175,55,.45);
  background:radial-gradient(80% 60% at 50% 0%,rgba(47,212,127,.10),transparent 60%),linear-gradient(180deg,#121a26 0%,#0c121b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(0,0,0,.5),0 14px 30px rgba(0,0,0,.55)}
#app .mngrid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
#app .mtile{position:relative;aspect-ratio:1;border:0;background:none;padding:0;perspective:600px;cursor:pointer;-webkit-tap-highlight-color:transparent}
#app .mtile:disabled{cursor:default;opacity:1}   /* 翻开的格子是 disabled 的,别让全局 button:disabled 的 .3 透明度把宝石压暗 */
#app .mtile .mface{position:absolute;inset:0;border-radius:11px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s cubic-bezier(.3,.9,.3,1),filter .3s;display:grid;place-items:center;overflow:hidden}
#app .mtile .front{background:linear-gradient(160deg,#3a4d66 0%,#243447 50%,#1a2635 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(0,0,0,.45),0 4px 8px rgba(0,0,0,.45);border:1px solid #4a6384}
#app .mtile .front .mcov{position:absolute;inset:18%;border-radius:6px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(0,0,0,.18));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
#app .mtile .front .mcov i{display:none}   /* BUILD 100:去掉格子中间那颗点,像雷的暗示会误导 */
#app .mtile:not(:disabled):hover .front{filter:brightness(1.15)}
#app .mtile.pressing .front{transform:scale(.94)}
#app .mtile .back{transform:rotateY(180deg);background:linear-gradient(180deg,#0f1a26,#0a121b);border:1px solid #1f3448;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6)}
#app .mtile .back svg{width:80%;height:80%;display:block}
#app .mtile.open .front{transform:rotateY(180deg)}
#app .mtile.open .back{transform:rotateY(360deg)}
#app .mtile.gem .back{border-color:#2fd47f;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),0 0 14px rgba(47,212,127,.35)}
#app .mtile.just.gem .back svg{animation:mnpop .55s cubic-bezier(.2,1.5,.3,1) both}
@keyframes mnpop{0%{transform:scale(.3) rotate(-20deg)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
#app .mtile.dim .back{filter:saturate(.35) brightness(.55)}
#app .mtile.mine .back{border-color:#e2556a}
#app .mtile.boom .back{background:radial-gradient(circle at 50% 50%,#ffd166 0%,#ff7b3a 28%,#b21e30 55%,#3a0a10 100%);border-color:#ffb347;animation:mnboom .6s ease-out both}
#app .mtile.boom .back svg{animation:mnbombshake .5s linear both}
@keyframes mnboom{0%{box-shadow:0 0 0 0 rgba(255,140,60,.9)}100%{box-shadow:0 0 0 26px rgba(255,140,60,0)}}
@keyframes mnbombshake{0%,100%{transform:translate(0,0)}20%{transform:translate(-3px,2px) rotate(-8deg)}40%{transform:translate(3px,-2px) rotate(8deg)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}
#app .mtile .bombsvg .spark{animation:mnspark .5s ease-in-out infinite alternate;transform-origin:79px 19px}
@keyframes mnspark{from{transform:scale(.8);opacity:.7}to{transform:scale(1.15);opacity:1}}
#app .mnpt-g{grid-template-columns:repeat(6,1fr)}
@media(min-width:420px){#app .mnpt-g{grid-template-columns:repeat(8,1fr)}}

/* ───────────────────────── 高低牌 ───────────────────────── */
#app .hlscene{position:relative;width:min(96vw,420px);height:250px;border-radius:18px;overflow:hidden;border:1px solid rgba(212,175,55,.45);
  background:radial-gradient(90% 70% at 50% 30%,var(--felt2,#132842) 0%,var(--felt,#0d1b2e) 55%,var(--felt3,#070d18) 100%);   /* BUILD 100:绿呢改成全站的深蓝毡,和牌桌一个色系 */
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(0,0,0,.5),inset 0 0 60px rgba(0,0,0,.45),0 14px 30px rgba(0,0,0,.55)}
#app .hlscene::before{content:"";position:absolute;inset:8px;border-radius:14px;border:1px solid rgba(212,175,55,.25);pointer-events:none}
#app .hlmult{position:absolute;right:16px;top:12px;font-family:var(--num);font-weight:700;font-size:20px;color:#fff3c4;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 16px rgba(212,175,55,.4);font-variant-numeric:tabular-nums}
#app .hldeck{position:absolute;left:22px;top:44px;width:64px;height:90px}
#app .hldeck svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
#app .hldeck svg:nth-child(2){transform:translate(2px,-2px)}#app .hldeck svg:nth-child(3){transform:translate(4px,-4px)}
#app .hlcur{position:absolute;left:50%;top:22px;width:104px;height:146px;margin-left:-52px;perspective:900px}
#app .hlcard-w{position:relative;width:100%;height:100%}
#app .hlcard-w .flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.9,.3,1)}
#app .hlcard-w .f{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#app .hlcard-w .f svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
#app .hlcard-w .f.b{transform:rotateY(0)}
#app .hlcard-w .f.a{transform:rotateY(180deg)}
#app .hlcard-w .flip{transform:rotateY(180deg)}
#app .hlcard-w.deal .flip{animation:hldeal .55s cubic-bezier(.3,.9,.3,1) both}
@keyframes hldeal{0%{transform:translate(-120px,20px) rotateY(0) scale(.62)}55%{transform:translate(-10px,0) rotateY(60deg) scale(1)}100%{transform:translate(0,0) rotateY(180deg)}}
#app .hlcard-w.ghost{opacity:.35}
#app .hlcard-w.bad .f.a{animation:hlbad .5s .5s ease both}
@keyframes hlbad{0%,100%{transform:rotateY(180deg) translateX(0)}25%{transform:rotateY(180deg) translateX(-6px)}75%{transform:rotateY(180deg) translateX(6px)}}
#app .hlcard-w .mark{position:absolute;right:-10px;top:-10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:16px;color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.5);animation:mnpop .5s .45s cubic-bezier(.2,1.5,.3,1) both;opacity:0}
#app .hlcard-w .mark.ok{background:linear-gradient(180deg,#5fd39a,#1f9a5e)}
#app .hlcard-w .mark.no{background:linear-gradient(180deg,#e2556a,#8f1620)}
@keyframes mnpop{0%{transform:scale(.3) rotate(-20deg);opacity:0}60%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
#app .hlhist{position:absolute;left:12px;right:12px;bottom:10px;height:62px;display:flex;gap:6px;align-items:flex-end;overflow-x:auto;scrollbar-width:none;padding:0 2px}
#app .hlhist::-webkit-scrollbar{display:none}
#app .hlhist .hh{position:relative;flex:0 0 auto;width:38px;height:54px;opacity:.9}
#app .hlhist .hh svg{width:100%;height:100%;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
#app .hlhist .hh.skip{opacity:.45}
#app .hlhist .hh b{position:absolute;right:-5px;top:-6px;width:16px;height:16px;border-radius:50%;font-size:10px;display:grid;place-items:center;color:#fff;background:#1f9a5e;box-shadow:0 1px 3px rgba(0,0,0,.5)}
#app .hlhist .hh.bad b{background:#b21e30}
#app .hlhist .hh b.sk{background:#5c7495}
#app .hlhist .hh.in{animation:hlin .4s ease both}
@keyframes hlin{from{transform:translateY(-30px) scale(1.5);opacity:0}to{transform:none;opacity:.9}}
#app .hlchoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:400px;min-height:0}
#app .hlchoices:empty{display:none}
#app .hlch{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:10px 12px;border-radius:14px;border:0;cursor:pointer;
  color:#fff;background:linear-gradient(180deg,#2f8fff 0%,#1b5fc4 60%,#123f86 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 2px #0b2a55,0 5px 0 #08203f,0 10px 16px rgba(0,0,0,.45)}
#app .hlch.lo,#app .hlch.same:last-child{background:linear-gradient(180deg,#ff8a5b 0%,#d64a2a 60%,#8f2a14 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 2px #4a1208,0 5px 0 #3a0e06,0 10px 16px rgba(0,0,0,.45)}
#app .hlch:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 2px #0b2a55,0 1px 0 #08203f}
#app .hlch:disabled{filter:grayscale(.6) brightness(.6)}
#app .hlch .arr{grid-row:1/3;font-style:normal;font-size:26px;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.4)}
#app .hlch b{font-family:var(--toon);font-size:15px;letter-spacing:.04em;text-shadow:0 2px 0 rgba(0,0,0,.4)}
#app .hlch em{font-style:normal;font-family:var(--toon2);font-size:11px;opacity:.85}
#app .hlch strong{grid-column:2;font-family:var(--num);font-weight:700;font-size:13px;color:#fff3c4;text-shadow:0 1px 0 rgba(0,0,0,.5)}
#app .hlpt-g{display:grid;grid-template-columns:auto 1fr 1fr;gap:2px 8px;padding:6px 12px 8px;font-family:var(--toon2);font-size:11px;color:var(--muted);align-items:center}
#app .hlpt-g>i{font-style:normal;font-size:9.5px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase;padding-bottom:3px}
#app .hlpt-g>b{font-family:var(--display);font-weight:900;font-size:12px;color:var(--gold2);padding:3px 0}
#app .hlpt-g>span{font-family:var(--num);font-variant-numeric:tabular-nums;border-top:1px solid rgba(255,255,255,.05);padding:3px 0}

/* ───────────────────────── 弹珠台 ───────────────────────── */
#app .pktabs .sctab small{display:block;font-family:var(--toon2);font-size:9px;letter-spacing:.06em;opacity:.75}
#app .pkscene{position:relative;width:min(96vw,420px);height:330px;border-radius:18px;overflow:hidden;border:1px solid rgba(212,175,55,.45);background:radial-gradient(80% 60% at 50% 0%,#1c2a48 0%,#0e1524 60%,#080c16 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(0,0,0,.5),0 14px 30px rgba(0,0,0,.55)}
#app .pkscene canvas{position:absolute;left:0;top:0;width:100%;height:calc(100% - 34px);display:block}
#app .pkbins{position:absolute;left:0;right:0;bottom:6px;height:26px;display:flex;gap:2px}
#app .pkbin{flex:1 1 0;min-width:0;display:grid;place-items:center;border-radius:6px;font-family:var(--num);font-weight:700;font-size:10px;letter-spacing:-.02em;color:#0b0a0e;background:linear-gradient(180deg,var(--cl),var(--c) 45%,var(--cd));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 3px 0 var(--cd),0 4px 6px rgba(0,0,0,.5);transition:transform .1s;font-variant-numeric:tabular-nums}
#app .pkbin.hit{animation:pkhit .45s cubic-bezier(.2,1.4,.3,1) both}
#app .pktabs{grid-template-columns:repeat(4,minmax(0,1fr))}   /* BUILD 101:四档 */
#app .pktabs .sctab{padding-left:4px;padding-right:4px}
#app .pkbins.r16{gap:1px}#app .pkbins.r16 .pkbin{font-size:8px;letter-spacing:-.04em;border-radius:4px}   /* BUILD 101 极限档 17 格 */
@keyframes pkhit{0%{transform:translateY(6px) scaleY(.7)}50%{transform:translateY(-4px) scaleY(1.15)}100%{transform:none}}
#app .pkrecent{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:3px;align-items:flex-end;pointer-events:none}
#app .pkrecent i{font-style:normal;font-family:var(--toon2);font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.4)}
#app .pkrecent b{min-width:40px;text-align:center;padding:2px 6px;border-radius:99px;font-family:var(--num);font-weight:700;font-size:10.5px;color:#0b0a0e;background:var(--c);box-shadow:0 2px 0 var(--cd),0 3px 5px rgba(0,0,0,.5);animation:hlin .35s ease both}
#app .pkfloat{position:absolute;bottom:40px;transform:translateX(-50%);font-family:var(--num);font-weight:700;font-size:15px;color:#8ff0b4;text-shadow:0 2px 0 rgba(0,0,0,.7);pointer-events:none;animation:pkfloat 1.25s ease-out both;white-space:nowrap}
#app .pkfloat.lose{color:#ff8a94}#app .pkfloat.push{color:#fff3c4}
@keyframes pkfloat{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}20%{opacity:1;transform:translate(-50%,-6px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-56px) scale(1)}}
#app .scbtn.pkdrop{min-height:56px;font-size:19px}
#app .scbtn.pkdrop.pop{transform:translateY(4px)}
#app .scbtn.pkdrop.stop{background:linear-gradient(180deg,#ff8a94 0%,#d43a4c 55%,#8f1620 100%);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px #3a0a10,0 5px 0 #5c0c16,0 10px 16px rgba(0,0,0,.45);animation:pkstop 1s ease-in-out infinite alternate}
#app .scbtn.pkdrop.stop small{color:#ffe3e6;opacity:1}
@keyframes pkstop{from{filter:brightness(1)}to{filter:brightness(1.15)}}
#app .pkauto{display:grid;grid-template-columns:auto repeat(5,1fr);gap:6px;align-items:center}   /* BUILD 100:自动连发一行五格不换行 */
#app .pkauto .apre{min-width:0;padding:8px 4px}
#app .pkauto .lbl{margin-right:4px}
#app .pkpt-g{grid-template-columns:repeat(4,1fr)}
#app .pkpt-g .r strong{display:flex;flex-direction:column;align-items:center;gap:0}
#app .pkpt-g .r strong small{font-family:var(--toon2);font-size:8.5px;color:var(--dim);font-weight:400;letter-spacing:.04em}

@media(max-height:700px){#app .hlscene{height:230px}#app .pkscene{height:300px}}

/* ── 大厅七扇门(BUILD 91/92):两列小门,图在上字在下;宽屏四列 ── */
#app .catbar{grid-template-columns:1fr 1fr;gap:10px;max-width:560px}
#app .cat{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 8px 12px;min-height:0}
#app .cat .cart{flex:0 0 auto;width:118px;height:92px}
#app .cat .ctx{align-items:center;gap:4px;width:100%}
#app .cat b{font-size:17px;letter-spacing:.05em}
#app .cat i{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:27px}
#app .cat em{align-self:center;margin-top:2px;font-size:10px;padding:4px 10px}
@media(min-width:640px){#app .catbar{grid-template-columns:repeat(4,1fr);max-width:960px}#app .cat{min-height:0;padding:16px 10px}#app .cat .cart{width:132px;height:104px}#app .cat b{font-size:19px}}
/* 规则页赔付表:右列长句子要能换行(BUILD 91 修:企鹅 / 飞机 / 新四款的长行之前会挤掉左列) */
#app .rftable.rfpay{table-layout:fixed}
#app .rftable.rfpay td:first-child{width:32%}
#app .rftable.rfpay td:last-child{white-space:normal;overflow-wrap:anywhere;line-height:1.5}

/* 弹珠台六档注额(BUILD 97,最低 1 块):窄屏换行 */
#app .pkwrap .scprices{flex-wrap:wrap;row-gap:8px}

/* BUILD 99:高低牌选项撞到 1000× 封顶时,按钮上明写「已封顶」 */
#app .hlch.capped strong small{display:block;font-size:8px;letter-spacing:.14em;color:var(--money);line-height:1;margin-top:2px}

/* ── BUILD 100:5 个快捷筹码 + 自定义 ─────────────────────────────────── */
#app .scprices{flex-wrap:wrap;position:relative}
#app .scprices .chipbtn.custom{background:radial-gradient(circle at 50% 40%,#2a2f4a,#141827 70%);border:2px dashed rgba(166,175,204,.55)}
#app .scprices .chipbtn.custom::before{font-size:10px;letter-spacing:.04em}
#app .scprices .chipbtn.custom.on{border-style:solid;border-color:var(--acc)}
#app .sccustom{flex:1 0 100%;display:flex;gap:8px;justify-content:center;align-items:center;margin-top:4px}
#app .sccustom.hide{display:none}
#app .sccustom input{width:140px;height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--acc);background:rgba(7,9,18,.7);color:#fff;font-family:var(--num);font-size:16px;text-align:center;outline:none}
#app .sccustom .ok{width:40px;height:40px;border-radius:12px;border:0;background:var(--grad,linear-gradient(135deg,#3ef2e0,#a855f7));color:#06121a;font-weight:800;font-size:16px}

/* ── BUILD 100:赔付表 / 怎么算 默认收起,点标题展开 —— 游戏页只留操作,不再被三屏公式顶长 ── */
#app .scpt:not(.open)>*:not(.scpt-h){display:none}
#app .scpt .scpt-h{cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
#app .scpt .scpt-h::after{content:'▸';margin-left:6px;color:var(--dim);font-size:11px;transition:transform .18s}
#app .scpt.open .scpt-h::after{transform:rotate(90deg)}
#app .scpt .scpt-h .rtp{margin-left:auto}
/* 没开局时「收钱」那颗灰键别占半个屏 */
#app .scbar .scbtn.cash:disabled:first-child{flex:0 0 96px;padding-left:6px;padding-right:6px}
#app .scbar .scbtn.cash.wide2:disabled:first-child{flex:1 1 100%;padding-left:12px;padding-right:12px}   /* BUILD 101 高低牌:局中只剩收钱键,灰着也要放宽 */

/* ── BUILD 100:大厅主推卡(汇市 / 弹珠台 / 鸭子)提到最前、横排大卡;其余小卡 ── */
#app .lobby-home .catbar{grid-auto-flow:dense}
#app .cat.featured{order:-1;grid-column:1/-1;flex-direction:row;text-align:left;gap:14px;padding:14px 16px;min-height:0;
  border-color:rgba(62,242,224,.35);background:linear-gradient(120deg,rgba(62,242,224,.10),rgba(168,85,247,.10) 70%,transparent),rgba(10,13,28,.6)}
#app .cat.featured .cart{flex:0 0 108px;width:108px;height:84px}
#app .cat.featured .ctx{align-items:flex-start;text-align:left}
#app .cat.featured b{font-size:20px}
#app .cat.featured .cattag{position:absolute;top:10px;right:12px;padding:3px 8px;border-radius:99px;font-family:var(--display);font-size:9.5px;letter-spacing:.14em;color:#06121a;background:var(--moneygrad,linear-gradient(135deg,#ffd166,#f59e0b));z-index:2}
#app .cat{position:relative}
/* 门上最近一笔大赢 */
#app .cat .catwin{display:none;position:absolute;left:10px;top:10px;padding:2px 7px;border-radius:99px;font-style:normal;font-family:var(--num);font-weight:800;font-size:10px;color:#06121a;background:linear-gradient(135deg,#5ff5b1,#3ef2e0)}
#app .cat .catwin.on{display:block}
#app .cat.featured .catwin{left:auto;right:12px;top:34px}
@media(min-width:640px){#app .cat.featured{grid-column:span 2}}
/* ── 平板 / 桌面:别只有一根 420px 的柱子 ── */
@media(min-width:900px){
  #app .lobby-home .catbar{max-width:1100px}
  #app .catbar{grid-template-columns:repeat(4,1fr)}
  #app .cat.featured{grid-column:span 2}
}
