/* 旧的 dynamic-hourglass-kit 设计令牌表已被下方「顶部倒计时卡片 — PISO 绿钞版式」整块取代,
   它只作用于 .jade-countdown,且会漏出 position:absolute / 金色描边,故移除 @import。 */

:root{
  --green:#07C160; --green-deep:#05984B;
  --gold:#B8943F; --gold-2:#CBA75A; --gold-line:#E5D6B0;
  --mint:#EAF6EE; --mint-2:#DDEFE3;
  /* 页面底色(2026-08-02 需求):主 tab 页与钱包充值页 */
  --page-bg-main:#F4F7F5; --page-bg-deposit:#F4F7F5;
  --card:#FFFFFF; --line:#E4EFE7;
  --t1:#22302A; --t2:#6E7E75; --t3:#A6B3AB; --ink:#1F3329;
  --service-wallet-back-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 6 8 10 13' fill='none' stroke='%231B2620' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
body{font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  background:var(--page-bg-main);color:var(--t1);min-height:844px;margin:0;position:relative}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:360px;z-index:0;
  background:var(--page-bg-main)}
.wrap{position:relative;z-index:1;padding:0 0 calc(100px + env(safe-area-inset-bottom))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(20,90,50,.06);border:1px solid var(--line)}
.section{padding:0 16px;margin-top:14px}
.phdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.phdr h1{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.phdr .sub{font-size:12.5px;color:var(--gold);font-weight:500;margin-top:3px}
/* 「我的」+「充值」页副标题用灰色(2026-07-19/07-20 需求;奖励页副标题仍保持金色) */
[data-view="me"] .phdr .sub,[data-view="recharge"] .phdr .sub{color:var(--t2)}
/* 奖励中心页头「规则」按钮字改墨黑(2026-07-19 需求;图标保持绿色) */
[data-view="rewards"] .phdr .rt{color:var(--ink)}
.phdr .rt{font-size:12.5px;color:var(--green-deep);font-weight:600;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:5px}
.phdr .rt svg{width:14px;height:14px}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}
.cta{width:100%;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}
.tag{font-size:11px;font-weight:600;color:var(--green-deep);background:#E7F8EF;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.tag svg{width:12px;height:12px}

.hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 8px}
.brand{display:flex;align-items:center;gap:11px}
.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.logo{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#0DD16B,#07C160);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 5px 16px rgba(7,193,96,.32),inset 0 1px 0 rgba(255,255,255,.45)}
.logo svg{width:24px;height:24px}
.brand .nm{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:.2px;line-height:1.1}
.brand .sub{font-size:11px;color:var(--gold);letter-spacing:.4px;margin-top:2px;font-weight:500}
.brand .domain{font-size:11px;line-height:1.1;color:var(--gold);font-weight:400;letter-spacing:0}
.h-act{display:flex;align-items:center;gap:9px}
.lang{display:flex;align-items:center;gap:5px;font:inherit;font-size:12.5px;color:var(--t2);font-weight:500;background:#fff;border:1px solid var(--line);padding:7px 11px;border-radius:999px;cursor:pointer}
.lang svg{width:13px;height:13px}
.login{font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#0DD16B,#07C160);padding:8px 17px;border-radius:999px;border:none;box-shadow:0 4px 12px rgba(7,193,96,.32)}

/* 轮播广告位 */
.banner{margin:14px 16px 0;height:140px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(120deg,#EAF4EC 0%,#F3F7EE 100%);box-shadow:0 8px 20px rgba(30,90,55,.14);touch-action:pan-y}
.banner::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
.banner .bc{position:absolute;left:20px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;z-index:1}
.banner .bc .k{font-size:11px;font-weight:700;color:#2A7D4C;letter-spacing:.6px}
.banner .bc h2{font-size:20px;font-weight:900;color:#16371F;margin-top:2px;line-height:1.14;letter-spacing:.4px}
.banner .bc .b2{display:block;font-size:20px;font-weight:900;color:#16371F;margin-top:2px;line-height:1.14;letter-spacing:.4px}
.banner .bc p{font-size:11.5px;font-weight:500;color:#44604F;margin-top:5px;line-height:1.32}
.banner .bcta{display:inline-flex;align-items:center;margin-top:8px;padding:5px 13px;border-radius:999px;background:linear-gradient(135deg,#2FBF69,#0E9B52);color:#fff;font-size:12px;font-weight:700;width:fit-content;box-shadow:0 4px 10px rgba(14,155,82,.28)}
.banner[data-banner-target="vip"] .bcta{background:#fff;color:#0E9B52;box-shadow:0 4px 10px rgba(130,95,20,.18)}
.banner .bill{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:88px;height:88px;z-index:1}
.home-banner-dots{position:absolute;left:0;right:0;bottom:8px;z-index:3;height:8px;margin:0;display:flex;align-items:center;justify-content:center;gap:5px}
.home-banner-dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.52);box-shadow:0 1px 4px rgba(35,80,48,.16);transition:width .18s ease,background .18s ease;cursor:pointer}
.home-banner-dots button.on{width:14px;background:var(--green)}

.home-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 16px 0}
.home-reward-card{display:block;position:relative;height:112px;overflow:hidden;border:0;border-radius:15px;padding:0;background:#fff;box-shadow:0 9px 22px rgba(20,90,50,.10);text-align:left;isolation:isolate}
.home-reward-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home-reward-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;z-index:1}
.home-reward-card.is-checkin::after{background:linear-gradient(180deg,rgba(239,255,244,.70),#effff5 44%,#effff5)}
.home-reward-card.is-invite::after{background:linear-gradient(180deg,rgba(255,244,229,.70),#fff0e2 44%,#fff0e2)}
.home-reward-card.is-spin::after{background:linear-gradient(180deg,rgba(237,249,255,.72),#eefaff 44%,#eefaff)}
.home-reward-copy{position:absolute;left:10px;right:27px;bottom:7px;z-index:2}
.home-reward-copy strong{display:block;font-size:13.5px;line-height:1.1;color:var(--ink);font-weight:900;white-space:nowrap}
.home-reward-copy small{display:block;margin-top:3px;font-size:10px;line-height:1.15;color:var(--t2);font-weight:800;white-space:nowrap}
.home-reward-card.is-checkin .home-reward-copy strong,.home-reward-card.is-checkin .home-reward-copy small{color:#149b55}
.home-reward-card.is-invite .home-reward-copy strong{color:#e8521d}
.home-reward-card.is-invite .home-reward-copy small{color:#e06a29}
.home-reward-card.is-spin .home-reward-copy strong{color:#2579d8}
.home-reward-card.is-spin .home-reward-copy small{color:#4e84c4}
.home-reward-arrow{position:absolute;right:8px;bottom:17px;z-index:2;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:0;line-height:0;box-shadow:0 6px 12px rgba(20,90,50,.14)}
/* 箭头用居中构造的 SVG,不用「›」字符:字符字形在 em 盒里天生偏上/偏下,flex 只能居中盒子居不中字形(2026-07-07 用户回报"箭头上下不居中") */
.home-reward-arrow::before{content:"";width:11px;height:11px;background:center/11px 11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M6 3.5 10.5 8 6 12.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.home-reward-card.is-checkin .home-reward-arrow{background:#25a967}
.home-reward-card.is-invite .home-reward-arrow{background:#ef6a2a}
.home-reward-card.is-spin .home-reward-arrow{background:#3a8ee8}

.balance{margin:14px 16px 0;border-radius:20px;padding:20px 22px 18px;position:relative;overflow:hidden;background:linear-gradient(135deg,#FFFFFF 0%,#FCFEFC 100%);border:1px solid var(--line);box-shadow:0 10px 30px rgba(20,90,50,.08)}
.balance::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(203,167,90,.14),transparent 70%)}
.balance .label{font-size:12px;color:var(--t2);letter-spacing:.4px;display:flex;align-items:center;gap:6px}
.balance .label svg{width:14px;height:14px}
.balance .bal{display:flex;align-items:flex-end;gap:7px;margin-top:8px}
.balance .cur{font-size:20px;font-weight:600;color:var(--gold);margin-bottom:5px}
.balance .amt{font-size:38px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.balance .row{display:flex;gap:10px;margin-top:18px;position:relative;z-index:1}
.balance .row button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:600;padding:12px;border-radius:13px;border:none}
.balance .row .primary{background:var(--green);color:#fff;box-shadow:0 5px 14px rgba(7,193,96,.32)}
.balance .row .ghost{background:#FBF6EC;color:var(--gold);border:1px solid var(--gold-line)}
.balance .row svg{width:16px;height:16px}

.qt{padding:18px}
.qt .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.qt h2{font-size:16.5px;font-weight:700;color:var(--ink)}
.phone{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:13px;overflow:hidden;background:#FAFDFB}
.phone .cc{font-size:16px;font-weight:700;color:var(--green-deep);padding:14px;background:#EFF8F2;border-right:1.5px solid #DCEFE2}
.phone input{flex:1;border:none;background:transparent;font-size:17px;padding:14px;color:var(--t1);letter-spacing:.5px;outline:none;font-weight:500}
.phone input::placeholder{color:var(--t3);font-weight:400}
.carriers{display:flex;gap:6px;margin-top:11px}
.carriers .c{flex:1;position:relative;text-align:center;font:inherit;font-size:13px;font-weight:600;color:var(--t2);padding:8px 4px;border-radius:13px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;cursor:pointer}
.carriers .c.on{color:var(--green-deep);background:transparent}
.carriers .c.on::after{content:"✓";position:absolute;top:2px;right:0;width:16px;height:16px;border-radius:999px;background:var(--green);color:#fff;font-size:11.5px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 4px 10px rgba(7,193,96,.24)}
.carrier-logo{width:22px;height:22px;border-radius:0;display:flex;align-items:center;justify-content:center;overflow:visible;flex-shrink:0}
.carrier-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.carrier-logo.globe{width:26px;height:26px;border-radius:0;background:transparent;padding:0;border:0;overflow:visible}
.carrier-logo.globe img{width:26px;height:26px;max-width:none;max-height:none}
.carrier-logo.smart{width:26px;height:26px;border-radius:0;background:transparent;padding:0;border:0;overflow:hidden;justify-content:flex-start}
.carrier-logo.smart img{width:auto;height:26px;max-width:none;max-height:none}
.carrier-logo.dito{width:32px;height:14px;border-radius:0;background:transparent;padding:0;border:0;overflow:visible}
.carrier-logo.dito img{width:auto;height:14px;max-width:none;max-height:none}
.cta{width:100%;margin-top:14px;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}

/* 一条:赚奖励入口(克制) */
.earn-entry{margin:14px 16px 0;border-radius:16px;padding:15px 18px;display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(20,90,50,.06);position:relative;overflow:hidden}
.earn-entry .gi{width:42px;height:42px;flex-shrink:0}
.earn-entry .tx{flex:1}
.earn-entry .tx strong{font-size:14.5px;font-weight:700;color:var(--ink);display:block}
.earn-entry .tx small{font-size:12px;color:var(--t2);margin-top:2px;display:block}
.earn-entry .tx small b{color:#F4511E;font-weight:700}
.earn-entry .arrow{font-size:13px;font-weight:700;color:var(--green-deep);background:#EAF9F1;border:1px solid #CDEFDD;padding:8px 14px;border-radius:999px;white-space:nowrap;display:flex;align-items:center;gap:4px}
.earn-entry .arrow svg{width:13px;height:13px}

/* family */
.fam{margin-top:14px;padding:18px}
.fam .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
.fam h2{font-size:16px;font-weight:700;color:var(--ink)}
.fam .mng{font-size:12.5px;font-weight:600;color:var(--green-deep)}
.fam-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 2px}
.fam-empty .ico{width:50px;height:50px}
.fam-empty p{font-size:13px;color:var(--t2);text-align:center;line-height:1.5}
.fam-empty .add{margin-top:2px;font-size:13px;font-weight:600;color:var(--green-deep);border:1.5px solid var(--green);background:#fff;padding:9px 18px;border-radius:999px}

.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom))}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}

:root{
  --green:#07C160; --green-deep:#05984B;
  --gold:#B8943F; --gold-2:#CBA75A; --gold-line:#E5D6B0;
  --mint:#EAF6EE; --mint-2:#DDEFE3;
  --card:#FFFFFF; --line:#E4EFE7;
  --t1:#22302A; --t2:#6E7E75; --t3:#A6B3AB; --ink:#1F3329;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  background:var(--page-bg-main);color:var(--t1);width:390px;min-height:844px;margin:0 auto;position:relative}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:360px;z-index:0;
  background:var(--page-bg-main)}
.wrap{position:relative;z-index:1;padding:0 0 calc(100px + env(safe-area-inset-bottom))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(20,90,50,.06);border:1px solid var(--line)}
.section{padding:0 16px;margin-top:14px}
.phdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.phdr h1{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.phdr .sub{font-size:12.5px;color:var(--gold);font-weight:500;margin-top:3px}
.phdr .rt{font-size:12.5px;color:var(--green-deep);font-weight:600;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:5px}
.phdr .rt svg{width:14px;height:14px}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}
.cta{width:100%;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}
.tag{font-size:11px;font-weight:600;color:var(--green-deep);background:#E7F8EF;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.tag svg{width:12px;height:12px}

.steps{display:flex;align-items:center;padding:6px 22px 4px;margin-top:6px}
.step{display:flex;align-items:center;gap:7px}
.step .dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.step.done .dot{background:var(--green);color:#fff}
.step.now .dot{background:#fff;color:var(--green-deep);border:1px solid var(--green)} /* triTweak=20260807-1:当前步绿描边再细一档 1.5→1px(用户仍嫌粗) */
.step.todo .dot{background:#fff;color:var(--t3);border:1.5px solid var(--line)}
.step .lb{font-size:12px;font-weight:600}
.step.done .lb,.step.now .lb{color:var(--ink)}
.step.todo .lb{color:var(--t3)}
.step-line{flex:1;height:1.5px;background:var(--line);margin:0 8px}
.step-line.done{background:var(--green)}
.blk{padding:18px}
.blk .bh{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.blk .bh .n{width:22px;height:22px;border-radius:7px;background:#EAF9F1;color:var(--green-deep);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.blk .bh h2{font-size:15.5px;font-weight:700;color:var(--ink)}
.blk .bh .ok{margin-left:auto}
.phone{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:13px;overflow:hidden;background:#FAFDFB}
.phone .cc{font-size:16px;font-weight:700;color:var(--green-deep);padding:14px;background:#EFF8F2;border-right:1.5px solid #DCEFE2}
.phone input{flex:1;border:none;background:transparent;font-size:17px;padding:14px;color:var(--t1);letter-spacing:.5px;outline:none;font-weight:500}
.detected{display:flex;align-items:center;gap:8px;margin-top:11px;padding:10px 13px;background:#EAF9F1;border:1px solid #CDEFDD;border-radius:11px}
.detected .ch{font-size:12px;font-weight:700;color:#fff;background:var(--green);padding:4px 10px;border-radius:999px}
.detected small{font-size:12px;color:var(--green-deep);font-weight:500}
.ops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:2px 18px 0;overflow:visible;margin-top:4px} /* uiPolish=20260807-2:Lahat 移除后 4 列→3 列,三档均分整行 */
.op{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:13px;font-weight:600;color:var(--t2);padding:8px 8px;border-radius:999px;border:1.5px solid var(--line);background:#fff;cursor:pointer;min-height:40px}
.op.on{background:#EAF9F1;color:var(--green-deep);border-color:var(--green);box-shadow:0 4px 11px rgba(7,193,96,.16)}
/* 号码已识别运营商 → 其他运营商按钮锁定(变灰不可点);「全部」视图下不匹配套餐同样灰化 */
.op.carrier-locked{opacity:.38;filter:grayscale(1);pointer-events:none}
.pkg.pkg-locked{opacity:.45;filter:grayscale(.85)}
.op .carrier-logo{width:20px;height:20px;border-radius:0}
.op .carrier-logo.globe{width:24px;height:24px;border-radius:0;background:transparent;padding:0;border:0;overflow:visible}
.op .carrier-logo.globe img{width:24px;height:24px;max-width:none;max-height:none}
.op .carrier-logo.smart{width:22px;height:22px;border-radius:0;background:transparent;padding:0;border:0}
.op .carrier-logo.smart img{height:22px}
.op .carrier-logo.dito{width:26px;height:14px;border-radius:0;background:transparent;padding:0;border:0;overflow:visible}
.op .carrier-logo.dito img{width:auto;height:14px;max-width:none;max-height:none}
.pkgs{padding:4px 18px 0}
.pkg-group{display:grid;gap:10px;margin-top:14px}
.pkg-group + .pkg-group{margin-top:18px}
.pkg-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}
.pkg-group-head h3{font-size:15px;line-height:1.2;font-weight:800;color:var(--ink)}
.pkg-expand{border:none;background:transparent;color:var(--green-deep);font:inherit;font-size:12px;font-weight:800;padding:6px 0;cursor:pointer}
.pkg-group-list{display:grid;gap:10px}
.pkg{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:15px 16px;position:relative}
.pkg.on{border-color:var(--green);background:#FCFEFD;box-shadow:0 6px 16px rgba(7,193,96,.12)}
.pkg .l .nm{font-size:15px;font-weight:700;color:var(--ink)}
.pkg .l .meta{font-size:12px;color:var(--t2);margin-top:3px}
.pkg .l .meta b{color:var(--green-deep);font-weight:600}
.pkg .r{text-align:right}
.pkg .r .price{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.pkg .r .price .u{font-size:13px;color:var(--gold);font-weight:600}
.pkg .tick{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;background:var(--green);display:none;align-items:center;justify-content:center}
.pkg .tick svg{width:13px;height:13px}
.pkg.on .tick{display:flex}
/* 积分钩子 */
.earn{margin:11px 16px 0;display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:12px;background:#FFF1EC;border:1px solid #FFD9CC}
.earn svg{width:18px;height:18px;flex-shrink:0}
.earn small{font-size:12px;color:#C4391A;font-weight:500}
.earn small b{font-weight:700}
.confirm{margin:12px 16px 0;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#FFFFFF,#FCFEFC);border:1px solid var(--line);box-shadow:0 8px 22px rgba(20,90,50,.08)}
.confirm .crow{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding:5px 0}
.confirm .crow span{color:var(--t2)}
.confirm .crow b{color:var(--ink);font-weight:600}
.confirm .div{height:1px;background:var(--line);margin:7px 0}
.confirm .total b{color:var(--green-deep);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}

:root{
  --green:#07C160; --green-deep:#05984B;
  --gold:#B8943F; --gold-2:#CBA75A; --gold-line:#E5D6B0;
  --mint:#EAF6EE; --mint-2:#DDEFE3;
  --card:#FFFFFF; --line:#E4EFE7;
  --t1:#22302A; --t2:#6E7E75; --t3:#A6B3AB; --ink:#1F3329;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  background:var(--page-bg-main);color:var(--t1);width:390px;min-height:844px;margin:0 auto;position:relative}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:360px;z-index:0;
  background:var(--page-bg-main)}
.wrap{position:relative;z-index:1;padding:0 0 calc(100px + env(safe-area-inset-bottom))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(20,90,50,.06);border:1px solid var(--line)}
.section{padding:0 16px;margin-top:14px}
.phdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.phdr h1{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.phdr .sub{font-size:12.5px;color:var(--gold);font-weight:500;margin-top:3px}
.phdr .rt{font-size:12.5px;color:var(--green-deep);font-weight:600;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:5px}
.phdr .rt svg{width:14px;height:14px}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}
.cta{width:100%;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}
.tag{font-size:11px;font-weight:600;color:var(--green-deep);background:#E7F8EF;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.tag svg{width:12px;height:12px}

/* 积分卡 */
.pts-hero{margin:14px 16px 0;border-radius:20px;padding:20px 22px;position:relative;overflow:hidden;background:linear-gradient(135deg,#F7EDD4 0%,#EFE0BC 55%,#E9D6A9 100%);border:1px solid var(--gold-line);box-shadow:0 10px 28px rgba(184,148,63,.16)}
.pts-hero::after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 70%)}
.pts-hero .lb{font-size:12.5px;color:#9A7A2E;font-weight:600;letter-spacing:.4px;position:relative;z-index:1;display:flex;align-items:center;gap:6px}
.pts-hero .lb svg{width:16px;height:16px}
.pts-hero .big{font-size:42px;font-weight:700;color:#5E4A1C;line-height:1;margin-top:8px;letter-spacing:-1px;position:relative;z-index:1;font-variant-numeric:tabular-nums}
.pts-hero .foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;position:relative;z-index:1}
.pts-hero .foot p{font-size:12px;color:#9A8348}
.pts-hero .shop{font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#C9A65A,#B8943F);padding:8px 14px;border-radius:999px;border:none;box-shadow:0 4px 10px rgba(184,148,63,.3)}

/* 签到 */
.dcard{margin-top:14px;padding:18px}
.dcard .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.dcard h2{font-size:16px;font-weight:700;color:var(--ink)}
.days{display:flex;gap:6px;margin-bottom:16px}
.day{flex:1;aspect-ratio:.82;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#F5FBF7;border:1.5px solid var(--line)}
.day .d{font-size:9px;font-weight:600;color:var(--t3)}
.day .p{font-size:12px;font-weight:700;color:var(--t3)}
.day .coin{width:18px;height:18px}
.day.today{background:#EAF9F1;border-color:var(--green);border-width:2px}
.day.today .p{color:var(--green-deep)}

/* === 邀请裂变大卡(核心) === */
.invite{margin-top:14px;border-radius:20px;padding:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,#FF7043 0%,#F4511E 100%);box-shadow:0 10px 28px rgba(244,81,30,.30)}
.invite::after{content:"";position:absolute;right:-40px;bottom:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,80,.4),transparent 70%)}
.invite .hd{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.invite .kick{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#fff;background:rgba(255,255,255,.22);padding:4px 10px;border-radius:999px;letter-spacing:.5px}
.invite .kick svg{width:13px;height:13px}
.invite h3{font-size:20px;font-weight:700;color:#fff;margin-top:10px;line-height:1.25}
.invite h3 b{color:#FFE08A}
.invite p{font-size:12px;color:rgba(255,255,255,.85);margin-top:6px;position:relative;z-index:1}
.invite .gift{width:60px;height:60px;flex-shrink:0}
.invite .stat{display:flex;gap:10px;margin-top:16px;position:relative;z-index:1}
.invite .stat .s{flex:1;background:rgba(255,255,255,.16);border-radius:12px;padding:10px 12px;backdrop-filter:blur(6px)}
.invite .stat .s strong{font-size:20px;font-weight:700;color:#fff;display:block;font-variant-numeric:tabular-nums}
.invite .stat .s span{font-size:11px;color:rgba(255,255,255,.8);margin-top:1px;display:block}
.invite .go{margin-top:14px;position:relative;z-index:1;width:100%;font-size:15px;font-weight:700;color:#F4511E;background:#fff;padding:13px;border-radius:13px;border:none;box-shadow:0 5px 14px rgba(0,0,0,.15)}

/* 任务中心 */
.tasks{margin-top:14px;padding:6px 18px 10px}
.tasks h2{font-size:16px;font-weight:700;color:var(--ink);padding:14px 0 4px}
.task{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}
.task:last-child{border-bottom:none}
.task .ico{width:44px;height:44px;flex-shrink:0}
.task .l{flex:1}
.task .l strong{font-size:14px;font-weight:600;color:var(--ink);display:block}
.task .l small{font-size:12px;color:var(--t2);margin-top:2px;display:block}
.task .go{font-size:12.5px;font-weight:600;color:var(--green-deep);background:#EAF9F1;border:1px solid #CDEFDD;padding:8px 16px;border-radius:999px;white-space:nowrap}
.task .go.done{color:var(--t3);background:#F2F2F0;border-color:#E4E4E0}

/* 积分商城 */
.mall{margin-top:14px;padding:18px}
.mall .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.mall h2{font-size:16px;font-weight:700;color:var(--ink)}
.mall .more{font-size:12.5px;font-weight:600;color:var(--green-deep)}
.mall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.goods{border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;background:#fff}
.goods .ico{width:42px;height:42px;margin:0 auto}
.goods strong{font-size:12px;font-weight:600;color:var(--ink);display:block;margin-top:8px}
.goods .cost{font-size:11px;font-weight:700;color:var(--gold);background:#FBF4E4;border:1px solid var(--gold-line);padding:3px 0;border-radius:999px;margin-top:7px;display:block}

:root{
  --green:#07C160; --green-deep:#05984B;
  --gold:#B8943F; --gold-2:#CBA75A; --gold-line:#E5D6B0;
  --mint:#EAF6EE; --mint-2:#DDEFE3;
  --card:#FFFFFF; --line:#E4EFE7;
  --t1:#22302A; --t2:#6E7E75; --t3:#A6B3AB; --ink:#1F3329;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  background:var(--page-bg-main);color:var(--t1);width:390px;min-height:844px;margin:0 auto;position:relative}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:360px;z-index:0;
  background:var(--page-bg-main)}
.wrap{position:relative;z-index:1;padding:0 0 calc(100px + env(safe-area-inset-bottom))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(20,90,50,.06);border:1px solid var(--line)}
.section{padding:0 16px;margin-top:14px}
.phdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.phdr h1{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.phdr .sub{font-size:12.5px;color:var(--gold);font-weight:500;margin-top:3px}
.phdr .rt{font-size:12.5px;color:var(--green-deep);font-weight:600;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:5px}
.phdr .rt svg{width:14px;height:14px}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}
.cta{width:100%;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}
.tag{font-size:11px;font-weight:600;color:var(--green-deep);background:#E7F8EF;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.tag svg{width:12px;height:12px}

.filters{display:flex;gap:8px;padding:8px 18px 4px;overflow-x:auto}
.flt{flex-shrink:0;font-size:13px;font-weight:600;color:var(--t2);padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff}
.flt.on{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px 11px rgba(7,193,96,.28)}
.trust{margin:14px 16px 0;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;gap:12px;align-items:flex-start;box-shadow:0 4px 14px rgba(20,90,50,.05)}
.trust .ico{width:38px;height:38px;flex-shrink:0}
.trust .tx strong{font-size:13px;font-weight:600;color:var(--ink);display:block}
.trust .tx small{font-size:11.5px;color:var(--t2);line-height:1.5;margin-top:3px;display:block}
/* 「我的」页底部安全信任卡(2026-07-23 需求):浅绿卡+绿盾+标题副标题,纯展示无箭头 */
/* triFix=20260806-1:安全条去绿底(用户 2026-08-06),盾牌图标与文字直接坐在页面底色上 */
.me-secure{padding:14px 15px;border-radius:16px;background:transparent;border:0;display:flex;gap:13px;align-items:center}
.me-secure-ico{width:40px;height:40px;flex-shrink:0}
.me-secure-ico svg{width:100%;height:100%;display:block}
.me-secure-tx strong{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.me-secure-tx small{display:block;margin-top:3px;font-size:12px;color:var(--t2);line-height:1.45}
.orders{padding:4px 16px 0}
.order{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 16px;margin-top:11px;box-shadow:0 4px 14px rgba(20,90,50,.05)}
.order .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.order .top .who{display:flex;align-items:center;gap:10px}
.order .top .who .ico{width:40px;height:40px}
.order .top .who strong{font-size:14px;font-weight:600;color:var(--ink);display:block}
.order .top .who small{font-size:12px;color:var(--t2);margin-top:1px;display:block}
.order .st{font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:999px}
.order .st.ok{color:var(--green-deep);background:#EAF9F1}
.order .st.pend{color:#C8841F;background:#FFF6E5}
.order .st.fail{color:#D14343;background:#FDEEEE}
.order .mid{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px dashed var(--line)}
.order .mid .amt{font-size:17px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.order .mid .amt .u{font-size:12px;color:var(--gold);font-weight:600}
.order .ono{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t3)}
/* orderNo=20260808-1:复制键从 .ono 里挪到 .mid 直接子级(单号改独占第二行),
   选择器必须跟着脱掉 .ono —— 否则这两条全失配,svg 没了尺寸会把行撑到 90px */
.order .copy{display:flex;align-items:center;gap:3px;color:var(--green-deep);font-weight:600;background:#EAF9F1;padding:3px 8px;border-radius:7px}
.order .copy svg{width:11px;height:11px}
.order .eta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t2);margin-top:3px}
.order .eta svg{width:13px;height:13px}
.order .appeal{margin-top:10px;width:100%;font-size:12.5px;font-weight:600;color:#D14343;background:#fff;border:1.5px solid #F3D4D4;padding:9px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:6px}
.order .appeal svg{width:14px;height:14px}

:root{
  --green:#07C160; --green-deep:#05984B;
  --gold:#B8943F; --gold-2:#CBA75A; --gold-line:#E5D6B0;
  --mint:#EAF6EE; --mint-2:#DDEFE3;
  --card:#FFFFFF; --line:#E4EFE7;
  --t1:#22302A; --t2:#6E7E75; --t3:#A6B3AB; --ink:#1F3329;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
body{font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  background:var(--page-bg-main);color:var(--t1);width:390px;min-height:844px;margin:0 auto;position:relative}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:360px;z-index:0;
  background:var(--page-bg-main)}
.wrap{position:relative;z-index:1;padding:0 0 calc(100px + env(safe-area-inset-bottom))}
.card{background:var(--card);border-radius:18px;box-shadow:0 6px 20px rgba(20,90,50,.06);border:1px solid var(--line)}
.section{padding:0 16px;margin-top:14px}
.phdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.phdr h1{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:.2px}
.phdr .sub{font-size:12.5px;color:var(--gold);font-weight:500;margin-top:3px}
.phdr .rt{font-size:12.5px;color:var(--green-deep);font-weight:600;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:5px}
.phdr .rt svg{width:14px;height:14px}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:390px;background:rgba(244,247,245,.94);backdrop-filter:blur(20px);border-top:1px solid var(--line);display:flex;padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:50}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.tab .ti{width:24px;height:24px}
.tab span{font-size:10.5px;font-weight:600;color:var(--t3)}
.tab.on span{color:var(--green-deep)}
.cta{width:100%;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;font-size:16px;font-weight:700;padding:15px;border-radius:14px;border:none;box-shadow:0 7px 18px rgba(7,193,96,.30);letter-spacing:.3px}
.tag{font-size:11px;font-weight:600;color:var(--green-deep);background:#E7F8EF;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.tag svg{width:12px;height:12px}

.idcard{width:calc(100% - 32px);margin:14px 16px 0;border-radius:18px;padding:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,#FFFFFF 0%,#FCFEFC 100%);border:1px solid var(--line);box-shadow:0 8px 22px rgba(20,90,50,.07);display:flex;align-items:center;gap:12px;text-align:left;color:inherit}
.idcard::after{content:"";position:absolute;right:-34px;top:-44px;width:126px;height:126px;border-radius:50%;background:radial-gradient(circle,rgba(203,167,90,.12),transparent 70%)}
.idcard .av{width:58px;height:58px;flex-shrink:0;position:relative;z-index:1}
.me-avatar{position:relative;z-index:1;width:58px;height:58px;flex:0 0 58px}
.profile-default-avatar{border-radius:50%}
/* 盾牌勾:外移且 z-index 压在头像之上(用户反馈勾被头像挡) */
.avatar-shield{position:absolute;right:-6px;bottom:-5px;z-index:2;width:20px;height:20px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 7px rgba(20,90,50,.18)}
.avatar-shield svg{width:18px;height:18px;display:block}
.idcard .l{flex:1;min-width:0;position:relative;z-index:1}
.idcard .l strong{font-family:"Nunito",-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;font-size:15px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
.idcard .l strong .idcard-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 未登录欢迎副行:单行截断改最多两行 clamp,菲/英长文案完整显示(2026-07-21 需求);登录态短副行仍一行 */
.idcard .l small{font-size:12.5px;color:var(--t2);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}
.login-state{display:inline-flex;margin-top:6px;padding:2px 7px;border-radius:999px;background:#EAF9F1;color:var(--green-deep);font-style:normal;font-size:10.5px;font-weight:600}
/* 未登录态:灰色徽章,与已登录的绿色区分 */
.login-state.off{background:#EFF2F0;color:#7A8A81}
/* 欢迎回家徽章:去绿底/内边距,只留绿字 + 招手表情(2026-07-19 需求5);腾出的宽度让昵称多显示 */
.idcard .l strong .login-state-inline{flex:0 0 auto;margin:0;padding:0;background:transparent;gap:2px;align-items:center;font-size:10px;font-weight:700;color:var(--green-deep)}
.idcard .l strong .login-state-inline .login-wave{font-size:12px;line-height:1}
/* 「欢迎回家」明亮金渐变字(A 款,2026-07-20 用户选);只作用于文字 span 不影响 👋;不支持 background-clip 的浏览器回退纯金字 */
.idcard .l strong .login-state-inline .login-gold{color:#C8890B;font-size:11px;font-weight:800;letter-spacing:.2px}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .idcard .l strong .login-state-inline .login-gold{background:linear-gradient(92deg,#F7D774,#E3A80D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 .5px .4px rgba(150,100,10,.3))}
}
/* 昵称收缩至内容宽(短昵称徽章紧跟其后,需求一);超长才省略号,徽章 flex:0 0 auto 永不被裁保住 👋(需求二) */
/* 「Hi, 昵称」不加粗,只有旁边的欢迎徽章保持粗体(2026-07-20 需求) */
.idcard .l strong .idcard-name{flex:0 1 auto;min-width:0;font-weight:400}
/* 「账号设置」移到卡片右下角(绝对定位),释放整行宽度给长昵称(2026-07-19 需求4) */
/* 「我的」页卡片间距收紧(2026-07-26 用户需求):全局 .section 是 14px,此页 5 条卡缝统一 8px;卡片自带 margin-top:14 会与 section 外边距折叠取大,需一并归零 */
[data-view="me"] .section{margin-top:10px}
[data-view="me"] .section>.card,[data-view="me"] .section>.vip{margin-top:0}
[data-view="me"] .idcard{position:relative}
[data-view="me"] .idcard .profile-link{position:absolute;right:16px;bottom:22px}
.idcard .l small.join-days{display:flex;align-items:center;gap:4px;margin-top:3px;color:#71857A;font-size:10.5px;font-weight:400}
/* 加入天数文字上提 3px 对齐草顶(嫩芽视觉重心偏上,居中显矮;2026-07-22 需求)*/
.idcard .join-days span{position:relative;top:-3px}
.idcard .join-days .join-grass{position:relative;top:-3px;flex:0 0 auto;width:20px;height:20px}
.profile-link{position:relative;z-index:1;flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--green-deep);white-space:nowrap}
.wstat{margin-top:14px;padding:16px 14px 17px}
.wstat .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.wstat h2{font-size:15.5px;font-weight:700;color:var(--ink)}
.wstat .det{border:0;background:transparent;padding:0;font:inherit;font-size:12.5px;color:var(--ink);font-weight:600;cursor:pointer}
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.sgrid.sgrid-3{grid-template-columns:repeat(3,1fr)}
.sgrid .s strong .xcoin-brand-icon-stat{width:14px;height:14px;vertical-align:-2px;margin-right:3px}
.sgrid .s{text-align:center;position:relative;min-width:0}
.sgrid .s:not(:first-child)::before{content:"";position:absolute;left:0;top:5px;bottom:4px;width:1px;background:var(--line)}
.sgrid .s strong{font-size:19px;line-height:1;font-weight:600;color:var(--ink);display:block;font-variant-numeric:tabular-nums;white-space:nowrap}
.sgrid .s span{font-size:11px;margin-top:3px;line-height:1;color:var(--t2);display:block}
.sgrid .s.gold strong{color:var(--gold)}
.vip{margin-top:14px;border-radius:18px;padding:15px 16px;position:relative;overflow:hidden;background:linear-gradient(120deg,#FFF8E4 0%,#F6EBCB 100%);border:1px solid var(--gold-line);box-shadow:0 8px 20px rgba(184,148,63,.12)}
.vip::after{content:"";position:absolute;right:-44px;bottom:-48px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.58),transparent 70%)}
.vip-main{position:relative;z-index:1}
.vip-topline,.vip-mid,.vip-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vip .crown{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#9A7A2E;letter-spacing:1px}
.vip .crown svg{width:14px;height:14px}
.vip-link{font-size:12px;font-weight:600;color:#8E6D22;white-space:nowrap}
.vip-mid{margin-top:9px}
/* 左块可收缩+文案省略号:英文权益文案很长,nowrap 不收缩会把右侧按钮顶出卡片内边距 */
.vip-mid .l{min-width:0;flex:1 1 auto}
.vip-mid .go{flex:0 0 auto}
.vip h3{font-size:18px;font-weight:700;color:#5E4A1C}
/* 权益行:菲/英文案较长,单行省略会截断(用户2026-07-12反馈)——改最多两行,超两行才省略 */
.vip p{font-size:11.5px;color:#8F7439;margin-top:3px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vip-progress-meta{margin-top:8px;font-size:11.5px;color:#7E662A}
.vip-progress-next{margin-top:4px;font-size:11px;color:#9A7A2E}
/* 「距钻石还差」移到成长值行右侧,白胶囊包裹(2026-07-19 需求7);银灰/暗红卡面上都清晰 */
.vip-next-pill{flex:0 0 auto;background:rgba(255,255,255,.92);color:#5A4718;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.vip .go{font-size:12.5px;font-weight:600;color:#fff;background:linear-gradient(135deg,#C9A65A,#B8943F);padding:9px 15px 9px;border-radius:999px;border:none;white-space:nowrap;box-shadow:0 4px 10px rgba(184,148,63,.28)}
.vip .go:disabled{color:#8A6A25;background:rgba(255,255,255,.58);box-shadow:none;border:1px solid rgba(184,148,63,.2)}
.tools{margin-top:14px;padding:16px}
.tools h2{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:14px}
.service-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.service-head h2{margin-bottom:0}
.service-head button{border:0;background:transparent;color:var(--green-deep);font:inherit;font-size:12.5px;font-weight:600}
.saved-shortcuts{display:grid;gap:8px;margin-bottom:12px}
.saved-shortcut{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #DCEFE3;border-radius:14px;background:linear-gradient(135deg,#F8FEFA,#EFF9F3)}
.saved-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#A9F0C8;border:0;color:#1F3329;font-weight:900}
.saved-shortcut .tx{min-width:0;flex:1}
.saved-shortcut strong{display:block;font-size:13px;color:var(--ink);font-weight:600}
.saved-shortcut small{display:block;margin-top:2px;color:var(--t2);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.saved-shortcut button{border:0;border-radius:999px;background:var(--green);color:#fff;padding:8px 12px;font-weight:600;font-size:12px}
.saved-shortcut.empty{justify-content:space-between;color:var(--t2);font-size:12px}
.service-grid{display:grid;grid-template-columns:1fr;gap:9px}
.service-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;grid-template-columns:40px 1fr auto;align-items:center;column-gap:10px;padding:10px 12px;box-shadow:0 4px 12px rgba(20,90,50,.04);text-align:left}
.service-card.warn{border-color:#F3DDAC;background:#FFFBF0}
.service-card.ai{border-color:#BEEBD0;background:#F7FDFA}
.service-card .ico{width:34px;height:34px;grid-column:1;grid-row:1 / span 2}
.service-card span{grid-column:2;font-size:13px;font-weight:600;color:var(--t1);text-align:left;align-self:end}
.service-card small{grid-column:2;font-size:11.5px;color:var(--t2);line-height:1.25;text-align:left;min-height:0;align-self:start;margin-top:2px}
.service-card i,.utility-row i{font-style:normal;color:var(--t3);font-size:17px;grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end}
.me-utility-list{margin-top:12px;border-top:1px solid var(--line)}
.utility-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) 16px;min-height:52px;align-items:center;column-gap:8px;padding:0 4px;text-align:left;color:var(--t1);border-bottom:1px solid var(--line)}
.utility-row span,.utility-row em,.utility-row i{display:flex;align-items:center;min-height:52px;line-height:1}
.utility-row span{grid-column:1;font-size:14px;font-weight:600}
.utility-row em{grid-column:2;justify-content:flex-end;min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;font-style:normal;color:var(--t2);font-size:12px;white-space:nowrap}
.utility-row i{grid-column:3;grid-row:1;justify-content:flex-end}
.utility-row.danger span{color:#A94D3D}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 10px}
.tool{display:flex;flex-direction:column;align-items:center;gap:8px}
.tool .ico{width:46px;height:46px}
.tool span{font-size:12px;font-weight:500;color:var(--t1);text-align:center}
.service-card.tool{display:grid;grid-template-columns:40px 1fr auto;align-items:center;column-gap:10px;gap:0;padding:10px 12px}
.service-card.tool .ico{width:34px;height:34px}
.service-card.tool span{font-size:13px;font-weight:600;text-align:left;align-self:end}
.service-card.tool small{font-size:11.5px;text-align:left;align-self:start}
.mtrust{margin-top:14px;padding:15px 16px;display:flex;gap:12px;align-items:flex-start}
.mtrust .ico{width:38px;height:38px;flex-shrink:0}
.mtrust .tx strong{font-size:13px;font-weight:600;color:var(--ink);display:block}
.mtrust .tx small{font-size:11.5px;color:var(--t2);line-height:1.5;margin-top:3px;display:block}

html { background: #F4F7F5; } /* pageBg-2:宽屏两侧衬底并入统一画布色(原薄荷绿 #dfeee6,手机宽度看不见、桌面上露出来) */
body { width: min(100%, 390px); max-width: 390px; overflow-x: hidden; }
body.service-open { overflow: hidden; }
body::before { position: fixed; }
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
#loadphApp { width: min(100%, 390px); min-height: 844px; margin: 0 auto; position: relative; overflow: hidden; background: var(--page-bg-main); box-shadow: 0 16px 42px rgba(20,90,50,.10); }
#loadphApp::before { content:""; position:absolute; top:0; left:0; right:0; height:360px; z-index:0; background:var(--page-bg-main); pointer-events:none; }
.v3-view { display: none; position: relative; z-index: 1; }
.v3-view.active { display: block; }
.logo.logo-brand { background: #fff; overflow: hidden; padding: 4px; }
.logo.logo-brand img { width: 100%; height: 100%; display: block; border-radius: 10px; object-fit: cover; }
.tabs { width: min(100%, 390px); }
button.tab { border: 0; background: transparent; cursor: pointer; color: var(--t3); padding: 0; }
button.tab.on { color: var(--green-deep); }
button.tab .ti, button.tab .ti * { stroke: currentColor; }
button.tab .ti .fill-soft { fill: transparent; }
button.tab.on .ti .fill-soft { fill: #A9F0C8; }
.toast { position: fixed; left: 50%; bottom: calc(76px + env(safe-area-inset-bottom)); transform: translateX(-50%) translateY(20px); width: min(330px, calc(100vw - 40px)); padding: 11px 14px; border-radius: 999px; background: rgba(31, 51, 41, .92); color: #fff; font-size: 13px; text-align: center; opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; z-index: 999; }
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
@media (max-width: 430px) {
  html, body { width: 100%; max-width: 100%; min-height: 100dvh; }
  #loadphApp { width: 100%; min-height: 100dvh; box-shadow: none; }
  .tabs { width: 100%; }
}

.modal[hidden] { display: none !important; }
.modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
  background: rgba(18, 35, 27, .42);
  backdrop-filter: blur(10px);
}
.modal-panel {
  width: min(100%, 362px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  border-radius: 22px;
  border: 1px solid rgba(228,239,231,.95);
  background: linear-gradient(180deg, #fff 0%, #FCFEFC 100%);
  box-shadow: 0 20px 50px rgba(20, 60, 38, .24);
  padding: 20px;
  position: relative;
}
.modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: #EFF8F2;
  color: var(--t2);
  font-size: 0;
  line-height: 0;
  display: grid;
  place-items: center;
  font-weight: 400;
}
/* × 由两根小横条旋转拼成。此前靠"静态位置"落点居中 —— Chrome 会按网格居中,
   iOS Safari 却锚到左上,导致真机上 × 歪。写死 50%+translate 居中,全浏览器一致。 */
.modal-close::before,
.modal-close::after {
  content: "";
  position: absolute;
  inset: auto;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-title {
  display: block;
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
  padding-right: 34px;
}

.auth-page[hidden] { display: none !important; }
.auth-page {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  overflow: hidden;
  /* 去掉左上/右上薄荷径向光晕:光晕中心在状态栏/返回键高度,把顶部染得比纯色状态栏更绿,
     造成怎么喂色都对不齐的色缝。改为纯竖向渐变,顶部均匀 #F7FCF9,与状态栏喂色/theme-color 一致。 */
  background: #F4F7F5;
}
.auth-screen {
  width: min(100%, 390px);
  min-height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 8px calc(20px + env(safe-area-inset-bottom));
  color: var(--ink);
}
.auth-topbar {
  display: grid;
  grid-template-columns: 44px 1fr 62px;
  align-items: center;
  min-height: 40px;
  gap: 8px;
}
.auth-topbar > strong {
  justify-self: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
}
.auth-back,
.auth-support {
  border: 1px solid rgba(213, 232, 221, .95);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 22px rgba(33, 90, 54, .08);
}
.auth-back {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
}
.auth-back::before {
  content: "";
  position: absolute;
  left: 13px;
  top: 10px;
  width: 9px;
  height: 9px;
  border-left: 2.5px solid var(--ink);
  border-bottom: 2.5px solid var(--ink);
  transform: rotate(45deg);
}
.auth-support {
  justify-self: end;
  min-width: 56px;
  height: 31px;
  border-radius: 999px;
  color: #1CA451;
  font-size: 12px;
  font-weight: 600;
}
.auth-support::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 4px;
  vertical-align: -2px;
  border: 2px solid currentColor;
  border-bottom-color: transparent;
  border-radius: 50%;
  box-shadow: inset 4px -6px 0 -5px currentColor, inset -4px -6px 0 -5px currentColor;
}
.auth-hero {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 136px;
  padding: 14px 6px 12px;
}
.auth-hero-art {
  width: 118px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(25, 101, 58, .12));
}
.auth-hero-copy { min-width: 0; }
.auth-hero-copy h2 {
  margin: 0 0 7px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.auth-hero-copy p {
  margin: 0;
  color: var(--t2);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.auth-card {
  position: relative;
  margin-top: 2px;
  padding: 24px 26px 22px;
  border: 1px solid rgba(226, 239, 231, .96);
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 44px rgba(31, 83, 54, .12);
}
.auth-head-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #DCEDE4;
  border-radius: 8px;
  background: #F8FCFA;
}
.auth-tabs button {
  border: 0;
  border-radius: 7px;
  min-height: 40px;
  padding: 9px 10px;
  color: #22A451;
  background: transparent;
  font-size: 15px;
  font-weight: 600;
}
.auth-tabs button.on {
  color: #fff;
  background: linear-gradient(135deg, #3DC966, #24AD50);
  box-shadow: 0 8px 18px rgba(38, 174, 82, .24);
}
.auth-form {
  display: grid;
  gap: 13px;
  margin-top: 22px;
}
.auth-form label {
  display: grid;
  gap: 8px;
  color: #4E6258;
  font-size: 12px;
  font-weight: 600;
}
.auth-form label[hidden] { display: none !important; }
.auth-form input,
.support-compose input {
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: 13px;
  background: #FAFDFB;
  color: var(--t1);
  outline: none;
  padding: 13px 14px;
  font-size: 15px;
}
.auth-form input:focus,
.support-compose input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(7,193,96,.10);
}
.auth-phone-field,
.auth-password-field {
  display: grid;
  align-items: center;
  min-height: 46px;
  border: 1.5px solid #DFEEE5;
  border-radius: 11px;
  background: #FCFEFD;
  overflow: hidden;
}
.auth-phone-field {
  grid-template-columns: 72px 1fr;
}
.auth-phone-field b {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-right: 1px solid #E2EEE7;
  color: #4F6158;
  font-size: 14px;
  font-weight: 500;
}
.auth-phone-field b::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-left: 7px;
  border-right: 1.5px solid #9BAAA2;
  border-bottom: 1.5px solid #9BAAA2;
  transform: rotate(45deg) translateY(-2px);
}
.auth-password-field {
  grid-template-columns: 1fr 42px;
}
.auth-phone-field input,
.auth-password-field input {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 12px 14px;
  box-shadow: none;
}
.auth-phone-field:focus-within,
.auth-password-field:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(7,193,96,.10);
}
.auth-eye {
  position: relative;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #87968F;
}
.auth-eye::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 15px;
  width: 16px;
  height: 10px;
  border: 1.8px solid currentColor;
  border-radius: 50%;
}
.auth-eye::after {
  content: "";
  position: absolute;
  left: 19px;
  top: 18px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 4px -4px 0 6px #FCFEFD;
  transform: rotate(-35deg);
}
.auth-eye.is-on::after {
  box-shadow: none;
  transform: none;
}
.auth-form-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  margin-top: -2px;
}
.auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6B7E74;
  font-size: 12px;
}
.auth-remember i {
  position: relative;
  width: 13px;
  height: 13px;
  border-radius: 4px;
  background: #35BE63;
}
.auth-remember i::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 6px;
  height: 3px;
  border-left: 1.8px solid #fff;
  border-bottom: 1.8px solid #fff;
  transform: rotate(-45deg);
}
.auth-link {
  border: 0;
  background: transparent;
  color: #23A856;
  font-size: 12px;
  font-weight: 500;
}
.auth-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 12px 0 6px;
  padding: 13px 8px;
  border-radius: 14px;
  background: linear-gradient(180deg, #F6FBF8 0%, #EFF7F2 100%);
  border: 1px solid #E3F0E9;
}
.auth-trust-grid div {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px 1fr;
  column-gap: 7px;
  align-items: center;
  padding: 0 7px;
}
.auth-trust-grid div + div {
  border-left: 1px solid #DCEBE3;
}
.auth-trust-grid i {
  grid-row: span 2;
  position: relative;
  width: 27px;
  height: 27px;
  color: #1DA452;
}
.auth-trust-grid i::before,
.auth-trust-grid i::after {
  content: "";
  position: absolute;
  border: 2px solid currentColor;
}
.auth-trust-wallet::before {
  inset: 5px 3px 6px;
  border-radius: 5px;
}
.auth-trust-wallet::after {
  right: 3px;
  top: 11px;
  width: 8px;
  height: 6px;
  border-left: 0;
  border-radius: 0 4px 4px 0;
}
.auth-trust-order::before {
  inset: 3px 5px;
  border-radius: 4px;
}
.auth-trust-order::after {
  right: 2px;
  bottom: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #F0F8F4;
  box-shadow: inset 0 0 0 2px #F0F8F4;
}
.auth-trust-number::before {
  left: 5px;
  top: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.auth-trust-number::after {
  left: 1px;
  bottom: 3px;
  width: 18px;
  height: 10px;
  border-radius: 10px 10px 3px 3px;
}
/* 不再 nowrap:菲语/英语文案较长,允许两行,格子间不会互相压字(用户 2026-07-13 截图) */
.auth-trust-grid strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  overflow-wrap: break-word;
}
.auth-trust-grid span {
  margin-top: 2px;
  color: #708278;
  font-size: 10.5px;
  line-height: 1.25;
  overflow-wrap: break-word;
}
.auth-submit {
  min-height: 49px;
  margin-top: 10px;
  border-radius: 11px;
  font-size: 17px;
  box-shadow: 0 14px 26px rgba(39, 178, 84, .28);
}
.auth-switch-copy {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 2px 0 4px;
  color: #7B8B83;
  font-size: 13px;
}
.auth-switch-copy button {
  border: 0;
  background: transparent;
  color: #22A451;
  font-size: 13px;
  font-weight: 600;
}
.auth-alt-login {
  display: grid;
  gap: 13px;
  margin-top: 2px;
  text-align: center;
}
.auth-alt-login > span {
  position: relative;
  color: #8A9991;
  font-size: 12px;
}
.auth-alt-login > span::before,
.auth-alt-login > span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 74px;
  height: 1px;
  background: #E5EFE9;
}
.auth-alt-login > span::before { right: calc(50% + 54px); }
.auth-alt-login > span::after { left: calc(50% + 54px); }
.auth-alt-login > div {
  display: flex;
  justify-content: center;
  gap: 34px;
}
.auth-alt-login button {
  display: grid;
  justify-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #7A8B82;
  font-size: 11px;
}
.auth-alt-login .social-logo {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #DDEBE4;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 7px 18px rgba(36, 73, 50, .08);
}
.auth-alt-login .social-logo svg {
  width: 20px;
  height: 20px;
  display: block;
}
.auth-privacy-strip {
  margin: 4px 0 0;
  color: #A77D2C;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}
.auth-privacy-strip::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 12px;
  margin-right: 6px;
  vertical-align: -2px;
  border: 1.6px solid currentColor;
  border-radius: 2px 2px 4px 4px;
  box-shadow: inset 0 5px 0 -3px currentColor;
}
.auth-note {
  margin: -2px 0 0;
  color: #7E9087;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}
@media (max-width: 370px) {
  .auth-card { padding: 22px 20px 20px; }
  .auth-hero {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 8px;
    min-height: 126px;
  }
  .auth-hero-art {
    width: 108px;
    height: 108px;
  }
  .auth-hero-copy h2 { font-size: 19px; }
  .auth-hero-copy p { font-size: 12.5px; }
  .auth-trust-grid {
    padding: 10px 6px;
  }
  .auth-trust-grid div {
    column-gap: 5px;
    padding: 0 4px;
  }
}
.support-status {
  color: var(--t2);
  font-size: 12px;
  line-height: 1.5;
}
.support-status {
  margin: 8px 0 11px;
  color: var(--t2);
}
.support-panel {
  max-height: min(82vh, 720px);
  display: flex;
  flex-direction: column;
}
.support-tickets {
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
}
.support-context-card {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #DCEFE3;
  background: #F3FBF6;
  color: var(--t2);
  font-size: 12px;
  line-height: 1.45;
  margin-bottom: 10px;
}
.support-context-card b{display:block;color:var(--ink);font-size:13px;margin-bottom:2px}
.support-ticket {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid #DCEFE3;
  border-radius: 13px;
  background: #F3FBF6;
  color: var(--t2);
  font-size: 12px;
}
.support-ticket b {
  color: var(--green-deep);
}
.support-ticket-card {
  display:grid;
  gap:2px;
}
.support-thread {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 210px;
  max-height: 42vh;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #FAFDFB;
}
.support-msg {
  max-width: 84%;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--t1);
  background: #fff;
  box-shadow: 0 4px 12px rgba(20,90,50,.06);
  font-size: 13px;
  line-height: 1.45;
}
.support-msg.customer {
  justify-self: end;
  color: #fff;
  background: linear-gradient(135deg, #0DD16B, #07C160);
}
/* 人工客服气泡与 AI 一致(白底);身份靠气泡下方的 Staff 小字区分 —— 用户 2026-07-13 要求统一 */
/* 跨天日期分隔线 */
.support-day-divider {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
}
.support-day-divider span {
  color: #8A9991;
  font-size: 11px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(138, 153, 145, .12);
}
/* 系统消息(满意度回访记录等):居中灰条 */
.support-system-note {
  justify-self: center;
  max-width: 92%;
  text-align: center;
  color: #8A9991;
  font-size: 11px;
  line-height: 1.5;
  padding: 4px 10px;
}
/* 满意度回访卡 */
.support-feedback {
  justify-self: center;
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 12px 16px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(20,90,50,.06);
}
.support-feedback span { color: var(--t1); font-size: 13px; font-weight: 700; }
.support-feedback div { display: flex; gap: 10px; }
.support-feedback button {
  border: 1.5px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 7px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
}
.support-feedback [data-support-feedback-yes] { border-color: var(--green); color: var(--green-deep); background: #EAF9F1; }
/* AI 正在输入…(三点跳动) */
.support-typing {
  display: flex;
  gap: 5px;
  align-items: center;
  min-height: 34px;
}
.support-typing i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #B8C6BE;
  animation: supportTyping 1s ease-in-out infinite;
}
.support-typing i:nth-child(2) { animation-delay: .16s; }
.support-typing i:nth-child(3) { animation-delay: .32s; }
@keyframes supportTyping {
  0%, 60%, 100% { transform: translateY(0); opacity: .55; }
  30% { transform: translateY(-4px); opacity: 1; }
}
.support-msg small {
  display: block;
  margin-top: 4px;
  color: inherit;
  opacity: .72;
  font-size: 10px;
}
/* 客服未读红点:挂在底部导航「我的」和我的页右上客服入口上 */
.tabs .tab, .phdr .rt { position: relative; }
.support-dot {
  position: absolute;
  top: 4px;
  right: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #F53F3F;
  box-shadow: 0 0 0 2px #fff;
}
.phdr .rt .support-dot { top: -2px; right: -2px; }
.support-empty {
  align-self: center;
  justify-self: center;
  color: var(--t2);
  font-size: 13px;
  text-align: center;
}
.support-quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 10px 0;
}
.support-quick button {
  border: 1px solid #DCEFE3;
  border-radius: 999px;
  padding: 8px 6px;
  color: var(--green-deep);
  background: #F3FBF6;
  font-size: 12px;
  font-weight: 600;
}
.service-list{display:grid;gap:9px}
.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line)}
.service-row:last-child{border-bottom:0}
.service-row b{font-size:13px;color:var(--ink);font-weight:600}
.service-row span,.service-row small{font-size:12px;color:var(--t2);line-height:1.45}
.service-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mini-btn{border:1px solid #CFEBDD;background:#F3FBF6;color:var(--green-deep);border-radius:999px;padding:7px 10px;font:inherit;font-size:12px;font-weight:600}
.mini-btn.danger{border-color:#F2C6C6;background:#FFF4F4;color:#D94343}
.order-issue-list{display:grid;gap:8px}
.order-pick{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;text-align:left}
.order-pick b{display:block;color:var(--ink);font-size:13px}
.order-pick span{display:block;color:var(--t2);font-size:12px;margin-top:3px}
.issue-types{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.service-page[hidden]{display:none!important}
.service-page{position:fixed;inset:0;z-index:96;display:flex;justify-content:center;background:#F4F7F5}
.service-screen{width:min(100%,390px);min-height:100vh;max-height:100vh;min-height:100dvh;max-height:100dvh;overflow-y:auto;background:#F4F7F5;background-color:#F4F7F5;padding:16px 16px calc(28px + env(safe-area-inset-bottom));box-shadow:0 18px 42px rgba(20,90,50,.12)}
.service-topbar{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:18px}
.service-back{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font-size:0;line-height:0;box-shadow:0 5px 14px rgba(20,90,50,.08)}
/* Back chevron = 天生居中的 SVG(路径画在自身 viewBox 正中,盒子由 grid 居中)。
   不用 border+rotate 画箭头:旋转后光学中心偏移、iOS 亚像素还会把两臂描不均——真机看着歪(2026-07-07 用户实测)。 */
.service-back::before{content:"";width:16px;height:16px;background:center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 6 8 10 13' fill='none' stroke='%231F3329' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.service-title-wrap h1{font-size:23px;color:var(--ink);font-weight:900;letter-spacing:0;margin:0}
.service-title-wrap small{display:block;margin-top:3px;color:var(--t2);font-size:12px;line-height:1.35}
.service-pill{min-width:64px;border:0;text-align:center;border-radius:999px;background:#95A09B;color:#fff;padding:8px 12px;font:inherit;font-size:12px;font-weight:600;white-space:nowrap}
/* 服务页头部 pill 组:通常一个 pill;投注房间放两个(游戏规则 + 投注记录)横排右对齐(2026-07-21 需求)*/
.service-pill-group{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.service-body{display:grid;gap:18px}
.service-section-title{font-size:14px;font-weight:700;color:#667C72;margin:2px 4px -4px}
.service-panel{overflow:hidden;border:1px solid rgba(219,235,224,.9);border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(20,90,50,.08)}
.service-panel.pad{padding:16px}
.setting-row{width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--t1)}
.setting-row:last-child{border-bottom:0}
.setting-row .row-main{display:flex;align-items:center;gap:12px;min-width:0}
.setting-row .row-copy{min-width:0}
.setting-row b{display:block;font-size:15px;color:var(--ink);font-weight:600}
.setting-row small{display:block;margin-top:3px;color:var(--t2);font-size:12px;line-height:1.35}
.setting-row .row-meta{margin-left:auto;color:var(--t2);font-size:13px;white-space:nowrap}
.setting-row .chev{color:#A8B8AF;font-size:24px;line-height:1}
.row-icon{width:42px;height:42px;border-radius:15px;background:#EAF9F1;color:var(--green-deep);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;flex:0 0 auto}
.row-icon.gold{background:#FFF4D7;color:#B8943F}
.row-icon.blue{background:#EAF3FF;color:#2F7DE1}
.row-icon.red{background:#FFF0EE;color:#DA4A42}
/* 号码本:每个号码独立成卡、卡间留空(用户反馈黏在一起);容器退成透明,卡片自带白底圆角阴影 */
.saved-number-list{display:grid;gap:10px}
.service-panel.saved-number-list{background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
.saved-number-list .saved-number-card{background:#fff;border:1px solid rgba(219,235,224,.9);border-radius:20px;box-shadow:0 10px 24px rgba(20,90,50,.08)}
.saved-number-card{display:grid;grid-template-columns:52px minmax(112px,1fr) auto;align-items:center;gap:12px;padding:17px 16px;border-bottom:1px solid var(--line)}
.saved-number-card:last-child{border-bottom:0}
.saved-number-card .saved-avatar{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,#0DD16B,#08B65A);color:#fff;border:0;font-size:20px;box-shadow:0 8px 18px rgba(7,193,96,.20)}
.saved-number-card b{font-size:17px;color:var(--ink);font-weight:600}
.saved-number-card small{display:block;margin-top:3px;color:var(--t2);font-size:13px;white-space:nowrap}
.carrier-chip{display:inline-flex;align-items:center;margin-top:7px;padding:3px 10px;border-radius:999px;background:#EAF3FF;color:#2F7DE1;font-size:12px;font-weight:600}
.carrier-chip.smart{background:#EAF9F1;color:#049447}
.carrier-chip.dito{background:#FFF0EE;color:#D94343}
.add-service-btn{min-height:56px;border:1.5px dashed var(--green);border-radius:18px;background:rgba(255,255,255,.62);color:var(--green-deep);font-size:16px;font-weight:600}
.service-search{height:48px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:0 16px;color:var(--t1);font-size:14px;box-shadow:0 8px 20px rgba(20,90,50,.06)}
.faq-feature{border-radius:18px;background:#F5FBF7;padding:16px;color:var(--t1)}
.faq-feature b{font-size:16px;color:var(--ink);font-weight:600}
.faq-feature p{margin-top:8px;color:var(--t2);font-size:13px;line-height:1.6}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.help-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:flex;align-items:center;gap:11px;min-height:72px;box-shadow:0 8px 18px rgba(20,90,50,.06)}
.help-card b{font-size:14px;color:var(--ink);font-weight:600}
.help-card small{display:block;margin-top:3px;color:var(--t2);font-size:12px}
.support-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-radius:20px;background:linear-gradient(135deg,#0DD16B,#07C160);color:#fff;padding:16px;text-align:left;box-shadow:0 12px 28px rgba(7,193,96,.24)}
.support-banner b{display:block;font-size:17px;font-weight:600}
.support-banner small{display:block;margin-top:4px;font-size:12px;opacity:.88}
.support-banner span:last-child{background:#fff;color:var(--green-deep);border-radius:999px;padding:9px 13px;font-weight:600;white-space:nowrap}
.currency-lock{display:flex;align-items:center;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.currency-lock .peso{font-size:26px;font-weight:600;color:var(--ink)}
.language-mark{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #D6E1DA;color:transparent;font-weight:600}
.language-mark.selected{background:var(--green);border-color:var(--green);color:#fff}
#loadphApp [data-view="me"] .service-card.tool span,
#loadphApp [data-view="me"] .utility-row span,
#loadphApp [data-view="me"] .profile-link,
#loadphApp [data-view="me"] .login-state,
#loadphApp [data-view="me"] .sgrid .s strong,
#servicePage[data-service-kind="saved-numbers"] .setting-row b,
#servicePage[data-service-kind="help"] .setting-row b,
#servicePage[data-service-kind="security"] .setting-row b,
#servicePage[data-service-kind="account"] .setting-row b,
#servicePage[data-service-kind="language"] .setting-row b,
#servicePage[data-service-kind="language"] .currency-lock b{font-weight:600}
.support-compose {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 8px;
}
.support-compose .cta {
  min-height: 46px;
  padding: 0 12px;
}
.modal-body {
  margin: 14px 0 6px;
  display: grid;
  gap: 8px;
}
.modal-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px dashed var(--line);
  color: var(--t2);
  font-size: 13px;
}
.modal-row b {
  color: var(--ink);
  text-align: right;
}
.empty-state {
  margin-top: 11px;
  padding: 24px 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--line);
  text-align: center;
  color: var(--t2);
  box-shadow: 0 4px 14px rgba(20,90,50,.05);
}
.empty-state strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  margin-bottom: 5px;
}
.saved-list {
  display: grid;
  gap: 9px;
  width: 100%;
}
.saved-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 13px;
  border: 1px solid var(--line);
  background: #FAFDFB;
}
.saved-item strong {
  color: var(--ink);
  font-size: 13px;
}
.saved-item small {
  color: var(--t2);
  display: block;
  margin-top: 2px;
}
.saved-item button {
  border: 0;
  color: var(--green-deep);
  background: #EAF9F1;
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
  padding: 7px 12px;
}
/* 「距钻石还差 X」独立成行,放在进度条上方(与轮播卡当前级卡同版式:充值折扣→距下级还差→进度条→成长值,2026-07-20 需求) */
.vip-next-line {
  margin-top: 9px;
  font-size: 11.5px;
  font-weight: 400;
  color: #7E662A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.vip-progress {
  position: relative;
  width: 100%;
  height: 8px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(158, 121, 35, .16);
}
.vip-progress span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #B8862D, #F4D37A);
}
.vip-next {
  display: block;
  margin-top: 6px;
  color: #8A6A25;
  font-size: 11.5px;
  line-height: 1.35;
}
.mall-empty {
  grid-column: 1 / -1;
  margin-top: 0;
}
.mall-action {
  width: 100%;
  margin-top: 8px;
  border: 0;
  border-radius: 999px;
  padding: 7px 8px;
  color: var(--green-deep);
  background: #EAF9F1;
  font-size: 11px;
  font-weight: 800;
}
.reward-assets{margin-top:16px;border-radius:22px;padding:18px;background:linear-gradient(135deg,#fff7dd 0%,#f4df9c 64%,#d2a642 100%);box-shadow:0 14px 32px rgba(167,126,39,.24);border:1px solid rgba(190,151,59,.28);position:relative;overflow:hidden}
.reward-assets::after{content:"";position:absolute;right:-38px;top:-46px;width:155px;height:155px;border-radius:50%;background:rgba(255,255,255,.28)}
.reward-assets-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.reward-assets-top span{font-size:13px;font-weight:800;color:#846116;letter-spacing:.2px}
.reward-assets-top button{border:0;background:rgba(255,255,255,.48);color:#846116;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(132,97,22,.12)}
.reward-assets-main{margin-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;position:relative;z-index:1}
.reward-assets-main small{display:block;font-size:12px;font-weight:700;color:#7b6f53}
.reward-assets-main strong{display:block;margin-top:3px;font-size:38px;line-height:1;font-weight:900;color:#1d3127;font-variant-numeric:tabular-nums}
.reward-assets-main em{display:block;margin-top:7px;font-style:normal;font-size:11px;line-height:1.45;color:#7b6f53;max-width:220px}
.reward-assets-main .shop{border:0;border-radius:999px;background:#1fc66d;color:#fff;font-weight:900;padding:12px 18px;box-shadow:0 12px 22px rgba(7,193,96,.28);white-space:nowrap}
.reward-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;position:relative;z-index:1}
.reward-metrics.reward-metrics-2{grid-template-columns:repeat(2,1fr)}
.reward-metrics div{background:rgba(255,255,255,.36);border:1px solid rgba(255,255,255,.42);border-radius:14px;padding:10px 8px;text-align:center;backdrop-filter:blur(6px)}
.reward-metrics b{display:block;color:var(--gold);font-size:18px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}
.reward-metrics span{display:block;margin-top:2px;color:#806c37;font-size:11px;line-height:1.05;font-weight:700}
.today-earn{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.today-earn div{min-width:0;border-radius:16px;padding:12px 9px;background:#fff;border:1px solid rgba(220,234,226,.95);box-shadow:0 8px 22px rgba(21,70,47,.08)}
.today-earn span,.today-earn small{display:block;font-size:10px;line-height:1.25;color:var(--t2);font-weight:700}
.today-earn strong{display:block;margin:4px 0 2px;color:var(--green-deep);font-size:18px;line-height:1.05;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.cash-checkin{position:relative;overflow:hidden}
.cash-checkin::before{content:"";position:absolute;inset:0 0 auto 0;height:76px;background:linear-gradient(90deg,rgba(255,245,210,.88),rgba(235,255,245,.35));pointer-events:none}
.cash-checkin .top,.cash-checkin .reward-copy,.cash-checkin .days,.cash-checkin .cta{position:relative;z-index:1}
.cash-checkin .reward-copy{margin:6px 0 13px;font-size:11.5px;line-height:1.55;color:var(--t2)}
.cash-checkin .day{transition:transform .18s ease,box-shadow .18s ease}
.cash-checkin .day.today{background:#edfff5;border-color:#10c76d;box-shadow:0 8px 18px rgba(7,193,96,.12);transform:translateY(-2px)}
.cash-checkin .day.done{background:#f8fff7}
.cash-checkin .day.done .coin circle{fill:#A9F0C8;stroke:#16a25a}
.cash-checkin .day .p{font-size:10px;letter-spacing:0}
.reward-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.reward-action-card{position:relative;overflow:hidden;text-align:left;border:0;border-radius:20px;padding:16px;background:#fff;box-shadow:0 10px 26px rgba(21,70,47,.10);min-height:150px}
.reward-action-card::after{content:"";position:absolute;right:-32px;bottom:-42px;width:120px;height:120px;border-radius:50%;background:rgba(7,193,96,.08)}
.reward-action-card strong{display:block;margin-top:11px;color:var(--ink);font-size:17px;font-weight:900}
.reward-action-card small{display:block;margin-top:5px;color:var(--t2);font-size:11.5px;line-height:1.35;min-height:32px}
.reward-action-card em{display:inline-flex;margin-top:12px;border-radius:999px;background:#eaf9f1;color:var(--green-deep);font-style:normal;font-size:11px;font-weight:900;padding:6px 9px}
.ra-icon{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(0,0,0,.10)}
.ra-icon svg{width:36px;height:36px}
.ra-icon.orange{background:linear-gradient(135deg,#fff0d8,#ffb05c)}
.ra-icon.gold{background:linear-gradient(135deg,#fff3bc,#d8a73d)}
.mall-copy{margin:-4px 0 14px;color:var(--t2);font-size:11.5px;line-height:1.5}
.goods .need{display:block;margin-top:6px;color:#8ca199;font-size:10.5px;font-weight:800;min-height:13px}
.goods.can-redeem .need{color:var(--green-deep)}
.goods.need-points .mall-action{opacity:.62}
.invite-center-hero{border-radius:22px;padding:20px;background:linear-gradient(135deg,#ff7043,#f4511e);color:#fff;box-shadow:0 16px 34px rgba(244,81,30,.28);position:relative;overflow:hidden}
.invite-center-hero::after{content:"";position:absolute;right:-46px;top:-34px;width:156px;height:156px;border-radius:50%;background:rgba(255,224,138,.24)}
.invite-center-hero span{font-size:12px;font-weight:900;background:rgba(255,255,255,.22);padding:5px 10px;border-radius:999px}
.invite-center-hero h2{margin-top:14px;font-size:22px;line-height:1.25;font-weight:900;position:relative;z-index:1}
.invite-center-hero p{margin-top:7px;font-size:12px;line-height:1.55;color:rgba(255,255,255,.88);position:relative;z-index:1}
.invite-copy-primary{margin-top:16px;width:100%;border:0;border-radius:14px;background:#fff;color:#f4511e;font-size:15px;font-weight:900;padding:13px;position:relative;z-index:1}
.invite-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.invite-stats-grid div{background:#fff;border-radius:16px;padding:11px 6px;text-align:center;box-shadow:0 8px 20px rgba(21,70,47,.08)}
.invite-stats-grid b{display:block;font-size:18px;line-height:1.05;color:var(--ink);font-weight:900}
.invite-stats-grid span{display:block;margin-top:2px;font-size:10.5px;line-height:1.05;color:var(--t2);font-weight:700}
.service-card-block{margin-top:14px;background:#fff;border-radius:18px;padding:16px;border:1px solid rgba(220,234,226,.9);box-shadow:0 8px 22px rgba(21,70,47,.08)}
.service-card-block h3{font-size:16px;font-weight:900;color:var(--ink);margin-bottom:10px}
.service-card-block small{display:block;margin-top:8px;color:var(--t2);font-size:11.5px;line-height:1.45}
.invite-link-box{display:flex;gap:8px;align-items:center;background:#f6faf8;border:1px solid var(--line);border-radius:14px;padding:10px}
.invite-link-box code{flex:1;min-width:0;color:#1d3127;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.invite-link-box button{border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:900;padding:8px 12px}
.invite-record-empty{border:1px dashed #cae5d6;border-radius:15px;padding:16px;text-align:center;background:#f8fffb}
.invite-record-empty strong{display:block;color:var(--ink);font-size:14px}
.invite-record-empty span{display:block;margin-top:5px;color:var(--t2);font-size:12px;line-height:1.45}
.invite-rules p{margin-top:7px;font-size:12px;color:var(--t2);line-height:1.55}
.lang-options {
  display: grid;
  gap: 10px;
  margin: 16px 0 12px;
}
.lang-options button {
  border: 1.5px solid var(--line);
  border-radius: 14px;
  padding: 13px 14px;
  color: var(--ink);
  background: #FAFDFB;
  font-weight: 400;
  text-align: center;
}
.lang-options button.on {
  border-color: var(--green);
  color: var(--green-deep);
  background: #EAF9F1;
}
.tool-panel {
  display: grid;
  gap: 12px;
}
.tool-panel p {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #FAFDFB;
}
.tool-panel b {
  color: var(--ink);
  font-size: 13px;
}
.tool-panel span {
  color: var(--t2);
  font-size: 12.5px;
  line-height: 1.45;
}

.vip-panel,
.spin-panel,
.ledger-panel {
  padding: 18px;
}
.vip-modal-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vip-chip {
  /* triFix=20260806-1:定宽 54px 盛不下 Platinum 一类长档名(13px/900 ≈ 60px+)→ 文字冒出金框。
     改自适应:长档名自动加宽成胶囊,永不溢出。
     triFix=20260806-2:上下收缩 54→40;triFix=20260806-3:四向再收 40→32 高、内距 12→10、圆角 14→11 */
  width: auto;
  min-width: 40px;
  height: 32px;
  padding: 0 10px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FBE8AD;
  font-weight: 900;
  font-size: 13px;
  background: linear-gradient(135deg, #1B1B1C, #5E421E);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 10px 24px rgba(70,45,10,.24);
}
.vip-modal-head p,
.spin-subtitle {
  margin-top: 5px;
  color: var(--t2);
  font-size: 12px;
  line-height: 1.45;
}
.vip-meter {
  height: 8px;
  margin: 16px 2px 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #E7E0D0;
}
.vip-meter span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #B98226, #FFE19A);
}
.vip-level-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 10px;
  scroll-snap-type: x mandatory;
}
.vip-level-card {
  min-width: 156px;
  min-height: 116px;
  border: 0;
  border-radius: 16px;
  padding: 13px;
  text-align: left;
  color: #fff;
  background: linear-gradient(135deg, #A7A9AA, #D8D9D5);
  box-shadow: 0 8px 18px rgba(40,40,40,.10);
  scroll-snap-align: center;
}
.vip-level-card.unlocked {
  background: radial-gradient(circle at 88% 10%, rgba(255,255,255,.35), transparent 28%), linear-gradient(135deg, #4B2B12, #A77732);
}
.vip-level-card.active {
  outline: 2px solid #F5D687;
}
.vip-level-card span {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  color: #5E421E;
  background: rgba(255,244,210,.88);
  font-size: 11px;
  font-weight: 800;
}
.vip-level-card strong {
  display: block;
  margin-top: 12px;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}
.vip-level-card small,
.vip-level-card em {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.vip-benefits {
  margin-top: 8px;
  display: grid;
  gap: 10px;
}
.vip-benefits h3 {
  color: var(--ink);
  font-size: 15px;
}
.benefit-row {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #FAFDFB;
}
.benefit-row b {
  color: var(--ink);
  font-size: 13px;
}
.benefit-row span {
  color: var(--t2);
  font-size: 12px;
}
.spin-remaining {
  display: inline-flex;
  margin-top: 12px;
  padding: 6px 11px;
  color: var(--green-deep);
  background: #EAF9F1;
  border: 1px solid #CDEFDD;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}
.wheel-wrap {
  position: relative;
  width: 236px;
  height: 236px;
  margin: 18px auto 12px;
}
.wheel {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 8px solid #fff;
  box-shadow: 0 12px 30px rgba(30,90,55,.16), inset 0 0 0 1px rgba(0,0,0,.08);
  position: relative;
  overflow: hidden;
  transition: transform 2.2s cubic-bezier(.12,.68,.11,1);
}
.wheel::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.55);
  pointer-events: none;
}
.wheel-label {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 46px;
  margin-left: -23px;
  transform: rotate(var(--angle)) translateY(-78px) rotate(calc(-1 * var(--angle)));
  transform-origin: center;
  color: #fff;
  font-size: 10px;
  line-height: 1.15;
  font-weight: 900;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.wheel-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer; /* 点 GO 也可抽奖 */
  color: #7B541A;
  background: linear-gradient(135deg, #FFF7D8, #F6C95D);
  border: 5px solid #fff;
  font-weight: 900;
  box-shadow: 0 4px 14px rgba(0,0,0,.16);
}
.wheel-pointer {
  position: absolute;
  left: 50%;
  top: -2px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 26px solid #1F3329;
  z-index: 3;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.2));
}
.spin-prizes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: -2px 0 10px;
}
.spin-prizes span {
  border: 1px solid #DCECE3;
  border-radius: 999px;
  padding: 5px 8px;
  color: var(--green-deep);
  background: #F3FBF6;
  font-size: 10.5px;
  font-weight: 800;
}
.spin-panel .cta:disabled {
  color: #6F8178;
  background: #E6F0EA;
  box-shadow: none;
  cursor: not-allowed;
}
.spin-result {
  min-height: 24px;
  color: var(--green-deep);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}
.spin-history {
  margin-top: 15px;
}
.spin-history > strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  margin-bottom: 8px;
}
.spin-history-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-top: 1px dashed var(--line);
}
.spin-history-row span {
  color: var(--ink);
  font-weight: 700;
  font-size: 12.5px;
}
.spin-history-row small,
.spin-empty {
  color: var(--t2);
  font-size: 12px;
}
.spin-panel{padding:0;overflow:hidden;background:linear-gradient(180deg,#f3fbf6 0%,#fff 42%);border-radius:26px}
.spin-panel .modal-close{top:18px;right:18px;background:rgba(255,255,255,.72)}
.spin-panel .modal-title{padding:24px 22px 0;font-size:22px;font-weight:900;color:#1d3127}
.spin-panel .spin-subtitle{padding:0 22px;margin-top:6px;font-size:12.5px;color:#60746b}
.spin-panel .spin-remaining{margin-left:22px;background:#fff8dc;border-color:#ead395;color:#9a6d16}
.spin-panel .wheel-wrap{width:min(282px,74vw);height:min(282px,74vw);margin:18px auto 14px}
.spin-panel .wheel{border-width:10px;box-shadow:0 18px 42px rgba(21,70,47,.18),inset 0 0 0 1px rgba(0,0,0,.08)}
.spin-panel .wheel-center{width:68px;height:68px;color:#7b541a;background:linear-gradient(135deg,#fff8d9,#f2bd3f);box-shadow:0 8px 18px rgba(130,91,22,.22);font-size:16px}
.spin-panel .wheel-pointer{top:-5px;border-left-width:16px;border-right-width:16px;border-top-width:31px;border-top-color:#21372d}
.spin-panel .wheel-label{transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle)));font-size:11px;width:54px;margin-left:-27px}
.spin-panel .spin-prizes{margin:2px 18px 12px;padding:10px;background:rgba(255,255,255,.72);border-radius:17px;border:1px solid #e4f0e9}
.spin-panel .spin-prizes span{background:#fff;border-color:#dcece3;color:#1b8f50}
.spin-panel .spin-result{margin:0 22px 12px;min-height:0;border-radius:16px;background:#fff8dc;color:#8c620f;font-weight:900;padding:0;overflow:hidden}
.spin-panel .spin-result:not(:empty){padding:12px 14px;border:1px solid #ead395}
.spin-panel .cta{width:calc(100% - 44px);margin:0 22px 18px}
.spin-panel .spin-history{padding:16px 22px 22px;margin:0;background:#fff;border-top:1px solid #e4f0e9}
.spin-panel .spin-history-row{border-top:1px solid #edf4f0;padding:11px 0}
.ledger-filters {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  margin: 15px 0 8px;
}
.ledger-filters button {
  flex-shrink: 0;
  border: 1px solid #d8eae0;
  border-radius: 999px;
  padding: 7px 12px;
  background: #fff;
  color: #A27019;
  font-size: 12px;
  font-weight: 600;
}
.ledger-filters button.on {
  color: #A27019;
  background: #FFF3D5;
  border-color: #E3BE52;
  font-weight: 800;
}
.ledger-list {
  display: grid;
  gap: 8px;
}
.ledger-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #FAFDFB;
}
.ledger-item strong,
.ledger-money b {
  display: block;
  color: var(--ink);
  font-size: 13px;
}
.ledger-item small,
.ledger-money small {
  display: block;
  margin-top: 3px;
  color: var(--t2);
  font-size: 11.5px;
}
.ledger-money {
  text-align: right;
  flex-shrink: 0;
}
.ledger-money.plus b { color: var(--green-deep); }
.ledger-money.minus b { color: #D14343; }

/* Product-grade additions: marketing, profile, support desk, and VIP center */
.banner {
  cursor: pointer;
}
.banner::after,
.banner .bill {
  display: none;
}
.banner-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  /* translateZ(0) 把切片提到 GPU 合成层,滑动/切换更顺;不再 transition background-image
     (浏览器无法在两张位图间插值,那条过渡无效且拖慢换图),改由 opacity 做柔和淡入 */
  transform: scale(1.01) translateZ(0);
  will-change: opacity;
  transition: opacity .3s ease;
}
.banner .bc {
  max-width: 46%;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .6);
}
/* 四张默认轮播的标题特效:渐变填色+白色光晕,对齐设计稿烧字版 */
.banner[data-banner-target="checkin"] .bc h2,
.banner[data-banner-target="invite"] .bc h2,
.banner[data-banner-target="invite"] .bc .b2,
.banner[data-banner-target="spin"] .bc h2,
.banner[data-banner-target="vip"] .bc h2,
.banner[data-banner-target="vip"] .bc .b2 {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.75)) drop-shadow(0 2px 5px rgba(96,52,0,.16));
}
.banner[data-banner-target="checkin"] .bc h2 { background-image: linear-gradient(180deg,#FFC24A 6%,#EF830F 82%); }
.banner[data-banner-target="invite"] .bc h2,
.banner[data-banner-target="invite"] .bc .b2 { background-image: linear-gradient(180deg,#FF9F42 6%,#FF5B00 84%); }
.banner[data-banner-target="spin"] .bc h2 { background-image: linear-gradient(180deg,#FF9333 6%,#F04E16 84%); }
.banner[data-banner-target="spin"] .bc .b2 { color: #0E9B52; text-shadow: none; filter: drop-shadow(0 1px 0 rgba(255,255,255,.65)); }
.banner[data-banner-target="vip"] .bc h2,
.banner[data-banner-target="vip"] .bc .b2 { background-image: linear-gradient(180deg,#D9A62A 8%,#8F6A0E 88%); }
.home-banner-dots button {
  width: 6px;
  height: 6px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.52);
  box-shadow: 0 1px 4px rgba(35,80,48,.16);
  transition: width .18s ease, background .18s ease;
}
.home-banner-dots button.on {
  width: 14px;
  border-radius: 999px;
  background: var(--green);
}
.notice-marquee {
  margin: 10px 16px 0;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid #DCEFE3;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 8px 18px rgba(20,90,50,.06);
  padding: 0 12px;
}
.notice-badge {
  flex: 0 0 auto;
  color: #fff;
  background: linear-gradient(135deg, #0DD16B, #07C160);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 900;
}
.notice-track {
  display: inline-flex;
  flex: 1;
  overflow: hidden;
  min-width: 0;
  white-space: nowrap;
}
.notice-track span {
  flex: 0 0 auto;
  padding-right: 44px;
  padding-left: 12px;
  color: var(--t2);
  font-size: 12px;
  font-weight: 400;
  animation: loadph-marquee 18s linear infinite;
}
@keyframes loadph-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
.me-avatar {
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}
.me-avatar .av,
.profile-default-avatar,
.avatar-img,
.avatar-initial {
  width: 100%;
  height: 100%;
  display: block;
}
.avatar-img,
.avatar-initial {
  border-radius: 50%;
  object-fit: cover;
  /* 上传头像的黑色粗边很突兀 → 白色细环+柔和绿投影,贴合整站薄荷风 */
  border: 2px solid #fff;
  background: #EAF9F1;
  box-shadow: 0 4px 10px rgba(35, 140, 89, .18);
}
.idcard .avatar-img,
.idcard .avatar-initial {
  width: 58px;
  height: 58px;
}
.avatar-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #163328;
  font-size: 22px;
  font-weight: 1000;
}
.avatar-initial.large,
.avatar-img.large {
  border-width: 0;
  border-radius: 18px;
}
.profile-editor {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--line);
}
.profile-avatar-preview {
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, #EAF9F1, #DFF3E8);
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #DCEFE3;
}
.profile-editor-copy b {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}
.profile-editor-copy small {
  display: block;
  margin: 3px 0 8px;
  color: var(--t2);
  font-size: 12px;
  line-height: 1.4;
}
.profile-nickname-row {
  align-items: center;
}
/* 输入框与「保存」按钮同一 flex 行(标签在上),按钮精确垂直居中于输入框,不再对齐整块中点导致偏高 */
.nickname-input-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 7px;
}
.profile-nickname-input {
  flex: 1;
  min-width: 0;
  border: 1px solid #DCEFE3;
  border-radius: 12px;
  background: #FAFDFB;
  padding: 10px 12px;
  color: var(--ink);
  outline: none;
}
.nickname-input-row .mini-btn {
  flex: 0 0 auto;
}
.profile-nickname-input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(7,193,96,.10);
}

.support-desk-modal {
  align-items: stretch;
  padding: 0;
}
.support-desk {
  width: min(100%, 390px);
  max-height: none;
  height: 100vh;
  /* iOS Safari:100vh 含工具栏后方区域,底部输入框被顶出屏;dvh 随工具栏伸缩(不支持的浏览器回退上行 100vh) */
  height: 100dvh;
  border-radius: 0;
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: linear-gradient(180deg, #FFFFFF 0%, #F2FBF6 100%);
}
.support-desk-head {
  min-height: 118px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px 18px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.support-avatar {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  flex: 0 0 auto;
}
.support-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.support-desk-head .modal-title {
  padding: 0;
  font-size: 19px;
  font-weight: 1000;
}
.support-desk-head .support-status {
  margin: 4px 0 0;
}
.support-desk .modal-close {
  /* relative(而非 static):让 × 两根横条以按钮自身为定位参照,不逃逸到整个面板 */
  position: relative;
  top: auto;
  right: auto;
  margin-left: auto;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  font-size: 0;
}
.support-desk-body {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px;
}
.support-order-card {
  display: block;
  margin-bottom: 12px;
  padding: 16px;
  border-color: #CBEFDB;
  background: #fff;
  box-shadow: 0 10px 24px rgba(20,90,50,.08);
}
.support-context-card[hidden],
.support-order-card[hidden] {
  display: none !important;
}
.support-context-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.support-context-title span {
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 1000;
}
.support-context-title b {
  margin: 0;
  border-radius: 999px;
  background: #FFF6E5;
  color: #C8841F;
  padding: 5px 10px;
  font-size: 12px;
}
.support-context-card dl,
.support-ticket-progress dl {
  display: grid;
  gap: 7px;
  margin: 0;
}
.support-context-card dl div,
.support-ticket-progress dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}
.support-context-card dt,
.support-ticket-progress dt {
  color: var(--t2);
}
.support-context-card dd,
.support-ticket-progress dd {
  margin: 0;
  color: var(--ink);
  font-weight: 900;
  text-align: right;
}
.support-ticket-progress {
  border: 1px solid #E6D2A2;
  border-radius: 18px;
  background: linear-gradient(180deg, #FFFDF8, #FFFFFF);
  padding: 15px;
  box-shadow: 0 10px 24px rgba(184,148,63,.10);
}
.ticket-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
  font-weight: 1000;
}
.ticket-progress-head b {
  color: var(--gold);
  font-size: 13px;
}
.ticket-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 14px 0;
}
.ticket-steps i {
  position: relative;
  display: grid;
  gap: 6px;
  justify-items: center;
  color: #98AAA0;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.ticket-steps i::before {
  content: "";
  position: absolute;
  top: 13px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: #DCEFE3;
}
.ticket-steps i:first-child::before { display: none; }
.ticket-steps em {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EDF5F0;
  color: #8AA197;
  font-style: normal;
}
.ticket-steps i.on { color: var(--green-deep); }
.ticket-steps i.on::before,
.ticket-steps i.on em {
  background: var(--green);
  color: #fff;
}
.support-thread {
  min-height: 350px;
  max-height: none;
  border: 0;
  background: transparent;
  padding: 4px 0 8px;
}
.support-msg {
  max-width: 84%;
  border: 1px solid #E5EFE8;
  border-radius: 18px;
  padding: 13px 14px;
  font-size: 14px;
  line-height: 1.55;
}
.support-msg.assistant,
.support-msg.ai {
  justify-self: start;
  background: #fff;
}
.support-greeting {
  max-width: 92%;
}
.support-suggestion-list {
  padding: 10px 14px 8px;
  margin: 0;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.88);
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  grid-template-columns: none;
}
.support-suggestion-list::-webkit-scrollbar {
  display: none;
}
.support-suggestion-list button {
  flex: 0 0 auto;
  padding: 9px 13px;
  white-space: nowrap;
}
.support-compose {
  grid-template-columns: 1fr 52px;
  padding: 10px 14px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: #fff;
}
.support-compose input {
  height: 48px;
  border-radius: 999px;
}
.support-compose .cta {
  min-width: 52px;
  height: 48px;
  border-radius: 50%;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.support-compose .cta::before {
  content: "➤";
  font-size: 20px;
}

.vip-center[hidden] {
  display: none !important;
}
.vip-center {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  justify-content: center;
  background: rgba(248, 242, 228, .72);
  backdrop-filter: blur(8px);
}
.vip-center-screen {
  width: min(100%, 390px);
  min-height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 0 calc(24px + env(safe-area-inset-bottom));
  background: #F4F7F5;
  color: #1F3329;
}
.vip-center-top {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 0 14px;
}
.vip-center-top h1 {
  font-size: 21px;
  line-height: 1.16;
  font-weight: 900;
  color: #22302A;
}
.vip-center-top p {
  margin-top: 4px;
  color: #7E6E50;
  font-size: 12px;
  line-height: 1.32;
}
.vip-back {
  border-color: rgba(20,60,42,.08);
  background: rgba(255,255,255,.86);
  color: #1A3327;
  box-shadow: 0 8px 18px rgba(95,69,22,.08);
}
.vip-chip {
  color: #6B4A12;
  background: linear-gradient(135deg, #FFF5CF, #E1BD62);
  border: 1px solid rgba(176,135,42,.34);
  box-shadow: 0 8px 18px rgba(184,148,63,.16);
  white-space: nowrap;
}
.vip-level-carousel-wrap {
  position: relative;
  margin-top: 14px;
  overflow: hidden;
}
.vip-card-surface::before {
  /* 卡面改用设计整卡背景图后,不再需要 CSS 对角高光(会把图冲糊) */
  content: none;
}
.vip-level-carousel {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 8px 42px 6px 18px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-x;
}
.vip-level-carousel::-webkit-scrollbar {
  display: none;
}
.vip-level-carousel .vip-level-card {
  position: relative;
  flex: 0 0 304px;
  /* 卡高对齐卡面图比例(裁边后 1.94:1,304 宽→157 高),cover 正好铺满不裁左右 */
  min-height: 157px;
  padding: 15px 16px 12px 22px;
  border: 0;
  border-radius: 18px;
  color: var(--vip-title, #5D3D08);
  scroll-snap-align: center;
  text-align: left;
  overflow: hidden;
  /* 卡面=设计师整卡背景图(徽章已烤在图右侧),按等级 code 映射 */
  background-color: #efe7d4;
  background-image: var(--vip-card-img, none);
  background-size: cover;
  background-position: center;
  /* 卡面已裁到无边框满边质感,加一条极细内描边给轮廓(替代原先画在图里的边框) */
  box-shadow: 0 8px 18px rgba(139,97,27,.14), inset 0 0 0 1px rgba(255,255,255,.22);
  /* 焦点轮播:非聚焦卡片缩小变淡后退,聚焦卡片突出 → 每张卡片明显独立,进度条不再连成一线 */
  transform: scale(.9);
  opacity: .66;
  transform-origin: center;
  transition: transform .3s ease, opacity .3s ease, box-shadow .3s ease;
}
.vip-level-card.selected {
  transform: scale(1);
  opacity: 1;
  box-shadow: 0 16px 34px rgba(190,145,47,.3), inset 0 0 0 1px rgba(255,255,255,.22);
}
.vip-level-badge {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,250,224,.92);
  color: #6a4a1a; /* 固定深色:奶油胶囊上始终可读,不随卡色变 */
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.vip-level-card strong {
  display: block;
  max-width: 150px;
  margin-top: 9px;
  color: var(--vip-title, #5D3D08);
  font-size: 23px;
  line-height: 1;
  font-weight: 900;
  text-shadow: var(--vip-text-shadow, none);
}
.vip-level-card small,
.vip-level-card em {
  display: block;
  max-width: 152px;
  margin-top: 5px;
  color: var(--vip-muted, #7C5723);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  text-shadow: var(--vip-text-shadow, none);
}
.vip-level-meter {
  width: 152px;
  height: 7px;
  margin-top: 9px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--vip-meter-bg, rgba(233,204,121,.68));
}
.vip-level-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--vip-meter-fill, #7A4C17);
}
.vip-level-medal {
  position: absolute;
  right: 14px;
  top: 32px;
  z-index: 1;
  width: 96px;
  height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 10px 14px rgba(92,59,12,.18));
}
.vip-level-card.locked {
  filter: saturate(.92);
}
/* VIP 等级卡面:设计师整卡背景图(徽章烤在右侧)+ 每级文字色/进度条色/文字投影。
   深色卡(青铜/星耀/皇冠/黑钻/荣耀)用浅字+深投影;浅色卡(银/金/铂/钻/至尊)用深字+浅投影。 */
.vip-card-surface.level-bronze { --vip-card-img: url(assets/vip-card-bronze-bg.jpg); --vip-title:#FCEFD2; --vip-muted:#EBD6AC; --vip-meter-bg:rgba(255,255,255,.24); --vip-meter-fill:#FFD98A; --vip-text-shadow:0 1px 3px rgba(60,34,8,.5); }
.vip-card-surface.level-silver { --vip-card-img: url(assets/vip-card-silver-bg.jpg); --vip-title:#25332E; --vip-muted:#586762; --vip-meter-bg:rgba(0,0,0,.1); --vip-meter-fill:#8A959A; --vip-text-shadow:0 1px 2px rgba(255,255,255,.6); }
.vip-card-surface.level-gold { --vip-card-img: url(assets/vip-card-gold-bg.jpg); --vip-title:#4B3006; --vip-muted:#6F4E10; --vip-meter-bg:rgba(255,255,255,.4); --vip-meter-fill:#A26C14; --vip-text-shadow:0 1px 2px rgba(255,240,190,.6); }
.vip-card-surface.level-platinum { --vip-card-img: url(assets/vip-card-platinum-bg.jpg); --vip-title:#223A36; --vip-muted:#5A6F6A; --vip-meter-bg:rgba(0,0,0,.1); --vip-meter-fill:#6A827E; --vip-text-shadow:0 1px 2px rgba(255,255,255,.55); }
.vip-card-surface.level-diamond { --vip-card-img: url(assets/vip-card-diamond-bg.jpg); --vip-title:#0F3B62; --vip-muted:#31607F; --vip-meter-bg:rgba(255,255,255,.45); --vip-meter-fill:#2872B3; --vip-text-shadow:0 1px 2px rgba(255,255,255,.55); }
.vip-card-surface.level-starlight { --vip-card-img: url(assets/vip-card-starlight-bg.jpg); --vip-title:#F4E9CC; --vip-muted:#D6C7E6; --vip-meter-bg:rgba(255,255,255,.22); --vip-meter-fill:#E6C878; --vip-text-shadow:0 1px 3px rgba(20,12,50,.6); }
.vip-card-surface.level-crown { --vip-card-img: url(assets/vip-card-crown-bg.jpg); --vip-title:#FDEFC9; --vip-muted:#F0D3A8; --vip-meter-bg:rgba(255,255,255,.2); --vip-meter-fill:#F0C64E; --vip-text-shadow:0 1px 3px rgba(60,14,14,.55); }
.vip-card-surface.level-black-diamond { --vip-card-img: url(assets/vip-card-black-diamond-bg.jpg); --vip-title:#F1E4BE; --vip-muted:#D8C79A; --vip-meter-bg:rgba(255,255,255,.18); --vip-meter-fill:#D5A845; --vip-text-shadow:0 1px 3px rgba(0,0,0,.6); }
.vip-card-surface.level-supreme { --vip-card-img: url(assets/vip-card-supreme-bg.jpg); --vip-title:#5D3D08; --vip-muted:#7C5723; --vip-meter-bg:rgba(255,255,255,.38); --vip-meter-fill:#C08A2C; --vip-text-shadow:0 1px 2px rgba(255,244,210,.6); }
.vip-card-surface.level-glory { --vip-card-img: url(assets/vip-card-glory-bg.jpg); --vip-title:#FBEFC8; --vip-muted:#E6D6A0; --vip-meter-bg:rgba(255,255,255,.2); --vip-meter-fill:#E8C561; --vip-text-shadow:0 1px 3px rgba(6,40,25,.55); }
.vip-level-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  height: 13px;
  margin-top: 8px;
}
.vip-level-dots button {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(231,201,120,.34);
}
.vip-level-dots button.on {
  background: #E7C978;
}
.vip-next-comparison {
  margin-top: 16px;
  padding: 0 16px 0;
}
.vip-comparison-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.vip-comparison-head h2 {
  color: #173328;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 900;
}
.vip-comparison-head span {
  color: #9B732C;
  font-size: 12px;
  white-space: nowrap;
}
.vip-compare-grid {
  display: grid;
  /* 中列自适应胶囊文字宽度:英文 Upgrade/Target 比中文长,写死 58px 会裁字 */
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid #EAD49A;
  border-radius: 17px;
  background: linear-gradient(100deg,#FFFDF4 0%,#FFF9E8 50%,#F7E8BD 100%);
  box-shadow: 0 10px 20px rgba(127,87,22,.08);
}
.vip-compare-card {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  /* 内容居中:两侧文字块对称分布,中间「升级后」胶囊视觉上才真正居中(左对齐时左紧右松,胶囊显得偏) */
  text-align: center;
}
.vip-compare-card.next {
  background: transparent;
  border: 0;
}
.vip-compare-card span {
  color: #B1842F;
  font-size: 10.5px;
  font-weight: 700;
}
.vip-compare-card strong {
  display: block;
  margin-top: 5px;
  color: #1F3329;
  font-size: 17px;
  font-weight: 900;
}
.vip-compare-card small {
  display: block;
  margin-top: 6px;
  color: #62756B;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 500;
}
.vip-comparison-pill {
  display: grid;
  place-items: center;
  min-height: 26px;
  min-width: 56px;
  max-width: 92px;
  padding: 0 10px;
  border-radius: 999px;
  color: #FFF8D8;
  background: linear-gradient(180deg,#D9B85B,#A9781D);
  box-shadow: 0 6px 14px rgba(151,103,25,.16);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}
.vip-target-note {
  margin-top: 8px;
  color: #7B6D55;
  font-size: 11.5px;
  line-height: 1.35;
}
.vip-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 18px 16px 0;
}
.vip-benefit-grid .benefit-row {
  min-height: 74px;
  background: rgba(255,255,255,.92);
  border-color: rgba(229,214,176,.88);
  border-radius: 15px;
  padding: 12px 11px;
}
.vip-benefit-grid .benefit-row.primary {
  background: linear-gradient(135deg, #FFF5D8, #FFFFFF);
}
.vip-action-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  padding: 16px 16px 0;
}
.vip-red-packet-action {
  width: 100%;
  border: 0;
  border-radius: 15px;
  padding: 13px;
  color: #4B2B12;
  background: linear-gradient(135deg, #FFE8A5, #C99A35);
  box-shadow: 0 10px 20px rgba(102,62,10,.18);
  font-size: 15px;
  font-weight: 900;
}
.vip-red-packet-action:disabled {
  color: #8A7A55;
  background: #E6D8B8;
  box-shadow: none;
}
.vip-upgrade-cta {
  width: 100%;
  border: 0;
  border-radius: 15px;
  padding: 13px;
  color: #fff;
  background: linear-gradient(135deg, #07C160, #19A76B);
  box-shadow: 0 12px 22px rgba(7,193,96,.18);
  font-size: 15px;
  font-weight: 900;
}

/* Home and recharge compact production pass */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.home-compact-override,
.recharge-compact-override {
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}
.home-compact-override .hdr {
  padding: 14px 16px 6px;
}
.home-compact-override .brand {
  gap: 9px;
}
.home-compact-override .logo {
  width: 36px;
  height: 36px;
  border-radius: 12px;
}
.home-compact-override .brand .nm {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
}
.home-compact-override .brand .domain {
  font-size: 11px;
  color: var(--gold);
  font-weight: 400;
}
.home-compact-override .lang {
  padding: 6px 10px;
  font-size: 12px;
}
.home-compact-override .login {
  padding: 7px 15px;
  font-size: 12.5px;
}
.home-compact-override .banner {
  margin: 12px 16px 0;
  height: 128px;
  border-radius: 18px;
}
.home-compact-override .banner .bc {
  left: 18px;
  max-width: 46%;
}
.home-compact-override .banner .bc .k {
  font-size: 10.5px;
  letter-spacing: .3px;
}
.home-compact-override .banner .bc h2 {
  margin-top: 2px;
  font-size: 19px;
}
.home-compact-override .banner .bc .b2 {
  font-size: 19px;
}
.home-compact-override .banner .bcta {
  margin-top: 7px;
  font-size: 11.5px;
  padding: 4px 12px;
}
.home-compact-override .banner .bc p {
  margin-top: 5px;
  font-size: 11.5px;
  line-height: 1.35;
}
.home-compact-override .banner .bill {
  width: 76px;
  height: 76px;
  right: 14px;
}
.home-compact-override .notice-marquee {
  margin: 6px 16px 0;
  height: 30px;
  border-radius: 15px;
}
.home-compact-override .section {
  margin-top: 10px;
  padding: 0 16px;
}
.home-compact-override .card,
.recharge-compact-override .card {
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(20,90,50,.06);
}
.home-compact-override .qt {
  padding: 13px 14px 14px;
}
.home-compact-override .qt .top {
  margin-bottom: 9px;
}
.home-compact-override .qt h2 {
  font-size: 15.5px;
  font-weight: 700;
}
.home-wallet-strip {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  min-height: 54px;
  margin: 10px 16px 0;
  padding: 8px 10px 8px 13px;
  border-radius: 16px;
  background: linear-gradient(135deg, #FFFEFA, #FFF9EA);
  border: 1px solid rgba(203,167,90,.30);
  box-shadow: 0 8px 18px rgba(160,123,45,.08);
}
.home-wallet-main {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 1;
  min-width: 0;
}
.home-wallet-label {
  color: var(--t2);
  font-size: 11.5px;
  font-weight: 500;
}
/* 钱包行小屏排版(2026-07-22 需求A):标签在上,余额(带眼睛)+按钮独占一行不折行 */
.home-wallet-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.home-wallet-line strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.1;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}
.home-wallet-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.home-wallet-actions button {
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  font: inherit;
  min-width: 48px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
  padding: 0 11px;
  cursor: pointer;
}
.home-wallet-actions .primary {
  color: #fff;
  background: linear-gradient(135deg, #07C160, #34D56F);
  box-shadow: 0 7px 14px rgba(7,193,96,.22);
}
.home-wallet-actions .withdraw {
  color: #A27019;
  background: #FFF3D5;
  border: 1px solid #E3BE52;
}
.home-compact-override .phone .cc,
.recharge-compact-override .phone .cc {
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 0 14px;
  font-size: 15px;
}
.home-compact-override .phone input,
.recharge-compact-override .phone input {
  min-height: 50px;
  padding: 0 14px;
  font-size: 15.5px;
  letter-spacing: 0;
}
.home-compact-override .carriers {
  margin-top: 10px;
  gap: 6px;
}
.home-compact-override .carriers .c {
  min-height: 48px;
  padding: 7px 4px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 600;
  gap: 7px;
}
.home-compact-override .qt .cta {
  margin-top: 11px;
  padding: 13px;
  border-radius: 13px;
  font-size: 15px;
}
.home-compact-override .home-reward-grid {
  gap: 9px;
  margin: 10px 16px 0;
}
.home-compact-override .home-reward-card {
  height: 82px;
  border-radius: 13px;
  box-shadow: 0 7px 16px rgba(20,90,50,.08);
}
.home-compact-override .home-reward-card::after {
  height: 34px;
}
.home-compact-override .home-reward-copy {
  left: 8px;
  right: 21px;
  bottom: 6px;
}
.home-compact-override .home-reward-copy strong {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}
.home-compact-override .home-reward-copy small {
  margin-top: 2px;
  font-size: 8.7px;
  font-weight: 600;
  letter-spacing: 0;
}
.home-compact-override .home-reward-arrow {
  right: 7px;
  bottom: 12px;
  width: 19px;
  height: 19px;
  font-size: 15px;
}
.home-compact-override .fam {
  margin-top: 10px;
  padding: 13px 14px;
}
.home-compact-override .fam .top {
  margin-bottom: 8px;
}
.home-compact-override .fam h2 {
  font-size: 15.5px;
  font-weight: 700;
}
.home-compact-override .fam-empty {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 1px 0 0;
}
.home-compact-override .fam-empty p {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px;
  text-align: left;
  line-height: 1.35;
}
.home-compact-override .fam-empty p strong {
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 700;
}
.home-compact-override .fam-empty p span {
  display: block;
  max-width: 220px;
  overflow: hidden;
  color: var(--t2);
  font-size: 12px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-compact-override .fam-empty .add {
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 14px;
  font-size: 12.5px;
  font-weight: 600;
}
.home-compact-override .saved-list {
  gap: 8px;
}
.home-compact-override .saved-item {
  padding: 10px;
}
@media (max-width: 370px) {
  .home-compact-override .hdr {
    padding: 12px 14px 5px;
  }
  .home-compact-override .banner,
  .home-compact-override .notice-marquee,
  .home-wallet-strip,
  .home-compact-override .home-reward-grid {
    margin-left: 14px;
    margin-right: 14px;
  }
  .home-compact-override .section {
    padding: 0 14px;
  }
  .home-wallet-strip {
    min-height: 52px;
    padding: 8px 9px 8px 11px;
  }
  .home-wallet-actions {
    gap: 5px;
  }
  .home-wallet-actions button {
    min-width: 44px;
    padding: 7px 8px;
    font-size: 11.5px;
  }
  .home-compact-override .carriers {
    gap: 4px;
  }
  .home-compact-override .carriers .c {
    gap: 5px;
    min-height: 46px;
    padding: 6px 3px;
    font-size: 12px;
  }
  .home-compact-override .carrier-logo.globe {
    width: 25px;
    height: 25px;
  }
  .home-compact-override .carrier-logo.globe img {
    width: 25px;
    height: 25px;
  }
  .home-compact-override .carrier-logo.smart {
    width: 25px;
    height: 25px;
  }
  .home-compact-override .carrier-logo.smart img {
    height: 25px;
  }
  .home-compact-override .carrier-logo.dito {
    width: 31px;
    height: 14px;
  }
  .home-compact-override .carrier-logo.dito img {
    height: 14px;
  }
  .home-compact-override .home-reward-card {
    height: 78px;
  }
  .home-compact-override .home-reward-copy strong {
    font-size: 10.6px;
  }
  .home-compact-override .home-reward-copy small {
    font-size: 8.4px;
  }
  .home-compact-override .fam-empty p span {
    max-width: 190px;
  }
  [data-view="me"] .phdr {
    padding: 16px 16px 7px;
  }
  [data-view="me"] .section {
    padding: 0 12px;
    margin-top: 12px;
  }
  [data-view="me"] .idcard {
    width: calc(100% - 24px);
    margin-left: 12px;
    margin-right: 12px;
    padding: 14px 13px;
    gap: 10px;
  }
  [data-view="me"] .me-avatar {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }
  [data-view="me"] .idcard .av,
  [data-view="me"] .idcard .avatar-img,
  [data-view="me"] .idcard .avatar-initial {
    width: 54px;
    height: 54px;
  }
  [data-view="me"] .idcard .l strong {
    font-size: 14px;
  }
  [data-view="me"] .idcard .l small,
  [data-view="me"] .profile-link {
    font-size: 11.5px;
  }
  [data-view="me"] .idcard .l small.join-days {
    font-size: 10.5px;
    margin-top: 3px;
  }
  [data-view="me"] .wstat {
    padding: 15px 10px 16px;
  }
  [data-view="me"] .sgrid .s strong {
    font-size: 18px;
  }
  [data-view="me"] .vip {
    padding: 14px 13px;
  }
  [data-view="me"] .vip h3 {
    font-size: 17px;
  }
  [data-view="me"] .vip p,
  [data-view="me"] .vip-progress-meta {
    font-size: 10.8px;
  }
  [data-view="me"] .vip .go {
    padding: 8px 12px 8px;
  }
  [data-view="me"] .idcard .profile-link {
    bottom: 17px;
  }
  [data-view="me"] .tools {
    padding: 15px 13px;
  }
  [data-view="me"] .service-card.tool {
    grid-template-columns: 36px 1fr auto;
    padding: 10px;
  }
  [data-view="me"] .service-card.tool .ico {
    width: 32px;
    height: 32px;
  }
  [data-view="me"] .utility-row em {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.recharge-compact-override {
  padding-bottom: calc(178px + env(safe-area-inset-bottom));
}
.recharge-compact-override .phdr {
  padding: 16px 18px 6px;
}
.recharge-compact-override .phdr h1 {
  font-size: 22px;
}
.recharge-compact-override .phdr .sub {
  font-size: 12px;
}
.recharge-compact-override .steps {
  padding: 6px 22px 3px;
  margin-top: 4px;
}
.recharge-compact-override .step .dot {
  width: 22px;
  height: 22px;
}
.recharge-compact-override .step .lb {
  font-size: 11.5px;
}
.recharge-compact-override .section {
  margin-top: 12px;
  padding: 0 16px;
}
.recharge-compact-override .blk {
  padding: 14px;
}
.recharge-compact-override .blk .bh {
  margin-bottom: 10px;
}
.recharge-compact-override .blk .bh h2 {
  font-size: 15px;
}
.recharge-compact-override .detected {
  margin-top: 9px;
  padding: 9px 11px;
  border-radius: 11px;
}
.recharge-compact-override .detected small {
  font-size: 11.5px;
  line-height: 1.35;
}
.recharge-compact-override .ops {
  display: grid;
  /* uiPolish=20260807-2:Lahat 移除后 4 列→3 列(紧凑版这条才是线上最终生效层) */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 18px;
  margin-top: 6px;
  overflow: visible;
}
.recharge-compact-override .op {
  min-width: 0;
  min-height: 38px;
  padding: 7px 6px;
  border-radius: 999px;
  font-size: 12.5px;
  gap: 5px;
}
.recharge-compact-override .pkgs {
  padding: 2px 16px 0;
}
.package-lock {
  margin: 10px 16px 0;
  padding: 13px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 15px;
  border: 1px dashed rgba(7,193,96,.32);
  background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(234,249,241,.82));
  color: var(--ink);
}
.package-lock-icon {
  width: 30px;
  height: 30px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--green-deep);
  background: #EAF9F1;
  font-weight: 1000;
}
.package-lock strong {
  display: block;
  font-size: 13.5px;
  font-weight: 900;
}
.package-lock small {
  display: block;
  margin-top: 3px;
  color: var(--t2);
  font-size: 11.5px;
  line-height: 1.35;
}
.recharge-flow-ready .package-lock {
  display: none;
}
.recharge-flow-locked .earn,
.recharge-flow-locked .recharge-settle {
  display: none;
}
.recharge-flow-locked .pkgs {
  display: block;
}
.recharge-flow-locked .pkg {
  border-style: dashed;
  background: rgba(255,255,255,.82);
}
.recharge-flow-locked .pkg.on {
  border-color: var(--line);
  box-shadow: none;
}
.recharge-flow-locked .pkg .tick {
  display: none!important;
}
.recharge-compact-override .pkg-group {
  gap: 9px;
  margin-top: 12px;
}
.recharge-compact-override .pkg-group + .pkg-group {
  margin-top: 16px;
}
.recharge-compact-override .pkg-group-head h3 {
  font-size: 14.5px;
}
.recharge-compact-override .pkg {
  min-height: 72px;
  padding: 13px 14px;
  border-radius: 14px;
}
.recharge-compact-override .pkg .l {
  min-width: 0;
  padding-right: 10px;
}
.recharge-compact-override .pkg .l .nm {
  font-size: 14.5px;
  line-height: 1.25;
}
.recharge-compact-override .pkg .l .meta {
  font-size: 11.5px;
  line-height: 1.3;
}
.recharge-compact-override .pkg .r .price {
  font-size: 17px;
}
.recharge-compact-override .earn {
  margin: 10px 16px 0;
  padding: 10px 12px;
}
.recharge-compact-override .earn small {
  font-size: 11.5px;
  line-height: 1.35;
}
/* settleCard=20260807-1:确认模块按参考图分层重构(docs/claude-prompts/topup-confirm-module.md)。
   模块内局部色变量;settleGreen=20260807-1:本模块主题绿按用户指示由 #41A236 → #05984B(= --green-deep 同值),
   浅绿底与按钮投影同步换算;钱包图标的深墨绿 #2F5D46 是 2.jpg 专有色,不吃主题绿;
   PNG 图标全部走 mask + currentColor(素材只当透明度蒙版,落色由 CSS 保证)。 */
.recharge-settle {
  --settle-green: #05984B;
  --settle-ink: #1F3329;
  --settle-muted: #6E7E75;
  --settle-mint: rgba(5, 152, 75, 0.08);
  --settle-line: #E8EEE9;
  --settle-gold: #B58A22;
  position: relative;
  z-index: 1;
  margin: 12px 14px 0;
  padding: 15px 13px 16px;
  border-radius: 22px;
  background: #fff;
  border: 0;
  box-shadow: 0 14px 30px rgba(20,90,50,.12);
}
.settle-mask-icon {
  display: block;
  width: var(--icon-size, 24px);
  height: var(--icon-size, 24px);
  flex: none;
  background-color: currentColor;
  -webkit-mask-image: var(--icon-url);
  mask-image: var(--icon-url);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: var(--mask-scale, 160%);
  mask-size: var(--mask-scale, 160%);
}
/* settleCard=20260807-2:按 2.jpg 逐比例返工(缩放系数 362/1570=0.2306 从演示图量取):
   余额 22px、钱包图标墨绿 22px/35px 浅绿底块、VIP=4.3:1 细长横幅(金环皇冠+单行标签+浅金 %OFF 块+箭头)、
   分隔线通栏、商品名 16.5px、金额 26px、按钮 46px(-15%)。 */
.settle-icon-wallet { --icon-url: url("assets/topup-confirm/wallet-balance.png"); --icon-size: 22px; --mask-scale: 150%; }
.settle-icon-phone { --icon-url: url("assets/topup-confirm/phone-topup.png"); --icon-size: 22px; --mask-scale: 155%; }
.settle-icon-crown {
  width: 112%;
  height: 112%; /* settleVip-3:外圆直径再收一档,中心不变(等双色素材到位前的过渡值) */
  flex: none;
  background-color: currentColor;
  -webkit-mask: url("assets/topup-confirm/vip-crown-ring-v2.png") center / contain no-repeat;
  mask: url("assets/topup-confirm/vip-crown-ring-v2.png") center / contain no-repeat;
}
.settle-icon-cta { --icon-url: url("assets/topup-confirm/wallet-check-white.png"); --icon-size: 24px; --mask-scale: 160%; }
.settle-tile {
  display: grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--settle-mint);
  color: #2F5D46; /* 钱包图标偏深墨绿(2.jpg),不吃主题绿 */
}
.settle-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.settle-wallet {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.settle-wallet-copy { display: block; min-width: 0; }
.settle-wallet-copy small {
  display: block;
  color: var(--settle-muted);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}
.settle-wallet-copy b {
  display: block;
  margin-top: 1px;
  color: var(--settle-ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.2px;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* 六位数以上余额(₱xxx,xxx.xx≥10字符)自动降一档,保证 2.jpg 演示级长余额完整显示不截断 */
.settle-wallet-copy b.is-long { font-size: 18px; } /* 标定后基准即 18,超长同档(320 档另降) */
/* VIP 细长横幅:环形皇冠 24 + 单行标签 + 浅金 %OFF 块 + 箭头,整体 ~128×30(4.3:1) */
/* settleVip=20260807-1:VIP 横幅按 2.jpg 四区网格重写(22/34/34/10),4.75:1,斜切金分区(用户逐条规格) */
.settle-vip {
  flex: 0 0 39.5%;
  aspect-ratio: 4.75 / 1;
  height: auto;
  display: grid;
  grid-template-columns: 22% 31.8% 36.2% 10%; /* settleVip-3:斜切起点 54.5%→53.8% */
  align-items: center;
  gap: 0;
  margin-top: 4px;
  padding: 0;
  border-radius: 999px;
  overflow: visible;
  background: linear-gradient(90deg, #FCF4EC 0%, #FCF5ED 52%, #FDF6EE 100%); /* settleVip-2:灰白奶油,去黄 */
  color: var(--settle-gold);
}
.settle-crown-ring {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  margin-left: -1.5px;
  overflow: visible;
  color: #E5B541;
  opacity: 0.84; /* settleVip-2:柔和浅金,不加影不加光 */
}
.settle-vip-label {
  min-width: 0;
  color: #B08226;
  font-family: "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
  font-size: clamp(9px, 2.7vw, 12px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.2px;
  white-space: nowrap;
  overflow: visible;
}
/* settleVip-7:英文/塔语横幅标签 "VIP OFF"(大写比小写宽约 20%,12px 会溢出 3.2px)
   → 单独封顶 10.8px;实测 390 档墨宽 37.1/可用 41.0,320-430 全档不溢出。中文规则不受影响 */
html[lang="en"] .settle-vip-label,
html[lang="tl"] .settle-vip-label { font-size: clamp(8.3px, 2.55vw, 10.4px); letter-spacing: -0.3px; }
/* settleVip-3:中文去空格后再收字形宽度(字重仍 600,起点不动) */
html[lang="zh"] .settle-vip-label { font-size: clamp(8.5px, calc(2.7vw - 0.5px), 11.5px); letter-spacing: -0.25px; }
.settle-vip-off {
  align-self: stretch;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: center;
  column-gap: 2px;
  margin: 0;
  padding: 0 5px 0 7px;
  border-radius: 0 12px 12px 0;
  clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
  background: linear-gradient(105deg, #F8E3BA 0%, #FBE9C8 48%, rgba(253, 246, 238, 0.72) 78%, rgba(253, 246, 238, 0) 100%); /* settleVip-3:右端渐隐入底色,箭头区无硬边 */
  color: #B08226;
}
.settle-vip-off > b {
  font-size: 23.5px; /* settleVip-4:按 2.jpg 墨迹 14.3×16.4 反解(19px 实测偏小 Δ2.9/3.4) */
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.5px;
  color: #B08226;
  font-variant-numeric: tabular-nums;
  transform: translateX(1.7px); /* settleVip-4:仅数字自身右移贴合参考左缘,不影响 %/OFF 布局 */
}
.settle-vip-off-tail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  line-height: 0.85;
}
.settle-vip-off-tail i {
  font-style: normal;
  font-weight: 800;
  color: #B08226;
}
.settle-vip-off-tail i:first-child {
  font-size: 8px;
}
.settle-vip-off-tail i:last-child {
  margin-top: 2px;
  font-size: 8px;
  letter-spacing: 0;
}
.settle-vip-off[hidden] { display: none; }
/* settleVip=20260807-6:箭头按用户要求移除。第 4 列(10%)保留为空占位,
   这样皇冠中心/标题起点/斜切起点/横幅宽高等已校准的几何全部原位不动。 */
.settle-divider {
  height: 1px;
  margin: 12px -13px 15px;
  background: var(--settle-line);
}
.settle-main {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 1px;
}
.settle-tile-phone { color: var(--settle-green); }
.settle-copy {
  flex: 1;
  min-width: 0;
  padding-top: 1px;
}
.settle-product-line {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.settle-product-line strong {
  display: block;
  min-width: 0;
  color: var(--settle-ink);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.settle-type {
  flex: none;
  padding: 2px 3px;
  border-radius: 6px;
  background: var(--settle-mint);
  color: var(--settle-green);
  font-size: 8.5px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .2px;
  text-transform: uppercase;
  white-space: nowrap;
}
.settle-copy small {
  display: block;
  margin-top: 5px;
  color: var(--settle-muted);
  font-size: 11.5px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.settle-original s {
  text-decoration-thickness: 1px;
}
.settle-total {
  position: relative; /* 省纸胶囊绝对定位锚点:列宽只由金额/标签决定,长胶囊(Nakatipid)不再挤压左侧商品名 */
  flex: none;
  max-width: 42%;
  padding-left: 10px;
  border-left: 1px solid #F1F5F1; /* 2.jpg 返工:虚线改极浅实线 */
  text-align: right;
}
.settle-total:has(.settle-saved:not([hidden])) { padding-bottom: 16px; } /* 有胶囊才留占位,零折扣零残留 */
.settle-total > span {
  display: block;
  color: var(--settle-muted);
  font-size: 10.5px;
  font-weight: 700;
}
.settle-total > b {
  display: block;
  margin-top: 2px;
  color: var(--settle-green);
  font-size: 27px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: -.3px;
  font-variant-numeric: tabular-nums;
}
.settle-saved {
  position: absolute;
  top: calc(100% - 16px);
  right: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  padding: 2.5px 10px;
  border-radius: 8px; /* h=15 */
  background: var(--settle-mint);
  color: var(--settle-green);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.settle-saved[hidden] { display: none; }
.recharge-settle .cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 43px;
  margin-top: 14px;
  padding: 6px 21px 6px 12px;
  border-radius: 12px;
  background: #05984B;
  box-shadow: 0 8px 18px rgba(5,152,75,.22);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .2px;
}
.recharge-settle .cta .settle-icon-cta { color: #fff; }
@media (max-width: 344px) {
  .settle-wallet-copy b { font-size: 18px; }
  .settle-wallet-copy b.is-long { font-size: 13px; }
  .settle-wallet { gap: 8px; }
  /* settleVip-1:窄屏不缩皇冠、不改四区结构;只降标题半档、横幅放宽至 40% */
  .settle-vip { flex-basis: 40%; }
  .settle-vip-label { font-size: clamp(8.5px, 2.7vw, 11px); }
  .settle-product-line strong { font-size: 14px; }
  .settle-total { max-width: 50%; padding-left: 0; border-left: 0; }
  .settle-total > b { font-size: 23px; }
}

/* Rewards center v2: compact premium operating center */
[data-view="rewards"] .wrap {
  padding-bottom: calc(88px + env(safe-area-inset-bottom));
}
[data-view="rewards"] .phdr {
  padding: 16px 18px 7px;
}
[data-view="rewards"] .phdr h1 {
  font-size: 22px;
}
[data-view="rewards"] .phdr .sub {
  font-size: 11.5px;
}
[data-view="rewards"] .phdr .rt {
  /* rewardRulesBlack=20260806-1:去绿描边/绿影;白底靠一层中性灰浅影辨认 */
  border: 0;
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}
.reward-assets-compact {
  margin: 10px 16px 0;
  min-height: 142px;
  border-radius: 20px;
  padding: 14px 14px 12px;
  background:
    radial-gradient(circle at 82% 8%, rgba(255,255,255,.52), transparent 33%),
    radial-gradient(circle at 92% 90%, rgba(7,193,96,.20), transparent 32%),
    linear-gradient(135deg,#fff6d6 0%,#f5df9d 55%,#d6a337 100%);
}
.reward-assets-compact::before {
  content: "₱";
  position: absolute;
  right: 22px;
  top: 42px;
  width: 60px;
  height: 60px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a87412;
  font-size: 32px;
  font-weight: 1000;
  background: linear-gradient(135deg,#fff7d3,#f2ba3f);
  box-shadow: 0 12px 24px rgba(151,101,16,.23), inset 0 0 0 3px rgba(255,255,255,.42);
  transform: rotate(-7deg);
}
.reward-assets-compact .reward-assets-main {
  margin-top: 8px;
  padding-right: 82px;
  align-items: center;
}
.reward-assets-compact .reward-assets-main small {
  font-size: 11px;
}
.reward-assets-compact .reward-assets-main strong {
  font-size: 31px;
  letter-spacing: 0;
}
.reward-assets-compact .reward-assets-main em {
  margin-top: 4px;
  max-width: 190px;
  font-size: 10.5px;
  line-height: 1.25;
}
.reward-assets-compact .shop {
  position: absolute;
  right: 14px;
  bottom: 15px;
  padding: 9px 12px;
  font-size: 12px;
  background: linear-gradient(135deg,#08c866,#00a95a);
}
.reward-assets-compact .reward-metrics {
  margin-top: 10px;
  gap: 8px;
}
.reward-assets-compact .reward-metrics div {
  padding: 7px 5px;
  border-radius: 12px;
  background: rgba(255,255,255,.36);
  border: 1px solid rgba(255,255,255,.45);
}
.reward-assets-compact .reward-metrics b {
  font-size: 15px;
}
.reward-assets-compact .reward-metrics span {
  font-size: 9.5px;
}
.reward-primary-actions {
  margin: 12px 16px 0;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}
.reward-mini-card {
  position: relative;
  min-height: 95px;
  border: 0;
  border-radius: 17px;
  overflow: hidden;
  text-align: left;
  padding: 0;
  box-shadow: 0 10px 24px rgba(20,90,50,.10);
}
.reward-mini-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reward-mini-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 44px;
}
.reward-mini-card.is-checkin::after { background: linear-gradient(180deg,rgba(239,255,244,0),#effff5 48%,#effff5); }
.reward-mini-card.is-invite::after { background: linear-gradient(180deg,rgba(255,240,226,0),#fff0e3 48%,#fff0e3); }
.reward-mini-card.is-spin::after { background: linear-gradient(180deg,rgba(238,248,255,0),#eef8ff 48%,#eef8ff); }
.reward-mini-card span {
  position: absolute;
  z-index: 2;
  left: 9px;
  right: 8px;
  bottom: 8px;
}
.reward-mini-card b {
  display: block;
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.1;
  font-weight: 1000;
  white-space: nowrap;
}
.reward-mini-card small {
  display: block;
  margin-top: 3px;
  color: var(--t2);
  font-size: 9.5px;
  line-height: 1.15;
  font-weight: 800;
  white-space: nowrap;
}
.cash-checkin.dcard {
  padding: 14px;
  border-radius: 18px;
}
.cash-checkin .top {
  margin-bottom: 10px;
}
.cash-checkin .reward-copy {
  margin: 4px 0 10px;
  font-size: 10.8px;
}
.cash-checkin .days {
  gap: 5px;
  margin-bottom: 12px;
}
.cash-checkin .day {
  border-radius: 10px;
  min-width: 0;
}
.cash-checkin .day .d {
  font-size: 8px;
}
.cash-checkin .day .coin {
  width: 15px;
  height: 15px;
}
.cash-checkin .day .p {
  font-size: 9px;
}
.cash-checkin .cta {
  padding: 12px;
  font-size: 14px;
}
.invite-feature-card {
  margin: 14px 16px 0;
  border: 0;
  border-radius: 20px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 92% 15%, rgba(255,232,148,.45), transparent 28%),
    linear-gradient(135deg,#ff8a3d 0%,#f4511e 58%,#e6a939 100%);
  box-shadow: 0 14px 30px rgba(244,81,30,.25);
  overflow: hidden;
}
.invite-feature-card span {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  font-size: 10px;
  font-weight: 900;
}
.invite-feature-card h2 {
  margin-top: 7px;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 1000;
}
.invite-feature-card p {
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255,255,255,.88);
}
.invite-feature-stats {
  width: 112px;
  display: grid;
  align-content: end;
  gap: 8px;
  text-align: right;
}
.invite-feature-stats b {
  color: #fff8d6;
  font-size: 10.5px;
  line-height: 1.3;
}
.invite-feature-stats button {
  border: 0;
  border-radius: 999px;
  padding: 8px 10px;
  color: #e7571d;
  background: #fff;
  font-size: 11px;
  font-weight: 1000;
  box-shadow: 0 9px 18px rgba(120,46,8,.18);
}
.reward-secondary-grid {
  margin: 12px 16px 0;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.reward-secondary-card {
  min-height: 118px;
  border: 0;
  border-radius: 18px;
  padding: 13px;
  text-align: left;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 24px rgba(20,90,50,.10);
}
.reward-secondary-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -34px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(255,255,255,.38);
}
.spin-center-entry {
  background: linear-gradient(135deg,#eef8ff,#9bd9ff 62%,#5b91f1);
}
.mall-center-entry {
  background: linear-gradient(135deg,#fff8df,#f2d277 62%,#cf9b31);
}
.reward-secondary-card span,
.reward-secondary-card small,
.reward-secondary-card strong,
.reward-secondary-card em {
  position: relative;
  z-index: 1;
  display: block;
}
.reward-secondary-card span {
  font-size: 11px;
  font-weight: 900;
  color: rgba(31,51,41,.72);
}
.reward-secondary-card strong {
  margin-top: 8px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
  font-weight: 1000;
}
.reward-secondary-card small {
  margin-top: 5px;
  color: var(--t2);
  font-size: 10.5px;
  line-height: 1.25;
}
.reward-secondary-card em {
  margin-top: 10px;
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 6px 9px;
  background: rgba(255,255,255,.72);
  color: var(--green-deep);
  font-style: normal;
  font-size: 10.5px;
  font-weight: 1000;
}
.mall .more {
  border: 0;
  background: transparent;
}

/* Reward secondary pages */
.invite-center-premium,
.mall-hero,
.rules-hero,
.spin-center-hero {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 16px 34px rgba(20,90,50,.14);
}
.invite-center-premium {
  display: grid;
  grid-template-columns: 1fr 92px;
  gap: 12px;
  background: radial-gradient(circle at 82% 20%,rgba(255,235,153,.62),transparent 32%),linear-gradient(135deg,#ff8a3d,#f4511e 58%,#e7a431);
}
.invite-center-premium .invite-hero-copy,
.invite-center-premium .invite-hero-gift {
  position: relative;
  z-index: 1;
}
.invite-center-premium .invite-hero-gift {
  align-self: center;
  justify-self: end;
  width: 80px;
  height: 76px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4511e;
  background: linear-gradient(135deg,#fff1bd,#ffc44e);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.42),0 12px 24px rgba(119,42,10,.20);
}
.invite-center-premium .invite-hero-gift b {
  font-size: 22px;
  font-weight: 1000;
}
.invite-stats-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}
.invite-stats-grid div {
  border-radius: 16px;
  padding: 12px 10px;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(226,238,230,.9);
  box-shadow: 0 8px 18px rgba(20,90,50,.07);
}
.invite-stats-grid b {
  display: block;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.05;
}
.invite-stats-grid span {
  display: block;
  margin-top: 2px;
  color: var(--t2);
  font-size: 10.5px;
  line-height: 1.05;
  font-weight: 800;
}
.invite-code-card {
  padding: 14px;
  display: grid;
  gap: 10px;
}
.invite-code-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 10px;
  align-items: center;
}
.invite-code-row span {
  color: var(--t2);
  font-size: 12px;
  font-weight: 900;
}
.invite-code-row strong {
  color: var(--ink);
  font-size: 22px;
  letter-spacing: .5px;
}
.invite-code-row button {
  grid-row: 1 / span 2;
  grid-column: 2;
}
.invite-link-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 10px;
  border-radius: 14px;
  background: #f7fbf8;
  border: 1px solid var(--line);
}
.invite-link-box code {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--t2);
  font-size: 11px;
}
.invite-copy-primary,
.invite-copy-secondary {
  border: 0;
  border-radius: 999px;
  padding: 8px 11px;
  background: linear-gradient(135deg,#0dd16b,#07b95d);
  color: #fff;
  font-size: 11.5px;
  font-weight: 1000;
}
.invite-copy-secondary {
  background: #fff4d7;
  color: #b47b18;
}
.invite-flow {
  padding: 15px;
}
.invite-flow h3,
.service-card-block h3 {
  color: var(--ink);
  font-size: 15px;
  font-weight: 1000;
}
.invite-flow-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin-top: 12px;
}
.invite-flow-steps div {
  border-radius: 15px;
  padding: 10px 8px;
  background: linear-gradient(180deg,#fffdf4,#f8fbf8);
  border: 1px solid #ead9ac;
}
.invite-flow-steps i {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--green);
  font-style: normal;
  font-size: 12px;
  font-weight: 1000;
}
.invite-flow-steps b {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 12px;
}
.invite-flow-steps small {
  display: block;
  margin-top: 4px;
  color: var(--t2);
  font-size: 10px;
  line-height: 1.25;
}
.mall-hero {
  padding: 18px;
  color: var(--ink);
  background: radial-gradient(circle at 88% 22%,rgba(7,193,96,.18),transparent 30%),linear-gradient(135deg,#fff7d8,#f0d37a 62%,#d5a13b);
}
.mall-hero span {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  color: #fff;
  background: var(--green);
  font-size: 11px;
  font-weight: 1000;
}
.mall-hero small {
  display: block;
  margin-top: 14px;
  color: #816223;
  font-size: 12px;
  font-weight: 900;
}
.mall-hero strong {
  display: block;
  margin-top: 2px;
  font-size: 44px;
  line-height: 1;
  font-weight: 1000;
}
.mall-hero p {
  margin-top: 8px;
  max-width: 250px;
  color: #7b6f53;
  font-size: 12px;
  line-height: 1.45;
}
.mall-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}
.mall-tabs button {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 13px;
  color: var(--t2);
  background: #fff;
  font-size: 12px;
  font-weight: 900;
}
.mall-tabs .on {
  color: #fff;
  background: linear-gradient(135deg,#0dd16b,#07b95d);
  border-color: transparent;
}
.mall-product-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.reward-product-card {
  min-width: 0;
  border: 1px solid rgba(225,237,229,.95);
  border-radius: 18px;
  padding: 12px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(20,90,50,.08);
}
.reward-product-card.featured {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg,#fffaf0,#f6ffe9);
  border-color: #ead7a1;
}
.reward-product-card .ico {
  width: 48px;
  height: 48px;
}
.reward-product-card strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 1000;
}
.reward-product-card span {
  display: inline-flex;
  margin-top: 7px;
  border-radius: 999px;
  padding: 4px 8px;
  color: #a87717;
  background: #fff4d7;
  border: 1px solid #ead395;
  font-size: 10.5px;
  font-weight: 1000;
}
.reward-product-card small {
  display: block;
  min-height: 27px;
  margin-top: 7px;
  color: var(--t2);
  font-size: 10.5px;
  line-height: 1.25;
}
.reward-product-card .mall-action {
  margin-top: 10px;
  width: 100%;
}
.reward-product-card.featured .mall-action {
  margin-top: 0;
  width: auto;
  white-space: nowrap;
}
.reward-product-card.need-points .mall-action {
  color: #8b7b55;
  background: #eee1ba;
}
/* 绿色头部与规则列表之间留间距(用户反馈贴太紧) */
.reward-rules-page {
  display: grid;
  gap: 14px;
}
.rules-hero {
  padding: 18px;
  color: #fff;
  background: linear-gradient(135deg,#12c871,#078f4a);
}
.rules-hero span {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255,255,255,.18);
  font-size: 11px;
  font-weight: 1000;
}
.rules-hero strong {
  display: block;
  margin-top: 10px;
  font-size: 24px;
}
.rules-hero small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.86);
  font-size: 12px;
}
.rules-list {
  display: grid;
  gap: 10px;
}
.rules-list article {
  display: flex;
  gap: 11px;
  border-radius: 17px;
  padding: 13px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 8px 18px rgba(20,90,50,.07);
}
.rules-list i {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff4d7;
  color: #b47b18;
  font-style: normal;
  font-size: 12px;
  font-weight: 1000;
}
.rules-list b {
  color: var(--ink);
  font-size: 13px;
}
.rules-list p {
  margin-top: 4px;
  color: var(--t2);
  font-size: 11.5px;
  line-height: 1.45;
}
.spin-center-page {
  display: grid;
  gap: 13px;
}
.spin-center-hero {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  padding: 12px;
  background: radial-gradient(circle at 80% 8%,rgba(255,232,118,.50),transparent 32%),linear-gradient(135deg,#dff9ff,#76c8ff 55%,#5f84ee);
}
.spin-center-hero div {
  border-radius: 15px;
  padding: 10px 8px;
  background: rgba(255,255,255,.50);
  border: 1px solid rgba(255,255,255,.55);
}
.spin-center-hero span,
.spin-center-hero small {
  display: block;
  color: rgba(31,51,41,.68);
  font-size: 9.5px;
  font-weight: 900;
}
.spin-center-hero strong {
  display: block;
  margin: 4px 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
  font-weight: 1000;
}
.spin-stage {
  border-radius: 24px;
  padding: 16px 12px;
  background: linear-gradient(180deg,#fffdf6,#f4fbf7);
  border: 1px solid rgba(226,238,230,.95);
  box-shadow: 0 14px 32px rgba(20,90,50,.12);
}
.spin-stage .wheel-wrap {
  width: 252px;
  height: 252px;
  margin: 0 auto 12px;
}
.spin-stage .wheel {
  border-width: 10px;
  box-shadow: 0 18px 42px rgba(20,90,50,.18),inset 0 0 0 1px rgba(0,0,0,.08);
}
.spin-stage .wheel-label {
  transform: rotate(var(--angle)) translateY(-86px) rotate(calc(-1 * var(--angle)));
  font-size: 10.5px;
}
.spin-stage .spin-prizes {
  margin: 0 0 10px;
}
.spin-stage .cta {
  padding: 13px;
  font-size: 15px;
}
.spin-safe-copy {
  display: block;
  margin-top: 8px;
  color: var(--t2);
  text-align: center;
  font-size: 11px;
}
.spin-info-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}
.spin-info-grid div,
.spin-history-panel {
  border-radius: 17px;
  padding: 13px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 8px 18px rgba(20,90,50,.07);
}
.spin-info-grid b,
.spin-history-panel > strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  font-weight: 1000;
}
.spin-info-grid span {
  display: block;
  margin-top: 5px;
  color: var(--t2);
  font-size: 11px;
  line-height: 1.35;
}

/* Rewards visual parity pass: richer assets, fewer duplicate entry points */
.reward-assets-compact {
  min-height: 188px;
  padding: 15px 15px 13px;
  background:
    linear-gradient(92deg,rgba(255,239,166,.96) 0%,rgba(255,239,166,.88) 42%,rgba(31,177,89,.78) 100%),
    #f4dc7d;
  border: 1px solid rgba(212,166,55,.55);
}
.reward-assets-compact::before {
  content: none;
}
.reward-asset-visual {
  position: absolute;
  z-index: 0;
  right: -4px;
  top: 0;
  width: 62%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  opacity: .96;
  pointer-events: none;
  mask-image: linear-gradient(90deg,transparent 0%,#000 28%);
}
.reward-assets-compact .reward-assets-top,
.reward-assets-compact .reward-assets-main,
.reward-assets-compact .reward-metrics {
  position: relative;
  z-index: 1;
}
.reward-assets-compact .reward-assets-main {
  display: block;
  min-height: 92px;
  padding-right: 148px;
}
.reward-assets-compact .reward-assets-main strong {
  margin-top: 5px;
  font-size: 36px;
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}
.reward-assets-compact .reward-assets-main em {
  max-width: 185px;
  font-size: 11px;
  color: #756633;
}
.reward-assets-compact .shop {
  position: relative;
  right: auto;
  bottom: auto;
  margin-top: 9px;
  padding: 9px 14px;
  color: #fff;
  background: linear-gradient(135deg,#12c96e,#03994f);
  box-shadow: 0 10px 18px rgba(7,193,96,.24);
}
.reward-assets-compact .reward-metrics {
  margin-top: 8px;
  padding: 2px;
  border-radius: 14px;
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(255,255,255,.46);
}
.invite-feature-card {
  min-height: 142px;
  padding: 18px;
  background: linear-gradient(135deg,#ff6b2a 0%,#f4511e 52%,#efa72c 100%);
}
.invite-feature-art {
  position: absolute;
  right: -22px;
  top: -10px;
  height: calc(100% + 20px);
  width: 58%;
  object-fit: cover;
  object-position: right center;
  opacity: .96;
  pointer-events: none;
  mask-image: linear-gradient(90deg,transparent 0%,#000 34%);
}
.invite-feature-card > div,
.invite-feature-stats {
  position: relative;
  z-index: 1;
}
.invite-feature-card h2 {
  max-width: 205px;
  font-size: 20px;
  text-shadow: 0 2px 8px rgba(103,30,5,.18);
}
.invite-feature-card p {
  max-width: 205px;
}
.invite-feature-stats {
  align-content: center;
  min-width: 136px;
}
.reward-secondary-card {
  min-height: 138px;
  padding: 14px;
}
.reward-secondary-card img {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 112px;
  height: 112px;
  object-fit: cover;
  border-radius: 26px;
  opacity: .98;
  pointer-events: none;
}
.reward-secondary-card strong {
  font-size: 32px;
}
.reward-secondary-card span,
.reward-secondary-card small,
.reward-secondary-card strong,
.reward-secondary-card em {
  max-width: 112px;
}
.spin-center-entry {
  background: linear-gradient(135deg,#dff4ff 0%,#9ed9ff 52%,#6d8df3 100%);
}
.mall-center-entry {
  background: linear-gradient(135deg,#fff4b8 0%,#f1d674 54%,#d4a331 100%);
}
.invite-center-premium {
  min-height: 220px;
  padding: 22px;
  background: linear-gradient(135deg,#ff7431,#f4511e 55%,#eda12e);
}
.invite-center-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  opacity: .98;
}
.invite-center-premium::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(246,74,24,.94) 0%,rgba(246,74,24,.82) 40%,rgba(246,74,24,.12) 100%);
}
.invite-center-premium .invite-hero-copy {
  max-width: 240px;
  z-index: 2;
}
.invite-center-premium .invite-hero-copy h2 {
  color: #fff;
  font-size: 25px;
  line-height: 1.12;
  text-shadow: 0 2px 10px rgba(100,26,0,.22);
}
.invite-center-premium .invite-hero-copy p {
  color: rgba(255,255,255,.92);
}
.invite-center-premium .invite-hero-gift {
  display: none;
}
.invite-copy-primary {
  box-shadow: 0 10px 18px rgba(7,193,96,.22);
}
.mall-hero {
  min-height: 204px;
  padding: 20px;
  background:
    radial-gradient(circle at 88% 32%,rgba(255,255,255,.42),transparent 27%),
    linear-gradient(135deg,#fff0ae 0%,#efd062 50%,#189c54 100%);
}
.mall-hero-art {
  position: absolute;
  right: -8px;
  bottom: -2px;
  width: 58%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  border-radius: 0;
  filter: drop-shadow(0 14px 22px rgba(117,72,8,.18));
  pointer-events: none;
  mask-image: linear-gradient(90deg,transparent 0%,#000 32%);
}
.mall-hero span,
.mall-hero small,
.mall-hero strong,
.mall-hero p {
  position: relative;
  z-index: 1;
}
.mall-hero p {
  max-width: 210px;
}
.reward-product-card {
  overflow: hidden;
  position: relative;
}
.reward-product-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -36px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255,244,215,.75);
  pointer-events: none;
}
.reward-product-card.is-load { background: linear-gradient(180deg,#fffdf5,#f8fff2); }
.reward-product-card.is-data { background: linear-gradient(180deg,#f1fbff,#ffffff); }
.reward-product-card.is-coupon { background: linear-gradient(180deg,#fff8e5,#ffffff); }
.reward-product-card.is-cash { background: linear-gradient(180deg,#fff4ef,#ffffff); }
.reward-product-card.is-xcoin { background: linear-gradient(180deg,#fffae8,#ffffff); }
.reward-product-xcoin{display:grid;place-items:center}
.reward-product-xcoin .reward-xcoin-icon{width:40px;height:40px}
.reward-product-card.featured {
  min-height: 118px;
  border-width: 1.5px;
}
.spin-center-banner {
  position: relative;
  min-height: 0;
  aspect-ratio: 638 / 220;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(54,111,195,.20);
}
.spin-center-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.spin-center-banner div {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 0;
  max-width: none;
  color: #fff;
}
.spin-center-banner span {
  display: none;
}
.spin-center-banner strong {
  display: none;
}
.spin-center-banner button {
  position: absolute;
  left: 23px;
  bottom: 20px;
  border: 0;
  border-radius: 999px;
  padding: 8px 18px;
  color: #286fdc;
  background: #fff;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 10px 18px rgba(16,68,159,.18);
}
.spin-center-banner-v6 {
  border: 3px solid rgba(255,255,255,.60);
  box-shadow: 0 16px 34px rgba(29,103,197,.22);
}
.spin-center-banner-v6 button {
  left: 24px;
  bottom: 17px;
  color: #286fdc;
  background: linear-gradient(180deg,#fff,#eef6ff);
}
.spin-center-hero {
  margin-top: -4px;
}

/* ===== Spin center visual v5 (图五 parity: blue-green stage, gold bulb ring) ===== */
.service-page[data-service-kind="spin-center"] .service-screen{
  background:
    radial-gradient(circle at 86% 10%,rgba(255,231,122,.46),transparent 26%),
    linear-gradient(180deg,#1f7ae0 0,#249e73 420px,#F4F7F5 720px) no-repeat,
    #F4F7F5;
}
.service-page[data-service-kind="spin-center"] .service-title-wrap h1{color:#fff}
.service-page[data-service-kind="spin-center"] .service-title-wrap small{color:rgba(255,255,255,.85)}
.service-page[data-service-kind="spin-center"] .service-pill{background:#fff;color:#1f7ae0}
.service-page[data-service-kind="spin-center"] .service-back{background:rgba(255,255,255,.92)}

.spin-center-page{gap:14px}
.spin-center-page .spin-center-hero{background:none;padding:0;box-shadow:none;border-radius:0;margin:0}
.spin-center-page .spin-center-hero div{
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);border-radius:16px;
  padding:11px 8px;text-align:center;box-shadow:0 8px 18px rgba(12,60,110,.16)
}
.spin-center-page .spin-center-hero span,
.spin-center-page .spin-center-hero small{color:#5a6b60;font-size:10px;font-weight:800}
.spin-center-page .spin-center-hero strong{color:#12894a;font-size:24px;font-weight:1000;margin:3px 0}

.spin-center-page .spin-stage{
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  box-shadow:0 18px 34px rgba(18,84,85,.16);
  padding:12px 12px 14px;
  overflow:hidden;
}
.spin-center-page .wheel-wrap{width:min(238px,68vw);height:min(238px,68vw);margin:4px auto 12px;position:relative}
.spin-center-page .wheel-ring{
  position:absolute;inset:-8px;border-radius:50%;z-index:0;
  background:conic-gradient(#f7cf5a,#dd971a,#f7cf5a,#dd971a,#f7cf5a,#dd971a,#f7cf5a);
  box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 0 0 3px #fff3c4
}
.spin-center-page .wheel-ring i{
  position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px;border-radius:50%;
  background:#fff7d1;box-shadow:0 0 7px #ffe27a;transform:rotate(var(--b)) translateY(-122px)
}
.spin-center-page .wheel{border-width:6px;border-color:#fff;z-index:1;box-shadow:0 10px 24px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.06)}
.spin-center-page .wheel::after{display:none}
.spin-center-page .wheel-label{transform:rotate(var(--angle)) translateY(-82px) rotate(calc(-1 * var(--angle)));font-size:10.5px;width:54px;margin-left:-27px}
.spin-center-page .wheel-center{width:76px;height:76px;font-size:22px;z-index:2;border-width:5px;background:radial-gradient(circle at 50% 34%,#ffdb75,#eda51b);box-shadow:0 6px 15px rgba(0,0,0,.30)}
.spin-center-page .wheel-pointer{border-top-color:#e23b3b;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}

.spin-center-page .cta{width:100%;margin:2px 0 6px;border-radius:16px;padding:15px;background:linear-gradient(180deg,#33c46a,#12934a);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 8px 18px rgba(18,147,74,.4)}
.spin-center-page .spin-safe-copy{color:#3f6b56}
.spin-center-page .spin-result{color:#0f7c43;font-weight:1000;text-shadow:none}

.spin-award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.spin-award{background:#fff;border-radius:15px;padding:11px 4px 10px;text-align:center;box-shadow:0 6px 16px rgba(12,60,110,.10)}
.spin-award .aw-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:17px;font-weight:1000;margin-bottom:5px}
.spin-award b{display:block;font-size:12px;color:var(--ink);font-weight:1000}
.spin-award small{display:block;margin-top:2px;font-size:10px;color:var(--t2)}
.spin-award.aw-points .aw-ic{background:#eafaf0;color:#129a50}
.spin-award.aw-cash .aw-ic{background:#ffeceb;color:#e23b3b}
.spin-award.aw-coupon .aw-ic{background:#efeaff;color:#6c4cf0}
.spin-award.aw-retry .aw-ic{background:#eef1f0;color:#7b8a82}

/* Rewards center A layout: compact asset strip, activity feed, and fixed mint page background */
[data-view="rewards"] {
  background: var(--page-bg-main);
  overflow: hidden;
  min-height: 100vh;
}
[data-view="rewards"] .wrap {
  background: var(--page-bg-main);
}
[data-view="rewards"] .phdr {
  padding: 16px 16px 10px;
}
[data-view="rewards"] .phdr h1 {
  font-size: 23px;
  line-height: 1.08;
  font-weight: 900;
}
[data-view="rewards"] .phdr .sub {
  margin-top: 7px;
  color: #65756c;
  font-size: 12px;
  font-weight: 700;
}
[data-view="rewards"] .phdr .rt {
  min-height: 32px;
  padding: 7px 12px;
  background: rgba(255,255,255,.92);
  /* rewardRulesBlack=20260806-1:这一条才是真正的最终生效层(同特异性靠后),绿边/绿影在这里清 */
  border: 0;
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}
.rewards-a-layout {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}
.reward-assets-strip {
  position: relative;
  height: 220px;
  min-height: 0;
  padding: 16px 16px 12px;
  border-radius: 16px;
  overflow: hidden;
  isolation: isolate;
  background: #fff7db;
  border: 1px solid rgba(232,190,78,.74);
  box-shadow: 0 12px 28px rgba(130,101,27,.16);
}
.reward-card-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.reward-card-bg img,
.invite-feature-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.reward-assets-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,rgba(255,248,224,.94) 0%,rgba(255,248,224,.82) 39%,rgba(255,248,224,.20) 65%,rgba(255,248,224,0) 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(19,120,62,.10));
  pointer-events: none;
}
.reward-assets-top,
.reward-assets-main,
.reward-metrics {
  position: relative;
  z-index: 2;
}
.reward-assets-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.reward-assets-top span {
  color: #27382f;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
}
.reward-assets-top button {
  border: 0;
  border-radius: 999px;
  padding: 8px 14px;
  color: #284134;
  background: rgba(255,255,255,.76);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 8px 16px rgba(89,70,20,.12);
}
.reward-assets-main {
  display: block;
  min-height: 0;
  margin-top: 8px;
  padding-right: 146px;
  padding-bottom: 64px;
}
.reward-assets-main strong {
  display: block;
  color: #061f18;
  font-size: 38px;
  line-height: .95;
  font-weight: 1000;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 0 rgba(255,255,255,.42);
}
.reward-assets-main em {
  display: block;
  max-width: 200px;
  margin-top: 5px;
  color: #536359;
  font-size: 10.8px;
  line-height: 1.28;
  font-style: normal;
  font-weight: 700;
}
.reward-assets-main .shop {
  position: relative;
  left: auto;
  bottom: auto;
  z-index: 3;
  margin-top: 6px;
  border: 0;
  border-radius: 999px;
  padding: 8px 15px;
  color: #fff;
  background: linear-gradient(180deg,#3bd472,#15984c);
  font-size: 12px;
  line-height: 1;
  font-weight: 1000;
  box-shadow: 0 10px 18px rgba(12,130,65,.28);
  white-space: nowrap;
}
.reward-metrics {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 12px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  margin-top: 0;
  padding: 7px 0;
  border-radius: 13px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(255,255,255,.72);
  backdrop-filter: blur(6px);
}
.reward-metrics div {
  position: relative;
  min-width: 0;
  padding: 0;
  text-align: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.reward-metrics div + div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: rgba(112,137,123,.26);
}
.reward-metrics b {
  display: block;
  color: var(--gold);
  font-size: 18px;
  line-height: 1;
  font-weight: 1000;
  font-variant-numeric: tabular-nums;
}
.reward-metrics span {
  display: block;
  margin-top: 2px;
  color: #34483d;
  font-size: 10.5px;
  line-height: 1.05;
  font-weight: 800;
}
.reward-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 27px;
  margin: 5px 2px 0;
}
.reward-section-title::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #32bd67;
  box-shadow: 0 0 0 4px rgba(50,189,103,.10);
}
.reward-section-title span {
  color: #162b22;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 1000;
}
.reward-section-title i {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg,rgba(34,118,75,.18),rgba(34,118,75,0));
}
[data-view="rewards"] .reward-activity-card {
  position: relative;
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 0;
  box-shadow: 0 10px 24px rgba(31,83,52,.10);
}
[data-view="rewards"] .cash-checkin {
  padding: 15px 14px 14px;
  background: #fff;
}
[data-view="rewards"] .cash-checkin::before {
  content: none;
}
.reward-checkin-bg {
  inset: -8px;
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  opacity: .42;
  object-position: right center;
  transform: scale(1.03);
  transform-origin: right center;
  mask-image: linear-gradient(90deg,transparent 0%,#000 66%);
}
.reward-checkin-bg img {
  object-position: right center;
}
[data-view="rewards"] .cash-checkin .top,
[data-view="rewards"] .cash-checkin .reward-copy,
[data-view="rewards"] .cash-checkin .days,
[data-view="rewards"] .cash-checkin .cta {
  position: relative;
  z-index: 2;
}
[data-view="rewards"] .dcard .top {
  margin-bottom: 9px;
}
[data-view="rewards"] .dcard h2 {
  color: #182b22;
  font-size: 17px;
  line-height: 1.15;
  font-weight: 1000;
}
[data-view="rewards"] .cash-checkin .tag {
  padding: 6px 10px;
  background: #e9f8ef;
  color: #12904a;
  font-size: 11px;
  font-weight: 1000;
}
[data-view="rewards"] .cash-checkin .reward-copy {
  max-width: 310px;
  margin: 0 0 10px;
  color: #627169;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 650;
}
[data-view="rewards"] .cash-checkin .days {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 5px;
  margin: 0 0 13px;
}
[data-view="rewards"] .cash-checkin .day {
  min-width: 0;
  aspect-ratio: .82;
  border-radius: 9px;
  gap: 3px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(212,226,219,.92);
  box-shadow: 0 4px 10px rgba(20,90,50,.05);
}
[data-view="rewards"] .cash-checkin .day.today {
  transform: none;
  background: #f1fff6;
  border: 1.5px solid #22bf66;
  box-shadow: 0 6px 12px rgba(7,193,96,.12);
}
[data-view="rewards"] .cash-checkin .day .d {
  color: #7f8f86;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
}
[data-view="rewards"] .cash-checkin .day .coin {
  width: 16px;
  height: 16px;
}
[data-view="rewards"] .cash-checkin .day .p {
  color: #8a958f;
  font-size: 9.5px;
  line-height: 1;
  font-weight: 900;
}
[data-view="rewards"] .cash-checkin .day.today .p {
  color: #12904a;
}
[data-view="rewards"] .cash-checkin .cta {
  border-radius: 999px;
  padding: 12px 14px;
  background: linear-gradient(180deg,#36c96e,#168b48);
  font-size: 15px;
  font-weight: 1000;
  box-shadow: 0 10px 18px rgba(13,132,68,.28);
}
[data-view="rewards"] .cash-checkin .cta:disabled {
  opacity: .72;
  box-shadow: none;
}
[data-view="rewards"] .invite-feature-card {
  min-height: 136px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 145px;
  align-items: start;
  gap: 12px;
  padding: 16px 14px 14px;
  color: #fff;
  background: #f36b18;
}
[data-view="rewards"] .invite-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,rgba(229,82,7,.88) 0%,rgba(229,82,7,.70) 44%,rgba(229,82,7,.12) 72%,rgba(229,82,7,0) 100%);
  pointer-events: none;
}
[data-view="rewards"] .invite-feature-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  mask-image: none;
}
[data-view="rewards"] .invite-feature-card > div,
[data-view="rewards"] .invite-feature-stats {
  position: relative;
  z-index: 2;
}
[data-view="rewards"] .invite-feature-card span {
  display: block;
  padding: 0;
  background: transparent;
  color: #fff4dc;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 400;
}
[data-view="rewards"] .invite-feature-card h2 {
  max-width: 190px;
  margin-top: 5px;
  color: #fff;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 1000;
  text-shadow: 0 2px 10px rgba(123,39,4,.22);
}
[data-view="rewards"] .invite-feature-card p {
  max-width: 205px;
  margin-top: 5px;
  color: rgba(255,255,255,.90);
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 400;
}
[data-view="rewards"] .invite-feature-stats {
  width: auto;
  display: grid;
  gap: 9px;
  justify-items: end;
  align-content: center;
  text-align: right;
}
[data-view="rewards"] .invite-feature-stats b {
  color: rgba(255,255,255,.82);
  font-size: 10.5px;
  line-height: 1.1;
  font-weight: 400;
}
[data-view="rewards"] .invite-feature-stats button {
  min-width: 132px;
  border: 0;
  border-radius: 999px;
  padding: 11px 14px;
  color: #e9571c;
  background: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  box-shadow: 0 10px 20px rgba(92,36,8,.18);
}
.reward-action-feed {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.reward-action-card {
  position: relative;
  min-height: 118px;
  border: 0;
  border-radius: 13px;
  padding: 14px 12px;
  overflow: hidden;
  color: #fff;
  text-align: left;
  box-shadow: 0 10px 22px rgba(20,70,51,.12);
}
.reward-action-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,rgba(30,33,108,.42) 0%,rgba(30,33,108,.22) 44%,rgba(30,33,108,0) 78%);
  pointer-events: none;
}
.mall-center-entry::before {
  background: linear-gradient(90deg,rgba(15,86,41,.42) 0%,rgba(15,86,41,.20) 44%,rgba(15,86,41,0) 78%);
}
.reward-action-card .reward-card-bg {
  object-position: center;
}
.reward-action-card > span,
.reward-action-card small,
.reward-action-card em {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 104px;
}
.reward-action-card > span {
  color: #fff;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 1000;
}
.reward-action-card small {
  margin-top: 6px;
  color: rgba(255,255,255,.88);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 800;
}
.reward-action-card small b {
  color: #fff;
  font-size: inherit;
  font-weight: 1000;
}
.reward-action-card em {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  border-radius: 999px;
  padding: 7px 13px;
  color: #5a59d9;
  background: #fff;
  font-size: 11px;
  line-height: 1;
  font-style: normal;
  font-weight: 1000;
  box-shadow: 0 8px 16px rgba(13,23,70,.14);
}
.mall-center-entry em {
  color: #14924b;
}
.reward-coming-soon-card {
  position: relative;
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  overflow: hidden;
  background: #f8fffb;
  border: 1px dashed rgba(72,192,113,.42);
  box-shadow: 0 8px 18px rgba(22,93,52,.06);
}
.reward-coming-soon-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,rgba(248,255,251,.98) 0%,rgba(248,255,251,.90) 55%,rgba(248,255,251,.24) 100%);
  pointer-events: none;
}
.reward-coming-soon-card .reward-card-bg {
  object-position: center;
}
.reward-coming-soon-card div {
  position: relative;
  z-index: 2;
}
.reward-coming-soon-card span {
  display: block;
  color: #244537;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 1000;
}
.reward-coming-soon-card small {
  display: block;
  margin-top: 4px;
  color: #6b7d73;
  font-size: 10.5px;
  line-height: 1.3;
  font-weight: 700;
}

/* Rewards typography pass: keep title scale, soften non-title weight */
[data-view="rewards"] .phdr .sub,
[data-view="rewards"] .phdr .rt {
  font-weight: 500;
}
.rewards-a-layout :where(button, small, em, p, b, strong, .tag, .reward-assets-top span, .reward-metrics span, .cash-checkin .day .d, .cash-checkin .day .p, .invite-feature-stats b, .reward-action-note, .reward-action-unit, .reward-coming-soon-card small) {
  font-weight: 500 !important;
}

.records-page {
  min-height: 844px;
  padding: 22px 14px calc(100px + env(safe-area-inset-bottom));
}
.records-list-head {
  display: grid;
  gap: 12px;
}
.records-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px;
}
.records-title-row h1 {
  color: var(--ink);
  font-size: 23px;
  line-height: 1.15;
  font-weight: 1000;
  letter-spacing: 0;
}
.records-title-row span {
  /* 与「账户中心」等页头副标题同款金色(用户指定) */
  color: var(--gold);
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  white-space: nowrap;
}
.records-filter {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 3px;
  padding: 5px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 7px 18px rgba(20,90,50,.06);
}
.records-filter .flt {
  min-width: 0;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--t2);
  font: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  padding: 0 6px;
  box-shadow: none;
  cursor: pointer;
}
.records-filter .flt.on {
  color: #fff;
  background: linear-gradient(135deg,#45D16F,#31C863);
  box-shadow: 0 5px 12px rgba(7,193,96,.24);
}
.records-orders {
  margin-top: 12px;
  padding: 0;
}
.records-orders .order:first-child {
  margin-top: 0;
}
.records-empty {
  min-height: 206px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(20,90,50,.06);
  text-align: center;
}
.records-empty-icon {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  border-radius: 18px;
  background: linear-gradient(135deg,#F1FFF6,#EAF7FF);
  border: 1px solid #D8EFE4;
}
.records-empty-icon svg {
  width: 30px;
  height: 30px;
}
.records-empty strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0;
}
.records-empty span {
  display: block;
  max-width: 286px;
  margin-top: 10px;
  color: var(--t2);
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 400;
}

/* Reward secondary page premium refresh */
.reward-soft-type :where(p, small, span, button, code, em) {
  font-weight: 500;
}
.reward-soft-type :where(h1, h2, h3, .section-title) {
  font-weight: 800;
}
.reward-soft-type :where(strong, b) {
  font-weight: 600;
}
.service-page[data-service-kind="reward-mall"] .service-screen,
.service-page[data-service-kind="invite-center"] .service-screen {
  background: #F4F7F5;
}
.service-page[data-service-kind="spin-center"] .service-screen {
  background:
    linear-gradient(180deg, rgba(8,34,123,.10), rgba(4,129,74,.08)),
    url("assets/reward-sec-spin-page-bg.webp") top center / 100% auto no-repeat,
    #0e8b58;
}
.reward-mall-center,
.invite-center-page,
.spin-center-page {
  display: grid;
  gap: 12px;
}
.reward-mall-center .mall-hero {
  min-height: 168px;
  padding: 18px 20px;
  border-radius: 22px;
  background: #f4df8a;
}
.reward-mall-center .mall-hero-art {
  inset: 0;
  right: auto;
  bottom: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mask-image: none;
  filter: none;
}
.reward-mall-center .mall-hero span {
  margin-top: 96px;
  color: #f5d16d;
  background: #1e7d42;
}
.reward-mall-center .mall-hero small {
  margin-top: 0;
  color: #7c6223;
}
.reward-mall-center .mall-hero strong {
  font-size: 43px;
  color: #123528;
  font-weight: 700;
}
.reward-mall-center .mall-hero p {
  max-width: 172px;
  color: #5f6649;
}
.mall-tabs {
  padding: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 22px rgba(20,90,50,.08);
}
.mall-tabs button {
  border: 0;
  min-width: 58px;
  color: #506b5e;
  background: transparent;
  font-weight: 500;
}
.mall-tabs .on {
  position: relative;
  color: #fff;
  background: linear-gradient(180deg,#22c66c,#07984d);
  box-shadow: 0 8px 16px rgba(7,152,77,.22);
}
.mall-tabs .on::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: -4px;
  height: 3px;
  border-radius: 999px;
  background: #e9b84d;
}
.mall-newcomer-banner {
  position: relative;
  min-height: 128px;
  overflow: hidden;
  border-radius: 22px;
  color: #fff;
  background: #087a43;
  box-shadow: 0 14px 28px rgba(20,90,50,.16);
}
.mall-newcomer-banner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mall-newcomer-banner div {
  position: relative;
  z-index: 1;
  max-width: 52%;
  padding: 15px 18px;
}
.mall-newcomer-banner em {
  display: inline-flex;
  margin: -2px 0 5px;
  color: #ffe4a4;
  font-size: 11px;
  font-style: normal;
}
.mall-newcomer-banner h3 {
  color: #fff5ce;
  font-size: 21px;
  line-height: 1.12;
  text-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.mall-newcomer-banner p {
  margin-top: 5px;
  color: rgba(255,255,255,.88);
  font-size: 11.5px;
}
.mall-newcomer-banner button {
  margin-top: 10px;
  border: 0;
  border-radius: 999px;
  padding: 8px 15px;
  color: #8b4d13;
  background: linear-gradient(180deg,#fff7dd,#ffd992);
  box-shadow: 0 8px 18px rgba(0,0,0,.20);
}
.reward-product-card {
  min-height: 112px;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  padding: 12px;
  border: 0;
  border-radius: 18px;
}
.reward-product-card.featured {
  grid-template-columns: 76px 1fr auto;
}
.reward-product-art {
  position: relative;
  z-index: 1;
  align-self: center;
}
.reward-product-img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
}
.reward-product-card strong {
  font-size: 13.5px;
  font-weight: 600;
}
.reward-product-card span,
.reward-product-card .mall-action {
  font-weight: 500;
}
.reward-product-card.is-vip {
  background: linear-gradient(180deg,#fff7f4,#ffffff);
}
.invite-center-premium {
  min-height: 216px;
  border-radius: 24px;
  background: #ff7624;
}
.invite-center-art {
  object-position: center;
}
.invite-center-premium::after {
  background: linear-gradient(90deg,rgba(228,76,25,.90) 0%,rgba(228,76,25,.58) 44%,rgba(228,76,25,.03) 100%);
}
.invite-center-premium .invite-hero-copy h2 {
  font-size: 28px;
  font-weight: 800;
}
.invite-center-premium .invite-hero-copy p,
.invite-code-card small,
.invite-rules p {
  font-weight: 500;
}
.invite-stats-grid div {
  display: grid;
  align-content: center;
  min-height: 56px;
  border: 0;
}
.invite-code-card,
.invite-flow,
.invite-center-page > .service-card-block {
  border: 0;
  border-radius: 20px;
  box-shadow: 0 10px 22px rgba(20,90,50,.08);
}
.invite-record-empty {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 6px 16px;
  align-items: center;
  text-align: left;
  border: 0;
  background: linear-gradient(180deg,#ffffff,#fbfffd);
}
.invite-record-empty img {
  grid-row: 1 / span 3;
  width: 96px;
  height: 96px;
  object-fit: contain;
}
.invite-record-empty strong {
  font-weight: 600;
}
.invite-record-empty .invite-copy-primary {
  width: fit-content;
  margin-top: 4px;
  padding: 10px 18px;
}
.spin-center-page {
  position: relative;
  padding-top: 2px;
}
.spin-center-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: url("assets/reward-sec-overlay-confetti-coins.webp") center top / 100% auto no-repeat;
  opacity: .52;
  animation: reward-float 7s ease-in-out infinite alternate;
}
.spin-center-page .spin-center-hero {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.spin-center-page .spin-center-hero div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 1px 6px;
  align-items: center;
  text-align: left;
  min-height: 70px;
  padding: 9px 8px;
  background: rgba(20,143,116,.70);
  border: 1px solid rgba(130,235,158,.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 10px 18px rgba(0,44,77,.18);
  backdrop-filter: blur(6px);
}
.spin-center-page .spin-center-hero div::before {
  content: "";
  grid-row: 1 / span 3;
  width: 34px;
  height: 34px;
  background: url("assets/reward-sec-icon-calendar-check.webp") center / contain no-repeat;
}
.spin-center-page .spin-center-hero div:nth-child(2)::before {
  background-image: url("assets/reward-sec-icon-peso-coin.webp");
}
.spin-center-page .spin-center-hero div:nth-child(3)::before {
  background-image: url("assets/reward-sec-icon-wallet-red-packet.webp");
}
.spin-center-page .spin-center-hero span,
.spin-center-page .spin-center-hero small {
  color: rgba(255,255,255,.88);
  font-weight: 500;
}
.spin-center-page .spin-center-hero strong {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}
.spin-center-page .spin-stage {
  position: relative;
  z-index: 1;
  overflow: visible;
  padding: 2px 12px 12px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.spin-center-page .wheel-wrap {
  width: min(318px, 86vw);
  height: min(318px, 86vw);
  margin: -2px auto 8px;
}
.spin-center-page .wheel-wrap::before {
  content: "";
  position: absolute;
  inset: -14px;
  pointer-events: none;
  background: url("assets/reward-sec-spin-wheel.webp") center / contain no-repeat;
  opacity: .34;
}
.spin-center-page .wheel-ring i {
  transform: rotate(var(--b)) translateY(calc(-1 * min(168px, 45vw)));
}
.spin-center-page .wheel-label {
  transform: rotate(var(--angle)) translateY(calc(-1 * min(112px, 30vw))) rotate(calc(-1 * var(--angle)));
  font-weight: 600;
}
.spin-center-page .cta {
  max-width: 300px;
  margin: 0 auto 6px;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px rgba(0,80,43,.40);
  font-weight: 500;
}
.spin-award-grid {
  position: relative;
  z-index: 1;
  padding: 9px;
  border-radius: 18px;
  background: rgba(17,126,89,.80);
  border: 1px solid rgba(141,232,161,.42);
}
.spin-award b {
  font-weight: 600;
}
.spin-info-grid div,
.spin-history-panel {
  border: 0;
}
@keyframes reward-float {
  from { transform: translate3d(0, -4px, 0); }
  to { transform: translate3d(0, 6px, 0); }
}
@media (max-width: 370px) {
  .reward-mall-center {
    gap: 10px;
  }
  .reward-mall-center .mall-hero {
    min-height: 152px;
    padding: 15px;
  }
  .mall-newcomer-banner {
    min-height: 116px;
  }
  .mall-newcomer-banner div {
    max-width: 55%;
    padding: 13px 14px;
  }
  .mall-newcomer-banner h3 {
    font-size: 18px;
  }
  .reward-product-card {
    grid-template-columns: 58px 1fr;
    padding: 10px;
  }
  .reward-product-img {
    width: 58px;
    height: 58px;
  }
  .spin-center-page .wheel-wrap {
    width: min(294px, 84vw);
    height: min(294px, 84vw);
  }
  .invite-record-empty {
    grid-template-columns: 76px 1fr;
  }
  .invite-record-empty img {
    width: 76px;
    height: 76px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reward-float,
  .spin-center-page::before {
    animation: none !important;
    transform: none !important;
  }
}

/* Reward secondary page QA pass */
.service-page:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .service-subtitle,
.service-page:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .service-pill,
.reward-soft-type :where(p, small, span, button, code, em, strong, b) {
  font-weight: 500;
}
.reward-soft-type :where(h1, h2, h3, .section-title),
.service-page:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .service-title {
  font-weight: 800;
}
.reward-mall-center .mall-hero {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 164px;
}
.reward-mall-center .mall-hero small {
  order: 1;
  margin-top: 0;
}
.reward-mall-center .mall-hero strong {
  order: 2;
  margin-top: 3px;
  font-size: 46px;
  font-weight: 600;
}
.reward-mall-center .mall-hero p {
  order: 3;
  max-width: 168px;
  margin-top: 8px;
}
.reward-mall-center .mall-hero span {
  order: 4;
  margin-top: auto;
  font-weight: 500;
}
.reward-product-card strong,
.spin-award b,
.spin-info-grid b,
.spin-history-panel strong,
.invite-flow strong,
.invite-record-empty strong {
  font-weight: 500;
}
.spin-center-page::before {
  content: none;
  background: none;
  opacity: 0;
  animation: none;
}
.spin-center-page .spin-center-hero div {
  grid-template-columns: 42px 1fr;
  min-height: 72px;
}
.spin-center-page .spin-center-hero div::before {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background-color: rgba(255,255,255,.82);
  background-size: 34px 34px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 7px 14px rgba(0,45,58,.16);
}
.spin-center-page .spin-center-hero strong {
  font-size: 23px;
  font-weight: 600;
}
.spin-center-page .wheel-label {
  font-weight: 500;
}
.reward-mall-center .mall-hero small,
.invite-center-page :where(.invite-center-hero span, .invite-center-hero b, .invite-stats-grid b, .invite-stats-grid span, .invite-code-card span, .invite-code-card b, .invite-flow b, .invite-flow span),
.spin-center-page :where(.spin-center-hero strong, .spin-award b, .spin-info-grid b, .spin-history-panel strong) {
  font-weight: 500;
}
@media (max-width: 370px) {
  .reward-mall-center .mall-hero {
    min-height: 154px;
  }
  .reward-mall-center .mall-hero strong {
    font-size: 40px;
  }
  .reward-mall-center .mall-hero p {
    max-width: 155px;
  }
  .spin-center-page .spin-center-hero div {
    grid-template-columns: 34px 1fr;
    gap: 1px 5px;
    padding: 8px 7px;
  }
  .spin-center-page .spin-center-hero div::before {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background-size: 29px 29px;
  }
}
#servicePage:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .reward-soft-type :where(p, small, span, button, code, em, strong, b) {
  font-weight: 500 !important;
}
#servicePage:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .reward-soft-type :where(h1, h2, h3, .section-title),
#servicePage:is([data-service-kind="reward-mall"], [data-service-kind="invite-center"], [data-service-kind="spin-center"]) .service-title {
  font-weight: 800 !important;
}

/* Lucky spin parity pass: richer wheel, compact poster layout, demo-like history rows */
.service-page[data-service-kind="spin-center"] .service-screen {
  padding: 14px 14px 18px;
}
.service-page[data-service-kind="spin-center"] .service-head {
  margin-bottom: 8px;
}
.service-page[data-service-kind="spin-center"] .service-title {
  font-size: 26px;
  line-height: 1.05;
  color: #fff;
  text-shadow: 0 3px 10px rgba(0,32,94,.35);
}
.service-page[data-service-kind="spin-center"] .service-subtitle {
  margin-top: 5px;
  max-width: 218px;
  color: rgba(255,255,255,.92);
  line-height: 1.28;
}
.service-page[data-service-kind="spin-center"] .service-pill {
  color: #088448;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0,28,84,.16);
}
.spin-center-page {
  gap: 8px;
}
.spin-center-page .spin-center-hero {
  gap: 7px;
}
.spin-center-page .spin-center-hero div {
  grid-template-columns: 38px 1fr;
  min-height: 60px;
  padding: 8px 8px;
  border-radius: 12px;
  background: linear-gradient(180deg,rgba(34,158,137,.82),rgba(10,126,111,.82));
  border-color: rgba(95,226,143,.58);
}
.spin-center-page .spin-center-hero div::before {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background-size: 31px 31px;
}
.spin-center-page .spin-center-hero span,
.spin-center-page .spin-center-hero small {
  font-size: 10px;
  line-height: 1.2;
}
.spin-center-page .spin-center-hero strong {
  font-size: 22px;
  line-height: 1;
}
.spin-center-page .spin-stage {
  padding: 0 4px 4px;
}
.spin-center-page .wheel-wrap {
  width: min(310px, 82vw);
  height: min(310px, 82vw);
  margin: -4px auto 4px;
}
.spin-center-page .wheel-wrap::before {
  inset: -18px;
  opacity: .18;
}
.spin-center-page .wheel-ring {
  inset: -7px;
  background: conic-gradient(#ffe890,#c97a14,#ffe890,#e8a52b,#ffe890,#c97a14,#ffe890);
  box-shadow: 0 12px 26px rgba(0,0,0,.30), inset 0 0 0 3px #fff0ae, inset 0 0 0 9px #d48b1c;
}
.spin-center-page .wheel-ring i {
  width: 9px;
  height: 9px;
  margin: -4.5px;
  background: #fff9c9;
  box-shadow: 0 0 8px #ffe26f, 0 0 15px rgba(255,230,98,.65);
  transform: rotate(var(--b)) translateY(calc(-1 * min(160px, 42vw)));
}
.spin-center-page .wheel {
  border-width: 7px;
  border-color: #fff9d9;
  box-shadow: 0 10px 26px rgba(0,0,0,.26), inset 0 0 0 1px rgba(0,0,0,.07);
}
.spin-center-page .wheel-pointer {
  top: -1px;
  border-left-width: 15px;
  border-right-width: 15px;
  border-top-width: 30px;
}
.spin-center-page .wheel-center {
  width: 64px;
  height: 64px;
  font-size: 22px;
  border-width: 5px;
  box-shadow: 0 8px 18px rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.35);
}
.spin-center-page .wheel-label {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 58px;
  margin-left: -29px;
  color: #fff;
  font-size: 11px;
  line-height: 1.1;
  text-shadow: 0 1px 3px rgba(0,0,0,.42);
  transform: rotate(var(--angle)) translateY(calc(-1 * min(101px, 27vw))) rotate(calc(-1 * var(--angle)));
}
.spin-center-page .wheel-label em {
  font-style: normal;
}
.spin-prize-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.spin-prize-icon.is-points {
  background-image: url("assets/reward-sec-icon-peso-coin.webp");
}
.spin-prize-icon.is-cash {
  background-image: url("assets/reward-sec-icon-red-envelope.webp");
}
.spin-prize-icon.is-coupon {
  background-image: url("assets/reward-sec-icon-discount-coupon.webp");
}
.spin-prize-icon.is-retry {
  border-radius: 50%;
  background: rgba(255,255,255,.25);
}
.spin-prize-icon.is-retry::before {
  content: "↻";
  color: #fff;
  font-size: 13px;
  line-height: 1;
}
.spin-center-page .cta {
  position: relative;
  max-width: 292px;
  min-height: 50px;
  margin-top: 0;
  border: 2px solid rgba(255,224,120,.70);
  border-radius: 18px;
  background: linear-gradient(180deg,#27c468 0%,#0f8d46 100%);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.28), 0 10px 22px rgba(0,71,36,.42), 0 0 0 4px rgba(255,210,77,.12);
  font-size: 19px;
}
.spin-center-page .spin-safe-copy {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.88);
  text-align: center;
  text-shadow: 0 1px 3px rgba(0,0,0,.28);
}
.spin-award-grid {
  gap: 7px;
  padding: 8px;
  border-radius: 16px;
  background: rgba(8,122,88,.80);
}
.spin-award {
  padding: 8px 3px;
  border-radius: 11px;
}
.spin-award .aw-ic {
  width: 28px;
  height: 28px;
  margin-bottom: 3px;
}
.spin-award b {
  font-size: 11px;
}
.spin-award small {
  font-size: 9px;
}
.spin-info-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  padding: 9px 6px;
  border-radius: 14px;
  background: rgba(255,255,255,.94);
}
.spin-info-grid div {
  min-width: 0;
  padding: 0 6px;
  border-left: 1px solid rgba(34,96,68,.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.spin-info-grid div:first-child {
  border-left: 0;
}
.spin-info-grid b {
  font-size: 10.5px;
  line-height: 1.2;
}
.spin-info-grid span {
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.2;
}
.spin-history-panel {
  padding: 10px 12px 8px;
  border-radius: 14px;
  background: rgba(250,255,252,.96);
  box-shadow: 0 8px 18px rgba(0,47,32,.14);
}
.spin-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.spin-history-head h3 {
  margin: 0;
  color: #177344;
  font-size: 13px;
  line-height: 1.2;
}
.spin-history-head button {
  border: 0;
  padding: 0;
  color: #159653;
  background: transparent;
  font-size: 11px;
}
.spin-history-row {
  display: grid;
  grid-template-columns: 27px minmax(58px,1fr) 72px 34px auto;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 5px 0;
  border-top: 1px solid rgba(36,101,68,.12);
}
.spin-history-row:first-child {
  border-top: 0;
}
.spin-history-avatar {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid #218353;
  background: #dff5e7;
}
.spin-history-avatar::before,
.spin-history-avatar::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border: 2px solid #218353;
}
.spin-history-avatar::before {
  top: 4px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ecfff2;
}
.spin-history-avatar::after {
  bottom: 3px;
  width: 13px;
  height: 7px;
  border-radius: 9px 9px 0 0;
  border-bottom: 0;
  background: #ecfff2;
}
.spin-history-name,
.spin-history-time,
.spin-history-action,
.spin-history-reward {
  min-width: 0;
  font-size: 11px;
  line-height: 1.2;
}
.spin-history-name {
  color: #142b22;
}
.spin-history-time,
.spin-history-action {
  color: rgba(31,51,41,.60);
  text-align: center;
}
.spin-history-reward {
  justify-self: end;
  white-space: nowrap;
}
.spin-history-reward.is-points {
  color: #11944f;
}
.spin-history-reward.is-cash {
  color: #dc3d2e;
}
.spin-history-reward.is-coupon {
  color: #2467bd;
}
.spin-history-reward.is-retry {
  color: #6d7d74;
}
@media (max-width: 370px) {
  .service-page[data-service-kind="spin-center"] .service-title {
    font-size: 24px;
  }
  .spin-center-page .wheel-wrap {
    width: min(284px, 80vw);
    height: min(284px, 80vw);
  }
  .spin-center-page .wheel-ring i {
    transform: rotate(var(--b)) translateY(calc(-1 * min(147px, 41vw)));
  }
  .spin-center-page .wheel-label {
    transform: rotate(var(--angle)) translateY(calc(-1 * min(92px, 26vw))) rotate(calc(-1 * var(--angle)));
  }
  .spin-history-row {
    grid-template-columns: 25px minmax(48px,1fr) 60px 28px auto;
    gap: 4px;
  }
  .spin-history-name,
  .spin-history-time,
  .spin-history-action,
  .spin-history-reward {
    font-size: 10px;
  }
}

/* Lucky spin compact correction: target actual service header selectors */
.service-page[data-service-kind="spin-center"] .service-screen {
  padding-top: 11px;
}
.service-page[data-service-kind="spin-center"] .service-topbar {
  grid-template-columns: 76px 1fr 76px;
  gap: 8px;
  margin-bottom: 6px;
}
.service-page[data-service-kind="spin-center"] .service-back {
  width: 38px;
  height: 38px;
  border-radius: 15px;
  justify-self: start;
}
.service-page[data-service-kind="spin-center"] .service-title-wrap {
  text-align: center;
}
.service-page[data-service-kind="spin-center"] .service-title-wrap h1 {
  color: #fff;
  font-size: 23px;
  line-height: 1.05;
  text-shadow: 0 3px 10px rgba(0,32,94,.35);
}
.service-page[data-service-kind="spin-center"] .service-title-wrap small {
  margin-top: 3px;
  color: rgba(255,255,255,.92);
  font-size: 11px;
  line-height: 1.16;
}
.service-page[data-service-kind="spin-center"] .service-pill {
  min-width: 76px;
  padding: 7px 10px;
  font-size: 11px;
  justify-self: end;
}
.spin-center-page .spin-center-hero div {
  min-height: 54px;
  grid-template-columns: 34px 1fr;
  padding: 7px 7px;
}
.spin-center-page .spin-center-hero div::before {
  width: 34px;
  height: 34px;
  background-size: 28px 28px;
}
.spin-center-page .spin-center-hero strong {
  font-size: 20px;
}
.spin-center-page .wheel-wrap {
  width: min(292px, 78vw);
  height: min(292px, 78vw);
  margin: 12px auto 2px;
}
.spin-center-page .wheel-ring i {
  transform: rotate(var(--b)) translateY(calc(-1 * min(150px, 39vw)));
}
.spin-center-page .wheel-label {
  transform: rotate(var(--angle)) translateY(calc(-1 * min(94px, 25vw))) rotate(calc(-1 * var(--angle)));
}
.spin-center-page .cta {
  max-width: 278px;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 18px;
}
.spin-award-grid {
  padding: 7px;
}
.spin-award {
  padding: 7px 3px;
}
.spin-info-grid {
  padding: 7px 5px;
}
.spin-info-grid b {
  font-size: 10px;
}
.spin-info-grid span {
  font-size: 8.5px;
}
@media (max-width: 370px) {
  .service-page[data-service-kind="spin-center"] .service-screen {
    padding-left: 13px;
    padding-right: 13px;
  }
  .service-page[data-service-kind="spin-center"] .service-title-wrap h1 {
    font-size: 21px;
  }
  .service-page[data-service-kind="spin-center"] .service-title-wrap small {
    font-size: 10.5px;
  }
  .spin-center-page .spin-center-hero div {
    min-height: 50px;
  }
  .spin-center-page .wheel-wrap {
    width: min(264px, 75vw);
    height: min(264px, 75vw);
  }
  .spin-center-page .wheel-ring i {
    transform: rotate(var(--b)) translateY(calc(-1 * min(136px, 38vw)));
  }
  .spin-center-page .wheel-label {
    transform: rotate(var(--angle)) translateY(calc(-1 * min(84px, 24vw))) rotate(calc(-1 * var(--angle)));
  }
}

/* Lucky spin label placement correction */
.spin-center-page .wheel-wrap::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
.spin-center-page .wheel-label {
  width: 54px;
  margin-left: -27px;
  transform:
    rotate(var(--angle))
    translateY(calc(-1 * min(var(--label-radius, 92px), 27vw)))
    translate(var(--label-nudge-x, 0px), var(--label-nudge-y, 0px))
    rotate(calc(-1 * var(--angle)));
}
.wheel-label.is-small-prize {
  width: 38px;
  margin-left: -19px;
  gap: 1px;
  font-size: 9px;
  line-height: 1.05;
}
.wheel-label.is-small-prize .spin-prize-icon {
  width: 16px;
  height: 16px;
}
.wheel-label.is-wide-prize {
  font-size: 11px;
}
.wheel-label.is-retry {
  width: 54px;
  margin-left: -27px;
}
@media (max-width: 370px) {
  .spin-center-page .wheel-label {
    transform:
      rotate(var(--angle))
      translateY(calc(-1 * min(calc(var(--label-radius, 92px) - 10px), 25vw)))
      translate(var(--label-nudge-x, 0px), var(--label-nudge-y, 0px))
      rotate(calc(-1 * var(--angle)));
  }
  .wheel-label.is-small-prize {
    width: 34px;
    margin-left: -17px;
    font-size: 8.5px;
  }
  .wheel-label.is-small-prize .spin-prize-icon {
    width: 15px;
    height: 15px;
  }
}

/* Lucky spin readable wheel variant */
.spin-center-page .wheel-label.is-small-prize {
  width: 32px;
  margin-left: -16px;
  gap: 0;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.spin-center-page .wheel-label.is-small-prize .spin-prize-icon {
  display: none;
}
.spin-center-page .cta {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 370px) {
  .spin-center-page .wheel-label.is-small-prize {
    width: 30px;
    margin-left: -15px;
    font-size: 9.5px;
  }
}

/* Invite center reference parity pass */
.service-page[data-service-kind="invite-center"] .service-screen {
  padding: 14px 8px calc(18px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.92), transparent 34%),
    linear-gradient(180deg, #eef9f3 0%, #e9f6ef 100%);
}
.service-page[data-service-kind="invite-center"] .service-topbar {
  gap: 10px;
  margin-bottom: 12px;
}
.service-page[data-service-kind="invite-center"] .service-back {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  box-shadow: 0 5px 14px rgba(30,73,51,.12);
}
.service-page[data-service-kind="invite-center"] .service-title-wrap h1 {
  font-size: 22px;
  line-height: 1.05;
}
.service-page[data-service-kind="invite-center"] .service-title-wrap small {
  margin-top: 5px;
  color: #b67818;
  font-size: 12px;
}
.service-page[data-service-kind="invite-center"] .service-pill {
  min-width: 58px;
  padding: 8px 12px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 6px 16px rgba(24,85,52,.12);
}
.service-page[data-service-kind="invite-center"] .service-body {
  gap: 10px;
}
.invite-center-page {
  gap: 10px;
}
.invite-demo-hero {
  height: 188px;
  min-height: 0;
  border-radius: 19px;
  background: #ff7a22;
  box-shadow: 0 10px 22px rgba(199,84,17,.16);
}
.invite-demo-hero .invite-center-art {
  opacity: 1;
  object-position: center;
}
.invite-demo-hero::after {
  background: linear-gradient(90deg, rgba(243,79,21,.96) 0%, rgba(247,84,25,.78) 44%, rgba(247,84,25,.04) 78%);
}
.invite-demo-hero .invite-hero-copy {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  max-width: 238px;
  padding: 13px 17px 12px;
}
.invite-hero-brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  color: #fff;
  background: transparent;
  font-size: 13px;
  line-height: 1;
}
.invite-hero-brand img {
  width: 25px;
  height: 25px;
  border-radius: 7px;
  box-shadow: 0 2px 8px rgba(61,20,0,.18);
}
.invite-demo-hero .invite-hero-copy h2 {
  margin-top: 15px;
  color: #fff;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 3px 10px rgba(91,26,0,.28);
}
.invite-demo-hero .invite-hero-copy p {
  margin-top: 7px;
  color: rgba(255,255,255,.95);
  font-size: 11.5px;
  line-height: 1.25;
}
.invite-hero-amount {
  display: block;
  margin-top: 8px;
  color: #fff7d4;
  font-size: 21px;
  line-height: 1;
  text-shadow: 0 3px 10px rgba(91,26,0,.30);
}
.invite-hero-amount b {
  /* 红包红(用户指定)+奶白描边:红字直接贴橙色横幅对比度不够,描边保证显眼 */
  color: #e8281a;
  font-size: 31px;
  letter-spacing: .3px;
  text-shadow:
    1px 0 0 #fff3d9, -1px 0 0 #fff3d9, 0 1px 0 #fff3d9, 0 -1px 0 #fff3d9,
    1px 1px 0 #fff3d9, -1px -1px 0 #fff3d9, 1px -1px 0 #fff3d9, -1px 1px 0 #fff3d9,
    0 3px 10px rgba(91, 26, 0, .35);
}
.invite-stats-strip {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  min-height: 64px;
  border-radius: 15px;
  overflow: hidden;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 20px rgba(27,85,52,.10);
}
#servicePage[data-service-kind="invite-center"] .service-card-block {
  margin-top: 0;
}
.invite-stats-strip div {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  min-width: 0;
  padding: 8px 6px;
  border-left: 1px solid rgba(48,86,67,.12);
}
.invite-stats-strip div:first-child {
  border-left: 0;
}
.invite-stats-strip b {
  color: #172f25;
  font-size: 24px;
  line-height: 1;
}
/* 已邀请→金、待首充→红(用户指定;已获得保持深色) */
.invite-stats-strip div:nth-child(1) b {
  color: var(--gold);
}
.invite-stats-strip div:nth-child(2) b {
  color: #E8281A;
}
.invite-stats-strip div:nth-child(3) b {
  color: var(--gold);
}
.invite-stats-strip span {
  margin-top: 2px;
  color: #60736a;
  font-size: 11px;
  line-height: 1.05;
}
.invite-stats-strip img {
  position: absolute;
  right: 14px;
  bottom: 10px;
  width: 24px;
  height: 24px;
  object-fit: contain;
  opacity: .68;
}
.invite-code-list {
  gap: 0;
  padding: 0;
  border-radius: 19px;
  overflow: hidden;
  background: rgba(255,255,255,.98);
}
.invite-code-item {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 14px;
  border-top: 1px dashed rgba(43,89,66,.16);
}
.invite-code-item:first-child {
  border-top: 0;
}
.invite-code-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e7f7eb;
}
.invite-code-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.invite-code-item small {
  display: block;
  color: #21362c;
  font-size: 12px;
  line-height: 1.1;
}
.invite-code-item strong {
  display: block;
  margin-top: 4px;
  color: #142820;
  /* 22px 偏大(用户反馈),回到正文加重的正常尺寸 */
  font-size: 15px;
  line-height: 1;
  letter-spacing: .5px;
}
.invite-code-item code {
  display: block;
  max-width: 190px;
  margin-top: 4px;
  overflow: hidden;
  color: #6a7c73;
  font-family: inherit;
  font-size: 12px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.invite-code-item button,
.invite-copy-secondary {
  min-width: 88px;
  padding: 9px 11px;
  border-radius: 999px;
  color: #16a45a;
  background: #e8f8ee;
  box-shadow: none;
}
.invite-link-item .invite-code-icon {
  background: #e9f8e8;
}
.invite-process-line {
  padding: 10px 14px 11px;
  border-radius: 19px;
  background: rgba(255,255,255,.98);
}
.invite-process-line h3,
.invite-record-card h3 {
  font-size: 15px;
  line-height: 1.1;
}
.invite-process-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 9px;
}
.invite-process-steps::before {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  top: 14px;
  height: 2px;
  background: linear-gradient(90deg,#1eaa57,#d8a420,#43a85d);
}
.invite-process-steps div {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
}
.invite-process-steps i {
  position: relative;
  z-index: 2;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: #27b95f;
  font-style: normal;
  font-size: 12px;
}
.invite-process-steps div:nth-child(2) i {
  background: #d29b17;
}
.invite-process-steps span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-top: 8px;
  border-radius: 50%;
  background: #e8f8ee;
}
.invite-process-steps div:nth-child(2) span {
  background: #fff0d5;
}
.invite-process-steps img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.invite-process-steps b {
  margin-top: 6px;
  color: #173128;
  font-size: 11px;
  line-height: 1.2;
}
.invite-process-steps small {
  margin-top: 2px;
  color: #697b72;
  font-size: 9.5px;
  line-height: 1.18;
}
.invite-record-card {
  padding: 10px 14px 11px;
  border-radius: 19px;
  background: rgba(255,255,255,.98);
}
.invite-empty-card {
  display: grid;
  grid-template-columns: 98px 1fr;
  gap: 4px 14px;
  align-items: center;
  min-height: 104px;
  margin-top: 3px;
}
.invite-empty-card > img {
  grid-row: 1 / span 2;
  width: 88px;
  height: 88px;
  object-fit: contain;
}
.invite-empty-card strong {
  display: block;
  color: #142820;
  font-size: 18px;
  line-height: 1.2;
}
.invite-empty-card span {
  display: block;
  margin-top: 5px;
  color: #65786f;
  font-size: 12px;
  line-height: 1.35;
}
.invite-empty-card button {
  grid-column: 2;
  width: 100%;
  max-width: 202px;
  margin-top: 7px;
  padding: 9px 14px;
  font-size: 14px;
}
.invite-warning-strip {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #ecc776;
  border-radius: 15px;
  color: #a66f11;
  background: linear-gradient(180deg,#fff7dd,#fff0c6);
}
.invite-warning-strip img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.invite-warning-strip span {
  font-size: 12px;
  line-height: 1.35;
}
@media (max-width: 370px) {
  .invite-demo-hero {
    height: 178px;
  }
  .invite-demo-hero .invite-hero-copy {
    max-width: 218px;
    padding: 12px 15px;
  }
  .invite-demo-hero .invite-hero-copy h2 {
    margin-top: 12px;
    font-size: 22px;
  }
  .invite-hero-amount {
    font-size: 20px;
  }
  .invite-hero-amount b {
    font-size: 29px;
  }
  .invite-stats-strip img {
    right: 8px;
    width: 21px;
    height: 21px;
  }
  .invite-code-item {
    grid-template-columns: 39px minmax(0,1fr) auto;
    gap: 7px;
    padding: 12px 10px;
  }
  .invite-code-item strong {
    font-size: 20px;
  }
  .invite-code-item code {
    max-width: 150px;
    font-size: 11px;
  }
  .invite-code-item button {
    min-width: 76px;
    padding: 8px 9px;
    font-size: 10.5px;
  }
  .invite-empty-card {
    grid-template-columns: 94px 1fr;
  }
  .invite-empty-card > img {
    width: 90px;
    height: 90px;
  }
  .invite-empty-card strong {
    font-size: 17px;
  }
}

/* Reward mall reference parity pass */
.service-page[data-service-kind="reward-mall"] .service-screen {
  width: min(100%, 408px);
  padding: 10px 8px calc(18px + env(safe-area-inset-bottom));
  background: #F4F7F5;
}
.service-page[data-service-kind="reward-mall"] .service-topbar {
  margin-bottom: 10px;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
}
.service-page[data-service-kind="reward-mall"] .service-back {
  width: 40px;
  height: 40px;
  border-radius: 16px;
}
.service-page[data-service-kind="reward-mall"] .service-title-wrap h1 {
  font-size: 23px;
  line-height: 1.05;
}
.service-page[data-service-kind="reward-mall"] .service-title-wrap small {
  margin-top: 3px;
  color: #617469;
  font-size: 11.5px;
}
.service-page[data-service-kind="reward-mall"] .service-pill {
  padding: 9px 13px;
  color: #1b8c50;
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 14px rgba(20,90,50,.12);
}
.service-page[data-service-kind="reward-mall"] .service-body,
.reward-mall-center {
  gap: 8px;
}
.reward-mall-center .mall-hero {
  min-height: 166px;
  padding: 15px 17px;
  border-radius: 17px;
  box-shadow: 0 12px 24px rgba(21,102,58,.12);
}
.reward-mall-center .mall-hero small {
  color: #7c6122;
  font-size: 12px;
}
.reward-mall-center .mall-hero strong {
  margin-top: 2px;
  color: #123528;
  font-size: 48px;
  line-height: .98;
}
.reward-mall-center .mall-hero p {
  max-width: 190px;
  margin-top: 8px;
  color: #687157;
  font-size: 12.5px;
  line-height: 1.35;
}
.reward-mall-center .mall-hero span {
  margin-top: auto;
  padding: 6px 12px;
  color: #f9d879;
  font-size: 11px;
  border-radius: 999px;
  background: #247c42;
}
.reward-mall-center .mall-hero-art {
  object-position: center;
}
.reward-mall-center .mall-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  overflow: visible;
  padding: 4px;
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 16px rgba(20,90,50,.10);
  scrollbar-width: none;
}
.reward-mall-center .mall-tabs::-webkit-scrollbar {
  display: none;
}
.reward-mall-center .mall-tabs button {
  min-width: 0;
  height: 34px;
  padding: 0 4px;
  border-radius: 999px;
  font-size: 12px;
  color: #4f655a;
  white-space: nowrap;
}
.reward-mall-center .mall-tabs .on {
  color: #fff;
}
.reward-mall-center .mall-tabs .on::after {
  left: 28%;
  right: 28%;
  bottom: -5px;
}
.reward-mall-center .mall-newcomer-banner {
  min-height: 128px;
  border-radius: 18px;
  box-shadow: 0 12px 24px rgba(15,103,57,.15);
}
.reward-mall-center .mall-newcomer-banner div {
  max-width: 52%;
  padding: 13px 15px;
}
.reward-mall-center .mall-newcomer-banner em {
  margin-bottom: 3px;
  font-size: 11px;
}
.reward-mall-center .mall-newcomer-banner h3 {
  font-size: 20px;
}
.reward-mall-center .mall-newcomer-banner p {
  margin-top: 5px;
  font-size: 11.5px;
}
.reward-mall-center .mall-newcomer-banner button {
  margin-top: 9px;
  padding: 8px 15px;
  font-size: 13px;
}
.reward-mall-center .mall-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.reward-mall-center .reward-product-card {
  position: relative;
  min-height: 112px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 62px minmax(0,1fr);
  gap: 8px;
  align-items: start;
  padding: 11px 10px 43px;
  border-radius: 16px;
  background: linear-gradient(180deg,#fff 0%,#fffef8 100%);
  box-shadow: 0 10px 22px rgba(20,90,50,.08);
}
.reward-mall-center .reward-product-card::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -30px;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(250,226,154,.28);
}
.reward-mall-center .reward-product-art {
  z-index: 1;
  align-self: start;
}
.reward-mall-center .reward-product-img {
  width: 62px;
  height: 62px;
}
.reward-mall-center .reward-product-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.reward-mall-center .reward-product-copy strong {
  display: block;
  color: #142820;
  font-size: 13.5px;
  line-height: 1.2;
}
.reward-mall-center .reward-product-copy span {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  padding: 4px 9px;
  border: 1px solid #efc56d;
  border-radius: 999px;
  color: #a36a10;
  background: #fffdf1;
  font-size: 11.5px;
  line-height: 1;
}
.reward-mall-center .reward-product-copy small {
  display: block;
  margin-top: 6px;
  color: #6b7b73;
  font-size: 11px;
  line-height: 1.25;
}
.reward-mall-center .reward-product-card .mall-action {
  position: absolute;
  z-index: 2;
  right: 10px;
  bottom: 10px;
  min-width: 86px;
  height: 28px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  color: #8d7a57;
  background: #ece2c3;
  box-shadow: none;
  font-size: 11.5px;
}
.reward-mall-center .reward-product-card.can-redeem .mall-action {
  color: #fff;
  background: linear-gradient(180deg,#24c76a,#07984d);
}
.reward-mall-center .mall-proof-note {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid rgba(40,165,90,.15);
  border-radius: 15px;
  color: #65766d;
  background: rgba(237,249,241,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.reward-mall-center .mall-proof-note img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.reward-mall-center .mall-proof-note span {
  font-size: 10.8px;
  line-height: 1.35;
}
.reward-mall-center .mall-proof-note b {
  color: #159453;
  font-size: 18px;
}
@media (max-width: 370px) {
  .service-page[data-service-kind="reward-mall"] .service-screen {
    padding-inline: 7px;
  }
  .reward-mall-center .mall-hero {
    min-height: 156px;
    padding: 13px 15px;
  }
  .reward-mall-center .mall-hero strong {
    font-size: 42px;
  }
  .reward-mall-center .mall-newcomer-banner {
    min-height: 118px;
  }
  .reward-mall-center .mall-newcomer-banner h3 {
    font-size: 18px;
  }
  .reward-mall-center .reward-product-card {
    grid-template-columns: 56px minmax(0,1fr);
    min-height: 108px;
    padding: 10px 9px 41px;
  }
  .reward-mall-center .reward-product-img {
    width: 56px;
    height: 56px;
  }
  .reward-mall-center .reward-product-copy strong {
    font-size: 12.5px;
  }
  .reward-mall-center .reward-product-card .mall-action {
    min-width: 78px;
    font-size: 11px;
  }
}

/* ===== iOS 刘海/状态栏安全区 (配合 index.html 的 viewport-fit=cover) =====
   让每个页面用自己的背景铺满状态栏那条(消除顶部色差),同时把标题/顶栏往下推、避开刘海。
   env(safe-area-inset-top) 在非刘海设备(含桌面)上为 0 → 这些页面外观零变化。
   幸运转盘因此会用它那张深蓝海报直接顶到状态栏 = 顶部和转盘同色。 */
@supports (top: env(safe-area-inset-top)) {
  /* 主 Tab 页(首页/充值/奖励/订单/我的): 内容整体下移,顶部光晕仍铺满刘海 */
  #loadphApp { padding-top: env(safe-area-inset-top); }
  /* 服务类全屏页(安全设置/账户/常用号码/客服中心/语言/奖励规则) */
  .service-screen { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
  /* 幸运转盘 */
  .service-page[data-service-kind="spin-center"] .service-screen { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
  /* 积分商城 / 邀请中心 */
  .service-page[data-service-kind="reward-mall"] .service-screen,
  .service-page[data-service-kind="invite-center"] .service-screen { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
  /* AI 客服 */
  .support-desk-head { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
  /* VIP 中心 */
  .vip-center-screen { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
  /* 登录 / 注册 */
  .auth-screen { padding-top: calc(16px + env(safe-area-inset-top)) !important; }
}

/* ===== 状态栏取色兜底(用户机型上 iOS 忽略 theme-color,状态栏改为采样文档/顶层元素的"背景色属性",
   不看背景图片像素 —— 证据:转盘页曾把状态栏刷成藏在海报图下面的绿底 #0e8b58)。
   转盘打开时(html[data-overlay-kind] 由 app.js openServicePage 设置)把所有可能被采样的背景色
   全部换成海报顶端的深蓝;海报下方露出的绿色由新插入的不透明绿色层原样保留,肉眼渲染不变。 ===== */
/* 普通二级页兜底(账户设置/安全设置/常用号码/USDT充值/帮助/语言/规则等全部 kind):
   统一喂 .service-screen 顶部色 #EAF7F0,状态栏与页面无缝同色。
   带专属配色的页面(转盘/邀请/商城/客服/VIP/登录/协议)在下方各自覆盖 —— 同优先级,靠源码顺序后者胜。 */
html[data-overlay-kind],
html[data-overlay-kind] body {
  background: #F4F7F5;
}
html[data-overlay-kind="spin-center"],
html[data-overlay-kind="spin-center"] body {
  background: #011e6a;
}
.service-page[data-service-kind="spin-center"] {
  background: #011e6a;
}
.service-page[data-service-kind="spin-center"] .service-screen {
  background:
    linear-gradient(180deg, rgba(8, 34, 123, .10), rgba(4, 129, 74, .08)),
    url("assets/reward-sec-spin-page-bg.webp") top center / 100% auto no-repeat,
    linear-gradient(#0e8b58, #0e8b58),
    #011e6a;
}
/* 邀请中心:页面顶部是白色光晕+浅绿渐变(原规则没写背景色属性,采样器漏到全局 html 的 #dfeee6 → 色差)。
   喂给采样器光晕顶部的等效色 #f5fbf8;渐变层不透明,肉眼渲染不变。 */
html[data-overlay-kind="invite-center"],
html[data-overlay-kind="invite-center"] body {
  background: #F4F7F5;
}
.service-page[data-service-kind="invite-center"] {
  background: #F4F7F5;
}
.service-page[data-service-kind="invite-center"] .service-screen {
  background: #F4F7F5;
}
/* 积分商城:屏幕为纯色 #eaf7ef(与邀请中心共用基础规则,但无邀请的白色光晕层) */
html[data-overlay-kind="reward-mall"],
html[data-overlay-kind="reward-mall"] body {
  background: #F4F7F5;
}
.service-page[data-service-kind="reward-mall"] {
  background: #F4F7F5;
}
/* AI 客服(supportModal 独立浮层,kind 由 app.js syncOverlayKind 维护):头部纯白 → 全喂白。
   遮罩层原是半透明暗色,手机上被全屏面板完全盖住,换成不透明白不影响手机渲染。 */
html[data-overlay-kind="support-desk"],
html[data-overlay-kind="support-desk"] body,
.support-desk-modal {
  background: #F4F7F5;
}
.support-desk {
  background-color: #F4F7F5;
}
/* VIP 中心:顶部为白色光晕+金色晕染 over #FFF7E8,等效色 #fdf5e6 */
html[data-overlay-kind="vip-center"],
html[data-overlay-kind="vip-center"] body,
.vip-center {
  background: #F4F7F5;
}
.vip-center-screen {
  background-color: #F4F7F5;
}

/* 转盘中奖文案:下移让开轮盘金色灯圈(灯圈超出 wheel-wrap 约 8px+光晕)。
   字色 = 红包红(用户指定),奶白描边保证在绿色舞台上足够显眼 */
.spin-center-page .spin-result {
  margin-top: 16px;
  color: #e8281a;
  font-size: 15px;
  text-shadow:
    1px 0 0 #fff3d9, -1px 0 0 #fff3d9, 0 1px 0 #fff3d9, 0 -1px 0 #fff3d9,
    1px 1px 0 #fff3d9, -1px -1px 0 #fff3d9, 1px -1px 0 #fff3d9, -1px 1px 0 #fff3d9,
    0 3px 8px rgba(20, 45, 32, .4);
}

/* 登录/注册页:顶部主体为线性渐变起点 #F7FCF9(两角薄荷光晕在状态栏高度已基本淡出,不作等效色)。
   旧值 #eef8f2 偏深一档,真机状态栏仍见缝(用户 2026-07-09 截图),按实际顶色重喂。 */
html[data-overlay-kind="auth"],
html[data-overlay-kind="auth"] body {
  background: #F4F7F5;
}
.auth-page {
  background-color: #F4F7F5;
}

/* 用户协议 / 隐私政策 全屏文档页(盖在登录页之上) */
.legal-page[hidden] { display: none !important; }
.legal-page {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: flex;
  justify-content: center;
  background: #F4F7F5;
}
.legal-screen {
  width: min(100%, 390px);
  max-height: 100vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: calc(16px + env(safe-area-inset-top, 0px)) 18px calc(30px + env(safe-area-inset-bottom, 0px));
}
.legal-topbar {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.legal-topbar h1 {
  font-size: 18px;
  text-align: center;
  color: var(--ink);
  font-weight: 800;
}
.legal-body { color: #33443b; font-size: 13.5px; line-height: 1.78; }
.legal-body .legal-updated { margin: 4px 0 14px; color: var(--t2); font-size: 12px; text-align: center; }
.legal-body h2 { margin: 16px 0 6px; font-size: 14.5px; color: var(--ink); font-weight: 700; }
.legal-body p { margin: 6px 0; }
html[data-overlay-kind="legal"],
html[data-overlay-kind="legal"] body {
  background: #F4F7F5;
}

/* 登录页底部协议入口按钮(嵌在同意文案里) */
.auth-note-link {
  border: 0;
  padding: 0;
  background: none;
  font: inherit;
  color: var(--green-deep);
  font-weight: 600;
}

/* 转盘奖品标签几何居中:此前标签盒锚点是"盒顶=圆心",内容整体下坠半盒高(~17px),
   导致上半圈标签挤向圆心(实测半径 73px)、下半圈甩向外沿(103px)、两侧偏离角平分线(±10°)。
   固定盒高+负半高外边距使盒中心与旋转锚点重合 → 所有标签精确落在同一半径圆环、正对各自扇区。 */
.spin-center-page .wheel-label {
  height: 40px;
  margin-top: -20px;
  justify-content: center;
}

/* ===== 首页 PCSO 开奖卡 ===== */
.pcso-card { padding: 16px 16px 12px; }
.pcso-card .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.pcso-card .top h2 { font-size: 16.5px; font-weight: 700; color: var(--ink); }
.pcso-body { display: grid; gap: 10px; }
.pcso-row { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 8px; }
.pcso-row > b { font-size: 11.5px; color: var(--ink); font-weight: 700; line-height: 1.25; white-space: nowrap; }
.pcso-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.pcso-slot { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 7px 2px 6px; border-radius: 12px; background: #F4FAF6; border: 1px solid var(--line); }
.pcso-slot small { font-size: 10px; font-weight: 700; color: var(--t2); letter-spacing: .3px; }
.pcso-slot span { display: flex; gap: 3px; }
/* 邀请中心「规则」胶囊可点 */
.service-page[data-service-kind="invite-center"] .service-pill { cursor: pointer; }

/* 常用号码快捷芯片(首页号码检测/充值页,一键复充) */
.saved-shortcuts { display: flex; gap: 8px; overflow-x: auto; margin-top: 10px; padding-bottom: 2px; scrollbar-width: none; }
.saved-shortcuts::-webkit-scrollbar { display: none; }
.saved-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #DCEFE3; border-radius: 999px; background: linear-gradient(135deg, #F8FEFA, #EFF9F3); padding: 5px 12px 5px 5px; font: inherit; cursor: pointer; }
.saved-chip .saved-avatar { width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(135deg, #0DD16B, #08B65A); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.saved-chip strong { display: block; font-size: 12px; color: var(--ink); font-weight: 600; line-height: 1.15; text-align: left; max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saved-chip small { display: block; font-size: 10px; color: var(--t2); line-height: 1.15; text-align: left; }

/* statgap 补漏:其余"大数字/标题+小标签"组件与 Codex 的排版收紧口径保持一致 */
.spin-award b,
.spin-award small { line-height: 1.1; }
.mall-hero strong,
.reward-mall-center .mall-hero strong { line-height: 1.05; }
.vip-level-card strong { line-height: 1.05; }
.invite-feature-stats b { line-height: 1.05; }

/* 球色统一 PCSO 票面红(用户指定,2D/3D 同色) */
.pcso-ball { width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 10.5px; font-weight: 800; color: #fff; background: linear-gradient(145deg, #E8502F, #C22F12); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16), 0 2px 4px rgba(160,50,20,.24); }
.pcso-ball.is-3d { background: linear-gradient(145deg, #E8502F, #C22F12); }
.pcso-ball.is-pending { background: #E3EDE6; color: #9AABA0; box-shadow: none; }
.pcso-disclaimer { display: block; margin-top: 10px; font-size: 10.5px; color: var(--t3); text-align: center; }
.pcso-disclaimer a { color: var(--green-deep); font-weight: 600; text-decoration: none; }

/* 公告条徽章:LoadPH 文字改小喇叭图标 */
.notice-badge { display: inline-flex; align-items: center; justify-content: center; padding: 5px; }
.notice-badge svg { width: 14px; height: 14px; display: block; }

/* 转盘顶部统计:加第四张「优惠券」卡,四列压缩布局 */
.spin-center-page .spin-center-hero { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.spin-center-page .spin-center-hero div { grid-template-columns: 24px 1fr; padding: 7px 6px; }
.spin-center-page .spin-center-hero div::before { width: 24px; height: 24px; background-size: 21px 21px; border-radius: 8px; }
.spin-center-page .spin-center-hero div:nth-child(4)::before { background-image: url("assets/reward-sec-icon-discount-coupon.webp"); }
.spin-center-page .spin-center-hero strong { font-size: 18px; }
/* 四卡排版 v2(用户反馈文字高低不齐):居中三段式 —— 标题一行居中 / 图标+数字并排居中 / 角标居中。
   数字行位置只取决于标题行(一行等高),四卡数字必然同一水平线;
   旧版图标占左列后文字列仅 ~40px,角标换行数不同把数字挤得高低不平。 */
.spin-center-page .spin-center-hero div {
  grid-template-columns: auto auto;
  grid-template-rows: auto auto 1fr;
  justify-content: center;
  justify-items: center;
  align-items: center;
  column-gap: 5px;
  row-gap: 2px;
  text-align: center;
  padding: 8px 4px 7px;
}
.spin-center-page .spin-center-hero div > span {
  grid-row: 1;
  grid-column: 1 / -1;
  white-space: nowrap;
}
.spin-center-page .spin-center-hero div::before {
  grid-row: 2;
  grid-column: 1;
  justify-self: end;
}
.spin-center-page .spin-center-hero div > strong {
  grid-row: 2;
  grid-column: 2;
  margin: 0;
  justify-self: start;
}
.spin-center-page .spin-center-hero div > small {
  grid-row: 3;
  grid-column: 1 / -1;
  align-self: start;
  line-height: 1.25;
}

/* 订单列表标题下副标题:与奖励中心页头实测样式完全一致(净间距 7px,灰绿 #65756C 12px/500) */
.records-sub {
  margin: -5px 2px 0; /* 抵消 records-list-head 的 12px 网格间距,净间距 7px = 奖励中心实测值 */
  color: #65756C;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

/* 转盘中奖轮播:新行滑入 */
.spin-history-row.feed-in { animation: spinFeedIn .45s ease; }
@keyframes spinFeedIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 关于 LoadPH 二级页 */
.about-page { display: grid; gap: 14px; }
.about-hero { text-align: center; padding: 10px 0 2px; }
.about-hero img { width: 64px; height: 64px; border-radius: 18px; box-shadow: 0 10px 24px rgba(7,193,96,.22); }
.about-hero h2 { margin-top: 10px; font-size: 20px; color: var(--ink); font-weight: 800; }
.about-hero p { margin-top: 2px; color: var(--gold); font-size: 12px; }
.about-block h3 { font-size: 14.5px; color: var(--ink); font-weight: 700; margin-bottom: 8px; }
.about-block p { color: var(--t2); font-size: 13px; line-height: 1.7; }
.about-block ul { margin: 0; padding-left: 18px; color: var(--t2); font-size: 13px; line-height: 1.8; }
.about-links { text-align: center; }
.about-links .auth-note-link { font-size: 13px; }

/* 固定视口:全局禁双击放大(通配符 0 优先级,不影响轮播的 pan-x/pan-y 手势规则)。
   配合 viewport meta 的 maximum-scale=1(iOS 输入框聚焦不再自动放大)与 app.js 的 gesture 拦截(iOS 双指)。 */
* { touch-action: manipulation; }

/* ===== 汇率:首页卡 + 换算器二级页 ===== */
.fx-card { padding: 16px 16px 6px; }
.fx-card .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.fx-card .top h2 { font-size: 16.5px; font-weight: 700; color: var(--ink); }
.fx-open-tag { border: 0; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: 600; }
.fx-body { display: grid; }
.fx-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 2px; background: none; border: 0; border-bottom: 1px solid var(--line); font: inherit; cursor: pointer; text-align: left; }
.fx-row:last-child { border-bottom: 0; }
.fx-cur { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.fx-cur > span { font-size: 13.5px; color: var(--t2); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 金额对齐(用户指定):₱ 排成一列对齐 + 数字紧贴 ₱ ——固定宽度列、内容左对齐 */
.fx-row > b { display: inline-flex; align-items: baseline; justify-content: flex-start; min-width: 76px; gap: 2px; font-size: 16px; font-weight: 500; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.fx-row > b .fx-peso { font-style: normal; color: var(--t2); font-weight: 600; }
.fx-row > b .fx-val { font-style: normal; }
.fx-badge { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .2px; }
.fx-badge.is-red { background: #FDECEC; color: #C43C2C; }
.fx-badge.is-blue { background: #E8F1FD; color: #2D6CB5; }
.fx-badge.is-teal { background: #E2F7F1; color: #0E8E6D; }
.fx-badge.is-green { background: #E7F8EF; color: var(--green-deep); }
.fx-badge.is-amber { background: #FBF3E0; color: #A87716; }

.fx-calc { display: block; }
.fx-field { display: block; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; box-shadow: 0 4px 14px rgba(20,90,50,.05); }
.fx-field small { display: block; font-size: 11.5px; color: var(--t2); font-weight: 600; }
.fx-field input { width: 100%; margin-top: 4px; border: 0; background: transparent; outline: none; font-family: inherit; font-size: 24px; font-weight: 700; color: var(--ink); line-height: 1.2; padding: 0; }
.fx-field.is-result b { display: block; margin-top: 4px; font-size: 24px; font-weight: 700; color: var(--green-deep); line-height: 1.2; overflow-wrap: anywhere; }
.fx-swap-row { display: flex; justify-content: center; margin: 9px 0; }
.fx-swap { width: 36px; height: 36px; border-radius: 50%; border: 0; background: #E7F8EF; color: var(--green-deep); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 10px rgba(35,140,89,.16); }
.fx-swap svg { width: 18px; height: 18px; }
.fx-chips { display: flex; gap: 8px; margin-top: 12px; }
.fx-chip { flex: 1; border: 1.5px solid var(--line); background: #fff; border-radius: 999px; padding: 7px 0; font-family: inherit; font-size: 12.5px; font-weight: 600; color: var(--t2); cursor: pointer; }
.fx-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 12px 2px 0; font-size: 11px; color: var(--t3); }
.fx-search { display: block; margin-top: 14px; }
.fx-search input { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font-family: inherit; font-size: 13.5px; color: var(--ink); background: #fff; outline: none; }
.fx-search input:focus { border-color: var(--green); }
.fx-list { margin-top: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.fx-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; background: none; border: 0; border-bottom: 1px solid var(--line); font: inherit; cursor: pointer; text-align: left; }
.fx-item:last-child { border-bottom: 0; }
.fx-item.is-active { background: #F1FBF5; }
.fx-item .tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fx-item .tx b { font-size: 13.5px; font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-item .tx small { font-size: 10.5px; color: var(--t3); }
.fx-item-rate { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--t2); white-space: nowrap; }
.fx-empty { padding: 18px; text-align: center; color: var(--t3); font-size: 12.5px; }

/* ===== 首页 JACKPOT 滚动大奖(老虎机翻牌) ===== */
/* ===== 平台累计充值金额 banner(照设计图:白绿卡+LIVE+金框翻牌+右侧3D插画) ===== */
/* margin 左右为 0:缩进交给外层 .section 的 padding,与 PCSO/汇率卡完全同宽对齐 */
.jackpot-card { position: relative; margin: 12px 0 0; border-radius: 20px; padding: 10px 14px 11px; overflow: hidden; text-align: left; background: linear-gradient(155deg, #F4FBF4 0%, #E4F4E6 60%, #D8EFDC 100%); border: 1px solid #CFE9D3; box-shadow: 0 10px 24px rgba(20,120,60,.16); }
.jackpot-card[data-jackpot-theme="gold"] { background: linear-gradient(155deg, #FFFDF6, #F6EBCE); border-color: #EAD9A8; }
.jackpot-card[data-jackpot-theme="purple"] { background: linear-gradient(155deg, #FBFAFF, #EBE4FA); border-color: #DAD2F0; }
/* 右侧 3D 钱包插画(设计师素材),右下贴边,数字层在其左 */
.jackpot-art { position: absolute; right: -4px; bottom: -6px; width: 70px; height: auto; z-index: 0; pointer-events: none; filter: drop-shadow(0 6px 10px rgba(30,90,45,.14)); }
/* LIVE 胶囊 */
.jackpot-live { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: #2FA35B; color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: 1px; position: relative; z-index: 1; }
.jackpot-live i { width: 5px; height: 5px; border-radius: 50%; background: #C4F5D4; box-shadow: 0 0 0 0 rgba(196,245,212,.9); animation: jkLive 1.6s ease-out infinite; }
@keyframes jkLive { 0% { box-shadow: 0 0 0 0 rgba(196,245,212,.8); } 70%,100% { box-shadow: 0 0 0 5px rgba(196,245,212,0); } }
/* 充值播报列表:同时 3 条,新条从顶部滑入、最旧移出;无标题/副标题(用户去掉) */
.jackpot-feed { position: relative; z-index: 1; margin-top: 8px; display: grid; gap: 5px; padding: 0 60px 2px 4px; overflow: hidden; }
.jf-item { display: flex; align-items: center; gap: 6px; white-space: nowrap; height: 22px; }
.jf-item.jf-new { animation: jfIn .4s cubic-bezier(.3,.7,.3,1); }
@keyframes jfIn { from { transform: translateY(-70%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.jf-phone { font-size: 14px; font-weight: 500; color: #1E2A24; font-variant-numeric: tabular-nums; font-family: "SF Pro Text", "Helvetica Neue", Arial, sans-serif; }
.jf-verb { font-size: 12px; font-weight: 400; color: #5A8C72; }
.jf-amt { font-size: 15.5px; font-weight: 500; color: #0E8B4F; font-variant-numeric: tabular-nums; }
.jf-check { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(150deg, #34C56B, #109B4E); display: flex; align-items: center; justify-content: center; font-style: normal; box-shadow: 0 3px 6px rgba(16,155,78,.3); }
.jf-check svg { width: 8px; height: 8px; }

/* ===== USDT 充值页 ===== */
.deposit-panel { display: grid; gap: 13px; }
.deposit-rate-pill { display: flex; align-items: center; justify-content: center; gap: 8px; }
.deposit-rate-pill i { font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .5px; color: #fff; background: linear-gradient(135deg, #0DD16B, #07C160); border-radius: 999px; padding: 4px 10px; }
.deposit-rate-pill span { font-size: 13px; font-weight: 700; color: var(--green-deep); white-space: nowrap; }
.deposit-amount-card { background: #F7FCF9; border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px 12px; text-align: center; }
.deposit-amount-card small { display: block; font-size: 11.5px; color: var(--t2); font-weight: 600; }
.deposit-amount-input { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-top: 4px; }
.deposit-amount-input input { width: 60%; min-width: 0; border: 0; outline: none; background: transparent; font-family: inherit; font-size: 38px; font-weight: 800; color: var(--ink); text-align: center; font-variant-numeric: tabular-nums; }
.deposit-amount-input input::placeholder { color: #C3D6C9; }
.deposit-amount-input em { font-style: normal; font-size: 15px; font-weight: 800; color: var(--t2); }
.deposit-chips { display: flex; gap: 8px; }
.deposit-chip { flex: 1; min-width: 0; border: 1.5px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 0; font-family: inherit; font-size: 12.5px; font-weight: 700; color: var(--t2); cursor: pointer; white-space: nowrap; }
.deposit-preview { font-size: 13px; color: var(--green-deep); font-weight: 700; margin-top: 8px; border-top: 1px dashed var(--line); padding-top: 9px; }
.deposit-hint-center { text-align: center; }
/* 充值方式九宫格(官方 logo 卡,可选中) */
.pay-grid-panel { padding: 12px 10px; }
.pay-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pay-tile { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 9px 4px 8px; border: 1.5px solid var(--line); border-radius: 13px; background: #fff; cursor: pointer; position: relative; transition: border-color .15s ease, box-shadow .15s ease; }
.pay-tile.selected { border-color: #0DAE5E; box-shadow: 0 0 0 2px rgba(13,174,94,.12); }
.pay-tile.selected::after { content: "✓"; position: absolute; top: 5px; right: 6px; width: 15px; height: 15px; border-radius: 50%; background: #0DAE5E; color: #fff; font-size: 10px; line-height: 15px; text-align: center; font-weight: 900; }
.pay-tile-logo { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.pay-tile-logo img { max-width: 36px; max-height: 36px; }
/* 宽字标(如 Maya 官方 148:43 绿字):加宽 logo 槽,高度不变保持三卡对齐 */
.pay-tile-logo.wide { width: 56px; }
.pay-tile-logo.wide img { max-width: 56px; max-height: 17px; }
.pay-tile-text { width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 800; color: #fff; letter-spacing: .2px; }
.pay-tile-text.coins { background: linear-gradient(135deg, #2F6BFF, #1652F0); }
.pay-tile-name { font-size: 12px; font-weight: 700; color: var(--ink); white-space: nowrap; }
.deposit-chips.four { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; min-width: 0; }
.deposit-chips.four .deposit-chip { padding: 8px 2px; font-size: 12px; }
/* 钞票芯片铺满、无边框无白纱(2026-07-19 需求:消除边角白框灰底);cover 已让票面铺满圆角框 */
.deposit-chip.banknote-chip{position:relative;isolation:isolate;aspect-ratio:2.4/1;height:auto;display:grid;place-items:center;overflow:hidden;border:0;border-radius:4px;padding:0;background-position:center;background-size:cover;background-repeat:no-repeat;color:#123F29}
/* 钞票纯色数字覆盖层:颜色随面额纸币主色,白色文字光晕保证在票面照片上清晰(2026-07-19) */
.bn-face{font-weight:1000;line-height:1;font-style:italic;letter-spacing:-.5px;text-shadow:0 0 3px #fff,0 0 6px #fff,0 1px 2px rgba(255,255,255,.9)}
.deposit-chip .bn-face{font-size:19px}
.ent-quick-only .bn-face{font-size:16px}
.bn-face-20{color:#C4531A}
.bn-face-50{color:#C21A2A}
.bn-face-100{color:#7A3C86}
.bn-face-200{color:#1C7A3A}
.bn-face-500{color:#B8811A}
.bn-face-1000{color:#1D5FA8}
.deposit-chip.bn-20{background-image:url("./assets/xcoins-banknote-20.webp?v=20260719-fill-1")}
.deposit-chip.bn-50{background-image:url("./assets/xcoins-banknote-50.webp?v=20260719-fill-1")}
.deposit-chip.bn-100{background-image:url("./assets/xcoins-banknote-100.webp?v=20260719-fill-1")}
.deposit-chip.bn-200{background-image:url("./assets/xcoins-banknote-200.webp?v=20260719-fill-1")}
.deposit-chip.bn-500{background-image:url("./assets/xcoins-banknote-500.webp?v=20260719-fill-1")}
.deposit-chip.bn-1000{background-image:url("./assets/xcoins-banknote-1000.webp?v=20260719-fill-1")}
.deposit-panel > * { min-width: 0; }
/* GCash 金额输入:₱ 前缀在数字左侧 */
.gcash-amount-input { justify-content: center; margin-top: 4px; }
.gcash-amount-input em { align-self: center; font-size: 26px; }
.gcash-amount-input input { width: auto; max-width: 62%; }
.deposit-warning { background: #FFF6E8; border: 1px solid rgba(203,167,90,.35); color: #9A6A1B; border-radius: 12px; padding: 10px 12px; font-size: 12.5px; font-weight: 600; line-height: 1.5; }
.deposit-amount-big { display: flex; align-items: baseline; gap: 8px; justify-content: center; }
.deposit-amount-big b { font-size: 34px; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: .5px; cursor: pointer; }
.deposit-amount-big span { font-size: 14px; font-weight: 700; color: var(--t2); }
.deposit-qr-wrap { display: flex; justify-content: center; }
.deposit-qr { width: 172px; height: 172px; border: 1px solid var(--line); border-radius: 14px; }
.deposit-address { display: grid; gap: 7px; justify-items: center; text-align: center; }
.deposit-address small { color: var(--t2); font-size: 11.5px; font-weight: 600; }
.deposit-address code { font-size: 12.5px; color: var(--ink); word-break: break-all; background: #F4FAF6; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; }
.deposit-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.deposit-meta div { text-align: center; background: #F4FAF6; border: 1px solid var(--line); border-radius: 12px; padding: 9px 4px; }
.deposit-meta span { display: block; font-size: 10.5px; color: var(--t2); font-weight: 600; }
.deposit-meta b { display: block; margin-top: 3px; font-size: 14px; color: var(--ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.deposit-status { text-align: center; font-size: 12.5px; color: var(--green-deep); font-weight: 600; line-height: 1.5; }
.deposit-paid { text-align: center; justify-items: center; }
.deposit-paid-icon { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #0DD16B, #07A352); color: #fff; font-size: 30px; font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 22px rgba(7,193,96,.3), 0 0 0 10px rgba(13,209,107,.1); }
.deposit-paid h2 { font-size: 19px; color: var(--ink); font-weight: 800; }
.deposit-paid-amount { font-size: 32px; font-weight: 800; color: var(--green-deep); font-variant-numeric: tabular-nums; }
.deposit-paid .cta { width: 100%; }
.deposit-done-link { border: 0; background: none; font-family: inherit; font-size: 13.5px; font-weight: 600; color: var(--t2); cursor: pointer; padding: 4px 12px; }
/* 充值记录:入口链接 + 订单列表(GCash/Maya/USDT 合并,带状态徽章) */
.deposit-method-head { display: flex; align-items: center; justify-content: space-between; }
.deposit-history-entry { border: 0; background: none; font-family: inherit; font-size: 13px; font-weight: 700; color: var(--green-deep); cursor: pointer; padding: 0 0 0 12px; }
.dh-empty { text-align: center; color: var(--t2); font-size: 13.5px; padding: 44px 12px; }
.dh-list { display: flex; flex-direction: column; gap: 10px; }
.dh-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; }
.dh-main { min-width: 0; flex: 1; }
.dh-top { display: flex; align-items: center; gap: 8px; }
.dh-top b { font-size: 14.5px; color: var(--ink); font-weight: 700; }
.dh-sub { margin-top: 3px; font-size: 11.5px; color: var(--t2); }
.dh-ref { margin-top: 2px; font-size: 11px; color: #9aa2ad; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dh-amount { font-size: 16px; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dh-status { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.dh-paid { color: #07934a; background: #E4F7EC; }
.dh-pending { color: #C77D12; background: #FDF1DD; }
.dh-expired { color: #8A94A6; background: #EEF1F5; }
.dh-failed { color: #D33A2C; background: #FBE7E4; }
/* 列表翻页(钱包明细/充值记录/提现记录共用):每页10条 */
.dh-pager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 14px; }
.dh-pager-btn { border: 1px solid var(--line); background: #fff; color: var(--green-deep); font-family: inherit; font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.dh-pager-btn:disabled { color: #A6B3AB; background: #F4F7F5; cursor: default; }
.dh-pager-num { font-size: 12.5px; color: var(--t2); font-weight: 600; font-variant-numeric: tabular-nums; }
/* 提现页表单 */
.wd-balance { text-align: center; font-size: 13px; color: var(--t2); margin-bottom: 4px; }
/* 余额行两端对齐:左余额、右「提现记录 ›」入口(复用充值页 .deposit-history-entry 链接样式) */
.wd-balance-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; }
.wd-balance b { color: var(--ink); font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
.wd-field { margin-top: 12px; }
.wd-field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--t2); margin-bottom: 5px; }
.wd-field input { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; font-size: 15px; font-family: inherit; color: var(--ink); background: #fff; }
.wd-field input:focus { outline: none; border-color: var(--green, #07C160); }
/* 成功页 VIP 升级引导卡(金色系,与 me 页 VIP 卡呼应) */
.deposit-vip-card { width: 100%; text-align: left; background: linear-gradient(135deg, #FFFDF6, #FFF6E2); border: 1px solid rgba(203,167,90,.35); border-radius: 16px; padding: 13px 15px; display: grid; gap: 7px; }
.deposit-vip-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.deposit-vip-top b { font-size: 13.5px; color: #7A5B18; font-weight: 800; }
.deposit-vip-top span { font-size: 11px; color: #B8893A; font-weight: 700; white-space: nowrap; }
.deposit-vip-progress { height: 6px; border-radius: 999px; background: rgba(203,167,90,.18); overflow: hidden; }
.deposit-vip-progress span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #E8C776, #C9982F); }
.deposit-vip-next { font-size: 12.5px; color: #7A5B18; font-weight: 700; }
.deposit-vip-perk { font-size: 12px; color: #9A6A1B; font-weight: 600; }
.deposit-vip-hint { font-size: 11px; color: #B8925A; line-height: 1.5; }

/* ===== 安全设置:子表单/设备列表/PIN 弹窗 ===== */
.security-form { display: grid; gap: 12px; }
.security-back-row { min-height: 52px; }
.security-back-row b { color: var(--green-deep); font-size: 14px; font-weight: 600; }
.security-hint { color: var(--t2); font-size: 12px; line-height: 1.6; margin: 2px 4px 0; }
.device-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.device-row:last-child { border-bottom: 0; }
.device-copy b { display: block; font-size: 14px; color: var(--ink); font-weight: 600; }
.device-copy small { display: block; margin-top: 3px; color: var(--t2); font-size: 11.5px; line-height: 1.4; }
.device-current { flex: 0 0 auto; font-size: 11px; font-weight: 600; color: var(--green-deep); background: #E7F8EF; border-radius: 999px; padding: 4px 10px; }
.pin-modal-error { color: #C43C2C; }
#pinModal input[name="pin"] { text-align: center; font-size: 20px; letter-spacing: 8px; font-weight: 700; }

/* 「我的」钱包卡合并版:余额+充值/提现行嵌入卡内(去独立卡皮,底部分隔线),下接积分/红包/待处理三格 */
.wstat .home-wallet-strip { margin: 0 0 12px; padding: 0 0 13px; min-height: 0; background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid var(--line); }
.wstat .sgrid { grid-template-columns: repeat(3, 1fr); }

/* 「我的」页 VIP 会员卡:背景跟随当前等级卡面(renderVip 挂 vip-skinned + vip-card-surface + level-{code},
   等级变量与 VIP 中心轮播卡共用 .vip-card-surface.level-* 那 10 条)。未登录/未知等级不挂类,保持原奶油卡。 */
.vip.vip-skinned { background: var(--vip-card-img, linear-gradient(120deg, #FFF8E4 0%, #F6EBCB 100%)) center/cover no-repeat #efe7d4; border-color: transparent; box-shadow: 0 8px 20px rgba(120,90,30,.2), inset 0 0 0 1px rgba(255,255,255,.22); }
.vip.vip-skinned::after { content: none; } /* 原右下白色光晕会盖住卡面徽章 */
.vip.vip-skinned .crown { color: var(--vip-muted, #9A7A2E); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned .vip-link { color: var(--vip-title, #8E6D22); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned h3 { color: var(--vip-title, #5E4A1C); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned p { color: var(--vip-muted, #8F7439); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned .vip-progress-meta span { color: var(--vip-muted, #7E662A); text-shadow: var(--vip-text-shadow, none); }
/* 「距下级还差」独立行,跟随 skin 的 muted 字色(与成长值行同色,浅金/深金卡面都清晰,2026-07-20 需求) */
.vip.vip-skinned .vip-next-line { color: var(--vip-muted, #7E662A); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned .vip-progress-next span { color: var(--vip-muted, #9A7A2E); text-shadow: var(--vip-text-shadow, none); }
.vip.vip-skinned .vip-progress { background: var(--vip-meter-bg, rgba(158,121,35,.16)); }
.vip.vip-skinned .vip-progress span { background: var(--vip-meter-fill, linear-gradient(90deg, #B8862D, #F4D37A)); }
/* 深色卡面上「已领取」灰按钮太暗,提高底色不透明度保持可读(浅色卡上同样成立) */
.vip.vip-skinned .go:disabled { color: #6a4a1a; background: rgba(255,250,224,.9); border: 0; }

/* ===== 娱乐中心:游戏大厅、房间选择、无头像实时投注房 ===== */
.entertainment-entry{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #BFE8CF;border-radius:18px;background:linear-gradient(135deg,#F8FFFA 0%,#EBFAF1 100%);padding:13px 15px;text-align:left;box-shadow:0 7px 18px rgba(20,90,50,.08);cursor:pointer}
.entertainment-entry:active{transform:scale(.99)}
.ent-entry-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:#DDF6E7;color:#0B9E55}
.ent-entry-icon svg{width:30px;height:30px}
.ent-entry-copy{min-width:0;flex:1}
.ent-entry-copy strong{display:block;color:var(--ink);font-size:15px;font-weight:800;line-height:1.2}
.ent-entry-copy small{display:block;margin-top:4px;color:var(--t2);font-size:11.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-entry-meta{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.ent-entry-meta em{font-size:10.5px;font-style:normal;font-weight:800;color:#078C4A;background:#E2F7EA;padding:5px 8px;border-radius:999px;white-space:nowrap}
.ent-entry-meta i,.ent-chevron{width:8px;height:8px;border-top:2px solid #90A99B;border-right:2px solid #90A99B;transform:rotate(45deg);display:block}

.service-page[data-service-kind^="entertainment-"] .service-screen{background:#F4F7F5;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.service-page[data-service-kind^="entertainment-"] .service-topbar{margin-bottom:16px}
/* 「投注记录」按钮背景对齐期号卡绿 #23A638(2026-07-19 需求9;live/wallet pill 各自覆盖不受影响) */
.service-page[data-service-kind^="entertainment-"] .service-pill{background:#23A638;color:#fff;box-shadow:0 5px 13px rgba(35,166,56,.24);font-variant-numeric:tabular-nums}
.service-page[data-service-kind^="entertainment-"] .service-title-wrap h1{font-size:21px}
.service-page[data-service-kind^="entertainment-"] .service-title-wrap small{color:#5D786A}
.ent-shell{display:grid;gap:14px;padding-bottom:22px}
.ent-wallet-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #BFE8CF;border-radius:18px;background:#fff;padding:14px 15px;box-shadow:0 7px 18px rgba(20,90,50,.07)}
.ent-wallet-strip span{display:block;color:var(--t2);font-size:11px}
.ent-wallet-strip strong{display:block;margin-top:4px;color:var(--ink);font-size:21px;font-weight:400;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.ent-wallet-action{border:1px solid #BFE8CF;background:#F1FBF5;color:#078C4A;border-radius:999px;padding:8px 11px;font:inherit;font-size:11px;font-weight:800}
.ent-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 3px}
.ent-section-heading h2{font-size:17px;line-height:1.25;color:var(--ink);font-weight:900}
.ent-section-heading p{margin-top:4px;color:var(--t2);font-size:11.5px;line-height:1.35}
.ent-game-grid{display:grid;gap:10px}
.ent-game-card{position:relative;display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:11px;row-gap:3px;width:100%;min-height:92px;border:1px solid #D6EADF;border-radius:18px;background:#fff;padding:14px 15px;text-align:left;box-shadow:0 6px 17px rgba(20,90,50,.06);cursor:pointer;overflow:hidden}
.ent-game-card::after{content:"";position:absolute;right:-22px;bottom:-34px;width:110px;height:110px;border-radius:50%;background:rgba(211,246,225,.42)}
.ent-game-card.is-internal{border-color:#F1D9AC;background:linear-gradient(120deg,#fff 0%,#FFFBF1 100%)}
.ent-game-card.is-internal::after{background:rgba(255,230,172,.34)}
.ent-game-icon{position:relative;z-index:1;grid-row:1 / span 2;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#ECFAF1;color:#08934D}
.ent-game-card.is-internal .ent-game-icon{background:#FFF3D8;color:#B37A18}
.ent-game-icon svg{width:35px;height:35px}
.ent-pcso-logo{display:block;width:42px;height:26px;object-fit:contain}
.ent-game-copy{position:relative;z-index:1;min-width:0}
.ent-game-copy strong{display:block;color:var(--ink);font-size:16px;font-weight:400}
.ent-game-copy small{display:block;margin-top:3px;color:var(--t2);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-game-badge{position:relative;z-index:1;align-self:start;color:#087E45;background:#E7F8EE;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:400;white-space:nowrap}
.ent-game-card.is-internal .ent-game-badge{color:#A46B0E;background:#FFF0C9}
.ent-game-schedule{position:relative;z-index:1;grid-column:2 / span 2;color:#6C8277;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-game-card .ent-chevron{position:absolute;z-index:2;right:16px;bottom:15px}
.ent-note-card,.ent-source-note{display:flex;align-items:center;gap:10px;border-radius:15px;padding:11px 13px;background:#F8FCF9;border:1px solid #DCEEE2;color:#6C8277}
.ent-note-card p,.ent-source-note p{font-size:11px;line-height:1.45}
.ent-note-icon{width:18px;height:18px;display:grid;place-items:center;border:1.5px solid #81A294;border-radius:50%;font-size:11px;font-weight:900;color:#6C8277;flex:0 0 auto}
.ent-inline-back{width:fit-content;border:0;background:transparent;color:#078C4A;font:inherit;font-size:12px;font-weight:800;padding:2px 0;cursor:pointer}
.ent-room-heading{align-items:center}
.ent-game-chip{border-radius:999px;background:#E3F7EB;color:#078C4A;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}
.ent-room-list{display:grid;gap:10px}
.ent-room-card{position:relative;display:grid;grid-template-columns:minmax(64px,auto) 1fr auto 9px;align-items:center;gap:11px;width:100%;min-height:76px;border:1px solid #D5EADF;border-radius:17px;background:#fff;padding:12px 14px;text-align:left;box-shadow:0 5px 14px rgba(20,90,50,.055);cursor:pointer}
.ent-room-card:disabled{cursor:not-allowed}
.ent-room-card.is-ended{filter:grayscale(1);opacity:.48;background:#F7F8F7;box-shadow:none}
.ent-room-time{color:var(--ink);font-size:18px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
.ent-room-main{min-width:0}
.ent-room-main strong{display:block;color:var(--ink);font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-room-main small{display:block;margin-top:4px;color:var(--t2);font-size:10.5px}
.ent-room-status{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:400;white-space:nowrap}
.ent-room-status.betting{color:#078C4A;background:#E5F8EC}
.ent-room-status.upcoming{color:#A27019;background:#FFF3D5}
.ent-room-status.ended{color:#7C8580;background:#E7EBE8}
.ent-source-note.is-official{background:#FFFDF5;border-color:#F0E3BD;color:#86662A}
.ent-source-note.is-internal{background:#FFFBF1;border-color:#F1DFB7;color:#8D691D}
.ent-source-note>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#E7F8EE;color:#078C4A;font-size:11px;font-weight:900;flex:0 0 auto}
.ent-source-note.is-internal>span{background:#FFF0C9;color:#A46B0E}

.ent-live-shell{gap:10px}
.ent-live-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ent-live-actions>div{display:flex;gap:6px}
.ent-live-actions button:not(.ent-inline-back){border:1px solid #CDE5D6;border-radius:999px;background:#fff;color:#4E7060;font:inherit;font-size:10.5px;font-weight:800;padding:6px 9px}
.ent-round-card{display:flex;align-items:center;justify-content:space-between;gap:9px;border-radius:18px;padding:13px 14px;background:#1A5B43;color:#fff;box-shadow:0 9px 18px rgba(9,74,49,.18)}
.ent-round-main{display:flex;align-items:center;gap:9px;min-width:0}
.ent-live-dot{width:8px;height:8px;border-radius:50%;background:#87E5A8;box-shadow:0 0 0 5px rgba(135,229,168,.18);flex:0 0 auto}
.ent-round-main small,.ent-countdown-wrap small{display:block;color:rgba(255,255,255,.7);font-size:9.5px}
.ent-round-main strong{display:block;margin-top:3px;color:#fff;font-size:14px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
.ent-countdown-wrap{text-align:right;flex:0 0 auto}
.ent-countdown-wrap strong{display:block;margin-top:3px;color:#FFF0B6;font-size:21px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.6px}
.ent-round-status{border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.14);color:#D8FFE5;font-size:10px;font-weight:400;white-space:nowrap}
.ent-result-strip{display:flex;align-items:center;gap:10px;border:1px solid #D8EAE0;border-radius:16px;background:#fff;padding:11px 13px}
.ent-result-strip>div{min-width:0;flex:1}
.ent-result-strip span,.ent-result-strip strong{display:block}
.ent-result-strip span{color:#75897E;font-size:10px}
.ent-result-strip strong{margin-top:3px;color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-result-strip>b{color:#087E45;font-size:16px;font-weight:400;letter-spacing:1px;white-space:nowrap}
.ent-result-strip>small{color:#9AA9A1;font-size:9.5px;white-space:nowrap}
.ent-feed-panel{border:1px solid #D8EAE0;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 5px 14px rgba(20,90,50,.05)}
.ent-panel-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 14px 10px;border-bottom:1px solid #EEF5F0}
.ent-panel-head h2{color:var(--ink);font-size:15px;font-weight:900}
.ent-panel-head p{margin-top:3px;color:#8A9C92;font-size:9.5px;line-height:1.3}
.ent-panel-head>span{color:#078C4A;background:#EAF9F0;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:900;white-space:nowrap}
.ent-feed-list{max-height:196px;overflow:auto}
.ent-feed-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid #F0F5F1}
.ent-feed-row:last-child{border-bottom:0}
.ent-feed-index{color:#A4B5AA;font-size:10px;font-variant-numeric:tabular-nums}
.ent-feed-copy{min-width:0}
.ent-feed-copy strong,.ent-feed-copy small{display:block}
.ent-feed-copy strong{color:#31483B;font-size:12px;font-weight:800}
.ent-feed-copy small{margin-top:2px;color:#789185;font-size:10.5px}
.ent-feed-amount{color:#078C4A;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.ent-feed-amount small{font-size:9px;font-weight:700}
.ent-bet-panel{position:sticky;bottom:0;z-index:4;margin:0 -2px;padding:13px 12px calc(12px + env(safe-area-inset-bottom));border:1px solid #CFE7D7;border-radius:20px;background:rgba(250,255,251,.97);box-shadow:0 -7px 22px rgba(20,90,50,.11);backdrop-filter:blur(12px)}
.ent-bet-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ent-bet-panel-head span,.ent-bet-panel-head strong{display:block}
.ent-bet-panel-head span{color:#789185;font-size:10px}
.ent-bet-panel-head strong{margin-top:2px;color:var(--ink);font-size:12px;font-weight:900}
.ent-balance-mini{color:#078C4A!important;background:#E8F8EE;border-radius:999px;padding:5px 8px;font-size:9.5px!important;font-weight:900;white-space:nowrap}
.ent-play-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:11px}
.ent-play-tabs button{border:1px solid #D6EADF;border-radius:10px;background:#fff;color:#6C8277;font:inherit;font-size:10.5px;font-weight:800;padding:8px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-play-tabs button.is-selected{border-color:#0AA75A;background:#E7F8EE;color:#078C4A;box-shadow:0 4px 10px rgba(7,140,72,.1)}
.ent-option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.ent-option-grid button{min-height:51px;border:1px solid #D9E9DF;border-radius:11px;background:#fff;text-align:center;font:inherit;padding:6px 3px}
.ent-option-grid button strong,.ent-option-grid button small{display:block}
.ent-option-grid button strong{color:#375345;font-size:13px;font-weight:900}
.ent-option-grid button small{margin-top:3px;color:#9AA9A1;font-size:8.5px;font-variant-numeric:tabular-nums}
.ent-option-grid button.is-selected{border-color:#0AA75A;background:#E7F8EE;box-shadow:0 4px 10px rgba(7,140,72,.12)}
.ent-option-grid button.gold.is-selected{border-color:#C8942A;background:#FFF5DA}
.ent-option-grid button.red.is-selected{border-color:#E65B55;background:#FFF0EF}
.ent-option-grid button.blue.is-selected{border-color:#4E94D8;background:#EFF7FF}
.ent-option-grid button.purple.is-selected{border-color:#9276C8;background:#F7F1FF}
.ent-option-grid button.green.is-selected{border-color:#0AA75A;background:#E7F8EE}
.ent-amount-head{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:#789185;font-size:10px;font-weight:800}
.ent-amount-row{display:grid;grid-template-columns:repeat(4,1fr) 1.45fr;gap:6px;margin-top:6px}
.ent-amount-row>button{border:1px solid #D6EADF;border-radius:10px;background:#fff;color:#557163;font:inherit;font-size:11px;font-weight:900;padding:8px 4px}
.ent-amount-row>button.is-selected{border-color:#0AA75A;background-color:#E7F8EE;color:#078C4A}
.ent-custom-amount{display:flex;align-items:center;gap:3px;border:1px solid #D6EADF;border-radius:10px;background:#fff;padding:0 6px;color:#8EA197}
.ent-custom-amount span{font-size:13px;font-weight:900}
.ent-custom-amount input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#557163;font:inherit;font-size:10px;font-weight:800}
.ent-pending-box{margin-top:10px;border-top:1px solid #E5F0E8;padding-top:8px}
.ent-pending-head{display:flex;align-items:center;justify-content:space-between;color:#789185;font-size:10px;font-weight:800}
.ent-pending-head b{min-width:18px;text-align:center;border-radius:999px;background:#E8F8EE;color:#078C4A;padding:3px 6px;font-size:9px}
.ent-pending-list{display:grid;gap:5px;margin-top:6px;max-height:74px;overflow:auto}
.ent-pending-empty{color:#A4B2AA;font-size:10px;padding:3px 0}
.ent-pending-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:9px;background:#F5FAF6;padding:6px 8px}
.ent-pending-row span,.ent-pending-row b,.ent-pending-row small{display:block}
.ent-pending-row b{color:#355345;font-size:10.5px}
/* 「已投注」球位前缀(第一球/第二球…)用主绿,与玩法名(深绿)区分,让玩家看清押的哪个球(2026-07-20 需求) */
.ent-pending-row b .ent-pending-pos{color:#078C4A}
.ent-pending-row small{margin-top:2px;color:#8A9C92;font-size:9px}
.ent-pending-row button{border:0;background:transparent;color:#C85A43;font:inherit;font-size:9.5px;font-weight:800;padding:4px}
.ent-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.ent-confirm-row span,.ent-confirm-row strong{display:block}
.ent-confirm-row span{color:#789185;font-size:10px}
.ent-confirm-row strong{margin-top:2px;color:var(--ink);font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.ent-confirm-row strong small{display:inline;font-size:9px;color:#078C4A}
.ent-confirm-button{border:0;border-radius:12px;background:linear-gradient(135deg,#0BA75A,#078B49);color:#fff;font:inherit;font-size:13px;font-weight:900;padding:12px 19px;box-shadow:0 6px 14px rgba(7,140,72,.22)}
.ent-rules-modal,.ent-history-modal{display:grid;gap:8px}
.ent-rule-item{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}
.ent-rule-item:last-child{border-bottom:0}
.ent-rule-item>b{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#E7F8EE;color:#078C4A;font-size:10px}
.ent-rule-item p{color:var(--t2);font-size:12px;line-height:1.5}
.ent-rule-head{display:block;margin-bottom:2px;color:var(--ink);font-size:12.5px;font-weight:800}
.ent-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}
.ent-history-row:last-child{border-bottom:0}
.ent-history-row span,.ent-history-row b,.ent-history-row small{display:block}
.ent-history-row b{color:var(--ink);font-size:12px}
.ent-history-row small{margin-top:3px;color:var(--t2);font-size:10px}
.ent-history-row>strong{color:#078C4A;font-size:12px;white-space:nowrap}
.ent-history-empty{padding:18px 4px;color:var(--t2);font-size:12px;text-align:center}

@media (max-width: 360px){
  .ent-game-card{grid-template-columns:44px 1fr auto;column-gap:8px;padding-left:11px;padding-right:11px}
  .ent-game-icon{width:44px;height:44px}
  .ent-game-schedule{font-size:9.5px}
  .ent-room-card{grid-template-columns:minmax(56px,auto) 1fr auto 8px;gap:8px;padding-left:11px;padding-right:11px}
  .ent-room-time{font-size:16px}
  .ent-room-status{padding:4px 6px;font-size:9px}
  .ent-option-grid button strong{font-size:12px}
  .ent-amount-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ent-confirm-button{padding-left:13px;padding-right:13px}
}

.service-page[data-service-kind="entertainment-wallet"] .service-screen{background:#F4F7F5}
.service-page[data-service-kind="entertainment-wallet"] .service-topbar{grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);margin-bottom:20px}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap{justify-self:center;text-align:center}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{justify-self:end}
.ent-wallet-strip-balance strong{display:flex;align-items:center;gap:4px}
.ent-wallet-strip-balance strong .xcoin-brand-icon-balance{width:20px;height:20px}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap{text-align:center}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap h1{font-size:21px}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{cursor:pointer;background:transparent;color:#17633a;box-shadow:none;padding:8px 4px;font-size:13px;font-weight:800}
.ent-wallet-page{display:grid;gap:14px;padding-bottom:10px;color:#173426}
.ent-wallet-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #d8e8de;border-radius:19px;background:#fff;box-shadow:0 7px 20px rgba(20,90,50,.06);overflow:hidden}
.ent-wallet-account{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:19px 13px}
.ent-wallet-account+ .ent-wallet-account{border-left:1px solid #e5eee8}
.ent-wallet-account-icon,.ent-wallet-route-icon{display:grid;place-items:center;border-radius:50%;background:#eaf7ef;color:#17633a;flex:0 0 auto}
.ent-wallet-account-icon{width:40px;height:40px}
.ent-wallet-account-icon img,.ent-wallet-route-icon img,.ent-wallet-route-arrow img,.ent-wallet-note img,.ent-wallet-record-icon img{width:22px;height:22px;object-fit:contain}
.ent-wallet-account small,.ent-wallet-account strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-wallet-account small{color:#60766a;font-size:11px;font-weight:700}
.ent-wallet-account strong{margin-top:5px;color:#173f29;font-size:19px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.35px}
.ent-wallet-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid #e0ebe4;border-radius:15px;background:#f4f8f5}
.ent-wallet-tabs button{min-height:45px;border:0;border-radius:12px;background:transparent;color:#708278;font:inherit;font-size:12px;font-weight:800}
.ent-wallet-tabs button.is-selected{background:#fff;color:#17633a;box-shadow:0 3px 10px rgba(20,90,50,.07)}
.ent-wallet-route{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dceae1;border-radius:17px;background:#fff;padding:14px 13px}
.ent-wallet-route>div{display:flex;align-items:center;gap:8px;min-width:0}
.ent-wallet-route>div:last-child{justify-content:flex-end}
.ent-wallet-route strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-wallet-route-icon{width:34px;height:34px}
.ent-wallet-route-icon img{width:19px;height:19px}
.ent-wallet-route-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dbe8e0;border-radius:50%;background:#fbfdfb}
.ent-wallet-route-arrow img{width:19px;height:19px}
.ent-wallet-form{display:grid;gap:10px;margin-top:2px}
.ent-wallet-form h2{font-size:15px;font-weight:900;color:#173426}
.ent-wallet-amount-field{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;min-height:76px;border:1.5px solid #9ac7ab;border-radius:17px;background:#fff;padding:0 13px;box-shadow:0 4px 12px rgba(20,90,50,.04)}
.ent-wallet-amount-field>span{color:#17492c;font-size:24px;font-weight:900;text-align:center}
.ent-wallet-amount-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#123f29;padding:0 9px;font:inherit;font-size:31px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.ent-wallet-amount-field input::placeholder{color:#b8c7bf}
.ent-wallet-amount-field button{min-height:38px;border:0;border-left:1px solid #e1e9e4;background:transparent;color:#078C4A;padding:0 3px 0 15px;font:inherit;font-size:12px;font-weight:900}
.ent-wallet-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:#718078;font-size:10.5px;line-height:1.35}
.ent-wallet-meta span:last-child{text-align:right}
.ent-wallet-meta b{color:#1d7b48;font-weight:800}
.ent-wallet-preview{display:grid;gap:7px;border-radius:17px;background:#f1f7f3;padding:16px 17px}
.ent-wallet-preview span{color:#6b7d73;font-size:12px}
.ent-wallet-preview strong{color:#15472b;font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.ent-wallet-submit{min-height:52px;border:0;border-radius:15px;background:#078C4A;color:#fff;font:inherit;font-size:15px;font-weight:900;box-shadow:0 8px 18px rgba(23,108,60,.18)}
.ent-wallet-submit:disabled{background:#b7c9be;box-shadow:none;color:#f4f8f5}
.ent-wallet-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#74847b;font-size:10.5px;text-align:center}
.ent-wallet-note img{width:17px;height:17px;opacity:.7}
.ent-wallet-record-list{display:grid}
.ent-wallet-record{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e8f0eb}
.ent-wallet-record:last-child{border-bottom:0}
.ent-wallet-record-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf8f1}
.ent-wallet-record-icon img{width:18px;height:18px}
.ent-wallet-record strong,.ent-wallet-record small{display:block}
.ent-wallet-record strong{color:#254436;font-size:12px}
.ent-wallet-record small{margin-top:3px;color:#86968d;font-size:10px}
.ent-wallet-record>b{color:#D14343;font-size:12px;font-variant-numeric:tabular-nums}
.ent-wallet-record>b.positive{color:#078C4A} /* uiPolish=20260807-1:钱包记录正向金额(含+号)#23A638→#078C4A,与档位胶囊绿同值 */

@media (max-width:370px){
  .ent-wallet-account{grid-template-columns:34px minmax(0,1fr);gap:7px;padding:16px 10px}
  .ent-wallet-account-icon{width:34px;height:34px}
  .ent-wallet-account strong{font-size:17px}
  .ent-wallet-amount-field input{font-size:28px}
  .ent-wallet-route{padding-left:10px;padding-right:10px}
}

/* Entertainment betting room: compact history, position-first markets and conditional bet sheet */
.ent-market-panel{border:1px solid #d8eae0;border-radius:18px;background:#fff;padding:14px;box-shadow:0 5px 14px rgba(20,90,50,.05)}
.ent-result-toggle{display:block;padding:0;overflow:hidden}
.ent-result-toggle>button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:10px;border:0;background:#fff;padding:12px 14px;text-align:left;color:inherit;font:inherit}
.ent-result-toggle>button>div span,.ent-result-toggle>button>div strong{display:block}.ent-result-toggle>button>div span{font-size:10px;color:#789185}.ent-result-toggle>button>div strong{margin-top:2px;font-size:12px}.ent-result-toggle>button>b{color:#17633a;font-variant-numeric:tabular-nums}.ent-result-toggle>button>i{font-style:normal;font-size:20px;transition:transform .2s}.ent-result-toggle>button>i.is-open{transform:rotate(180deg)}
.ent-draw-history-list{border-top:1px solid #edf4ef;padding:3px 14px 8px}.ent-draw-history-row{display:grid;grid-template-columns:1fr auto 78px;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf4ef;font-size:11px}.ent-draw-history-row:last-child{border-bottom:0}.ent-draw-history-row b{color:#17633a;letter-spacing:.5px;font-weight:400}.ent-draw-history-row small{text-align:right;color:#789185;white-space:nowrap}
/* 历史弹窗:时间往里收(2026-07-19 需求),右侧留边距、时间一行不换行、列加宽 */
.ent-draw-history-full{padding-right:6px}
.ent-draw-history-full .ent-draw-history-row{grid-template-columns:1fr auto 82px}
.ent-draw-history-full .ent-draw-history-row small{padding-right:2px}
/* 开奖历史检索:期号搜索框 + 时间筛选(复用 .hist-range)(2026-07-20 需求) */
.ent-draw-search{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}
.ent-draw-search .hist-range{margin:0}
.ent-draw-period-input{width:100%;border:1px solid #d8eae0;border-radius:10px;background:#fff;color:#173426;font:inherit;font-size:13px;padding:9px 12px}
.ent-draw-period-input::placeholder{color:#9AABA2}
/* uiPolish=20260807-1:点进搜索框不要浏览器默认黑色焦点框,换应用惯例的绿边+柔光(同 .ent-stake-input) */
.ent-draw-period-input:focus,.ent-draw-period-input:focus-visible{outline:0;border-color:#0a9b51;box-shadow:0 0 0 3px rgba(10,155,81,.1)}
.ent-view-only{margin:0;border-radius:10px;background:#fff4d5;color:#8a6311;padding:7px 10px;font-size:10.5px;text-align:center}
.ent-position-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;padding:4px;border-radius:12px;background:#f2f7f4}.ent-position-tabs button{min-height:36px;border:0;border-radius:9px;background:transparent;color:#61776b;font:inherit;font-size:11px;font-weight:800}.ent-position-tabs button.is-selected{background:#fff;color:#078c4a;box-shadow:0 2px 8px rgba(20,90,50,.1)}
.ent-balance-mini{border:0;border-radius:999px;background:#e9f8ee;color:#078c4a;font:inherit;font-size:10px;font-weight:900;padding:7px 10px;white-space:nowrap}
.ent-selected-summary{display:grid;gap:8px}.ent-selected-summary>strong{font-size:12px}.ent-selected-summary>div{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.ent-selected-summary button{flex:0 0 auto;border:1px solid #bfe8cf;border-radius:999px;background:#eefaf2;color:#17633a;font:inherit;font-size:10px;font-weight:800;padding:6px 9px}
.ent-stake-input{display:grid;gap:7px;margin-top:12px}.ent-stake-input span{color:#61776b;font-size:10px;font-weight:800}.ent-stake-input input{width:100%;min-height:48px;border:1.5px solid #bcdcca;border-radius:13px;background:#fff;padding:0 14px;color:#143426;font:inherit;font-size:17px;font-weight:900;outline:0}.ent-stake-input input:focus{border-color:#0a9b51;box-shadow:0 0 0 3px rgba(10,155,81,.1)}
.ent-quick-only{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:9px}
.ent-quick-only>button{position:relative;display:grid;place-items:center;aspect-ratio:2.18/1;height:auto;min-width:0;overflow:hidden;border:1px solid transparent;border-radius:4px;padding:0;background-color:transparent;background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:0 2px 5px rgba(19,68,42,.08);transform:scale(1);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ent-quick-only>button:focus-visible{outline:2px solid #0A8F4D;outline-offset:2px}
.ent-quick-only .ent-banknote-20{background-image:url("./assets/xcoins-banknote-20.webp?v=20260719-fill-1")}
.ent-quick-only .ent-banknote-50{background-image:url("./assets/xcoins-banknote-50.webp?v=20260719-fill-1")}
.ent-quick-only .ent-banknote-100{background-image:url("./assets/xcoins-banknote-100.webp?v=20260719-fill-1")}
.ent-quick-only .ent-banknote-200{background-image:url("./assets/xcoins-banknote-200.webp?v=20260719-fill-1")}
.ent-quick-only .ent-banknote-500{background-image:url("./assets/xcoins-banknote-500.webp?v=20260719-fill-1")}
.ent-quick-only>button.is-selected{border-color:#078C4A;box-shadow:0 0 0 1px rgba(7,140,74,.28),0 3px 8px rgba(7,140,74,.18);transform:scale(1.035)}

/* Approved 2026-07-16 live-room layout: room-level tabs, grouped ball markets, compact bet slip. */
.service-page[data-service-kind="entertainment-live"] .service-screen{background:#F4F7F5;background-color:#F4F7F5;padding-left:12px;padding-right:12px}
.service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;margin-bottom:9px}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap{min-width:0}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1{font-size:16.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap small{margin-top:1px;color:#315B47;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}
.ent-balance-pill{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:1px solid #BFE0CC;border-radius:999px;background:#fff;color:#17633A;font:inherit;font-size:10px;font-weight:400;font-variant-numeric:tabular-nums;padding:2px 8px;cursor:pointer}
.ent-balance-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ent-balance-pill .ent-balance-swap{flex:0 0 auto;color:#0B9563}
.service-page[data-service-kind="entertainment-live"] .service-pill{cursor:pointer;min-width:0;border:1px solid #23A638;border-radius:10px;background:#fff;color:var(--ink);box-shadow:none;padding:6px 8px;font-size:10px;font-weight:500}
.service-page[data-service-kind="entertainment-live"] .service-body{gap:0}
.ent-live-shell{gap:8px;padding-bottom:4px}
.ent-live-actions{min-height:25px}
.ent-live-actions .ent-inline-back{font-size:11px;font-weight:900}
.service-page[data-service-kind="entertainment-live"] .ent-round-card{min-height:58px;border-radius:14px;padding:9px 12px;background:#23A638;box-shadow:0 6px 14px rgba(24,138,44,.2)}
.service-page[data-service-kind="entertainment-live"] .ent-round-main small,.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap small{color:rgba(255,255,255,.76);font-size:9px;font-weight:400}
.service-page[data-service-kind="entertainment-live"] .ent-round-main strong{margin-top:3px;font-size:12.5px}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap{text-align:center}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap strong{margin-top:2px;color:#F6D66B;font-size:18px;font-weight:400}
.service-page[data-service-kind="entertainment-live"] .ent-round-status{position:relative;padding-right:17px;background:transparent;color:#fff;font-size:10px}
.service-page[data-service-kind="entertainment-live"] .ent-round-status::after{content:"";position:absolute;right:4px;top:50%;width:7px;height:7px;border-radius:50%;background:#76E79B;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(118,231,155,.13)}
.service-page[data-service-kind="entertainment-live"] .ent-round-status.ended::after{background:#C9D2CD;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle{border-color:#D2E7DA;border-radius:16px;background:#fff;box-shadow:0 4px 13px rgba(20,90,50,.04)}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{display:grid;grid-template-columns:1fr;gap:6px;width:100%;min-height:80px;padding:9px 11px}
.ent-result-head{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:8px;width:100%}
.ent-result-strip .ent-result-head{display:grid}
.ent-result-head>strong{margin:0;color:#173426;font-size:11px;font-weight:400;text-align:left}
.ent-result-head>small{max-width:160px;color:#667B70;font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ent-result-head>i{display:grid;place-items:center;color:#173F2C;font-style:normal;transition:transform .2s}
.ent-result-head>i.is-open{transform:rotate(180deg)}
.ent-result-items{display:grid;align-items:start;width:100%}
.ent-result-strip .ent-result-items{display:grid}
.ent-result-items.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ent-result-items.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-result-position{display:grid;justify-items:center;gap:4px;min-width:0;text-align:center}
.ent-result-strip .ent-result-position{display:grid}
.ent-result-position+.ent-result-position{border-left:1px solid #E3ECE7}
.ent-result-position>small{color:#173426;font-size:9.5px;font-weight:400;white-space:nowrap}
.ent-result-ball{width:24px;height:24px;display:grid!important;place-items:center;border-radius:50%;color:#fff!important;font-size:11.5px!important;font-weight:400;line-height:1;font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 3px rgba(255,255,255,.35),0 2px 6px rgba(15,70,42,.12)}
.ent-result-ball.tone-0{background:#15923C}.ent-result-ball.tone-1{background:#176EBD}.ent-result-ball.tone-2{background:#DF2929}
.ent-history-balls{display:inline-flex;align-items:center;gap:5px}
/* 去掉按钮 border-top:最后一行的 border-bottom 已是唯一分隔线,原来两条线重叠(2026-07-19 需求二) */
/* 开奖历史入口:文字链接→全宽白底绿描边按钮+历史图标,字 14px(2026-07-22 需求,方案C1) */
/* drawHistBtn=20260807-1:全宽方框 → 居中小胶囊(按用户要求);图标换书页素材 */
.ent-draw-history-open{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;margin:12px auto 0;border:1px solid #BFE8CF;border-radius:999px;background:#fff;color:#078C4A;padding:7px 14px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.ent-draw-history-open img{width:15px;height:15px;flex:0 0 auto;object-fit:contain}
.ent-draw-history-open svg{flex:0 0 auto}
.ent-draw-history-full{max-height:52vh;overflow-y:auto}
.ent-result-ball.ent-history-ball{width:20px;height:20px;font-size:10px!important}
.ent-result-empty{color:#8CA096!important;font-size:14px!important;font-weight:400}
.ent-live-top-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #CEE4D7;border-radius:12px;background:#F5FAF7}
.ent-live-top-tabs.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-live-top-tabs.count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ent-live-top-tabs button{min-width:0;min-height:35px;border:0;border-right:1px solid #E1ECE5;background:transparent;color:#263B30;font:inherit;font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-live-top-tabs button:last-child{border-right:0}
.ent-live-top-tabs button:last-child{white-space:normal;line-height:1.15;padding-left:3px;padding-right:3px}
.ent-live-top-tabs button.is-selected{background:#23A638;color:#fff}
.ent-dragon-hint{display:flex;align-items:center;gap:7px;margin:0 4px;color:#60756A;font-size:10px;line-height:1.35}
.ent-dragon-hint::before{content:"i";width:17px;height:17px;display:grid;place-items:center;flex:0 0 auto;border:1.5px solid #60756A;border-radius:50%;font-size:10px;font-weight:1000}
.service-page[data-service-kind="entertainment-live"] .ent-market-panel{display:grid;gap:0;border-color:#D4E8DC;border-radius:14px;background:#fff;padding:3px 11px;box-shadow:0 4px 12px rgba(20,90,50,.045)}
/* 龙虎模式(2026-07-26 需求④修订1):画面全铺满白卡内部——内嵌留白边被用户否("像多了一个方框"),padding 归零,深色面板方角(8903 已有 radius:0)直接顶到卡边,tab 表头在上、金额区在下,同一张卡无双框 */
.service-page[data-service-kind="entertainment-live"] .ent-market-panel.is-dragon-mode{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}
.ent-market-panel.is-dragon-mode .ent-market-group.is-dragon-tiger{border-bottom:0;box-shadow:none}
.ent-market-group{padding:8px 0 9px;border-bottom:1px solid #E6EFE9}
.ent-market-group:last-child{border-bottom:0}
.ent-market-group h3{margin:0 0 6px;color:#087B49;font-size:11.5px;font-weight:700}
.ent-market-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
/* 球位 tab + 下注选项合成一个框(方案A,2026-07-21;2026-07-26 需求④扩展到龙虎模式):两种模式共用同一张白卡,tab 恒为表头(方角+底部分隔线),切龙虎不再拆卡、角上不漏深色背景 */
.ent-bet-box:has(.ent-market-panel){border:1px solid #D4E8DC;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,90,50,.08);overflow:hidden}
.ent-bet-box:has(.ent-market-panel) .ent-live-top-tabs{border:0;border-radius:0;background:transparent;border-bottom:1px solid #E4EDE8}
.ent-bet-box:has(.ent-market-panel) .ent-market-panel{border:0;border-radius:0;background:transparent;box-shadow:none}
/* ⑭ 金额区合进选项框(2026-07-23):panel 去掉自己的边框,由 bet-box 统一成一个框 */
.service-page[data-service-kind="entertainment-live"] .ent-bet-box:has(.ent-market-panel) .ent-bet-panel{border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding-top:11px}
.service-page[data-service-kind="entertainment-live"] .ent-bet-box:has(.ent-market-panel) [data-ent-panel-host]{border-top:1px solid #E9F0EB;margin-top:2px}
/* 需求④修订2(2026-07-26):龙虎模式画面和金额区之间的 2px 白缝+分隔线清零(用户放大截图看到"残留白色");球模式保持原分隔线 */
.service-page[data-service-kind="entertainment-live"] .ent-bet-box:has(.ent-market-panel.is-dragon-mode) [data-ent-panel-host]{border-top:0;margin-top:0}
.ent-market-group.is-color .ent-market-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-market-options .ent-option{position:relative;min-height:46px;border:1px solid #D8E8DE;border-radius:10px;background:#fff;color:#173426;font:inherit;text-align:center;padding:6px 4px}
.ent-market-options .ent-option strong,.ent-market-options .ent-option small{display:block}
.ent-market-options .ent-option strong{font-size:13.5px;font-weight:400}
.ent-market-options .ent-option small{margin-top:2px;color:#536B5F;font-size:9.5px;font-variant-numeric:tabular-nums}
.ent-market-group.is-color .ent-option{min-height:44px}
.ent-market-group.is-color .ent-option strong{font-size:12px}
.ent-market-group.is-color .ent-option strong::before{content:"";display:inline-block;width:11px;height:11px;margin-right:5px;border-radius:50%;vertical-align:-1.5px}
.ent-market-group.is-color .ent-option.red strong::before{background:#E3262E}.ent-market-group.is-color .ent-option.blue strong::before{background:#176FBD}.ent-market-group.is-color .ent-option.green strong::before{background:#179440}
.ent-market-options .ent-option.is-selected{border-color:#23A638;background:#EAF8EF;box-shadow:inset 0 0 0 1px rgba(35,166,56,.12)}
.ent-market-options .ent-option:disabled{cursor:not-allowed;opacity:.55;background:#F6F9F7}
.ent-dragon-rule{margin:5px 0 0;border-radius:9px;background:#F0F8F3;color:#5B7166;padding:7px 9px;font-size:9.5px;line-height:1.45}
.ent-market-group.is-dragon-tiger .ent-market-options{grid-template-columns:repeat(3,minmax(0,1fr))}
/* 龙和虎选项区水墨背景(2026-07-19 图二规格):卡片加高让龙虎完整露出,按钮半透明浮在图上,
   龙=绿 / 和=金 / 虎=橙 各自描边与字色;标题绿字压在左上 */
/* width:100% 阻止 aspect-ratio 在 min-height 生效时反推宽度(曾导致卡比页签宽 25px 的"左右不对齐") */
.ent-market-group.is-dragon-tiger{position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;aspect-ratio:2.3/1;min-height:170px;border-radius:16px;overflow:hidden;padding:14px 14px 12px;background:url("./assets/ent-dragon-tiger-bg-2.webp?v=20260719-r8-5") center/cover no-repeat #F2FAF4}
.ent-market-group.is-dragon-tiger::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.04) 55%)}
.ent-market-group.is-dragon-tiger h3{color:#17864D;font-weight:800}
.ent-market-group.is-dragon-tiger .ent-market-options{margin-top:auto;padding:0 7%;gap:14px}
/* 按钮按图二规格:轻量半透明、主字粗大、小圆角矩形;下沉贴底让龙虎头完全无遮挡 */
/* 龙虎选项回归大小单双配色(2026-07-20 需求十八):白底不透明 + 黑字龙和虎 + 灰赔率 + 绿描边;放弃白字深阴影,水墨背景仍由 group 保留、白按钮浮于其上 */
.ent-market-group.is-dragon-tiger .ent-option{background:#fff;border-width:1.5px;border-color:#23A638;border-radius:12px;box-shadow:0 2px 8px rgba(19,68,42,.14);min-height:52px;padding:7px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ent-market-group.is-dragon-tiger .ent-option strong{font-size:17px;font-weight:400;line-height:1.15;color:#173426;text-shadow:none}
.ent-market-group.is-dragon-tiger .ent-option small{font-size:13px;margin-top:3px;color:#536B5F;text-shadow:none}
/* 选中态:浅绿底 + 绿边(与大小单双一致) */
.ent-market-group.is-dragon-tiger .ent-option.is-selected{border-color:#23A638;background:#EAF8EF;box-shadow:inset 0 0 0 1px rgba(35,166,56,.14),0 2px 10px rgba(19,68,42,.16)}
.service-page[data-service-kind="entertainment-live"] .ent-bet-panel{position:relative;bottom:auto;margin:0;border-color:#D3E7DA;border-radius:14px;background:#FAFDFB;padding:9px 10px calc(9px + env(safe-area-inset-bottom));box-shadow:0 4px 13px rgba(20,90,50,.06);backdrop-filter:none}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input{margin-top:0;gap:5px}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input span{color:#17633A;font-size:10.5px;font-weight:1000}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input input{min-height:38px;border-color:#BFD9C9;border-radius:10px;padding:0 36px 0 35px;font-size:15px}
/* 金额输入行:窄输入框 + 右侧独立清除按钮(2026-07-19 需求,原内嵌 × 已移除) */
.ent-stake-row{display:flex;align-items:stretch;gap:8px}
.ent-stake-row .ent-stake-field{flex:1;min-width:0}
.ent-stake-clear-btn{flex:0 0 auto;border:1px solid #CDE5D6;border-radius:11px;background:#fff;color:#4E7060;font:inherit;font-size:11.5px;font-weight:700;padding:0 14px;cursor:pointer}
.ent-stake-field{position:relative;display:block}
.ent-stake-field .xcoin-brand-icon-stake{position:absolute;left:10px;top:50%;width:18px;height:18px;transform:translateY(-50%);pointer-events:none}
.ent-stake-clear{position:absolute;top:50%;right:7px;transform:translateY(-50%);width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:#E3EEE7;color:#5F7568;font:inherit;font-size:14px;font-weight:700;line-height:1;padding:0;cursor:pointer}
.ent-stake-clear:active{background:#D3E4DA}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only{gap:6px;margin-top:6px}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button{height:auto}
.ent-selected-summary{display:grid;gap:5px;margin-top:8px}
.ent-selected-summary>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ent-selected-summary>header strong{color:#17633A;font-size:10.5px;font-weight:1000}
.ent-selected-summary>header button{border:0;background:transparent;color:#078C4A;font:inherit;font-size:9.5px;font-weight:900;padding:3px}
.service-page[data-service-kind="entertainment-live"] .ent-selected-summary>div{display:grid;gap:4px;overflow:visible;padding:0}
.service-page[data-service-kind="entertainment-live"] .ent-selected-summary>div>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto 15px;align-items:center;gap:6px;width:100%;border:1px solid #DCEBE2;border-radius:9px;background:#fff;color:#173426;padding:6px 8px;text-align:left}
.ent-selected-summary>div>button span{min-width:0;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ent-selected-summary>div>button small{color:#758A7E;font-size:8.5px;font-weight:400}
.ent-selected-summary>div>button b{color:#173426;font-size:9.5px;font-weight:500;white-space:nowrap}
.ent-selected-summary>div>button i{color:#9AABA2;font-style:normal;font-size:14px;text-align:center}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-row{display:grid;grid-template-columns:1fr;overflow:hidden;margin-top:8px;border-radius:12px;background:linear-gradient(180deg,#58D162 0%,#2DB13D 52%,#1E9B2F 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 4px 10px rgba(24,138,44,.28);padding:0}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{min-height:54px;width:100%;display:grid;justify-items:center;align-content:center;gap:3px;border-radius:0;background:transparent;box-shadow:none;padding:8px 10px;font-size:17px;color:#FFD84D;text-shadow:0 1px 2px rgba(9,72,26,.4);letter-spacing:1px}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button b{font:inherit;font-weight:1000;line-height:1.1}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{display:flex;align-items:center;gap:3px;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.2px;text-shadow:none;font-variant-numeric:tabular-nums}

@media (max-width: 360px){
  .service-page[data-service-kind="entertainment-live"] .service-screen{padding-left:11px;padding-right:11px}
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}
  .service-page[data-service-kind="entertainment-live"] .service-title-wrap h1{font-size:17px}
  .service-page[data-service-kind="entertainment-live"] .service-pill{padding-left:7px;padding-right:7px;font-size:9.5px}
  .ent-live-top-tabs button{font-size:10px}
  .ent-result-head>small{max-width:118px;font-size:8px}
  .ent-result-ball{width:22px;height:22px;font-size:11px!important}
  .ent-market-options .ent-option{min-height:42px}
}
.ent-pending-box{border:1px solid #d8eae0;border-radius:13px;background:#fff;padding:8px 10px}

/* Entertainment settlement feedback: isolated win popup, room layout stays untouched */
.ent-win-layer[hidden]{display:none!important}
.ent-win-layer{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:92px 22px 28px;pointer-events:none}
.ent-win-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:92px 22px 28px;background:rgba(20,31,25,.55);opacity:0;transition:opacity .2s ease;pointer-events:auto}
.ent-win-card{position:relative;width:min(306px,calc(100vw - 44px));border:2px solid #d9aa4d;border-radius:23px;background:#23A638;box-shadow:0 18px 42px rgba(7,35,21,.34);color:#173426;opacity:0;transform:translateY(18px) scale(.9);transform-origin:center;overflow:visible}
.ent-win-layer.is-visible .ent-win-backdrop{opacity:1}
.ent-win-layer.is-visible .ent-win-card{animation:entWinEnter .52s cubic-bezier(.2,.78,.22,1.15) forwards}
.ent-win-layer.is-closing .ent-win-backdrop{opacity:0}
.ent-win-layer.is-closing .ent-win-card{animation:entWinExit .2s ease forwards}
.ent-win-trophy{position:absolute;z-index:2;top:-88px;left:50%;width:238px;height:auto;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 8px 8px rgba(91,53,3,.2))}
.ent-win-close{position:absolute;z-index:4;top:-17px;right:-13px;width:42px;height:42px;display:grid;place-items:center;border:2px solid #f1ce7e;border-radius:50%;background:#23A638;box-shadow:0 4px 12px rgba(4,50,28,.26);padding:9px}
.ent-win-close img{display:block;width:100%;height:100%;filter:brightness(0) invert(1)}
.ent-win-main{position:relative;z-index:1;border-radius:21px 21px 46px 46px;background:#fffaf0;padding:65px 18px 23px;text-align:center;box-shadow:0 5px 14px rgba(124,82,11,.1)}
.ent-win-main h2{margin:0;color:#17613a;font-size:27px;line-height:1.1;font-weight:1000;letter-spacing:.5px}
.ent-win-amount{display:flex;align-items:baseline;justify-content:center;gap:7px;margin-top:15px;white-space:nowrap}
.ent-win-amount strong{color:#c7902d;font-size:45px;line-height:1;font-weight:1000;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}
.ent-win-amount span{color:#17613a;font-size:17px;font-weight:900}
.ent-win-main p{margin:15px 0 0;color:#283d32;font-size:14px;font-weight:900}
.ent-win-main small{display:block;margin-top:13px;padding-top:10px;border-top:1px solid #eadfc9;color:#334a3d;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}
.ent-win-actions{padding:20px 18px 15px;text-align:center}
.ent-win-actions>button{width:100%;min-height:45px;border:2px solid #edc669;border-radius:999px;background:#fff1c5;color:#23A638;box-shadow:0 5px 12px rgba(6,55,31,.2);font:inherit;font-size:15px;font-weight:1000}
.ent-win-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:14px;color:#eaf7ef;font-size:9.5px}
.ent-win-progress i{display:block;height:4px;border-radius:999px;background:#8de6aa;transform:scaleX(1);transform-origin:left;animation:entWinProgress var(--ent-win-remaining,8000ms) linear forwards}
.ent-win-progress span{white-space:nowrap}

/* Approved Xcoin identity: one gold asset, scaled by monetary context. */
.xcoin-brand-icon{display:inline-block;object-fit:contain;flex:0 0 auto;vertical-align:middle;filter:drop-shadow(0 2px 3px rgba(126,79,4,.18))}
.xcoin-brand-icon-entry{width:38px;height:38px}
.xcoin-brand-icon-mini{width:14px;height:14px}
.xcoin-brand-icon-balance{width:24px;height:24px}
.xcoin-brand-icon-amount{width:14px;height:14px}
.xcoin-brand-icon-wallet{width:30px;height:30px}
.xcoin-brand-icon-wallet-prefix{width:26px;height:26px}
.xcoin-brand-icon-route{width:22px;height:22px}
.xcoin-brand-icon-win{width:27px;height:27px;align-self:center}
.xcoin-brand-icon-record{width:23px;height:23px}
.ent-entry-icon{background:transparent;box-shadow:none}
.ent-entry-icon .xcoin-brand-icon{width:38px;height:38px}
.ent-entry-meta em{display:inline-flex;align-items:center;gap:4px}
.ent-entry-meta em .xcoin-brand-icon{width:14px;height:14px}
.entertainment-entry.is-panalo-branded{position:relative;isolation:isolate;min-height:76px;gap:11px;padding:11px 13px;border-color:#d9bd70;border-radius:19px;background:#fffdf7;box-shadow:0 8px 18px rgba(69,116,84,.1);overflow:hidden}
/* entbg-1(2026-07-26):艺术图右移38px让开标题文字(实测图案左缘174px vs 标题墨迹右缘201px,重叠27px;右移后图案212px起、PanaloX 球右侧仍留13px) */
.ent-entry-panalo-bg{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;opacity:.94;pointer-events:none;transform:translateX(32px)}
.entertainment-entry.is-panalo-branded>span{position:relative;z-index:2}
/* PanaloX logo 放大(2026-07-26 用户反馈看不清):入口 44/42→54/52、大厅槽 48→58,占卡片内容高约3/4 */
.entertainment-entry.is-panalo-branded .ent-entry-icon{width:66px;height:66px;border-radius:15px;background:transparent;box-shadow:none;overflow:hidden}
.ent-panalo-logo{display:block;object-fit:cover}
.ent-panalo-logo-entry{width:64px;height:64px;border-radius:14px;object-fit:contain}
.entertainment-entry.is-panalo-branded .ent-entry-copy{align-self:center;text-shadow:0 1px 0 rgba(255,255,255,.88)}
.entertainment-entry.is-panalo-branded .ent-entry-copy strong{color:#17382d;font-size:15.5px;font-weight:950;letter-spacing:.05px}
.entertainment-entry.is-panalo-branded .ent-entry-copy small{max-width:220px;margin-top:4px;color:#62796d;font-size:11px;font-weight:600}
.entertainment-entry.is-panalo-branded .ent-entry-meta{display:flex;align-items:center}
.entertainment-entry.is-panalo-branded .ent-entry-meta i{border-color:#b6862f}
.ent-game-card.is-panalo-x{isolation:isolate;grid-template-columns:48px minmax(0,1fr) 24px;grid-template-rows:auto auto auto;min-height:92px;column-gap:11px;row-gap:3px;padding:14px 15px;border:1px solid #dfbd67;border-radius:18px;background:#fffdf7;box-shadow:0 6px 17px rgba(66,113,81,.09);overflow:hidden}
.ent-game-card.is-panalo-x::after{display:none}
.ent-game-card.is-panalo-x:active{transform:scale(.992);box-shadow:0 5px 14px rgba(66,113,81,.08)}
/* panalogo-5(2026-07-26):底板被用户否("多了个方框")→背景回透明;保留 48 槽位+scale(1.31),金字内容≈48px 仍与 2D/3D 瓷砖等大、同缩进对齐 */
.ent-game-card.is-panalo-x .ent-game-icon{z-index:3;grid-row:1 / span 3;width:48px;height:48px;border-radius:16px;background:transparent;color:inherit;box-shadow:none;overflow:hidden}
.ent-panalo-emblem{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;transform:scale(1.31)}
.ent-panalo-track{position:absolute;z-index:1;top:0;right:0;width:52%;height:100%;object-fit:cover;object-position:right center;opacity:.72;pointer-events:none}
.ent-game-card.is-panalo-x .ent-game-copy{z-index:3;grid-column:2;grid-row:1 / span 2;align-self:end;padding-right:4px}
.ent-game-card.is-panalo-x .ent-game-copy strong{color:#15372d;font-size:16px;line-height:1.1;font-weight:400;letter-spacing:.05px}
.ent-game-card.is-panalo-x .ent-game-copy small{margin-top:3px;color:#4c7a68;font-size:11px;line-height:1.22;font-weight:400;white-space:normal;overflow:visible;text-overflow:clip}
.ent-game-card.is-panalo-x .ent-game-badge{display:none}
.ent-game-card.is-panalo-x .ent-game-schedule{z-index:3;grid-column:2;grid-row:3;align-self:start;color:#766343;font-size:10.5px;line-height:1.25;font-weight:400;white-space:normal;overflow:visible;text-overflow:clip}
.ent-game-card.is-panalo-x .ent-chevron{z-index:4;right:18px;top:50%;bottom:auto;width:12px;height:12px;margin-top:-7px;border-width:0 3px 3px 0;border-color:#bc8424;transform:rotate(-45deg)}
.ent-wallet-strip-balance{display:flex;align-items:center;gap:9px;min-width:0}
.ent-wallet-strip .ent-wallet-strip-balance>span{min-width:0;color:inherit}
.ent-wallet-strip .ent-wallet-strip-balance small{display:block;color:var(--t2);font-size:11px}
.ent-wallet-strip .ent-wallet-strip-balance strong{white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap>small{display:flex;align-items:center;gap:4px}
.ent-pending-row small,.ent-selected-summary button b,.ent-confirm-row strong,.ent-record-card footer span,.ent-record-card footer b{align-items:center;gap:4px}
.ent-pending-row small,.ent-selected-summary button b,.ent-record-card footer span,.ent-record-card footer b{display:inline-flex}
.ent-confirm-row strong{display:flex}
.ent-wallet-account-icon.is-xcoin,.ent-wallet-route-icon.is-xcoin{background:transparent;box-shadow:none}
.ent-wallet-account-icon .xcoin-brand-icon-wallet{width:30px;height:30px}
.ent-wallet-route-icon .xcoin-brand-icon-route{width:22px;height:22px}
.ent-wallet-meta b,.ent-wallet-preview strong,.ent-wallet-record>b{align-items:center;gap:5px}
.ent-wallet-meta b{display:inline-flex}
.ent-wallet-preview strong,.ent-wallet-record>b{display:flex}
.ent-wallet-record-icon{background:transparent}
.ent-wallet-record-icon .xcoin-brand-icon-record{width:23px;height:23px}
.ent-win-amount{align-items:center}
.ent-win-amount .xcoin-brand-icon-win{width:27px;height:27px;margin-right:1px}

/* Wallet conversion V2: selected compact mint-and-gold continuous flow. */
.service-page[data-service-kind="entertainment-wallet"] .service-screen{background-color:#F4F7F5}
.service-page[data-service-kind="entertainment-wallet"] .service-topbar{margin-bottom:0;padding-bottom:2px;background:transparent}
.service-page[data-service-kind="entertainment-wallet"] .service-back::before{filter:brightness(0) saturate(100%) invert(55%) sepia(94%) saturate(721%) hue-rotate(359deg) brightness(89%) contrast(88%)}
.service-page[data-service-kind="entertainment-wallet"] .service-body{padding-left:0;padding-right:0}
.ent-wallet-page-v2{display:grid;gap:0;padding-bottom:12px;color:#173426}
/* 背景图挂在 hero 自身并负 margin 拉满 screen 宽:背景绘制区=cqw 容器=同一个盒(无左右 padding),
   箭头用 cqw 公式定位在金色圆环正中,任何屏宽/有无滚动条都不漂(2026-07-19) */
.ent-wallet-hero{position:relative;container-type:inline-size;display:grid;grid-template-columns:120px 52px 120px;align-items:end;justify-content:center;column-gap:7px;min-height:174px;margin:0 -16px;padding:39px 0 23px;background:url("assets/wallet-exchange-hero-bg-v3.webp") center -42px/100% auto no-repeat}
.ent-wallet-hero-account{display:grid;justify-items:center;align-content:end;min-width:0}
/* 箭头 absolute 脱流后网格自动放置会把 Xcoin 账户挤进中间窄列——显式钉列 */
.ent-wallet-hero-account.is-left{grid-column:1}
.ent-wallet-hero-account.is-right{grid-column:3}
.ent-wallet-hero-account small,.ent-wallet-hero-account strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-wallet-hero-account small{margin-top:7px;color:#547160;font-size:12px;line-height:1.2;font-weight:750}
.ent-wallet-hero-account strong{margin-top:4px;color:#123f29;font-size:26px;line-height:1;font-weight:950;letter-spacing:-.55px;font-variant-numeric:tabular-nums}
.ent-wallet-hero .ent-wallet-account-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(235,248,239,.86);box-shadow:0 5px 15px rgba(36,102,64,.09)}
.ent-wallet-hero .ent-wallet-account-icon>img{width:21px;height:21px}
.ent-wallet-hero .ent-wallet-account-icon.is-xcoin{background:transparent;box-shadow:none}
.ent-wallet-hero .xcoin-brand-icon-wallet{width:32px;height:32px}
/* 箭头钉在背景图金色圆环正中:圆心=横向 50%、纵向 79.13%×图高;图 size:100% auto(高=66.667cqw)、top -18px
   → top = 79.13%×66.667cqw − 18px = 52.76cqw − 18px。cqw 随容器宽缩放,任何屏宽都精确对中(2026-07-19) */
.ent-wallet-hero-track{position:absolute;left:50%;top:calc(52.76cqw - 42px);transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;margin:0}
.ent-wallet-hero-track img{width:21px;height:21px;filter:brightness(0) saturate(100%) invert(55%) sepia(94%) saturate(721%) hue-rotate(359deg) brightness(89%) contrast(88%)}
.ent-wallet-mode-switch{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 24px;border-bottom:0}
.ent-wallet-mode-switch::after{content:"";position:absolute;left:50%;top:17px;width:1px;height:18px;background:#cbd6d0;transform:translateX(-50%)}
.ent-wallet-mode-switch button{position:relative;min-height:52px;border:0;background:transparent;color:#7c8982;font:inherit;font-size:13px;font-weight:850;cursor:pointer}
.ent-wallet-mode-switch button::after{content:"";position:absolute;left:31%;right:31%;bottom:0;height:2px;border-radius:999px;background:#d9e1dc}
.ent-wallet-mode-switch button.is-selected{color:#078C4A}
.ent-wallet-mode-switch button.is-selected::after{background:#078C4A}
/* 兑换方向行:居中一簇、紧凑排列(2026-07-19 需求;原三列 grid 两端拉满显松散) */
.ent-wallet-direction{display:flex;align-items:center;justify-content:center;gap:13px;margin:26px 22px 32px}
.ent-wallet-direction>div{display:flex;align-items:center;gap:7px;min-width:0}
.ent-wallet-direction strong{color:#6c7c73;font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-wallet-direction .ent-wallet-route-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#eaf7ef}
.ent-wallet-direction .ent-wallet-route-icon img{width:20px;height:20px}
.ent-wallet-direction .ent-wallet-route-arrow{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eaf7ef}
.ent-wallet-direction .ent-wallet-route-arrow img{width:20px;height:20px}
.ent-wallet-form{display:grid;gap:0;margin:0 22px}
.ent-wallet-form h2{margin:0 0 12px;color:#173426;font-size:16px;font-weight:950}
.ent-wallet-amount-line{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;min-height:92px;border:0;border-bottom:1.5px solid #23A638;background:transparent;padding:0}
.ent-wallet-amount-line>span{color:#17492c;font-size:27px;font-weight:950;text-align:center}
/* 兑换到 PHP 模式:金额前缀用 Xcoin 金币 logo 替代字母 X,居中于符号槽(2026-07-20 需求七) */
.ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{display:block;margin:0 auto}
.ent-wallet-amount-line input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#252a27;padding:0 10px;font:inherit;font-size:52px;line-height:1;font-weight:500;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}
.ent-wallet-amount-line input::placeholder{color:#252a27;opacity:1}
.ent-wallet-amount-line button{min-height:40px;border:0;background:transparent;color:#078C4A;padding:0 2px 0 16px;font:inherit;font-size:13px;font-weight:900}
.ent-wallet-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:13px;color:#74827a;font-size:10.5px;line-height:1.35}
.ent-wallet-meta span:last-child{text-align:right}
.ent-wallet-meta b{display:inline-flex;align-items:center;gap:4px;color:#1b7b47;font-weight:850}
/* 可用余额金币与数字垂直居中(2026-07-20 需求八):中和金币默认向下投影,使光学中心对齐文字 */
.ent-wallet-meta b .xcoin-brand-icon{filter:drop-shadow(0 1px 1.5px rgba(126,79,4,.16))}
.ent-wallet-receipt{display:grid;gap:11px;margin:29px 22px 25px;padding-top:23px;border-top:1px dashed #e1e8e4}
.ent-wallet-receipt>span{color:#6d7e74;font-size:13px}
/* 「预计到账 · 0 手续费」小字(2026-07-20 需求九) */
.ent-wallet-receipt .ent-wallet-fee-note{color:#97a69c;font-size:12px;font-style:normal;font-weight:600}
.ent-wallet-receipt strong{display:flex;align-items:center;gap:10px;color:#b17b14;font-size:32px;line-height:1;font-weight:950;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.ent-wallet-receipt .xcoin-brand-icon-balance{width:38px;height:38px}
.ent-wallet-page-v2 .ent-wallet-submit{min-height:56px;margin:0 24px 14px;border:0;border-radius:17px;background:#078C4A;color:#fff;font:inherit;font-size:16px;font-weight:950;box-shadow:0 9px 20px rgba(23,108,60,.17)}
.ent-wallet-page-v2 .ent-wallet-submit:disabled{background:#bfd0c5;color:#f7faf8;box-shadow:none}
.ent-wallet-page-v2 .ent-wallet-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:0 24px;color:#718078;font-size:10.5px;text-align:center}
.ent-wallet-page-v2 .ent-wallet-note img{width:17px;height:17px;opacity:.72}
.ent-wallet-page-v3 .ent-wallet-submit{min-height:64px;margin:0 18px 14px;border-radius:18px}
.ent-wallet-page-v3 .ent-wallet-note img{filter:brightness(0) saturate(100%) invert(55%) sepia(94%) saturate(721%) hue-rotate(359deg) brightness(89%) contrast(88%);opacity:1}
@media (max-width:370px){
  .ent-wallet-hero{grid-template-columns:106px 48px 106px;column-gap:5px;min-height:164px;padding-top:35px;padding-bottom:21px}
  .ent-wallet-hero-account small{font-size:11px}
  .ent-wallet-hero-account strong{font-size:23px}
  .ent-wallet-hero .ent-wallet-account-icon{width:33px;height:33px}
  .ent-wallet-hero .xcoin-brand-icon-wallet{width:29px;height:29px}
  .ent-wallet-hero-track{width:48px;height:48px}
  .ent-wallet-mode-switch{margin-left:18px;margin-right:18px}
  .ent-wallet-direction{margin-left:18px;margin-right:18px}
  .ent-wallet-direction strong{font-size:11.5px}
  .ent-wallet-form,.ent-wallet-receipt{margin-left:18px;margin-right:18px}
  .ent-wallet-amount-line input{font-size:46px}
  .ent-wallet-receipt strong{font-size:29px}
  .ent-wallet-receipt .xcoin-brand-icon-balance{width:34px;height:34px}
  .ent-wallet-page-v3 .ent-wallet-submit{margin-left:16px;margin-right:16px}
}
@media (max-width: 360px){
  .entertainment-entry{min-width:0;max-width:100%;gap:8px;padding-left:11px;padding-right:11px;overflow:hidden}
  .ent-entry-icon{width:38px;height:38px}
  .ent-entry-icon .xcoin-brand-icon{width:34px;height:34px}
  .ent-entry-meta{gap:5px}
  .ent-entry-meta em{gap:3px;padding:4px 5px;font-size:9.5px}
  .ent-entry-meta em .xcoin-brand-icon{width:12px;height:12px}
  .entertainment-entry.is-panalo-branded{min-height:68px;gap:8px;padding:10px 10px;border-radius:17px}
  .entertainment-entry.is-panalo-branded .ent-entry-icon{width:62px;height:62px;border-radius:13px}
  .entertainment-entry.is-panalo-branded .ent-panalo-logo-entry{width:60px;height:60px;border-radius:12px}
  .entertainment-entry.is-panalo-branded .ent-entry-copy strong{font-size:14.5px}
  .entertainment-entry.is-panalo-branded .ent-entry-copy small{max-width:150px;margin-top:5px;font-size:9.5px}
  .entertainment-entry.is-panalo-branded .ent-entry-meta{gap:0}
  .ent-game-card.is-panalo-x{grid-template-columns:44px minmax(0,1fr) 20px;min-height:88px;column-gap:9px;row-gap:3px;padding:12px 11px;border-radius:16px}
  .ent-game-card.is-panalo-x .ent-game-icon{width:44px;height:44px;border-radius:14px}
  .ent-panalo-emblem{border-radius:14px}
  .ent-panalo-track{width:46%;opacity:.58}
  .ent-game-card.is-panalo-x .ent-game-copy{padding-right:0}
  .ent-game-card.is-panalo-x .ent-game-copy strong{font-size:15px}
  .ent-game-card.is-panalo-x .ent-game-copy small{margin-top:3px;font-size:10px}
  .ent-game-card.is-panalo-x .ent-game-schedule{font-size:9.7px}
  .ent-game-card.is-panalo-x .ent-chevron{right:12px;width:10px;height:10px;margin-top:-6px}
}
@keyframes entWinEnter{0%{opacity:0;transform:translateY(20px) scale(.86)}70%{opacity:1;transform:translateY(-4px) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes entWinExit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.96)}}
@keyframes entWinProgress{to{transform:scaleX(0)}}

@media (max-width:370px){
  .ent-win-layer,.ent-win-backdrop{padding-left:18px;padding-right:18px}
  .ent-win-card{width:min(298px,calc(100vw - 36px))}
  .ent-win-trophy{top:-81px;width:220px}
  .ent-win-main{padding-top:59px}
  .ent-win-main h2{font-size:25px}
  .ent-win-amount strong{font-size:41px}
}

@media (prefers-reduced-motion: reduce){
  .ent-win-backdrop,.ent-win-card{transition:none!important;animation:none!important}
  .ent-win-layer.is-visible .ent-win-backdrop,.ent-win-layer.is-visible .ent-win-card{opacity:1;transform:none}
  .ent-win-progress i{animation:none!important;transform:none}
  .ent-win-trophy{filter:none}
}

/* Wallet conversion V5: supplied buy/redeem references, while preserving the
   existing transfer model, API hooks, records flow, and localization wiring. */
.service-page[data-service-kind="entertainment-wallet"]{background:#f7faf7}
.service-page[data-service-kind="entertainment-wallet"] .service-screen{
  box-sizing:border-box;
  width:min(100%,437px);
  padding:14px 0 calc(10px + env(safe-area-inset-bottom))!important;
  background:#F4F7F5;
  background-image:none;
  box-shadow:0 12px 40px rgba(7,43,39,.08);
  scrollbar-width:none
}
.service-page[data-service-kind="entertainment-wallet"] .service-screen::-webkit-scrollbar{width:0;height:0}
.service-page[data-service-kind="entertainment-wallet"] .service-topbar{
  grid-template-columns:50px minmax(0,1fr) 96px;
  gap:8px;
  min-height:42px;
  margin:0 15px 15px;
  padding:0
}
.service-page[data-service-kind="entertainment-wallet"] .service-back{
  width:41px;
  height:41px;
  border:0;
  border-radius:50%;
  box-shadow:0 5px 16px rgba(15,55,35,.1)
}
.service-page[data-service-kind="entertainment-wallet"] .service-back::before{
  width:19px;
  height:19px;
  background-size:19px 19px
}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap h1{
  color:#052b27;
  font-size:20px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.4px;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:91px;
  min-height:41px;
  border:0;
  border-radius:999px;
  padding:0 12px;
  color:#101715;
  font-size:12px;
  font-weight:650;
  box-shadow:0 5px 16px rgba(15,55,35,.1)
}
.service-page[data-service-kind="entertainment-wallet"] .service-pill img{
  width:20px;
  height:20px;
  filter:brightness(0) saturate(100%) invert(48%) sepia(73%) saturate(1015%) hue-rotate(78deg) brightness(86%) contrast(93%)
}
.service-page[data-service-kind="entertainment-wallet"] .service-body{display:block}
.ent-wallet-page-v5{
  --wallet-ink:#052b27;
  --wallet-title:#0a0a0a;
  --wallet-heading:#0a0a0a;
  /* walletFive=20260806-1:主绿统一 #41A236(rgb 65,162,54);按钮渐变三段同值=纯色。
     两档共享数字字号:图二/图三共用 buy,图四/图五共用 redeem。X 币金币保持官方金色不参与。 */
  --wallet-green:#41A236;
  --wallet-green-rgb:65,162,54;
  --wallet-submit-start:#41A236;
  --wallet-submit-mid:#41A236;
  --wallet-submit-end:#41A236;
  --wallet-buy-amount-size:clamp(34px,9.8vw,39px);
  --wallet-redeem-amount-size:clamp(32px,9.4vw,38px);
  --wallet-muted:#727b8b;
  --wallet-section-gap:12px;
  --wallet-receipt-top:22px;
  --wallet-receipt-bottom:14px;
  --wallet-benefits-height:61px;
  box-sizing:border-box;
  display:grid;
  gap:0;
  width:100%;
  max-width:437px;
  margin:0 auto;
  padding:0;
  color:var(--wallet-ink);
  font-family:inherit
}
.ent-wallet-page-v5 *{box-sizing:border-box}
.ent-wallet-page-v5 .ent-wallet-balance-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);
  align-items:center;
  justify-content:stretch;
  min-height:150px;
  margin:0 17px;
  padding:16px 15px 13px;
  overflow:hidden;
  border:1px solid rgba(87,164,91,.14);
  border-radius:17px;
  background:linear-gradient(105deg,#f5f9ef 0%,#f3f8ec 52%,#f8faef 100%);
  box-shadow:0 10px 23px rgba(31,79,43,.12)
}
.ent-wallet-page-v5 .ent-wallet-balance-texture{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none
}
.ent-wallet-page-v5 .ent-wallet-balance-texture img{
  position:absolute;
  width:34px;
  height:34px;
  object-fit:contain;
  opacity:.038;
  filter:grayscale(1) sepia(.18) hue-rotate(48deg)
}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(1){left:8px;top:10px;width:29px;height:29px;opacity:.031;transform:rotate(-31deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(2){left:31px;bottom:11px;width:36px;height:36px;opacity:.041;transform:rotate(29deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(3){left:116px;top:8px;width:22px;height:22px;opacity:.028;transform:rotate(78deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(4){left:142px;bottom:14px;width:27px;height:27px;opacity:.034;transform:rotate(-14deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(5){right:126px;top:4px;width:39px;height:39px;opacity:.036;transform:rotate(26deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(6){right:103px;bottom:9px;width:30px;height:30px;opacity:.042;transform:rotate(-27deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(7){right:28px;top:15px;width:23px;height:23px;opacity:.029;transform:rotate(69deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(8){right:4px;bottom:15px;width:35px;height:35px;opacity:.037;transform:rotate(-18deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(9){left:72px;top:3px;width:18px;height:18px;opacity:.033;transform:rotate(118deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(10){left:87px;bottom:2px;width:44px;height:44px;opacity:.046;transform:rotate(-54deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(11){right:67px;top:1px;width:28px;height:28px;opacity:.036;transform:rotate(141deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(12){right:48px;bottom:1px;width:19px;height:19px;opacity:.031;transform:rotate(-92deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(13){left:3px;top:63px;width:14px;height:14px;opacity:.023;transform:rotate(164deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(14){left:167px;top:-15px;width:50px;height:50px;opacity:.027;transform:rotate(-117deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(15){right:149px;bottom:-8px;width:42px;height:42px;opacity:.032;transform:rotate(47deg)}
.ent-wallet-page-v5 .ent-wallet-balance-texture img:nth-child(16){right:3px;top:67px;width:16px;height:16px;opacity:.025;transform:rotate(-153deg)}
.ent-wallet-page-v5 .ent-wallet-hero-account{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-rows:18px 48px 31px;
  align-items:center;
  justify-items:center;
  min-width:0;
  transform:translateY(-7px)
}
.ent-wallet-page-v5 .ent-wallet-hero-account>small{
  color:var(--wallet-title);
  font-size:11.2px;
  line-height:1;
  font-weight:560;
  white-space:nowrap;
  transform:translateY(-8px)
}
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon,
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon.is-xcoin{
  display:grid;
  place-items:center;
  width:49px;
  height:49px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateY(-5px)
}
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon>img,
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon.is-xcoin>img{
  width:54px;
  height:55px;
  object-fit:contain;
  filter:none
}
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon.is-xcoin>img{width:59px;height:59px}
.ent-wallet-page-v5 .ent-wallet-hero-account>strong{
  display:flex;
  align-items:baseline;
  justify-content:center;
  max-width:100%;
  color:var(--wallet-ink);
  font-size:24px;
  line-height:1;
  font-weight:750;
  letter-spacing:-.8px;
  white-space:nowrap
}
.ent-wallet-page-v5 .ent-wallet-hero-account>strong>small{
  margin-left:1px;
  color:inherit;
  font-size:12px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.15px
}
.ent-wallet-page-v5 .ent-wallet-hero-track{
  position:relative;
  left:auto;
  right:auto;
  top:0;
  z-index:2;
  display:grid;
  place-items:center;
  width:49px;
  height:49px;
  margin:8px auto 0;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 10px rgba(15,55,35,.095);
  transform:translateY(-7px)
}
.ent-wallet-page-v5 .ent-wallet-hero-track::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:50%;
  background:#fff
}
.ent-wallet-page-v5 .ent-wallet-hero-track::after{content:none}
.ent-wallet-page-v5 .ent-wallet-hero-track .ent-wallet-hero-connector{
  position:absolute;
  z-index:0;
  width:220px;
  height:74px;
  max-width:none;
  object-fit:fill;
  opacity:.78;
  filter:brightness(0) saturate(100%) invert(68%) sepia(19%) saturate(727%) hue-rotate(73deg) brightness(93%) contrast(86%)
}
.ent-wallet-page-v5 .ent-wallet-hero-track .ent-wallet-hero-nodes{
  position:absolute;
  z-index:0;
  width:28px;
  height:9px;
  object-fit:contain;
  opacity:.32;
  filter:brightness(0) saturate(100%) invert(59%) sepia(20%) saturate(871%) hue-rotate(76deg) brightness(91%) contrast(88%)
}
.ent-wallet-page-v5 .ent-wallet-hero-track .ent-wallet-hero-nodes.is-left-outer{left:-54px}
.ent-wallet-page-v5 .ent-wallet-hero-track .ent-wallet-hero-nodes.is-right-outer{right:-54px}
.ent-wallet-page-v5 .ent-wallet-hero-track .ent-wallet-hero-arrow{
  position:relative;
  z-index:2;
  width:32px;
  height:32px;
  object-fit:contain;
  /* walletFive=20260806-2:必须显式 filter:none —— 7917 的 v2 老规则给 .ent-wallet-hero-track img
     整体上橙色滤镜(原 v5 绿滤镜一直压着它,退役后橙滤镜漏上来把绿箭头染成 #d68810) */
  filter:none
}
.ent-wallet-page-v5 .ent-wallet-rate{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:35px;
  margin:6px 0;
  color:var(--wallet-green);
  font-size:12.5px
}
.ent-wallet-page-v5 .ent-wallet-rate strong{font-weight:650}
.ent-wallet-page-v5 .ent-wallet-rate img,
.ent-wallet-page-v5 .ent-wallet-meta img,
.ent-wallet-page-v5 .ent-wallet-estimated-rate img{
  width:14px;
  height:14px;
  opacity:.72
}
.ent-wallet-page-v5 .ent-wallet-operation-card{
  margin:0 13px;
  overflow:hidden;
  border-radius:17px;
  background:#fff;
  box-shadow:0 4px 18px rgba(15,55,35,.09)
}
.ent-wallet-page-v5 .ent-wallet-mode-switch{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  border:0;
  isolation:isolate;
  box-shadow:0 5px 14px rgba(15,55,35,.075)
}
.ent-wallet-page-v5 .ent-wallet-mode-switch::after{display:none}
.ent-wallet-page-v5 .ent-wallet-mode-switch button{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  min-height:52px;
  padding:0 8px;
  border:0;
  border-radius:0 17px 0 18px;
  background:#fff;
  color:#737d8b;
  font:inherit;
  font-size:13px;
  line-height:1.15;
  font-weight:650;
  box-shadow:none;
  white-space:nowrap
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button:first-child{border-radius:17px 0 18px 0}
.ent-wallet-page-v5 .ent-wallet-mode-switch button img{
  width:20px;
  height:20px;
  flex:0 0 auto;
  opacity:.84;
  filter:brightness(0) saturate(100%) invert(52%) sepia(10%) saturate(445%) hue-rotate(177deg) brightness(91%) contrast(88%)
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected{
  z-index:2;
  color:var(--wallet-green);
  box-shadow:0 4px 9px rgba(24,83,38,.08)
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected:first-child{border-radius:17px 0 18px 0}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected:last-child{border-radius:0 17px 0 18px}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected img{
  /* walletFive=20260806-6:选中态换 #41A236 固定色素材(app.js 按态切 src),近似绿滤镜退役 */
  opacity:1;
  filter:none
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button .ent-wallet-tab-php{
  width:22px;
  height:22px;
  object-fit:contain;
  opacity:.84
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected .ent-wallet-tab-php{
  /* walletTabIcon=20260808-1:退役近似绿滤镜。素材已是 #41A236 固定色,旧滤镜先 brightness(0)
     砸成黑再重新染色,落到 #1AAB13。本选择器 4 个类,特异性高于上面 8585 的 filter:none,
     压不住,必须在这条里显式归零,图标才落回素材原色 */
  filter:none;
  opacity:1
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button::after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  bottom:0;
  height:2px;
  border-radius:999px 999px 0 0;
  background:transparent
}
.ent-wallet-page-v5 .ent-wallet-mode-switch button.is-selected::after{background:var(--wallet-green)}
.ent-wallet-page-v5 .ent-wallet-operation-body{padding:17px 16px 11px}
.ent-wallet-page-v5 .ent-wallet-form{display:block;margin:0}
.ent-wallet-page-v5 .ent-wallet-form h2{
  margin:0 0 13px;
  color:var(--wallet-title);
  font-size:13.5px;
  line-height:1.1;
  font-weight:650
}
.ent-wallet-page-v5 .ent-wallet-amount-box{
  min-height:113px;
  padding:12px 13px 10px;
  border:1px solid rgba(65,162,54,.85);
  border-radius:11px;
  background:#fff
}
.ent-wallet-page-v5 .ent-wallet-amount-line{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  min-height:59px;
  padding:0;
  border:0;
  border-bottom:1px solid #e5e9e7;
  background:transparent
}
.ent-wallet-page-v5.is-purchase .ent-wallet-amount-line{grid-template-columns:minmax(0,1fr) auto}
.ent-wallet-page-v5 .ent-wallet-amount-line>.ent-wallet-input-amount-group{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  height:51px;
  padding-left:7px;
  box-sizing:border-box;
  color:var(--wallet-ink);
  font-size:var(--wallet-buy-amount-size);
  line-height:1;
  font-weight:700
}
.ent-wallet-page-v5 .ent-wallet-input-amount-group>.ent-wallet-input-prefix{
  flex:0 0 auto;
  color:inherit;
  font:inherit;
  font-size:1em;
  font-weight:700;
  line-height:1
}
.ent-wallet-page-v5 .ent-wallet-input-amount-group input{
  flex:1 1 auto;
  width:0;
  padding:0;
  font-size:1em;
  line-height:1;
  font-weight:700
}
.ent-wallet-page-v5 .ent-wallet-amount-line>span{
  display:grid;
  place-items:center;
  color:var(--wallet-ink);
  font-size:32px;
  line-height:1;
  font-weight:550
}
.ent-wallet-page-v5 .ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{
  width:42px;
  height:42px;
  object-fit:contain
}
.ent-wallet-page-v5 .ent-wallet-amount-line input{
  width:100%;
  min-width:0;
  height:51px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--wallet-ink);
  padding:0 8px;
  font:inherit;
  font-size:var(--wallet-redeem-amount-size);
  line-height:1;
  font-weight:700;
  letter-spacing:-1px;
  font-variant-numeric:tabular-nums
}
/* 购买态组内输入回勾 1em(上面的通用 amount-line input 源序更靠后,否则会把它顶成 redeem 档) */
.ent-wallet-page-v5 .ent-wallet-input-amount-group input{font-size:1em}
/* walletFive=20260806-5:长金额缩档(≥7 位数字,由 app.js 挂 is-long-amount)——
   购买组整体(₱+数字 1em 同缩)与兑换输入各按自家变量 ×0.78,末位数字不再被裁 */
.ent-wallet-page-v5 .ent-wallet-amount-line.is-long-amount>.ent-wallet-input-amount-group{font-size:calc(var(--wallet-buy-amount-size)*.78)}
/* expectedFit=20260807-1:购买态回执数字跟随同一档缩放,与上方输入始终同字号 */
.ent-wallet-page-v5.is-purchase [data-ent-wallet-expected-value].is-long .ent-wallet-expected-number{font-size:calc(var(--wallet-buy-amount-size)*.78)}
.ent-wallet-page-v5.is-redeem .ent-wallet-amount-line.is-long-amount input{font-size:calc(var(--wallet-redeem-amount-size)*.78)}
.ent-wallet-page-v5 .ent-wallet-amount-line input::placeholder{color:var(--wallet-ink);opacity:1}
.ent-wallet-page-v5 .ent-wallet-amount-line button{
  min-width:67px;
  min-height:38px;
  margin:0;
  border:0;
  border-radius:18px;
  background:#eff7ee;
  color:var(--wallet-green);
  padding:0 13px;
  font:inherit;
  font-size:12px;
  font-weight:650
}
.ent-wallet-page-v5 .ent-wallet-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:30px;
  color:var(--wallet-muted);
  font-size:10px;
  line-height:1.15
}
.ent-wallet-page-v5 .ent-wallet-meta>span{display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap}
.ent-wallet-page-v5 .ent-wallet-meta>span:last-child{justify-content:flex-end;color:#18251f;text-align:right}
.ent-wallet-page-v5 .ent-wallet-meta b{color:var(--wallet-green);font-weight:600}
.ent-wallet-page-v5 .ent-wallet-receipt{
  display:block;
  margin:var(--wallet-receipt-top) 0 var(--wallet-receipt-bottom);
  padding:0;
  border:0
}
.ent-wallet-page-v5 .ent-wallet-receipt-title{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:20px;
  margin-bottom:12px;
  color:var(--wallet-title);
  font-size:13.5px;
  line-height:1;
  font-weight:650
}
.ent-wallet-page-v5 .ent-wallet-receipt .ent-wallet-fee-note{
  margin:0;
  border-radius:999px;
  background:#edf7ed;
  color:var(--wallet-green);
  padding:5px 13px;
  font-size:10px;
  line-height:1;
  font-style:normal;
  font-weight:600
}
.ent-wallet-page-v5 .ent-wallet-receipt>strong{
  display:grid;
  grid-template-columns:47px minmax(0,1fr) 48px;
  align-items:center;
  gap:9px;
  min-height:59px;
  padding:7px 12px;
  border:1px solid rgba(120,185,123,.19);
  border-radius:11px;
  background:#f5f9f5;
  color:var(--wallet-green);
  box-shadow:0 4px 10px rgba(15,55,35,.04)
}
.ent-wallet-page-v5.is-purchase .ent-wallet-receipt{margin-bottom:var(--wallet-receipt-bottom)}
.ent-wallet-page-v5.is-purchase .ent-wallet-receipt>strong{
  grid-template-columns:calc(var(--wallet-buy-amount-size) * .9) auto minmax(0,1fr);
  justify-content:flex-start;
  column-gap:10px;
  min-height:59px;
  padding:5px 10px
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong{grid-template-columns:58px minmax(0,1fr);min-height:67px;padding:6px 17px}
/* xcoinFit=20260808-2:用户看过等大版后要求「再大些」,金币墨迹提到数字墨迹的 1.2 倍。
   推导:数字墨迹 = 字号 × 0.718,素材纵向只填满画布 96%,
   等大是 0.718 / 0.96 = .748em(20260808-1),×1.2 后 = .898em,取 .9em。
   前身 20260807-1 是按 ₱ 字形墨迹取的 .706em,已两次被数字基准取代 */
.ent-wallet-page-v5 .ent-wallet-receipt-main-asset{
  width:calc(var(--wallet-buy-amount-size) * .9);
  height:calc(var(--wallet-buy-amount-size) * .9);
  object-fit:contain
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt-main-asset{width:46px;height:48px}
.ent-wallet-page-v5 .ent-wallet-receipt>strong>[data-ent-wallet-expected-value]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  line-height:1;
  white-space:nowrap
}
.ent-wallet-page-v5.is-purchase .ent-wallet-receipt>strong>[data-ent-wallet-expected-value]{justify-content:flex-start}
.ent-wallet-page-v5 .ent-wallet-expected-prefix{margin-right:4px;font-size:27px;font-weight:750}
.ent-wallet-page-v5 .ent-wallet-expected-number{
  color:var(--wallet-green);
  font-size:var(--wallet-buy-amount-size);
  line-height:1;
  font-weight:700;
  letter-spacing:-1px
}
.ent-wallet-page-v5 .ent-wallet-expected-unit{
  margin-left:10px;
  color:var(--wallet-green);
  font-size:15px;
  font-weight:650
}
.ent-wallet-page-v5 .ent-wallet-receipt-side-asset{
  width:57px;
  height:59px;
  object-fit:contain
}
.ent-wallet-page-v5.is-purchase .ent-wallet-receipt-side-asset{justify-self:end;height:49px}
.ent-wallet-page-v5.is-redeem .ent-wallet-amount-line{grid-template-columns:43px minmax(0,1fr) auto}
.ent-wallet-page-v5.is-redeem .ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{width:50px;height:50px}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong{
  /* walletFive=20260806-4:弃居中改左对齐 —— 徽标左缘与上方输入行金币左缘同 x(实测差 13.5px) */
  grid-template-columns:auto auto;
  justify-content:flex-start;
  column-gap:9px;
  padding:3px 17px 3px 3.5px
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong>[data-ent-wallet-expected-value]{
  gap:6px;
  justify-self:center;
  font-size:var(--wallet-redeem-amount-size);
  line-height:1
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong>[data-ent-wallet-expected-value].is-long{font-size:clamp(26px,7.6vw,31px)}
.ent-wallet-page-v5.is-redeem .ent-wallet-expected-prefix{
  margin:0;
  font:inherit;
  font-size:1em;
  font-weight:750;
  line-height:1
}
.ent-wallet-page-v5.is-redeem .ent-wallet-expected-number{font-size:1em;line-height:1;font-weight:750}
.ent-wallet-page-v5 .ent-wallet-estimated-rate{
  display:flex;
  align-items:center;
  gap:7px;
  margin:10px 0 0;
  color:#39453f;
  font-size:10px;
  line-height:1.2
}
.ent-wallet-page-v5 .ent-wallet-estimated-rate span{color:var(--wallet-muted)}
.ent-wallet-page-v5 .ent-wallet-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-height:var(--wallet-benefits-height);
  margin:0 0 var(--wallet-section-gap);
  padding:6px 7px;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,55,35,.09)
}
.ent-wallet-page-v5 .ent-wallet-benefits>div{
  display:grid;
  grid-template-columns:37px minmax(0,1fr);
  align-items:center;
  gap:4px;
  min-width:0;
  padding:0 6px;
  border-right:1px solid #e6eae8
}
.ent-wallet-page-v5 .ent-wallet-benefits>div:last-child{border-right:0}
.ent-wallet-page-v5 .ent-wallet-benefits>div>span{
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  border-radius:50%;
  background:#edf6ee
}
.ent-wallet-page-v5 .ent-wallet-benefits img{
  /* walletFive=20260806-6:#41A236 固定色素材,近似绿滤镜退役 */
  width:25px;
  height:25px;
  filter:none
}
.ent-wallet-page-v5 .ent-wallet-benefits p{min-width:0;margin:0}
.ent-wallet-page-v5 .ent-wallet-benefits strong,
.ent-wallet-page-v5 .ent-wallet-benefits small{display:block;white-space:normal}
.ent-wallet-page-v5 .ent-wallet-benefits strong{color:var(--wallet-green);font-size:10px;line-height:1.15;font-weight:650}
.ent-wallet-page-v5 .ent-wallet-benefits small{margin-top:3px;color:#17201c;font-size:8.8px;line-height:1.18}
.ent-wallet-page-v5 .ent-wallet-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin:0 0 12px;
  border:0;
  border-radius:18px;
  background:linear-gradient(90deg,var(--wallet-submit-start) 0%,var(--wallet-submit-mid) 49%,var(--wallet-submit-end) 100%);
  color:#fff;
  font:inherit;
  font-size:14.5px;
  line-height:1.1;
  font-weight:750;
  box-shadow:0 7px 15px rgba(65,162,54,.24)
}
.ent-wallet-page-v5 .ent-wallet-submit-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0
}
.ent-wallet-page-v5 .ent-wallet-submit-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 auto
}
.ent-wallet-page-v5 .ent-wallet-submit-icon img{display:block;object-fit:contain}
/* xcoinBtn=20260808-1:购买按钮金币 31→26px(用户 2026-08-08「这个 logo 小一点」)。
   31px 时金币墨迹占 44px 按钮高的 68%,压得文字很小;26px 后落到 57%。
   槽位跟着收,否则 31px 的槽会在币和文案之间多留 5px 死白 */
.ent-wallet-page-v5 .ent-wallet-submit-icon.is-xcoin{width:26px;height:26px}
.ent-wallet-page-v5 .ent-wallet-submit-icon.is-xcoin img{width:26px;height:26px}
.ent-wallet-page-v5 .ent-wallet-submit-icon.is-peso{
  /* pesoCoin=20260808-1:原来是奶油色圆底盘 + 绿色近似滤镜的扁平 ₱ 图标,换成实体金币素材,
     底盘/描边/投影一并退役。
     xcoinBtn=20260808-2:跟着购买态一起收。盒宽取 25px 而不是 26px —— 比索币素材纵向填满画布
     99.6%,Xcoin 只填 96%,两边都用 26px 的话比索币会高出 1px;25 / 26 才是墨迹等高 */
  width:25px;
  height:25px
}
.ent-wallet-page-v5 .ent-wallet-submit-icon.is-peso img{
  /* pesoCoin=20260808-2:换用户新出的干净素材(gold-peso-coin-transparent-v1.png 压成 124px webp),
     素材本身无投影无光晕,上一版用来裁旧素材柔光的 clip-path 多边形随之退役 */
  width:25px;
  height:25px
}
.ent-wallet-page-v5 .ent-wallet-submit:disabled{
  background:linear-gradient(90deg,var(--wallet-submit-start) 0%,var(--wallet-submit-mid) 49%,var(--wallet-submit-end) 100%);
  color:#fff;
  box-shadow:0 7px 15px rgba(65,162,54,.16);
  cursor:not-allowed;
  opacity:1
}
.ent-wallet-page-v5 .ent-wallet-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:22px;
  margin:0 0 11px;
  padding:0 5px;
  color:var(--wallet-muted);
  font-size:10px;
  line-height:1.25;
  text-align:center
}
.ent-wallet-page-v5.is-purchase .ent-wallet-note,
.ent-wallet-page-v5.is-redeem .ent-wallet-note{margin-bottom:7px}
.ent-wallet-page-v5 .ent-wallet-note img{
  width:14px;
  height:14px;
  flex:0 0 auto;
  opacity:.75;
  filter:none
}
.ent-wallet-page-v5 .ent-wallet-guarantee{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:35px;
  border-radius:8px;
  background:#f4f8f3;
  color:var(--wallet-green);
  padding:5px 9px;
  font-size:10px;
  line-height:1.15;
  text-align:center
}
.ent-wallet-page-v5 .ent-wallet-guarantee img{
  width:18px;
  height:18px;
  flex:0 0 auto;
  filter:brightness(0) saturate(100%) invert(48%) sepia(76%) saturate(859%) hue-rotate(78deg) brightness(88%) contrast(95%)
}
.ent-wallet-page-v5 .ent-wallet-guarantee strong{font-weight:650}
.ent-wallet-page-v5 .ent-wallet-guarantee span,
.ent-wallet-page-v5 .ent-wallet-guarantee small{color:var(--wallet-muted)}
.ent-wallet-page-v5 .ent-wallet-guarantee small{font-size:10px}
@media (max-width:380px){
  .service-page[data-service-kind="entertainment-wallet"] .service-topbar{grid-template-columns:45px minmax(0,1fr) 87px;margin-left:12px;margin-right:12px}
  .service-page[data-service-kind="entertainment-wallet"] .service-title-wrap h1{font-size:18px}
  .service-page[data-service-kind="entertainment-wallet"] .service-pill{min-width:84px;padding:0 9px;font-size:11px}
  .ent-wallet-page-v5 .ent-wallet-balance-card{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);margin-left:14px;margin-right:14px;padding-left:9px;padding-right:9px}
  .ent-wallet-page-v5 .ent-wallet-hero-track{width:45px;height:45px}
  .ent-wallet-page-v5 .ent-wallet-hero-account>strong{font-size:20px}
  .ent-wallet-page-v5 .ent-wallet-operation-card{margin-left:10px;margin-right:10px}
  .ent-wallet-page-v5 .ent-wallet-operation-body{padding-left:13px;padding-right:13px}
  .ent-wallet-page-v5 .ent-wallet-mode-switch button{gap:5px;padding-left:5px;padding-right:5px;font-size:11.5px}
  .ent-wallet-page-v5 .ent-wallet-amount-line input{padding-left:2px;padding-right:2px}
  .ent-wallet-page-v5 .ent-wallet-input-amount-group input{padding-left:0;padding-right:0}
  .ent-wallet-page-v5 .ent-wallet-meta{font-size:9px}
  .ent-wallet-page-v5 .ent-wallet-benefits>div{grid-template-columns:33px minmax(0,1fr);gap:2px;padding-left:3px;padding-right:3px}
  .ent-wallet-page-v5 .ent-wallet-benefits>div>span{width:33px;height:33px}
  .ent-wallet-page-v5 .ent-wallet-benefits img{width:22px;height:22px}
  .ent-wallet-page-v5 .ent-wallet-benefits strong{font-size:8.8px}
  .ent-wallet-page-v5 .ent-wallet-benefits small{font-size:7.9px}
  .ent-wallet-page-v5 .ent-wallet-guarantee{gap:6px;font-size:9px}
  .ent-wallet-page-v5 .ent-wallet-guarantee small{font-size:9px}
}
html:lang(en) .ent-wallet-page-v5 .ent-wallet-mode-switch button,
html:lang(tl) .ent-wallet-page-v5 .ent-wallet-mode-switch button{font-size:11.5px}
html:lang(zh) .ent-wallet-page-v5 .ent-wallet-benefits small{font-size:8.5px}
/* 「我的投注」页:盈亏汇总卡 + 记录列表(2026-07-19) */
.ent-history-page{display:flex;flex-direction:column;gap:10px}
.ent-bets-game-tabs{display:flex;gap:7px}
/* 两排筛选页签(游戏+时间)基础样式;时间那排(.ent-bets-range-tabs)沿用绿字,游戏那排字色见下(2026-07-20 需求十二/二十三) */
.ent-bets-game-tabs button{flex:1;border:1px solid #d8eae0;border-radius:999px;background:#fff;color:#078C4A;font:inherit;font-size:12px;font-weight:600;padding:7px 0;cursor:pointer}
.ent-bets-game-tabs button.on{border-color:#E3BE52;background:#FFF3D5;color:#078C4A;font-weight:800}
/* 游戏筛选那排(全部游戏/2D/3D/PanaloX)文字改用「开奖中」徽章的金色 #A27019;时间那排用 :not 排除、仍绿字(2026-07-20 需求) */
.ent-bets-game-tabs:not(.ent-bets-range-tabs) button,.ent-bets-game-tabs:not(.ent-bets-range-tabs) button.on{color:#A27019}
/* 时间筛选那排:未选中=白底+浅绿描边,选中=浅绿底(#F1FBF5)+浅绿描边(#BFE8CF);绿框替代原黄框(2026-07-20 需求) */
.ent-bets-range-tabs button{border-color:#BFE8CF;background:#fff}
.ent-bets-range-tabs button.on{border-color:#BFE8CF;background:#F1FBF5}
/* 自定义日期区间日历(2026-07-20 需求十):开始~结束两个原生日期输入 */
.ent-bets-daterange{display:flex;align-items:center;gap:8px}
.ent-bets-daterange label{flex:1;display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:#078C4A;font-weight:600}
.ent-bets-daterange input[type=date]{flex:1;min-width:0;border:1px solid #d8eae0;border-radius:9px;background:#fff;color:#173426;font:inherit;font-size:11.5px;padding:6px 8px}
.ent-bets-daterange-sep{flex:0 0 auto;color:#9AABA2;font-size:12px}
/* 历史页时间检索(钱包明细/充值记录/提现记录/开奖历史共用):未选中=白底+浅绿描边,选中=浅绿底(#F1FBF5)+浅绿描边(#BFE8CF);自定义复用 .ent-bets-daterange(2026-07-20 需求) */
.hist-range{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px}
.hist-range-tabs{display:flex;gap:6px}
.hist-range-tabs button{flex:1;min-width:0;border:1px solid #BFE8CF;border-radius:999px;background:#fff;color:#078C4A;font:inherit;font-size:11.5px;font-weight:600;padding:7px 0;cursor:pointer;white-space:nowrap}
.hist-range-tabs button.on{border-color:#BFE8CF;background:#F1FBF5;font-weight:800}
.ent-profit-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid #d8eae0;border-radius:14px;background:#fff;padding:12px 8px;text-align:center}
.ent-profit-card small{display:block;color:#789185;font-size:10px}
.ent-profit-card strong{display:inline-flex;align-items:center;justify-content:center;gap:3px;margin-top:4px;font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.ent-net-pos{color:#23A638;font-style:normal}
.ent-net-neg{color:#DF2929;font-style:normal}
/* 净盈亏 summary 的 strong 被 .ent-profit-card strong{color:var(--ink)} 盖成黑,这里用更高优先级恢复:赢绿#23A638(图三绿条同款)亏红(2026-07-21 需求);总投注/总派彩仍深色 */
.ent-profit-card strong.ent-net-pos{color:#23A638}
.ent-profit-card strong.ent-net-neg{color:#DF2929}
.ent-profit-pending{margin:0;color:#789185;font-size:10.5px;text-align:center}
.ent-history-page .ent-history-modal{display:flex;flex-direction:column;gap:9px}
.ent-record-card{border:1px solid #d8eae0;border-radius:14px;background:#fff;padding:11px}.ent-record-card header,.ent-record-card footer,.ent-record-card p{display:flex;align-items:center;justify-content:space-between;gap:8px}.ent-record-card header span b,.ent-record-card header span small{display:block}.ent-record-card header span b{font-size:12px}.ent-record-card header span small{margin-top:2px;color:#789185;font-size:9px}.ent-record-card header>strong{color:#078c4a;font-size:10px}.ent-record-card>div{margin-top:8px;border-top:1px solid #edf4ef}.ent-record-card p{margin:0;padding:7px 0;border-bottom:1px solid #edf4ef;font-size:10px}.ent-record-card p span{flex:1}.ent-record-card p b{font-variant-numeric:tabular-nums}.ent-record-card p em{min-width:48px;color:#789185;font-style:normal;text-align:right}.ent-record-card footer{padding-top:9px;font-size:10px}.ent-record-card footer b{color:#17633a}.ent-record-card footer b.ent-record-settle{display:inline-block;color:#078C4A;font-weight:700}

/* Wallet conversion V4: reference-matched geometry. These scoped overrides
   intentionally leave every transfer/data hook in the V2/V3 implementation intact. */
.service-page[data-service-kind="entertainment-wallet"] .service-screen{padding-left:0;padding-right:0;background-color:#F4F7F5;background-image:url("assets/wallet-paper-bg-v4.webp");background-position:center top;background-size:100% auto;background-repeat:no-repeat;background-attachment:local}
.service-page[data-service-kind="entertainment-wallet"] .service-topbar{box-sizing:border-box;padding-left:16px;padding-right:16px}
.service-page[data-service-kind="entertainment-wallet"] .service-body{padding-left:0!important;padding-right:0!important}
.ent-wallet-page-v4 .ent-wallet-hero{position:relative;display:grid;grid-template-columns:118px 64px 118px;align-items:end;justify-content:center;column-gap:10px;min-height:144px;margin:0;padding:38px 0 23px;background:transparent;isolation:isolate}
.ent-wallet-page-v4 .ent-wallet-hero::before{content:"";position:absolute;z-index:0;left:50%;top:98px;width:240px;height:80px;background:url("assets/wallet-connector-gold-v4.png") center/contain no-repeat;transform:translate(-50%,-50%);pointer-events:none}
.ent-wallet-page-v4 .ent-wallet-hero-account{position:relative;z-index:2;transform:translateY(20px)}
.ent-wallet-page-v4 .ent-wallet-hero .xcoin-brand-icon-wallet{width:38px;height:38px}
.ent-wallet-page-v4 .ent-wallet-hero-account strong{font-size:24px}
.ent-wallet-page-v4 .ent-wallet-hero-track{z-index:2;top:98px;width:52px;height:52px}
.ent-wallet-page-v4 .ent-wallet-direction{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:8px;width:calc(100% - 48px);max-width:290px;min-height:52px;margin:4px auto 16px;padding:0;box-sizing:border-box}
.ent-wallet-page-v4 .ent-wallet-direction>div:first-child{flex-direction:row;justify-content:flex-end}
.ent-wallet-page-v4 .ent-wallet-direction>div:last-child{justify-content:flex-start}
.ent-wallet-page-v4 .ent-wallet-direction .ent-wallet-route-icon{width:36px;height:36px}
.ent-wallet-page-v4 .ent-wallet-direction .ent-wallet-route-arrow{width:24px;height:24px;border:0;border-radius:0;background:transparent}
.ent-wallet-page-v4 .ent-wallet-direction .ent-wallet-route-arrow img{width:20px;height:20px}
.ent-wallet-page-v4 .ent-wallet-route-icon .xcoin-brand-icon-route{width:26px;height:26px}
.ent-wallet-page-v4 .ent-wallet-direction strong{max-width:76px;color:#587063;font-size:12.5px;font-weight:750;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip}
.ent-wallet-page-v4 .ent-wallet-form{margin:0 24px}
.ent-wallet-page-v4 .ent-wallet-amount-line input{font-size:48px;font-weight:450}
.ent-wallet-page-v4 .ent-wallet-receipt{margin:31px 24px 19px;padding-top:24px}
.ent-wallet-page-v4 .ent-wallet-receipt strong{font-size:inherit;font-weight:inherit}
.ent-wallet-expected-number{font-size:32px;font-weight:950}
.ent-wallet-expected-unit{margin-left:5px;font-size:23px;font-weight:600;letter-spacing:-.2px}
.ent-wallet-page-v4 .ent-wallet-submit{min-height:64px;margin:0 20px 14px;border-radius:18px}
@media (max-width:370px){
  .ent-wallet-page-v4 .ent-wallet-hero{grid-template-columns:104px 56px 104px;column-gap:7px;min-height:140px;padding:35px 0 21px}
  .ent-wallet-page-v4 .ent-wallet-hero::before{top:96px;width:220px;height:74px}
  .ent-wallet-page-v4 .ent-wallet-hero .xcoin-brand-icon-wallet{width:34px;height:34px}
  .ent-wallet-page-v4 .ent-wallet-hero-account strong{font-size:22px}
  .ent-wallet-page-v4 .ent-wallet-hero-track{top:96px;width:48px;height:48px}
  .ent-wallet-page-v4 .ent-wallet-direction{width:calc(100% - 32px);margin-left:auto;margin-right:auto}
  .ent-wallet-page-v4 .ent-wallet-direction strong{font-size:11px}
  .ent-wallet-page-v4 .ent-wallet-form,.ent-wallet-page-v4 .ent-wallet-receipt{margin-left:20px;margin-right:20px}
  .ent-wallet-page-v4 .ent-wallet-amount-line input{font-size:44px}
  .ent-wallet-page-v4 .ent-wallet-expected-number{font-size:29px}
  .ent-wallet-page-v4 .ent-wallet-expected-unit{font-size:21px}
  .ent-wallet-page-v4 .ent-wallet-submit{margin-left:18px;margin-right:18px}
}
html:lang(en) .ent-wallet-page-v4 .ent-wallet-direction strong,html:lang(tl) .ent-wallet-page-v4 .ent-wallet-direction strong{font-size:11px}

/* ===== 钱包兑换页视觉重构(2026-07-20 用户逐条定案) =====
   分层色: 数据黑 #1B2620 / 说明灰 #7C8B83 / 可点·正向绿 #078C4A / Xcoin 金 #B17B14
   字号收敛 + 两 hero 图标成对 + 金额行贴下划线 + 金箭头/花纹改绿(金色只留给 Xcoin) */
/* 标题黑 / 记录绿 / 返回键 ‹ 金→绿 */
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap h1{font-size:18px;color:#1B2620}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{color:#078C4A}
.service-page[data-service-kind="entertainment-wallet"] .service-back::before{filter:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 6 8 10 13' fill='none' stroke='%23078C4A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
/* hero: 标签灰 / 余额黑22 / 两图标成对(金币也进淡圈) / 箭头绿 / 花纹染绿 */
.ent-wallet-page-v4 .ent-wallet-hero-account small{color:#7C8B83}
.ent-wallet-page-v4 .ent-wallet-hero-account strong{color:#1B2620;font-size:22px}
.ent-wallet-page-v4 .ent-wallet-hero .ent-wallet-account-icon,.ent-wallet-page-v4 .ent-wallet-hero .ent-wallet-account-icon.is-xcoin{width:40px;height:40px;background:rgba(235,248,239,.9);box-shadow:0 5px 15px rgba(36,102,64,.09)}
.ent-wallet-page-v4 .ent-wallet-hero .ent-wallet-account-icon>img{width:22px;height:22px}
.ent-wallet-page-v4 .ent-wallet-hero .xcoin-brand-icon-wallet{width:30px;height:30px}
.ent-wallet-hero-track svg{width:22px;height:22px;display:block}
.ent-wallet-page-v4 .ent-wallet-hero::before{filter:hue-rotate(96deg) saturate(1.35) brightness(.92)}
/* tabs 未选中灰 */
.ent-wallet-page-v4 .ent-wallet-mode-switch button{color:#7C8B83}
.ent-wallet-page-v4 .ent-wallet-mode-switch button.is-selected{color:#078C4A}
/* 兑换金额 label 灰小;整块下移一点,不贴上面 tab/hero(2026-07-20 需求) */
.ent-wallet-page-v4 .ent-wallet-form{margin:16px 22px 0}
.ent-wallet-page-v4 .ent-wallet-form h2{color:#7C8B83;font-size:13px;font-weight:700;margin:0 0 5px}
/* 金额行: 矮+底对齐贴线, ₱与数字同大36黑 */
.ent-wallet-page-v4 .ent-wallet-amount-line{align-items:end;min-height:44px;padding-bottom:2px}
.ent-wallet-page-v4 .ent-wallet-amount-line>span{color:#1B2620;font-size:32px;font-weight:500;align-self:center}
.ent-wallet-page-v4 .ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{width:26px;height:26px}
.ent-wallet-page-v4 .ent-wallet-amount-line input{color:#1B2620;font-size:32px;font-weight:500;align-self:center}
.ent-wallet-page-v4 .ent-wallet-amount-line input::placeholder{color:#1B2620;opacity:1}
.ent-wallet-page-v4 .ent-wallet-amount-line button{color:#078C4A;align-self:end;padding-bottom:2px}
/* meta 灰 + 值绿 */
.ent-wallet-page-v4 .ent-wallet-meta{color:#7C8B83}
.ent-wallet-page-v4 .ent-wallet-meta b{color:#078C4A}
/* 可用余额那行的币缩到跟文字齐高、垂直居中对齐(2026-07-20 需求) */
.ent-wallet-page-v4 .ent-wallet-meta b .xcoin-brand-icon{width:12px;height:12px;vertical-align:middle}
/* receipt: 间距收紧, 标签灰, 手续费绿徽章, 数字金26, 金币26 */
.ent-wallet-page-v4 .ent-wallet-receipt{margin:18px 22px 16px;padding-top:16px}
.ent-wallet-page-v4 .ent-wallet-receipt>span{color:#7C8B83;font-size:12px}
.ent-wallet-page-v4 .ent-wallet-receipt .ent-wallet-fee-note{margin-left:5px;padding:1px 8px;border-radius:999px;background:#E7F5EC;color:#078C4A;font-size:10.5px;font-weight:700;vertical-align:middle}
.ent-wallet-page-v4 .ent-wallet-expected-number{font-size:26px}
.ent-wallet-page-v4 .ent-wallet-expected-unit{font-size:18px}
.ent-wallet-page-v4 .ent-wallet-receipt .xcoin-brand-icon-balance{width:26px;height:26px}
/* submit 边距统一 + 禁用可读 */
.ent-wallet-page-v4 .ent-wallet-submit{margin:0 22px 14px}
.ent-wallet-page-v4 .ent-wallet-submit:disabled{background:#c7d6cc;color:#5e7a68}
/* footer 灰 + 时钟去金(灰) */
.ent-wallet-page-v4 .ent-wallet-note{color:#7C8B83}
.ent-wallet-page-v4 .ent-wallet-note img{filter:grayscale(1) opacity(.55)}
/* 记录页: 标题黑 / 时间灰 / 正数绿保留 */
.ent-wallet-record strong{color:#1B2620}
.ent-wallet-record small{color:#7C8B83;font-size:11px}
/* 除「钱包兑换」标题外,全部不加粗(2026-07-20 需求) */
.service-page[data-service-kind="entertainment-wallet"] .service-pill,
.ent-wallet-page-v4 .ent-wallet-hero-account small,
.ent-wallet-page-v4 .ent-wallet-hero-account strong,
.ent-wallet-page-v4 .ent-wallet-mode-switch button,
.ent-wallet-page-v4 .ent-wallet-form h2,
.ent-wallet-page-v4 .ent-wallet-amount-line>span,
.ent-wallet-page-v4 .ent-wallet-amount-line input,
.ent-wallet-page-v4 .ent-wallet-amount-line button,
.ent-wallet-page-v4 .ent-wallet-meta,
.ent-wallet-page-v4 .ent-wallet-meta b,
.ent-wallet-page-v4 .ent-wallet-receipt>span,
.ent-wallet-page-v4 .ent-wallet-receipt .ent-wallet-fee-note,
.ent-wallet-page-v4 .ent-wallet-expected-number,
.ent-wallet-page-v4 .ent-wallet-expected-unit,
.ent-wallet-page-v4 .ent-wallet-submit,
.ent-wallet-page-v4 .ent-wallet-note{font-weight:400}
/* r12-12 钱包兑换:绿色→官方开奖徽标做法(淡薄荷胶囊 #E7F8EE);返回箭头→墨黑;可用余额币对齐修复 (2026-07-20 需求);r12-17 起深绿统一换开奖绿条同款 #23A638(胶囊底不动,确认按钮=实心#23A638白字,2026-07-21 需求) */
.service-page[data-service-kind="entertainment-wallet"] .service-back::before{filter:none;background-image:var(--service-wallet-back-icon)}
.ent-wallet-page-v4 .ent-wallet-meta b{display:inline;color:#23A638}
.ent-wallet-page-v4 .ent-wallet-meta b .xcoin-brand-icon{width:13px;height:13px;vertical-align:-0.2em;margin:0 3px 0 2px;filter:none}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{background:#fff;color:#23A638;box-shadow:0 5px 14px rgba(20,90,50,.08)}
.ent-wallet-page-v4 .ent-wallet-mode-switch button.is-selected{color:#23A638}
.ent-wallet-page-v4 .ent-wallet-mode-switch button.is-selected::after{background:#23A638}
.ent-wallet-page-v4 .ent-wallet-amount-line button{background:#E7F8EE;color:#23A638;padding:4px 11px;border-radius:999px;align-self:center;margin-left:8px}
.ent-wallet-page-v4 .ent-wallet-receipt .ent-wallet-fee-note{background:#E7F8EE;color:#23A638}
.ent-wallet-page-v4 .ent-wallet-submit{background:#23A638;color:#fff;box-shadow:0 6px 15px rgba(24,138,44,.2)}
.ent-wallet-page-v4 .ent-wallet-submit:disabled{background:#E7EAE8;color:#9DA5A0;box-shadow:none}
/* 订单页两排筛选对调(2026-07-21 需求):时间排=整排大白框+选中绿实心白字(原已充值排款),状态排=每钮独立浅绿描边胶囊+选中浅绿底(原时间排款);[data-orders-range] 只命中订单页,其他页时间检索不变 */
/* 订单页时间档改用基础 .hist-range-tabs 样式(绿字/浅绿选中/11.5px),不再覆盖 — orders-v4 */
.records-filter{gap:6px;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none}
.records-filter .flt{min-height:0;border:1px solid #BFE8CF;border-radius:999px;background:#fff;color:#078C4A;font-size:11.5px;font-weight:600;padding:7px 0}
.records-filter .flt.on{background:#F1FBF5;border-color:#BFE8CF;color:#078C4A;font-weight:800;box-shadow:none}
/* 状态筛选描边分色(2026-07-22 需求):已充值绿(不变)/处理中浅黄/已退款黑;选中未选中都显该边色 */
.records-filter .flt[data-order-filter="处理中"]{border-color:#E3BE52}
.records-filter .flt[data-order-filter="已退款"]{border-color:#1B2620}
/* 选中时字色随描边(2026-07-23 需求):处理中黄、已退款黑;已充值保持绿 */
.records-filter .flt[data-order-filter="处理中"].on{color:#C79A1E}
.records-filter .flt[data-order-filter="已退款"].on{color:#1B2620}
/* 方案A 统一间距节奏 12/10/12(2026-07-21):去掉 .hist-range 自带外边距,由 .records-list-head 网格 12px 统一;时间框↔日期行 10px */
[data-orders-range] .hist-range{margin:0;gap:10px}
/* 钱包明细金额列:左对齐+定宽,正负号竖向对成一条线;记录弹窗金额定宽右对齐,金币图标固定列不再随金额宽度浮动(2026-07-21 需求) */
.ledger-money{text-align:left;min-width:84px}
/* ewrAlign=20260808-1:66px 只是兜底,实际列宽由 app.js 按当页最宽金额实测后写进 --ewr-amt-w,
   否则长金额撑破固定宽度、Xcoin 图标左边缘会逐行漂移 */
.ent-wallet-record>b .ewr-amt{min-width:var(--ewr-amt-w,66px);text-align:left}
/* ===== 2026-07-22 批次:17条确认清单(1 VIP按钮居中/2 USDT选中描边/4 记录金额左对齐/13 余额点击隐藏/14 钱包卡黄底金币纹/16 商城Xcoin去圈/17 余额条对齐到账) ===== */
/* 1) VIP 领取按钮:相对整卡垂直居中贴右;.vip-mid 让出右侧防文字underlap */
.vip .go{position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:2}
.vip-mid{padding-right:92px}
/* 2) USDT 快捷金额选中=绿描边(与支付方式卡选中同款 #0DAE5E) */
.deposit-chip.is-selected{border-color:#0DAE5E;box-shadow:0 0 0 2px rgba(13,174,94,.12);color:#0B7A44}
/* 4) 充值/提现记录金额列:左对齐+定宽,₱ 一条竖线(与钱包明细同法) */
.dh-amount{text-align:left;min-width:96px}
/* 13) 首页钱包主余额点击隐藏:可点 + 眼睛图标 */
[data-home-wallet-balance]{cursor:pointer}
.bal-eye{display:inline-block;width:15px;height:15px;margin-left:6px;vertical-align:-2px;color:#9AA69E}
.bal-eye svg{display:block;width:100%;height:100%}
/* 14) 钱包卡:浅黄底 #FDF7E6 + ₱ 金币平铺纹理(带齿纹内环₱浮雕,opacity .18);分隔线调暖 */
.card.wstat{background-color:#FDF7E6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='112'%3E%3Cg opacity='.18'%3E%3Cg%3E%3Ccircle cx='24' cy='22' r='15' fill='%23EAC65C'/%3E%3Ccircle cx='24' cy='22' r='15' fill='none' stroke='%23B0862A' stroke-width='2' stroke-dasharray='1.5 1.7'/%3E%3Ccircle cx='24' cy='22' r='11.5' fill='none' stroke='%23BE9330' stroke-width='1.2'/%3E%3Ctext x='24' y='28' text-anchor='middle' font-size='15' font-weight='800' fill='%239C6E13' font-family='sans-serif'%3E%E2%82%B1%3C/text%3E%3C/g%3E%3Cg%3E%3Ccircle cx='94' cy='78' r='15' fill='%23EAC65C'/%3E%3Ccircle cx='94' cy='78' r='15' fill='none' stroke='%23B0862A' stroke-width='2' stroke-dasharray='1.5 1.7'/%3E%3Ccircle cx='94' cy='78' r='11.5' fill='none' stroke='%23BE9330' stroke-width='1.2'/%3E%3Ctext x='94' y='84' text-anchor='middle' font-size='15' font-weight='800' fill='%239C6E13' font-family='sans-serif'%3E%E2%82%B1%3C/text%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.wstat .home-wallet-strip{border-bottom-color:#EFE4C9}
/* ===== 「我的」页钱包卡 v2:照演示图逐像素还原(量自 docs/ui-checks/wallet-ko-card/01-demo.png,786px 卡宽↔358px,系数 2.196)— 2026-07-26 ===== */
.card.wstat{background:url("assets/wallet-ko-cardbg-v2c.jpg") right -22px/auto 196.5px no-repeat #FAF0DB;border:0;border-radius:15px;padding:10px 14px 2px;overflow:hidden}
.wstat .top{margin-bottom:6px}
.wstat .top h2{font-size:14px;font-weight:800;color:#17281E;line-height:1.25;letter-spacing:-.2px}
.wstat .top .det{color:#B08540;font-weight:700;font-size:12px}
.wstat .home-wallet-strip{border-bottom:0;margin:0;padding:0;background:none;box-shadow:none;gap:0;min-height:0}
.wstat .home-wallet-label{color:#8C8B83;font-size:10px;font-weight:500;line-height:1.25;letter-spacing:-.2px;margin-top:1px}
.wstat .home-wallet-line{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px;margin-top:5px}
.wstat .home-wallet-line strong{color:#14261B;font-size:17.5px;line-height:1.1}
.wstat .bal-eye{width:13px;height:13px;margin-left:4px;color:#8B948D}
/* 钱包卡按钮按桌面 5.jpg 精修(2026-07-26):高24/字11.5semibold/图标15/Add内衬12/Withdraw内衬9更窄/描边1px/钮距12 */
.wstat .home-wallet-actions{gap:12px}
.wstat .home-wallet-actions button{height:24px;min-width:0;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.wstat .home-wallet-actions .primary{background:linear-gradient(180deg,#3CB65C,#0F9B47);box-shadow:0 7px 16px rgba(23,166,84,.28);padding:0 12px}
.wstat .home-wallet-actions .withdraw{background:rgba(255,255,255,.72);border:1px solid #D8B159;color:#B68F3B;padding:0 9px}
.wstat .home-wallet-actions .primary::after{content:"";width:15px;height:15px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23FFFFFF'/%3E%3Cpath d='M10 5.8v8.4M5.8 10h8.4' stroke='%2318A34D' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.wstat .home-wallet-actions .withdraw::after{content:"";width:15px;height:15px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='9' fill='%23DCAE52'/%3E%3Cpath d='M10 14.4V6.4M6.6 9.6 10 6.2l3.4 3.4' fill='none' stroke='%23FFF9EA' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* xico-2(2026-07-26 用户需求):三格严格等分+内容组居中→分割线两侧空白对称不再偏右;分割线加长(顶出格高1px,共约28px) */
.wstat .sgrid{margin:13px -10px 0;background:rgba(255,255,255,.42);border-radius:12px;padding:12px 0 9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);grid-template-columns:repeat(3,minmax(0,1fr))}
.wstat .sgrid .s{display:flex;align-items:center;justify-content:center;gap:7px;padding-left:0;text-align:left}
.wstat .sgrid .s:not(:first-child)::before{top:-1px;bottom:-1px;width:1px;background:rgba(178,124,30,.32)}
.wstat .sgrid .s-ico{width:26px;height:26px;flex:0 0 auto;object-fit:contain;margin-top:-2.5px}
/* me3-1(2026-07-27):标签水平居中于数字正下方(用户点名 Xcoin 格,三格统一) */
.wstat .sgrid .s-txt{display:flex;flex-direction:column;align-items:center;min-width:0}
.wstat .sgrid .s .s-txt strong{font-size:12.5px;color:#2A2416;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.25}
.wstat .sgrid .s .s-txt span{font-size:9.5px;color:#72726B;margin-top:1px;font-weight:500;letter-spacing:-.1px}
.wstat .sgrid .s[data-wallet-stat="red-packet"] .s-txt strong{color:#2A7444}
.wstat .sgrid .s[data-wallet-stat="xcoin"] .s-txt strong{color:#8F6F26}
.wstat .sgrid .s[data-wallet-stat="points"] .s-txt strong{color:#3A3F8F}
/* 16) 积分商城 Xcoin 图标:去掉被「积分胶囊」span 样式误伤的黄圈(背景/金边/圆角/内边距),金币保持 40px */
.reward-product-card span.reward-product-xcoin{background:transparent;border:0;border-radius:0;padding:0;margin-top:0;display:grid}
/* 17) 娱乐中心余额条:尺寸/颜色对齐钱包页「预计到账」(数字24/单位17/整串金 #B17B14) */
.ent-wallet-strip-balance strong{color:#B17B14}
.ent-wallet-strip-balance .ent-strip-num{font-size:24px;color:#B17B14}
.ent-wallet-strip-balance .ent-strip-unit{font-size:17px;margin-left:2px;color:#B17B14}
/* ===== 2026-07-22 第二批(4条):①确认按钮 64→56 ②两处金币下移1.5px归零 ③余额条 Xcoin 下移3px落基线 ④小草每30秒微风摆动 ===== */
.ent-wallet-page-v4 .ent-wallet-submit{min-height:56px;border-radius:16px}
/* 金币中心↔数字墨迹中心实测两处都偏高1.5px,relative 下移归零(不影响布局) */
.ent-wallet-strip-balance .xcoin-brand-icon-balance,
.ent-wallet-page-v4 .ent-wallet-receipt .xcoin-brand-icon-balance{position:relative;top:1.5px}
/* 余额条单位与数字基线差实测 -3px(flex 居中抬高),下移落到同一基线=与预计到账一致 */
.ent-wallet-strip-balance .ent-strip-unit{position:relative;top:3px}
/* ===== 提现账户管理页:目标稿重做(2026-07-27) ===== */
.service-page[data-service-kind="withdraw-accounts"]{
  --wda-bg:#fff;
  --wda-ink:#07342d;
  --wda-text:#26332f;
  --wda-muted:#68736e;
  /* wdaPolish=20260806-1:页面 UI 主题绿统一 #41A236(rgb 65,162,54);品牌蓝/官方绿/插画不吃这两个变量 */
  --wda-green:#41A236;
  --wda-green-rgb:65,162,54;
  --wda-soft:#edf9f2;
  --wda-line:rgba(65,162,54,.2);
  --wda-shadow:0 10px 28px rgba(4,45,36,.09);
  background:#eef8f2;
}
.service-page[data-service-kind="withdraw-accounts"] .service-screen{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(100%,480px);
  max-width:480px;
  padding:0 0 calc(10px + env(safe-area-inset-bottom));
  background:#F4F7F5;
  box-shadow:0 18px 42px rgba(4,45,36,.09);
}
.service-page[data-service-kind="withdraw-accounts"] .service-topbar{
  position:absolute;
  top:20px;
  left:20px;
  z-index:3;
  display:block;
  margin:0;
}
.service-page[data-service-kind="withdraw-accounts"] .service-title-wrap,
.service-page[data-service-kind="withdraw-accounts"] .service-pill-group{display:none}
.service-page[data-service-kind="withdraw-accounts"] .service-back{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:15px;
  box-shadow:0 7px 18px rgba(4,45,36,.09);
}
.service-page[data-service-kind="withdraw-accounts"] .service-body{display:flex;flex:1;min-height:100%;gap:0}
.wda-page{display:flex;flex:1;flex-direction:column;min-width:0;min-height:100%;padding:10px 16px 2px;color:var(--wda-text)}
.wda-hero{
  /* wdaPolish=20260806-1:去掉外圈 4px 白框(双层卡片感的元凶),单层浅绿卡 + 22px 圆角 + 深绿柔影 */
  position:relative;
  min-height:148px;
  overflow:hidden;
  margin-bottom:21px;
  border:0;
  border-radius:22px;
  background:linear-gradient(90deg,#f8fcfa 0%,#f1faf5 45%,rgba(241,250,245,.08) 68%,transparent 100%),url("assets/hero-withdrawal-security.png") calc(100% + 8px) calc(50% - 3px)/auto 108% no-repeat;
  box-shadow:0 8px 20px rgba(4,45,36,.08);
}
.wda-hero>img{display:none}
/* 文案区:在返回键(顶部 16+44px)以下的剩余空间里垂直居中;左移 39→34 靠近返回键竖线 */
.wda-hero-copy{position:relative;z-index:1;width:68%;padding:50px 0 18px 39px}
.wda-hero-copy h1{margin:0;color:var(--wda-ink);font-size:16.25px;line-height:1.22;font-weight:700;letter-spacing:-.35px;white-space:nowrap}
.wda-hero-copy p{max-width:184px;margin:8px 0 0;color:#28423b;font-size:12px;line-height:1.48}
.wda-nowrap{white-space:nowrap}
.wda-accounts-section{position:relative;margin-bottom:22px}
.wda-section-heading{display:flex;align-items:center;gap:8px;margin:0 0 11px;color:var(--wda-ink);font-size:14.5px;line-height:1.35;font-weight:700}
.wda-section-heading img{width:20px;height:20px;object-fit:contain;filter:brightness(0) saturate(100%) invert(16%) sepia(31%) saturate(968%) hue-rotate(120deg) brightness(90%) contrast(101%)}
.wda-list{display:grid;gap:10px}
.wda-card{
  position:relative;
  display:grid;
  grid-template-columns:94px minmax(0,1fr) 44px;
  align-items:center;
  gap:11px;
  min-height:102px;
  padding:14px 12px;
  border:1px solid rgba(65,162,54,.15);
  border-radius:20px;
  background:#fff;
  box-shadow:0 6px 18px rgba(4,45,36,.065);
}
.wda-card.is-default{border-color:rgba(65,162,54,.24)}
.wda-card-logo{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.wda-card-logo img{display:block;width:auto;max-width:48px;max-height:34px;object-fit:contain}
.wda-card-logo .wda-logo-label{color:#173db4;font-size:17px;font-weight:700;letter-spacing:-.45px}
.wda-card-logo img+span.sr-only{position:absolute}
.wda-card-logo:has(.sr-only) img{max-width:84px;max-height:27px}
.wda-main{min-width:0}
.wda-account-name{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.wda-account-name b{overflow:hidden;max-width:100%;color:#171c1a;font-size:13px;line-height:1.35;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.wda-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;background:#eaf8ef;color:#41A236;font-size:10px;font-weight:700}
.wda-badge::before{content:"✓";margin-right:4px}
.wda-main small{display:block;margin-top:7px;color:#68716d;font-size:11.75px;letter-spacing:.35px;font-variant-numeric:tabular-nums}
.wda-card-actions{position:relative;display:grid;place-items:center}
.wda-menu-trigger{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(7,48,42,.07);
  border-radius:50%;
  background:#fff;
  color:var(--wda-ink);
  font:inherit;
  box-shadow:0 5px 15px rgba(4,45,36,.085);
  cursor:pointer;
}
/* wdaPolish=20260806-3:文字版「•••」的字形基线/字距会偏心(旧 translateY(-2px) 手调治标)。
   改为几何圆点:中点本体 + 双向 box-shadow,grid 居中 —— 数学上下左右居中,任意 DPR 不糊 */
.wda-menu-trigger span{
  display:block;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  box-shadow:-7px 0 0 currentColor,7px 0 0 currentColor;
  font-size:0;
  line-height:0;
  transform:none;
}
.wda-menu{
  position:absolute;
  top:50px;
  right:0;
  z-index:8;
  display:grid;
  width:min(210px,calc(100vw - 48px));
  max-height:min(164px,calc(100dvh - 24px));
  overflow-y:auto;
  padding:7px;
  border:1px solid rgba(7,48,42,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 36px rgba(4,45,36,.16);
}
.wda-menu.is-upward{top:auto;bottom:50px}
.wda-menu button{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--wda-ink);
  padding:0 13px;
  text-align:left;
  font:inherit;
  font-size:14px;
  cursor:pointer;
}
.wda-menu button img{width:18px;height:18px;object-fit:contain;opacity:.78}
.wda-menu button img.is-default-icon{border-radius:50%}
.wda-menu button.is-danger img{filter:invert(20%) sepia(90%) saturate(3561%) hue-rotate(348deg) brightness(104%) contrast(83%)}
.wda-menu button:hover,.wda-menu button:focus-visible{background:var(--wda-soft);outline:0}
.wda-menu button.is-danger{color:#e5262f}
.wda-menu button:disabled{opacity:.5;cursor:wait}
.wda-list-state{
  display:grid;
  justify-items:center;
  padding:22px 18px;
  border:1px dashed rgba(65,162,54,.25);
  border-radius:20px;
  background:#f7fcf9;
  text-align:center;
}
.wda-list-state img{width:34px;height:34px;margin-bottom:9px}
.wda-list-state strong{color:var(--wda-ink);font-size:14px}
.wda-list-state p{margin:5px 0 0;color:var(--wda-muted);font-size:12.5px}
.wda-list-state button{min-height:44px;margin-top:10px;padding:0 18px;border:1px solid var(--wda-line);border-radius:999px;background:#fff;color:var(--wda-green);font:inherit;font-weight:700}
.wda-skeleton-list{display:grid;gap:11px}
.wda-skeleton{height:80px;border-radius:20px;background:linear-gradient(100deg,#f0f5f2 20%,#f8fbf9 40%,#f0f5f2 60%);background-size:200% 100%;animation:wda-shimmer 1.2s linear infinite}
@keyframes wda-shimmer{to{background-position:-200% 0}}
.wda-builder{display:block}
.wda-account-heading{margin-top:22px}
.wda-ch-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid rgba(7,48,42,.07);border-radius:999px;background:#fff;box-shadow:0 4px 12px rgba(4,45,36,.045)}
.wda-ch{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;height:46px;border:1px solid transparent;border-radius:999px;background:transparent;font:inherit;cursor:pointer}
.wda-ch img{display:block;width:auto;max-width:76px;height:25px;object-fit:contain;object-position:center}
/* wdaPolish=20260806-2:Maya 改用"视觉居中"边界版素材(viewBox 以 x 字高带中心为纵向中点),
   盒高 27 让宽度维持 72(53.72×72/146.82≈26.34≤27,仍按宽约束),1px 手调补偿随之退役 */
.wda-ch[data-wda-channel="PAYMAYA"] img{max-width:72px;height:27px}
.wda-brand-name{color:#173db4;font-size:15px;font-weight:700;letter-spacing:-.3px}
.wda-ch.is-selected{border-color:rgba(65,162,54,.16);background:#f0faf4;box-shadow:0 2px 8px rgba(65,162,54,.055)}
.wda-channel-check{position:absolute;right:11px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--wda-green);color:#fff;font-size:14px;font-weight:800}
.wda-details-card{display:grid;gap:15px;padding:17px 12px 14px;border:1px solid rgba(7,48,42,.055);border-radius:19px;background:#fff;box-shadow:0 7px 20px rgba(4,45,36,.06)}
.wda-field{display:grid;gap:6px}
.wda-input-slot{position:relative;display:flex;align-items:center;min-width:0;min-height:46px;border:1px solid rgba(65,162,54,.34);border-radius:12px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
.wda-field-label{position:absolute;top:-8px;left:12px;z-index:1;padding:0 10px;background:#fff;color:#41A236;font-size:11.5px;line-height:16px;font-weight:700}
.wda-input-slot:focus-within{border-color:var(--wda-green);box-shadow:0 0 0 3px rgba(65,162,54,.12)}
.wda-input-slot:has(input[aria-invalid="true"]){border-color:#e1434b;box-shadow:0 0 0 3px rgba(225,67,75,.08)}
.wda-input-slot input{width:100%;min-width:0;height:44px;border:0;outline:0;background:transparent;padding:4px 42px 0 13px;color:var(--wda-text);font:inherit;font-size:13.5px}
.wda-input-slot input::placeholder{color:#909793;opacity:1}
.wda-field-icon{position:absolute;right:13px;width:20px;height:20px;object-fit:contain;opacity:.58;filter:grayscale(1)}
.wda-field small{padding-left:2px;color:#747c78;font-size:11.25px;line-height:1.42}
.wda-field small.wda-field-error{color:#d92f38}
.wda-pin-slot input{padding-right:48px}
.wda-visibility,.wda-dialog-input button{flex:0 0 auto;min-width:44px;height:44px;margin-right:2px;border:0;border-radius:10px;background:transparent;color:#52635b;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer}
.wda-visibility img{display:block;width:20px;height:20px;margin:auto;opacity:.66}
.wda-limit-note{margin:18px 0;color:var(--wda-muted);font-size:12.5px;text-align:center}
.wda-bind-button{
  width:100%;
  min-height:46px;
  margin-top:12px;
  border:0;
  border-radius:17px;
  background:#41A236;
  color:#fff;
  font:inherit;
  font-size:15.5px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(65,162,54,.2);
  cursor:pointer;
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease;
}
.wda-bind-button:hover:not(:disabled){filter:brightness(.97);box-shadow:0 11px 24px rgba(65,162,54,.29)}
.wda-bind-button:active:not(:disabled){transform:translateY(1px)}
.wda-bind-button:disabled{background:#dfeae3;color:#52675d;box-shadow:none;cursor:not-allowed}
.wda-security-note{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;border:1px solid rgba(65,162,54,.13);border-radius:16px;background:#f8fcfa}
.wda-security-note img{width:24px;height:24px;object-fit:contain}
.wda-security-note p{display:grid;gap:3px;margin:0;color:var(--wda-text);font-size:11.25px;line-height:1.38}
.wda-security-note p strong{font-weight:700}
.wda-security-note p span{color:var(--wda-muted)}
.wda-dialog-layer{position:fixed;inset:0;z-index:120;display:grid;align-items:end;justify-items:center;padding:18px;background:rgba(3,27,23,.42);backdrop-filter:blur(5px)}
.wda-dialog{width:min(100%,420px);padding:22px;border-radius:24px;background:#fff;box-shadow:0 22px 54px rgba(3,27,23,.24)}
.wda-dialog h2{margin:0;color:var(--wda-ink);font-size:21px;line-height:1.25}
.wda-dialog>p{margin:9px 0 17px;color:var(--wda-muted);font-size:13px;line-height:1.5}
.wda-dialog>label{display:block;margin:14px 0 6px;color:var(--wda-ink);font-size:12px;font-weight:800}
.wda-dialog>input,.wda-dialog-input{width:100%;min-height:50px;border:1px solid rgba(65,162,54,.24);border-radius:13px;background:#f9fcfa;font:inherit}
.wda-dialog>input{padding:0 13px;color:var(--wda-text);font-size:14px}
.wda-dialog-input{display:flex;align-items:center}
.wda-dialog-input input{flex:1;min-width:0;height:48px;border:0;outline:0;box-shadow:none;background:transparent;appearance:none;-webkit-appearance:none;padding:0 13px;font:inherit;font-size:14px}
.wda-dialog-input:focus-within{border-color:#41A236;box-shadow:0 0 0 3px rgba(65,162,54,.12)}
.wda-dialog-input input:focus,.wda-dialog-input input:focus-visible{outline:0;box-shadow:none}
.wda-dialog>input:focus,.wda-dialog>input:focus-visible{outline:0;border-color:#41A236;box-shadow:0 0 0 3px rgba(65,162,54,.12)}
.wda-dialog-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:14px;background:#fff0f1;color:#e5262f;font-size:20px;font-weight:900}
.wda-edit-channel{display:flex;align-items:center;gap:16px;margin:14px 0;padding:12px;border-radius:14px;background:#f3faf6}
/* wdaPolish=20260806-3:GCash 展示与账户卡片同版式同尺寸(官方 G 徽 34px + 17px 蓝字标签),
   横标素材版按用户比对图退役;Maya 走下面的 >img 通道不变 */
.wda-edit-channel>img{display:block;width:auto;height:28px;max-width:132px;object-fit:contain}
.wda-edit-brand{display:flex;align-items:center;gap:5px}
.wda-edit-brand img{display:block;width:auto;height:34px}
.wda-edit-brand b{color:#173db4;font-size:17px;font-weight:700;letter-spacing:-.45px}
.wda-edit-channel span{color:var(--wda-muted);font-size:12px}
.wda-dialog-error{margin:10px 0 0!important;color:#d92f38!important;font-size:12px!important}
.wda-dialog-field-error{display:block;margin-top:5px;color:#d92f38;font-size:11.5px;line-height:1.35}
.wda-dialog input[aria-invalid="true"]{border-color:#d92f38}
.wda-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.wda-dialog-actions button{min-height:48px;border-radius:13px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.wda-dialog-cancel{border:1px solid rgba(7,48,42,.12);background:#fff;color:var(--wda-ink)}
.wda-dialog-save{border:0;background:var(--wda-green);color:#fff}
.wda-dialog-danger{border:0;background:#e5262f;color:#fff}
.wda-dialog-actions button:disabled{opacity:.56;cursor:wait}
.wda-menu-trigger:focus-visible,.wda-ch:focus-visible,.wda-bind-button:focus-visible,.wda-dialog button:focus-visible{outline:3px solid rgba(65,162,54,.24);outline-offset:2px}
@media (min-width:520px){.wda-page{padding-left:22px;padding-right:22px}}
@media (max-width:374px){.wda-page{padding-left:12px;padding-right:12px}.wda-card{grid-template-columns:82px minmax(0,1fr) 44px;gap:8px}.wda-card-logo .wda-logo-label{font-size:15px}.wda-hero-copy{width:72%}.wda-hero-copy h1{font-size:14.5px}.wda-channel-check{right:7px}}
@media (prefers-reduced-motion:reduce){.wda-skeleton{animation:none}.wda-bind-button,.wda-input-slot{transition:none}}
/* 提现页 v1 的 .wd-acc 与 .wda-manage-cta 死规则已随 wdaPolish=20260806-1 清理(app.js 与 index.html 零引用,含旧绿 #0DAE5E #23A638 #078C4A) */
/* 小草微风:30s 一轮,前 4%(1.2s)左右轻摆 ±6°,锚草根;尊重减少动态设置 */
@keyframes join-grass-sway{0%,4%,100%{transform:rotate(0)}0.8%{transform:rotate(-6deg)}1.6%{transform:rotate(7deg)}2.4%{transform:rotate(-4deg)}3.2%{transform:rotate(3deg)}}
.idcard .join-days .join-grass{transform-origin:50% 100%;animation:join-grass-sway 30s ease-in-out 2s infinite}
@media (prefers-reduced-motion:reduce){.idcard .join-days .join-grass{animation:none}}
/* 兑换页数字统一·候选三(2026-07-21 需求):兑换金额/预计到账数字都 24px、单位 17px、两处金币 20px(币可见高≈字形高,比例与 r12-17 同口径) */
.ent-wallet-page-v4 .ent-wallet-amount-line input,
.ent-wallet-page-v4 .ent-wallet-amount-line>span{font-size:24px}
.ent-wallet-page-v4 .ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{width:20px;height:20px}
.ent-wallet-page-v4 .ent-wallet-expected-number{font-size:24px}
.ent-wallet-page-v4 .ent-wallet-expected-unit{font-size:17px}
.ent-wallet-page-v4 .ent-wallet-receipt .xcoin-brand-icon-balance{width:20px;height:20px}

/* PanaloX betting page fidelity redesign — approved 2026-07-22 visual system. */
.service-page[data-service-kind="entertainment-live"]{
  --ent-primary:#3EA536;
  --ent-primary-rgb:62,165,54;
  --ent-bg:#F4F7F5;
  --ent-ink:#111814;
  --ent-muted:#66706A;
  --ent-border:#DEE4E0;
  --ent-error:#F04444;
  --ent-warning:#F2AE00;
  --ent-card-radius:12px;
  --ent-section-radius:16px;
  background:var(--ent-bg);
}
.service-page[data-service-kind="entertainment-live"] .service-screen{
  width:min(100%,430px);
  max-width:430px;
  padding:10px 8px calc(24px + env(safe-area-inset-bottom));
  padding-top:calc(10px + env(safe-area-inset-top))!important;
  background:var(--ent-bg);
  background-color:var(--ent-bg);
  box-shadow:0 18px 42px rgba(17,24,20,.08);
}
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  min-height:44px;
  margin-bottom:12px;
  grid-template-columns:32px minmax(96px,112px) 88px minmax(100px,1fr);
  gap:8px;
}
.service-page[data-service-kind="entertainment-live"] .service-back{
  width:32px;
  height:44px;
  border:1px solid var(--ent-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 12px rgba(17,24,20,.06);
}
.service-page[data-service-kind="entertainment-live"] .service-back::before{
  width:20px;
  height:20px;
  background:center/20px 20px no-repeat url("./assets/ent-bet-icon-back.svg");
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap{
  min-width:0;
  align-self:center;
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1{
  display:block;
  overflow:visible;
  white-space:normal;
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img{
  display:block;
  width:100%;
  max-width:112px;
  height:34px;
  object-fit:contain;
  object-position:left center;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance{
  width:100%;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  border:1px solid var(--ent-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 12px rgba(17,24,20,.06);
  color:var(--ent-ink);
  font:inherit;
  font-size:13px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance img{width:24px;height:24px;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .service-pill-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.service-page[data-service-kind="entertainment-live"] .service-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  height:44px;
  min-width:0;
  padding:0 5px;
  border:1px solid var(--ent-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 12px rgba(17,24,20,.06);
  color:var(--ent-ink);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.service-page[data-service-kind="entertainment-live"] .service-pill img{width:18px;height:18px;object-fit:contain;filter:invert(51%) sepia(48%) saturate(803%) hue-rotate(69deg) brightness(91%) contrast(88%)}
.service-page[data-service-kind="entertainment-live"] .service-body{gap:0}
.service-page[data-service-kind="entertainment-live"] .ent-live-shell{
  display:grid;
  grid-template-columns:minmax(0,164fr) minmax(0,204fr);
  gap:8px 6px;
  padding-bottom:0;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-card{
  grid-column:1;
  min-height:140px;
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  justify-items:center;
  align-items:center;
  gap:3px;
  padding:10px 10px 9px;
  border:1px solid var(--ent-border);
  border-radius:var(--ent-section-radius);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='62' height='62'%3E%3Cg fill='none' stroke='%2343A96E' stroke-linecap='round' opacity='0.22'%3E%3Ccircle cx='31' cy='34' r='17' stroke-width='2.4'/%3E%3Crect x='27' y='8' width='8' height='5' rx='1.5' fill='%2343A96E' stroke='none'/%3E%3Cpath d='M31 13v3' stroke-width='2'/%3E%3Cpath d='M31 21v2.5M44 34h-2.5M31 47v-2.5M18 34h2.5M40 25l-1.8 1.8M40 43l-1.8-1.8M22 43l1.8-1.8M22 25l1.8 1.8' stroke-width='1.7'/%3E%3Cpath d='M31 34v-8.5' stroke-width='2.2' stroke='%23E3A017'/%3E%3Cpath d='M31 34l5.5 3.5' stroke-width='1.9'/%3E%3Ccircle cx='31' cy='34' r='1.9' fill='%2343A96E' stroke='none'/%3E%3C/g%3E%3C/svg%3E") no-repeat right -4px center/auto 80%, #E7F5EC;
  color:var(--ent-ink);
  box-shadow:0 4px 14px rgba(17,24,20,.06);
}
.service-page[data-service-kind="entertainment-live"] .ent-cycle-badge{
  justify-self:start;
  min-height:20px;
  display:inline-flex;
  align-items:center;
  border-radius:6px;
  padding:3px 8px;
  background:rgba(var(--ent-primary-rgb),.12);
  color:var(--ent-primary);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap{display:grid;justify-items:center;gap:3px;text-align:center}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap small{
  color:var(--ent-ink);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap strong{
  margin:0;
  color:var(--ent-primary);
  font-size:38px;
  font-weight:800;
  line-height:.98;
  letter-spacing:-1.5px;
  font-variant-numeric:tabular-nums;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-card.is-warning .ent-countdown-wrap strong{color:var(--ent-warning)}
.service-page[data-service-kind="entertainment-live"] .ent-round-card.is-closed .ent-countdown-wrap strong{color:#8C948F}
.service-page[data-service-kind="entertainment-live"] .ent-round-status{
  position:relative;
  min-height:20px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 10px 3px 22px;
  background:rgba(var(--ent-primary-rgb),.12);
  color:var(--ent-primary);
  font-size:10px;
  font-weight:800;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-status::after{
  left:10px;
  right:auto;
  width:6px;
  height:6px;
  background:var(--ent-primary);
  box-shadow:none;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-status.ended{background:#EFF1F0;color:#8C948F}
.service-page[data-service-kind="entertainment-live"] .ent-round-main{display:flex;align-items:center;justify-content:center;gap:4px}
.service-page[data-service-kind="entertainment-live"] .ent-round-main small{color:var(--ent-muted);font-size:9px;font-weight:500}
.service-page[data-service-kind="entertainment-live"] .ent-round-main strong{margin:0;color:var(--ent-muted);font-size:10px;font-weight:500;line-height:1.2}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle{
  grid-column:2;
  min-height:140px;
  overflow:hidden;
  border:1px solid var(--ent-border);
  border-radius:var(--ent-section-radius);
  background:#fff;
  box-shadow:0 4px 14px rgba(17,24,20,.06);
}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{
  width:100%;
  min-height:138px;
  display:grid;
  grid-template-rows:24px 1fr 28px;
  gap:4px;
  padding:8px 10px 7px;
  border:0;
  background:#fff;
  color:var(--ent-ink);
  font:inherit;
}
.service-page[data-service-kind="entertainment-live"] .ent-result-head{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:4px;width:100%}
.service-page[data-service-kind="entertainment-live"] .ent-result-title{display:flex;align-items:center;gap:5px;min-width:0;color:var(--ent-primary);font-size:12px;font-weight:800;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-result-title img{width:18px;height:18px}
.service-page[data-service-kind="entertainment-live"] .ent-result-head>small{max-width:92px;color:var(--ent-muted);font-size:8px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-result-chevron{width:12px;height:12px;transition:transform .18s ease}
.service-page[data-service-kind="entertainment-live"] .ent-result-chevron.is-open{transform:rotate(90deg)}
.service-page[data-service-kind="entertainment-live"] .ent-result-items{display:grid;align-items:center;width:100%}
.service-page[data-service-kind="entertainment-live"] .ent-result-position{display:grid;justify-items:center;gap:3px;min-width:0;text-align:center}
.service-page[data-service-kind="entertainment-live"] .ent-result-position+.ent-result-position{border-left:1px solid var(--ent-border)}
.service-page[data-service-kind="entertainment-live"] .ent-result-position>small{color:var(--ent-ink);font-size:9px;font-weight:500;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell{position:relative;display:grid;place-items:center;width:48px;height:48px}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell b{position:relative;z-index:1;color:var(--ent-primary);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
/* ⑥ 开奖球按红蓝绿(2026-07-23):数字换色+球图滤色(白底无色相不动);红0/3/6/9 蓝1/4/7 绿2/5/8 */
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.tone-2 b{color:#D5262C}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.tone-1 b{color:#1C6FBF}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.tone-0 b{color:#178A3D}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.tone-2 img{filter:hue-rotate(-122deg) saturate(1.3)}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.tone-1 img{filter:hue-rotate(102deg) saturate(1.15)}
/* ⑦ 球区常驻彩屑(2026-07-23):彩点散两侧+顶部,中间留给球;2026-07-26 需求②:整框大光晕移除,光晕改到每颗球正下方(见 ball-shell::before) */
.service-page[data-service-kind="entertainment-live"] .ent-result-items{position:relative}
.service-page[data-service-kind="entertainment-live"] .ent-result-items::before{content:"";position:absolute;left:-8px;right:-8px;top:-10px;bottom:-6px;z-index:0;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='100'%3E%3Ccircle cx='26' cy='16' r='3' fill='%23E5484D'/%3E%3Ccircle cx='50' cy='40' r='2.4' fill='%23F5C518'/%3E%3Ccircle cx='16' cy='58' r='2.6' fill='%232FA84F'/%3E%3Ccircle cx='42' cy='78' r='3' fill='%233B82F6'/%3E%3Ccircle cx='72' cy='24' r='2.2' fill='%23F59E0B'/%3E%3Ccircle cx='274' cy='18' r='3' fill='%232FA84F'/%3E%3Ccircle cx='250' cy='44' r='2.4' fill='%23E5484D'/%3E%3Ccircle cx='284' cy='60' r='2.6' fill='%23F5C518'/%3E%3Ccircle cx='258' cy='80' r='3' fill='%233B82F6'/%3E%3Ccircle cx='228' cy='26' r='2.2' fill='%23F59E0B'/%3E%3Cpath d='M150 4l1.4 3.2 3.4.5-2.4 2.4.6 3.4-3-1.6-3 1.6.6-3.4-2.4-2.4 3.4-.5z' fill='%23F5C518'/%3E%3C/svg%3E")}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell::before{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:94%;height:11px;border-radius:50%;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(255,187,64,.5),rgba(255,187,64,0) 74%)}
.service-page[data-service-kind="entertainment-live"] .ent-result-position{position:relative;z-index:1}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell.is-empty{opacity:.38}
.service-page[data-service-kind="entertainment-live"] .ent-result-view{display:flex;align-items:center;justify-content:center;gap:5px;border-top:1px solid var(--ent-border);padding-top:7px;color:var(--ent-ink);font-size:10px;font-weight:500}
.service-page[data-service-kind="entertainment-live"] .ent-result-view img{width:12px;height:12px;filter:invert(51%) sepia(48%) saturate(803%) hue-rotate(69deg) brightness(91%) contrast(88%)}
.service-page[data-service-kind="entertainment-live"] .ent-draw-history-list{grid-column:1/-1}
.service-page[data-service-kind="entertainment-live"] .ent-bet-box,
.service-page[data-service-kind="entertainment-live"] [data-ent-panel-host],
.service-page[data-service-kind="entertainment-live"] .ent-pending-box{grid-column:1/-1}
.service-page[data-service-kind="entertainment-live"] .ent-bet-box{
  overflow:hidden;
  border:1px solid var(--ent-border);
  border-radius:var(--ent-section-radius) var(--ent-section-radius) 0 0;
  background:#fff;
  box-shadow:0 4px 14px rgba(17,24,20,.06);
}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs{
  height:42px;
  overflow:hidden;
  border:0;
  border-bottom:1px solid var(--ent-border);
  border-radius:0;
  background:#fff;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button{
  min-height:42px;
  border:0;
  border-right:1px solid var(--ent-border);
  background:#fff;
  color:var(--ent-ink);
  font-size:13px;
  font-weight:700;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button.is-selected{background:#fff;color:var(--ent-primary);box-shadow:inset 0 -3px 0 var(--ent-primary)}
.service-page[data-service-kind="entertainment-live"] .ent-market-panel,
.service-page[data-service-kind="entertainment-live"] .ent-bet-box:has(.ent-market-panel.is-ball-mode) .ent-market-panel{
  display:grid;
  gap:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-panel.is-ball-mode{padding:16px 12px 12px}
.service-page[data-service-kind="entertainment-live"] .ent-choose-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--ent-ink);font-size:18px;font-weight:800;line-height:1.2}
.service-page[data-service-kind="entertainment-live"] .ent-choose-title img{width:20px;height:20px;filter:invert(51%) sepia(48%) saturate(803%) hue-rotate(69deg) brightness(91%) contrast(88%)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group{padding:0;border:0;background:transparent;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity{margin-top:8px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color{margin-top:8px}
.service-page[data-service-kind="entertainment-live"] .ent-market-options{gap:8px}
.service-page[data-service-kind="entertainment-live"] .ent-option{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
  padding:5px 8px;
  border:1px solid var(--ent-border);
  border-radius:12px;
  background:#fff;
  color:var(--ent-ink);
  box-shadow:0 3px 10px rgba(17,24,20,.035);
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-size .ent-option,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity .ent-option{height:68px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option{height:56px;gap:8px}
.service-page[data-service-kind="entertainment-live"] .ent-option-art{position:relative;display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px}
.service-page[data-service-kind="entertainment-live"] .ent-option-art img{width:100%;height:100%;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option-art{width:38px;height:38px}
.service-page[data-service-kind="entertainment-live"] .ent-option-art-badge{position:absolute;color:#fff;font-size:16px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball{
  --ball-top:#ff4b54;
  --ball-mid:#e8000b;
  --ball-low:#940008;
  --ball-rim:#c90009;
  --ball-shift-x:-1px;
  box-sizing:border-box
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball::before,
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:6.25%;
  box-sizing:border-box;
  border-radius:50%;
  transform:translate(var(--ball-shift-x),0);
  pointer-events:none
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball::before{
  border:.5px solid var(--ball-rim);
  background:
    radial-gradient(ellipse 19% 15% at 31% 23%,rgba(255,255,255,.72) 0 20%,rgba(255,255,255,.32) 42%,rgba(255,255,255,0) 100%),
    radial-gradient(circle at 36% 30%,var(--ball-top) 0 7%,var(--ball-mid) 43%,var(--ball-low) 80%,color-mix(in srgb,var(--ball-low) 70%,black) 100%)
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball::after{
  background:
    radial-gradient(ellipse 72% 29% at 50% 5%,rgba(255,255,255,.12),rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 62% 30% at 50% 100%,rgba(0,0,0,.42),rgba(0,0,0,0) 74%)
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball:has(>.ent-option-art-badge){--ball-shift-x:-.5px}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball.is-red{
  --ball-top:#f81721;
  --ball-mid:#c90005;
  --ball-low:#520002;
  --ball-rim:#bd0008
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball.is-blue{
  --ball-top:#0b6df4;
  --ball-mid:#003bd8;
  --ball-low:#000e76;
  --ball-rim:#003ca4
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball.is-green{
  --ball-top:#55ad1d;
  --ball-mid:#176a00;
  --ball-low:#022b00;
  --ball-rim:#0f6003
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball.is-purple{
  --ball-top:#a139d4;
  --ball-mid:#5b139a;
  --ball-low:#250653;
  --ball-rim:#50117f
}
.service-page[data-service-kind="entertainment-live"] .ent-vector-ball>.ent-option-art-badge{z-index:1}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy{display:grid;gap:3px;text-align:left;min-width:32px}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy strong{font-size:15px;line-height:1.15;color:var(--ent-ink);font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy small{font-size:11px;line-height:1.15;color:var(--ent-muted);font-weight:500}
.service-page[data-service-kind="entertainment-live"] .ent-option.is-selected{border:1.5px solid var(--ent-primary);background:rgba(var(--ent-primary-rgb),.06);box-shadow:0 4px 12px rgba(var(--ent-primary-rgb),.14)}
.service-page[data-service-kind="entertainment-live"] .ent-option:disabled{opacity:.52;filter:grayscale(.4)}
/* (2026-07-26 需求④:原龙虎"拆卡"三条规则删除——tab 独立圆角盒会在深色面板上方漏出左下/右下缺角;现与球模式共用 7712-7725 的同一张白卡) */
/* ⑪ 龙虎tab金龙金虎VS(2026-07-23):图标~20px,VS黑 */
.service-page[data-service-kind="entertainment-live"] .ent-dt-tab{display:flex;align-items:center;justify-content:center;gap:3px}
.service-page[data-service-kind="entertainment-live"] .ent-dt-ico{width:20px;height:20px;object-fit:contain;flex:0 0 auto}
.service-page[data-service-kind="entertainment-live"] .ent-dt-vs{font-size:9px;font-weight:900;color:#1B2620;flex:0 0 auto}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{min-height:170px;aspect-ratio:2.3/1;padding:14px 14px 12px;border-radius:16px;background:url("./assets/ent-dragon-tiger-bg-2.webp") center/cover no-repeat rgba(var(--ent-primary-rgb),.06);box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger h3{position:relative;z-index:1;margin:0;color:var(--ent-primary);font-size:13px;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-market-options{position:relative;z-index:1;margin-top:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option{min-height:52px;border-color:var(--ent-primary);background:#fff;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] [data-ent-panel-host]{margin-top:-8px}
.service-page[data-service-kind="entertainment-live"] .ent-bet-panel{
  position:relative;
  bottom:auto;
  display:grid;
  gap:10px;
  margin:0;
  padding:12px;
  border:1px solid var(--ent-border);
  border-top:0;
  border-radius:0 0 var(--ent-section-radius) var(--ent-section-radius);
  background:#fff;
  box-shadow:0 4px 14px rgba(17,24,20,.06);
  backdrop-filter:none;
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input{display:grid;gap:8px;margin:0}
.service-page[data-service-kind="entertainment-live"] .ent-stake-label{display:flex;align-items:center;gap:7px;color:var(--ent-ink);font-size:14px;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-stake-label img{width:18px;height:18px;object-fit:contain;filter:invert(51%) sepia(48%) saturate(803%) hue-rotate(69deg) brightness(91%) contrast(88%)}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row{height:40px;display:grid;grid-template-columns:minmax(0,1fr) 66px;gap:8px}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;min-width:0;border:1px solid var(--ent-border);border-radius:10px;background:#fff;padding:0 10px;transition:border-color .16s ease,box-shadow .16s ease}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field>img{width:24px;height:24px;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input{width:100%;min-width:0;min-height:38px;border:0;border-radius:0;background:transparent;padding:0 0 0 4px;color:var(--ent-ink);font:inherit;font-size:14px;font-weight:600;outline:0;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input::placeholder{color:#9AA29D;opacity:1}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field.is-valid{border-color:var(--ent-border)}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field:focus-within{border-color:var(--ent-primary);box-shadow:0 0 0 3px rgba(var(--ent-primary-rgb),.12)}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field.is-error{border-color:var(--ent-error)}
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn{height:40px;border:1px solid var(--ent-border);border-radius:10px;background:#fff;color:var(--ent-primary);font:inherit;font-size:12px;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button{position:relative;height:34px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;gap:4px;overflow:hidden;border:1px solid var(--ent-border);border-radius:9px;background:#fff;color:var(--ent-ink);box-shadow:0 2px 6px rgba(17,24,20,.035);padding:0;font:inherit;font-size:11px;font-weight:800;transform:none}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button img{width:18px;height:18px;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button.is-selected{border-color:var(--ent-primary);background:rgba(var(--ent-primary-rgb),.06);box-shadow:0 0 0 1px rgba(var(--ent-primary-rgb),.12);padding-right:0;transform:none}
.service-page[data-service-kind="entertainment-live"] .ent-quick-check{opacity:0;transition:opacity .14s ease;pointer-events:none}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button.is-selected .ent-quick-check{opacity:1}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button:disabled{opacity:.52}
/* 需求③修订3(2026-07-26,IMG_0454 逐像素精测换算):图标42/40/36、数字18、标签10底对齐、标签-数字间距6、行高73 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary{height:58px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card{height:58px;display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;padding:5px 10px;border:1px solid #D7E4DC;border-radius:15px;background:#fff;box-shadow:0 2px 8px rgba(17,24,20,.045)}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary img{width:40px;height:40px;object-fit:contain;filter:none;flex:0 0 auto}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:42px;height:42px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-copy{display:grid;align-content:center;min-width:0;flex:1}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary small{display:block;overflow:hidden;color:#3D4A43;font-size:10px;font-weight:600;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
/* 长标签(菲语/英语)手机宽度会折两行:标签固定两行槽位+底对齐——单行语言贴住数字(演示图实测间距6px),折行语言向上伸展,三格数字恒同一基线 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-value{display:flex;align-items:baseline;gap:6px;min-width:0;margin-top:4px;white-space:nowrap}
/* 长数值自动降档(2026-07-26):一格数字区仅 ~63px,7位起逐档缩字号,金额绝不出省略号 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong.is-long{font-size:15px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong.is-xlong{font-size:13px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong.is-xxlong{font-size:11px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{display:block;min-width:0;overflow:hidden;color:var(--ent-primary);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;line-height:20px;text-overflow:clip;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-currency{flex:0 0 auto;color:#3D4A43;font-size:9px;font-weight:500;line-height:1}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-row{display:block;margin:0;padding:0;overflow:hidden;border-radius:14px;background:var(--ent-primary);box-shadow:0 8px 20px rgba(62,165,54,.24)}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{width:100%;min-height:64px;display:grid;justify-items:center;align-content:center;gap:1px;border:0;border-radius:14px;background:transparent;color:#fff;padding:5px 10px;font:inherit;text-shadow:none;letter-spacing:0}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{display:inline-flex;align-items:center;justify-content:center;gap:8px}
/* coinglow-1(2026-07-27):金币双层外发光(内3px亮金+外8px柔光,drop-shadow 沿币轮廓) */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(255,215,90,.75)) drop-shadow(0 0 10px rgba(255,186,50,.45))}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main b{color:#fff;font-size:18px;font-weight:900;line-height:1.05}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{color:#fff;font-size:10px;font-weight:500;line-height:1.2;text-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:disabled{background:#D8DDD9;color:#8C948F;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:disabled .ent-confirm-main b,.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:disabled small{color:#8C948F}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:disabled .ent-confirm-main img{filter:drop-shadow(0 0 4px rgba(255,215,90,.75)) drop-shadow(0 0 10px rgba(255,186,50,.45));opacity:1}
/* 余额不足提示:按钮下方那行红字(2026-07-23 需求),特异性盖过上面的 disabled 灰 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:disabled small.is-insufficient{color:#D14343}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-loading .ent-confirm-main img{animation:ent-bet-coin-pulse .8s ease-in-out infinite alternate}
@keyframes ent-bet-coin-pulse{from{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-loading .ent-confirm-main img{animation:none}}
@media (max-width:360px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:32px 112px 88px minmax(90px,1fr);gap:5px}
  .service-page[data-service-kind="entertainment-live"] .service-pill-group{gap:5px}
  .service-page[data-service-kind="entertainment-live"] .service-pill{padding:0 3px;font-size:10px}
  .service-page[data-service-kind="entertainment-live"] .ent-option{gap:8px}
  .service-page[data-service-kind="entertainment-live"] .ent-option-art{width:44px;height:44px}
  .service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option-art{width:34px;height:34px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary{gap:10px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card{gap:5px;padding-left:7px;padding-right:7px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary img{width:34px;height:34px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:36px;height:36px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{font-size:16.5px}
}
@media (max-width:419px){
  .service-page[data-service-kind="entertainment-live"] .service-pill img{display:none}
}
@media (min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:36px 128px 96px minmax(122px,1fr)}
  .service-page[data-service-kind="entertainment-live"] .service-back{width:36px}
  .service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img{max-width:128px}
  .service-page[data-service-kind="entertainment-live"] .ent-market-panel.is-ball-mode,
  .service-page[data-service-kind="entertainment-live"] .ent-bet-panel{padding-left:12px;padding-right:12px}
}

/* PanaloX betting page compact alignment — 2026-07-23 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  min-height:44px;
  margin-bottom:4px;
  grid-template-columns:32px minmax(0,1fr) auto auto;
  gap:6px;
}
.service-page[data-service-kind="entertainment-live"] .service-back{
  width:32px;
  height:44px;
  border-radius:10px;
  box-shadow:0 3px 9px rgba(17,24,20,.045);
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img{max-width:112px;height:32px}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance{
  height:44px;
  gap:5px;
  border-radius:10px;
  font-size:12.5px;
  box-shadow:0 3px 9px rgba(17,24,20,.045);
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance img{width:20px;height:20px}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance .ent-balance-plus{flex:0 0 auto;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#23A638;color:#fff;font-size:13px;font-weight:900;line-height:1;font-style:normal}
.service-page[data-service-kind="entertainment-live"] .service-pill-group{gap:6px}
.service-page[data-service-kind="entertainment-live"] .service-pill{
  height:44px;
  gap:0;
  padding:0 4px;
  border-radius:10px;
  font-size:10.5px;
  line-height:1;
  box-shadow:0 3px 9px rgba(17,24,20,.045);
}
.service-page[data-service-kind="entertainment-live"] .service-pill img{display:none}
.service-page[data-service-kind="entertainment-live"] .ent-live-shell{gap:6px}
.service-page[data-service-kind="entertainment-live"] .ent-round-card,
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle{min-height:130px}
.service-page[data-service-kind="entertainment-live"] .ent-round-card{
  grid-template-rows:auto 1fr auto auto;
  gap:2px;
  padding:8px 9px 7px;
  border-radius:14px;
  box-shadow:0 3px 10px rgba(17,24,20,.05);
}
.service-page[data-service-kind="entertainment-live"] .ent-cycle-badge{
  min-height:19px;
  padding:2px 7px;
  font-size:9.5px;
}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap{gap:2px}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap small{font-size:10.5px;font-weight:700}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap strong{
  font-size:33px;
  line-height:.98;
  letter-spacing:-1.1px;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-status{
  min-height:19px;
  padding:2px 9px 2px 20px;
  font-size:9.5px;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-status::after{left:9px;width:6px;height:6px}
.service-page[data-service-kind="entertainment-live"] .ent-round-main{gap:3px;max-width:100%;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-round-main small,
.service-page[data-service-kind="entertainment-live"] .ent-round-main strong{font-size:9.5px}
.service-page[data-service-kind="entertainment-live"] .ent-round-main strong{overflow:hidden;text-overflow:ellipsis}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle{
  border-radius:14px;
  box-shadow:0 3px 10px rgba(17,24,20,.05);
}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{
  min-height:128px;
  grid-template-rows:30px 1fr 25px;
  gap:3px;
  padding:7px 9px 6px;
}
.service-page[data-service-kind="entertainment-live"] .ent-result-head{
  grid-template-columns:minmax(0,1fr) 10px;
  grid-template-rows:16px 12px;
  gap:1px 4px;
  align-content:center;
}
.service-page[data-service-kind="entertainment-live"] .ent-result-title{grid-column:1;grid-row:1;gap:4px;font-size:11.5px;font-weight:700;overflow:hidden}
.service-page[data-service-kind="entertainment-live"] .ent-result-title span{overflow:hidden;text-overflow:ellipsis}
.service-page[data-service-kind="entertainment-live"] .ent-result-title img{width:16px;height:16px}
.service-page[data-service-kind="entertainment-live"] .ent-result-head>small{grid-column:1;grid-row:2;justify-self:start;max-width:100%;font-size:9.5px;line-height:1}
.service-page[data-service-kind="entertainment-live"] .ent-result-chevron{grid-column:2;grid-row:1/3;width:10px;height:10px;align-self:center}
.service-page[data-service-kind="entertainment-live"] .ent-result-position{gap:2px}
.service-page[data-service-kind="entertainment-live"] .ent-result-position>small{font-size:9.5px}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell{width:42px;height:42px}
.service-page[data-service-kind="entertainment-live"] .ent-result-ball-shell b{font-size:18px;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-result-view{gap:4px;padding-top:5px;font-size:9.5px}
.service-page[data-service-kind="entertainment-live"] .ent-result-view img{width:10px;height:10px}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs{height:40px}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button{
  min-height:40px;
  padding:0 4px;
  font-size:12px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-panel.is-ball-mode{padding:12px 10px 10px}
.service-page[data-service-kind="entertainment-live"] .ent-choose-title{
  gap:6px;
  margin-bottom:10px;
  font-size:16px;
  font-weight:700;
}
.service-page[data-service-kind="entertainment-live"] .ent-choose-title img{width:18px;height:18px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color{margin-top:6px}
.service-page[data-service-kind="entertainment-live"] .ent-market-options{gap:6px}
.service-page[data-service-kind="entertainment-live"] .ent-option{
  display:grid;
  grid-template-columns:40px minmax(52px,76px);
  justify-content:center;
  gap:10px;
  padding:4px 6px;
  border-radius:11px;
  box-shadow:0 2px 7px rgba(17,24,20,.03);
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-size .ent-option,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity .ent-option{height:60px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option{
  height:50px;
  grid-template-columns:32px minmax(44px,58px);
  gap:6px;
}
.service-page[data-service-kind="entertainment-live"] .ent-option-art{width:40px;height:40px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option-art{width:32px;height:32px}
.service-page[data-service-kind="entertainment-live"] .ent-option-art-badge{font-size:14px;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy{gap:2px;min-width:0;text-align:left}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy strong{font-size:14px;font-weight:700;line-height:1.12}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy small{font-size:10.5px;font-weight:500;line-height:1.12}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option strong::before{display:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{
  background:url("./assets/ent-dragon-tiger-bg-2.webp") center/cover no-repeat rgba(var(--ent-primary-rgb),.06);
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:5px 4px;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option-copy{width:100%;text-align:center}
@media (min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:36px minmax(0,1fr) auto auto}
  .service-page[data-service-kind="entertainment-live"] .service-back{width:36px}
  .service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img{max-width:122px}
}
/* 投注房顶栏文字标题兜底(无品牌图素材的游戏):单行省略防撑爆窄槽(2026-07-23) */
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1:not(:has(img)){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
/* ===== 投注页微交互(2026-07-23):①按压反馈 ②倒计时末10秒脉冲 ③飞币+✓已下注 ④三球依次弹出 ===== */
.service-page[data-service-kind="entertainment-live"] .ent-option,
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button,
.service-page[data-service-kind="entertainment-live"] .ent-amount-row button,
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button,
.service-page[data-service-kind="entertainment-live"] .service-pill,
.service-page[data-service-kind="entertainment-live"] .ent-live-balance{transition:transform .12s ease,filter .12s ease}
.service-page[data-service-kind="entertainment-live"] .ent-option:active:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button:active:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .ent-amount-row button:active:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn:active:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:active:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .service-pill:active,
.service-page[data-service-kind="entertainment-live"] .ent-live-balance:active{transform:scale(.96);filter:brightness(1.04)}
@keyframes ent-count-pulse{0%,100%{transform:scale(1);text-shadow:0 0 0 rgba(255,216,77,0)}50%{transform:scale(1.06);text-shadow:0 0 14px rgba(255,216,77,.55)}}
.service-page[data-service-kind="entertainment-live"] [data-ent-countdown].is-final-ten{animation:ent-count-pulse 1s ease-in-out infinite;transform-origin:50% 50%}
.ent-fly-coin{position:fixed;z-index:230;pointer-events:none;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(178,124,20,.35))}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-placed:disabled{background:linear-gradient(135deg,#45D16F,#31C863);color:#fff;box-shadow:0 6px 14px rgba(7,140,72,.24)}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-placed:disabled .ent-confirm-main b,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-placed:disabled small{color:#fff}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-placed:disabled .ent-confirm-main img{filter:none;opacity:1}
@keyframes ent-ball-pop{0%{transform:scale(0);opacity:0}62%{transform:scale(1.14);opacity:1}82%{transform:scale(.96)}100%{transform:scale(1);opacity:1}}
.service-page[data-service-kind="entertainment-live"] .ent-result-items.is-fresh .ent-result-ball-shell{animation:ent-ball-pop .5s cubic-bezier(.34,1.56,.64,1) both}
.service-page[data-service-kind="entertainment-live"] .ent-result-items.is-fresh .ent-result-position:nth-child(1) .ent-result-ball-shell{animation-delay:.05s}
.service-page[data-service-kind="entertainment-live"] .ent-result-items.is-fresh .ent-result-position:nth-child(2) .ent-result-ball-shell{animation-delay:.23s}
.service-page[data-service-kind="entertainment-live"] .ent-result-items.is-fresh .ent-result-position:nth-child(3) .ent-result-ball-shell{animation-delay:.41s}
@media (prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-live"] [data-ent-countdown].is-final-ten,
  .service-page[data-service-kind="entertainment-live"] .ent-result-items.is-fresh .ent-result-ball-shell{animation:none}
  .ent-fly-coin{display:none}
  .service-page[data-service-kind="entertainment-live"] .ent-option:active:not(:disabled),
  .service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button:active:not(:disabled),
  .service-page[data-service-kind="entertainment-live"] .ent-amount-row button:active:not(:disabled),
  .service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn:active:not(:disabled),
  .service-page[data-service-kind="entertainment-live"] .ent-confirm-button:active:not(:disabled),
  .service-page[data-service-kind="entertainment-live"] .service-pill:active,
  .service-page[data-service-kind="entertainment-live"] .ent-live-balance:active{transform:none}
}

/* PanaloX stacked result and countdown cards — 2026-07-23 */
.service-page[data-service-kind="entertainment-live"] .ent-live-shell{grid-template-columns:minmax(0,1fr);gap:10px}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle{grid-column:1;min-height:0}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{min-height:0;grid-template-rows:28px 1fr 28px;gap:5px;padding:10px 14px 8px}
.service-page[data-service-kind="entertainment-live"] .ent-result-head{grid-template-columns:minmax(0,1fr) auto 12px;grid-template-rows:none;gap:6px}
.service-page[data-service-kind="entertainment-live"] .ent-result-head>small{grid-column:auto;grid-row:auto;max-width:none}
.service-page[data-service-kind="entertainment-live"] .ent-result-chevron{grid-column:auto;grid-row:auto}
.service-page[data-service-kind="entertainment-live"] .ent-result-view{justify-content:center}
.service-page[data-service-kind="entertainment-live"] .ent-round-card{grid-column:1;min-height:124px;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;gap:2px;padding:8px 14px}
.service-page[data-service-kind="entertainment-live"] .ent-round-topleft{grid-column:1;grid-row:1;display:flex;align-items:center;gap:6px;min-width:0}
.service-page[data-service-kind="entertainment-live"] .ent-cycle-badge{grid-column:1;grid-row:1}
/* ⑩ 周期旁红点 Betting(2026-07-23):红点脉冲+跟语言文字,封盘转灰「开奖中」 */
.service-page[data-service-kind="entertainment-live"] .ent-live-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;color:#D5262C;letter-spacing:.2px;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge i{width:6px;height:6px;border-radius:50%;background:#E5252B;animation:ent-live-pulse 1.5s ease-out infinite}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge.is-off{color:#94A19A}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge.is-off i{background:#9EABA3;animation:none}
@keyframes ent-live-pulse{0%{box-shadow:0 0 0 0 rgba(229,37,43,.5)}70%{box-shadow:0 0 0 6px rgba(229,37,43,0)}100%{box-shadow:0 0 0 0 rgba(229,37,43,0)}}
@media (prefers-reduced-motion:reduce){.service-page[data-service-kind="entertainment-live"] .ent-live-badge i{animation:none}}
.service-page[data-service-kind="entertainment-live"] .ent-round-main{grid-column:3;grid-row:1;justify-content:flex-end;gap:3px;white-space:nowrap;text-align:right}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap{grid-column:1/-1;grid-row:2;justify-items:center;align-self:center;gap:1px}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap strong{font-size:31px;line-height:.95}
.service-page[data-service-kind="entertainment-live"] .ent-round-status{grid-column:1/-1;grid-row:3;justify-self:center;min-height:18px;padding:2px 9px 2px 20px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{border-radius:0}
/* ⑱ 规则入口移到「选择下注」旁(2026-07-23):灰色 i 方框最右;顶栏去规则后 pill 组单列 */
.service-page[data-service-kind="entertainment-live"] .ent-choose-title{display:flex;align-items:center;gap:6px}
.service-page[data-service-kind="entertainment-live"] .ent-choose-title>span{flex:1 1 auto;min-width:0}
.service-page[data-service-kind="entertainment-live"] .ent-rules-i{flex:0 0 auto;width:19px;height:19px;border:1px solid #C9D6CE;border-radius:6px;background:#fff;color:#7C8A82;font-size:11.5px;font-weight:800;font-style:italic;font-family:Georgia,"Times New Roman",serif;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.service-page[data-service-kind="entertainment-live"] .service-pill-group{grid-template-columns:1fr}

/* PanaloX approved refinements — 2026-07-24 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:32px minmax(48px,1fr) auto 88px;
  gap:4px;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance{
  width:max-content;
  height:38px;
  gap:3px;
  padding:0 6px;
  border-radius:9px;
  font-size:clamp(10.5px,3vw,12.5px);
  justify-content:center;
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance .ent-live-coin{flex:0 0 18px;width:18px;height:18px}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance .ent-balance-exchange{flex:0 0 22px;width:22px;height:22px;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance>span.ent-live-balance-value{flex:0 0 auto;width:auto;min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap;text-align:center}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance-value.is-long{font-size:10px}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance-value.is-extra-long{font-size:7.5px}
.service-page[data-service-kind="entertainment-live"] .service-pill{
  height:38px;
  padding:0 4px;
  border-radius:9px;
}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{
  min-height:0;
  grid-template-rows:28px auto;
  gap:2px;
  padding:8px 14px 9px;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-card{
  grid-column:1;
  min-height:104px;
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto 1fr;
  gap:2px;
  padding:8px 14px 9px;
}
.service-page[data-service-kind="entertainment-live"] .ent-round-topleft{grid-column:1;grid-row:1}
.service-page[data-service-kind="entertainment-live"] .ent-cycle-badge{grid-column:auto;grid-row:auto}
.service-page[data-service-kind="entertainment-live"] .ent-round-main{grid-column:3;grid-row:1;justify-content:flex-end}
.service-page[data-service-kind="entertainment-live"] .ent-countdown-wrap{grid-column:1/-1;grid-row:2;justify-items:center;align-self:center}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge{color:var(--ent-primary)}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge i{background:var(--ent-primary)}
@keyframes ent-live-pulse{0%{box-shadow:0 0 0 0 rgba(62,165,54,.5)}70%,100%{box-shadow:0 0 0 6px rgba(62,165,54,0)}}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button{position:relative}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button:last-child{border-right:0}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button.is-selected{box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button.is-selected::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ent-primary);pointer-events:none}
/* ② 末位「龙VS虎」tab 选中下划线右下角缺口修复:不再给 3px 高的下划线手动套 ~15px 大圆角(半径远大于高度会把右下角啃出缺口),改由容器 overflow:hidden+border-radius 自然裁切,两端对称干净 */
.service-page[data-service-kind="entertainment-live"] .ent-dt-tab{gap:0}
.service-page[data-service-kind="entertainment-live"] .ent-dt-art{display:block;flex:0 0 auto;width:74px;height:26px;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected{
  border-color:var(--ent-primary);
  background:#F3FAF3;
  box-shadow:0 4px 12px rgba(var(--ent-primary-rgb),.14);
}
@media (min-width:360px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:32px minmax(58px,1fr) auto 96px;gap:5px}
}
@media (min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{grid-template-columns:36px minmax(74px,1fr) auto 104px;gap:6px}
}
/* Nunito 自托管(拉丁子集,~16KB/字重):只给「我的」页 Hi/昵称行用,数字更圆润好看;中文自动回退苹方(2026-07-23 需求) */
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url("./assets/nunito-400-v1.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url("./assets/nunito-600-v1.woff2") format("woff2")}

/* Confirmed UI refinements — 2026-07-24 */
.service-back{border-radius:50%}
.service-page[data-service-kind="entertainment-live"] .service-back{width:32px;height:32px;border-radius:50%;align-self:center}
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{
  min-height:0;
  grid-template-rows:18px auto;
  gap:2px;
  padding:4px 14px 7px;
}
.service-page[data-service-kind="entertainment-live"] .ent-result-head{align-items:center;align-content:start}
.service-page[data-service-kind="entertainment-live"] .ent-result-items{align-self:start}
.service-page[data-service-kind="entertainment-live"] .ent-live-badge{color:var(--ent-primary);font-weight:400}
.idcard .l small.join-days{gap:2px}
.idcard .join-days span{top:0}
.idcard .join-days .join-grass{top:-4px}
[data-view="me"] .idcard .profile-link{bottom:17.5px}

@font-face{font-family:"PanaloX Countdown Inter";font-style:normal;font-weight:800;font-display:swap;src:url("./assets/fonts/Inter-ExtraBold-latin.woff2") format("woff2")}

/* 顶部倒计时卡片 — IMG_0523 比例版式(2026-07-30)。
   参考卡片约 1477×349,所有几何都用 cqw 表达,在窄屏等比缩放。 */
.service-page[data-service-kind="entertainment-live"] .jade-countdown{
  --cd-ink:#155B25;
  --cd-hairline:max(.7px,.102cqw);
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  grid-column:1;
  width:100%;
  overflow:hidden;
  container-type:inline-size;
  border-radius:1.83cqw;
  /* countdownFlat-1(2026-08-02):PISO 绿钞防伪底纹按用户要求整层去掉,卡片回归纯白;
     圆角/阴影/内部版式不动(素材文件保留在 assets,只解除引用)。 */
  background-color:#FEFEFE;
  box-shadow:0 .55cqw 1.63cqw rgba(32,66,48,.10);
  color:var(--cd-ink);
  font-family:"Poppins",-apple-system,"PingFang SC","Segoe UI",Roboto,sans-serif;
}

/* ---- 顶部信息行:左组(状态点 + Betting + 时长胶囊)/ 右组(轮次) ---- */
.service-page[data-service-kind="entertainment-live"] .jade-countdown__top{
  /* statusFont=20260807-1:状态条三件套(状态/时长胶囊/期号)字体族改用「Magsasara sa」同款系统栈,颜色与字号不变 */
  font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2cqw;
  min-height:2.58cqw;
  margin:1.63cqw 2.91cqw 0 3.05cqw;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__meta{
  display:flex;
  align-items:center;
  gap:1.64cqw;
  flex:0 0 auto;
  min-width:0;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__status{
  display:flex;
  align-items:center;
  gap:1.25cqw;
  font-size:max(10.5px,2.03cqw);
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__status i{
  width:max(9px,1.76cqw);
  height:max(9px,1.76cqw);
  flex:0 0 auto;
  border:var(--cd-hairline) solid #0C4B1E;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#8CE0A4 0%,#3EAE60 42%,#12813A 72%,#0A5B28 100%);
  box-shadow:inset 0 -.12cqw .25cqw rgba(4,67,26,.22),0 .14cqw .28cqw rgba(20,70,35,.28);
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__duration{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:max(24px,4.6cqw);
  padding:max(4px,.8cqw) max(11px,2.2cqw);
  border-radius:999px;
  flex:0 0 auto;
  background:#E6F0E5;
  color:#1B6429;
  font-size:max(10.5px,1.90cqw);
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__issue{
  flex:0 1 auto;
  overflow:hidden;
  color:#19601E;
  font-size:max(10px,1.96cqw);
  font-weight:600;
  line-height:1.2;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---- 第二层:倒计时与提示使用整行宽度居中 ---- */
.service-page[data-service-kind="entertainment-live"] .jade-countdown__body{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:18.45cqw;
  margin:.18cqw 0 .75cqw;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__panel{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  height:16.9cqw;
  padding:0 3.05cqw;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__timer{
  margin:0;
  padding:0;
  width:100%;
  border:0;
  background:none;
  color:#2F7D24;
  font-family:"PanaloX Countdown Inter","Inter",sans-serif;
  font-size:15cqw;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  font-weight:800;
  line-height:.9;
  letter-spacing:-.015em;
  text-align:center;
  white-space:nowrap;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .service-page[data-service-kind="entertainment-live"] .jade-countdown__timer{
    background-image:linear-gradient(180deg,#33851B 0%,#217519 45%,#075C24 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label{
  display:flex;
  align-items:center;
  gap:2.05cqw;
  margin-top:.28cqw;
  max-width:100%;
  color:#676767;
  /* labelFont=20260807-1:「Magsasara sa」不再继承倒计时卡的 Poppins,改用「Paano Maglaro」同款系统栈(实测对齐) */
  font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
  font-size:max(10px,2.10cqw);
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label>span{
  width:9cqw;
  height:max(1px,.12cqw);
  flex:0 0 auto;
  background:linear-gradient(90deg,rgba(6,154,34,0),rgba(6,154,34,.9));
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label>span:last-child{
  background:linear-gradient(90deg,rgba(6,154,34,.9),rgba(6,154,34,0));
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label b{
  overflow:hidden;
  font:inherit;
  text-overflow:ellipsis;
}

/* ---- 状态态 ---- */
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="closing"] .jade-countdown__timer{
  color:#2F7D24;
  background-image:linear-gradient(180deg,#33851B 0%,#217519 45%,#075C24 100%);
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="closed"] .jade-countdown__status i,
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="drawing"] .jade-countdown__status i,
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="preparing"] .jade-countdown__status i{
  border-color:#8DA49A;
  background:#AEBDB6;
  box-shadow:none;
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="closed"] .jade-countdown__timer,
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="invalid"] .jade-countdown__timer,
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="stale"] .jade-countdown__timer{
  color:#8D9A8B;
  background-image:linear-gradient(180deg,#A3AE9F 0%,#8D9A8B 52%,#6E7A6C 100%);
}

@media (prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-live"] .jade-countdown *,
  .service-page[data-service-kind="entertainment-live"] .jade-countdown *::before,
  .service-page[data-service-kind="entertainment-live"] .jade-countdown *::after{
    animation:none!important;
    transition:none!important;
  }
}

@media (max-width:370px){
  [data-view="me"] .idcard .profile-link{bottom:16.5px}
}
@media (min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-back{width:36px;height:36px}
}

/* Withdrawal Account Hero refinement — 2026-07-27.
   Keep this block scoped to the Hero/topbar so every lower account surface stays unchanged. */
.service-page[data-service-kind="withdraw-accounts"] .service-topbar{
  /* wdaHero=20260806-1(方案A):38px 白圆(2026-08-04 统一批)与标题首行视觉中心对齐 ——
     实测标题行中心=屏顶 78.8px → top 60(圆心 79);左沿随 .wda-page 侧距(16/12/22)变,媒体行跟着挪 */
  top:60px;
  left:32px;
}
@media (max-width:374px){.service-page[data-service-kind="withdraw-accounts"] .service-topbar{left:28px}}
@media (min-width:520px){.service-page[data-service-kind="withdraw-accounts"] .service-topbar{left:38px}}
/* wdaPolish=20260806-2:此处原有本页专属的 .service-back 覆盖 + ::after 36px 白瓦片(统一圆钮批之前的旧造型)。
   统一批(2026-08-04)接管按钮本体后,那块瓦片仍在圆底下多画一层方形白片+阴影 —— 正是"返回键还有一层"。
   整组删除,返回键完全交给全局统一 38px 白圆(::after 只负责 44px 触摸区)。 */
.wda-hero{
  min-height:0;
  height:clamp(146px,36vw,150px);
  flex-shrink:0;
  border-radius:22px;
  /* wdaHero=20260806-1(方案A):插画挪到 ::before 独立层做椭圆 alpha 遮罩(盾牌缩档完整显示、
     烘焙盒边与外圈白晕淡出为零,官方颜色零改动);元素背景只留左侧文字保护渐变。 */
  background:linear-gradient(90deg,#f8fcfa 0%,#f1faf5 45%,rgba(241,250,245,.08) 68%,transparent 100%);
}
.wda-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  top:50%;
  right:-4px;
  width:246px;
  height:123px;
  transform:translateY(-50%);
  background:url("assets/hero-withdrawal-security.png") center/contain no-repeat;
  -webkit-mask-image:radial-gradient(ellipse 48% 84% at 77% 54%,#000 52%,transparent 90%);
  mask-image:radial-gradient(ellipse 48% 84% at 77% 54%,#000 52%,transparent 90%);
  pointer-events:none;
}
.wda-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:74%;
  height:100%;
  min-width:0;
  padding:0;
  padding:0;
  padding-left:clamp(66px,17vw,68px);
  transform:translateY(0);
}
/* 窄屏(≤374):盾层同比缩档 + 左距微收 —— 实测 360/320 标题(14.5px 档)与盾牌左框零重叠。
   必须排在上面的基础 ::before/copy 之后,同权重靠源序取胜 */
@media (max-width:374px){
  .wda-hero::before{width:200px;height:100px}
  .wda-hero-copy{padding-left:58px}
}
.wda-hero-copy p{
  width:184px;
  max-width:184px;
  margin-top:5px;
}
/* 龙虎区史诗深色版(设计师 6.png 裁掉烙死按钮区)+ 龙金/和绿/虎蓝三按钮常亮发光 — 2026-07-24 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{
  background:url("./assets/ent-dragon-tiger-bg-3.webp") top center/100% auto no-repeat #060A16;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger::before{
  background:linear-gradient(180deg,rgba(6,10,22,0) 42%,rgba(6,10,22,.6) 74%,rgba(6,10,22,.9));
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger h3{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-market-options{grid-template-columns:1.7fr 1.05fr 1.7fr;gap:4px;align-items:center;padding:0;position:relative;margin-bottom:8px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option{
  border:0;
  border-radius:0;
  min-height:44px;
  padding:0;
  background-color:transparent;
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  box-shadow:none;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));
  transition:transform .12s ease;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option strong{font-size:16px;font-weight:800;-webkit-background-clip:text;background-clip:text;color:transparent}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option small{font-size:10.5px;font-weight:700;margin-top:1px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"]{background-image:url("./assets/ent-dt-btn-dragon-v2.webp");background-size:contain;padding-left:30%}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"] strong{background-image:linear-gradient(180deg,#FFE9A8,#F2B93E 55%,#B4741C);text-shadow:0 0 10px rgba(255,190,60,.35)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"] small{color:#E5C27A}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"]{background-image:url("./assets/ent-dt-btn-tie-v1.webp");background-size:contain;align-self:end;margin-bottom:-8px;min-height:36px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] strong{font-size:13px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] small{font-size:9px;margin-top:0}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] strong{background-image:linear-gradient(180deg,#7CF2A4,#2FBF63);text-shadow:0 0 10px rgba(64,224,110,.4)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] small{color:#8FE0A8}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"]{background-image:url("./assets/ent-dt-btn-tiger-v2.webp");background-size:contain;padding-right:30%}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"] strong{background-image:linear-gradient(180deg,#E8F3FF,#7FB4FF 55%,#3D78D6);text-shadow:0 0 10px rgba(96,160,255,.4)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"] small{color:#A8CBF0}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected{border:0;background-color:transparent;box-shadow:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected{filter:drop-shadow(0 0 6px rgba(255,196,64,.8)) drop-shadow(0 0 16px rgba(255,196,64,.45)) brightness(1.12)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected{filter:drop-shadow(0 0 6px rgba(64,224,110,.8)) drop-shadow(0 0 16px rgba(64,224,110,.45)) brightness(1.12)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected{filter:drop-shadow(0 0 6px rgba(96,160,255,.8)) drop-shadow(0 0 16px rgba(96,160,255,.5)) brightness(1.12)}

/* Dragon-Tiger default-state restoration — 2026-07-24 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{
  background:url("./assets/ent-dragon-tiger-bg-3.webp") top center/100% auto no-repeat #060A16;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger::before{
  background:linear-gradient(180deg,rgba(6,10,22,0) 42%,rgba(6,10,22,.6) 74%,rgba(6,10,22,.9));
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-market-options{
  grid-template-columns:1.7fr 1.05fr 1.7fr;
  gap:4px;
  align-items:center;
  padding:0;
  margin-bottom:8px;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"]{background-image:url("./assets/ent-dt-btn-dragon-v2.webp")}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"]{background-image:url("./assets/ent-dt-btn-tie-v1.webp")}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"]{background-image:url("./assets/ent-dt-btn-tiger-v2.webp")}

/* Dragon-Tiger selection overlay — 2026-07-24 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option{
  position:relative;
  isolation:isolate;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected{
  z-index:1;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border:4px solid #fff;
  border-radius:14px;
  box-shadow:0 3px 10px rgba(0,0,0,.42);
  pointer-events:none;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected::after{inset:2px 9px;border-radius:16px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected::after{inset:2px 0;border-radius:12px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected::after{inset:2px 9px;border-radius:16px}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected{filter:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected{filter:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected{filter:none}

/* Dragon-Tiger layered designer art (dt-epic-6) — 2026-07-24 */
/* 设计师分层素材:整幅斗兽场背景(2300×1000, 面板 2.3:1 精确铺满) + 三牌匾按合成稿像素实测坐标绝对定位;
   选中态=整图换点亮版素材(带烘焙光晕),不用 filter 发光;背景一律单属性写法(勿改回简写)。
   文字(龙/和/虎 + 赔率)用 .ent-option-copy 绝对定位到每块牌匾"深色内框"实测矩形内并居中,绝不溢出金框。 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger{
  aspect-ratio:2.3/1;
  container-type:inline-size; /* 让牌匾内文字用 cqi 按面板宽度等比缩放(任意屏宽都同比例、居中) */
  padding:0; /* 去掉旧 padding:让 cqi 基于整幅面板宽度(否则 content-box 缩 28px、字会偏小);背景/牌匾本就 full-bleed 不受影响 */
  background-color:#05070F;
  background-image:url("./assets/ent-dt-arena-v1.webp");
  background-position:center;
  background-size:100% 100%;
  background-repeat:no-repeat;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger::before{
  background-image:none;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-market-options{
  position:absolute;
  inset:0;
  display:block;
  padding:0;
  margin:0;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option{
  position:absolute;
  margin:0;
  min-height:0;
  padding:0;
  filter:none;
  background-color:transparent;
  background-position:center;
  background-size:100% 100%;
  background-repeat:no-repeat;
}
/* 文字块:绝对定位覆盖到牌匾深色内框(top/right/bottom/left 相对按钮盒),内部再 flex 居中 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option-copy{
  position:absolute;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:auto;
  text-align:center;
  overflow:hidden;
  gap:1px;
}
/* 字号用 cqi(面板宽度%)等比缩放,前面留 px 兜底(老 WebView 不支持 cqi 时用固定 px)。约为 390px 面板下 ~9/7px */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option strong{font-size:9px;font-size:clamp(7px,2.25cqi,15px);line-height:1.05;font-weight:800}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option small{font-size:7px;font-size:clamp(5px,1.7cqi,12px);line-height:1;margin-top:0;font-weight:700}
/* 三块牌匾:显式带 background-size:100% 100% + padding:0 覆盖旧 dt-epic-5 的 contain/padding(属性选择器同特异性,靠在文件更后生效) */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"]{
  left:3.7826%;
  top:71%;
  width:38.2609%;
  height:29%;
  padding:0;
  background-image:url("./assets/ent-dt-plaque-dragon-base-v1.webp");
  background-size:100% 100%;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"]{
  left:40.087%;
  top:76.3%;
  width:20%;
  height:23.2%;
  padding:0;
  background-image:url("./assets/ent-dt-plaque-tie-base-v1.webp");
  background-size:100% 100%;
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"]{
  left:58.087%;
  top:71%;
  width:38.2609%;
  height:29%;
  padding:0;
  background-image:url("./assets/ent-dt-plaque-tiger-base-v1.webp");
  background-size:100% 100%;
}
/* 覆盖旧 dt-epic-5 的 tie 字号(13/9,会撑破小牌匾),统一成 12/8.5 */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] strong{font-size:8px;font-size:clamp(6.3px,2.03cqi,13.5px)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] small{font-size:6px;font-size:clamp(4.5px,1.53cqi,10.8px)}
/* 文字框:垂直用深色内框实测值居中;水平三块都对称(中心=牌匾正中 50%,像"和"一样)。
   龙/虎字短、牌匾宽,居中到 50% 也不会压到龙头(左)/虎头(右)图标——左右各留 17.39% 恰好卡在图标外缘。*/
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"] .ent-option-copy{top:25.86%;right:17.39%;bottom:26.9%;left:17.39%}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"] .ent-option-copy{top:22.41%;right:15.65%;bottom:22.84%;left:15.43%}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"] .ent-option-copy{top:24.83%;right:17.39%;bottom:27.24%;left:17.39%}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected{background-image:url("./assets/ent-dt-plaque-dragon-lit-v1.webp")}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected{background-image:url("./assets/ent-dt-plaque-tie-lit-v1.webp")}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected{background-image:url("./assets/ent-dt-plaque-tiger-lit-v1.webp")}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected::after{content:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected::after{content:none}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected::after{content:none}

/* 修订2:选中强调(用户定"B+脉冲")= 换点亮图 + 彩色外发光 + 微放大抬层 + 其余压暗 + 呼吸脉冲。
   注意:发光用 animation、不给 filter 加过渡(旧教训:对 filter 做过渡在强制 reduced-motion 引擎会卡死);
   静态光晕写在动画外,reduced-motion 用户拿到静态强光晕作兜底。*/
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected{z-index:2;transform:scale(1.04)}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected{filter:drop-shadow(0 0 6px rgba(255,196,64,.92)) drop-shadow(0 0 15px rgba(255,196,64,.55))}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected{filter:drop-shadow(0 0 6px rgba(64,224,110,.92)) drop-shadow(0 0 15px rgba(64,224,110,.55))}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected{filter:drop-shadow(0 0 6px rgba(96,160,255,.95)) drop-shadow(0 0 15px rgba(96,160,255,.6))}
/* 有任一选中时,未选中的两块压暗(:has 纯 CSS;极老 WebView 不支持则不压暗,选中项发光/放大照常=优雅降级) */
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-market-options:has(.ent-option.is-selected) .ent-option:not(.is-selected){filter:brightness(.5) saturate(.75)}
@media (prefers-reduced-motion:no-preference){
  .service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="dragon"].is-selected{animation:ent-dt-pulse-dragon 1.6s ease-in-out infinite}
  .service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tie"].is-selected{animation:ent-dt-pulse-tie 1.6s ease-in-out infinite}
  .service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option[data-ent-option="tiger"].is-selected{animation:ent-dt-pulse-tiger 1.6s ease-in-out infinite}
}
@keyframes ent-dt-pulse-dragon{0%,100%{filter:drop-shadow(0 0 5px rgba(255,196,64,.85)) drop-shadow(0 0 11px rgba(255,196,64,.45))}50%{filter:drop-shadow(0 0 10px rgba(255,196,64,1)) drop-shadow(0 0 22px rgba(255,196,64,.72))}}
@keyframes ent-dt-pulse-tie{0%,100%{filter:drop-shadow(0 0 5px rgba(64,224,110,.85)) drop-shadow(0 0 11px rgba(64,224,110,.45))}50%{filter:drop-shadow(0 0 10px rgba(64,224,110,1)) drop-shadow(0 0 22px rgba(64,224,110,.72))}}
@keyframes ent-dt-pulse-tiger{0%,100%{filter:drop-shadow(0 0 5px rgba(96,160,255,.88)) drop-shadow(0 0 11px rgba(96,160,255,.48))}50%{filter:drop-shadow(0 0 10px rgba(96,160,255,1)) drop-shadow(0 0 22px rgba(96,160,255,.75))}}

/* ===== Top-up Orders 页重做(orders-page-v2)— 2026-07-25 ===== */
.orders-page-v2 .records-list-head{display:block;padding:0}
.orders-page-v2 .ordv2-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin:0 0 16px}
.orders-page-v2 .ordv2-hero-text h1{margin:0;font-size:26px;font-weight:500;color:#12261C;letter-spacing:-.3px}
.orders-page-v2 .ordv2-hero-text .records-sub{margin:6px 0 0;font-size:13px;color:#7C8A82}
.orders-page-v2 .ordv2-hero-coin{width:96px;height:auto;flex:0 0 auto;margin:-8px -6px 0 0;pointer-events:none}
.orders-page-v2 .ordv2-range{margin:0 0 14px}
/* 订单页时间档回落基础 .hist-range-tabs 样式(=图三) — orders-v4 */
.orders-page-v2 .ordv2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 14px}
.orders-page-v2 .ordv2-stat{display:flex;align-items:center;gap:5px;background:#fff;border-radius:14px;padding:11px 7px;box-shadow:0 3px 12px rgba(20,80,45,.06);min-width:0}
.orders-page-v2 .ordv2-stat-ico{width:22px;height:22px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center}
.orders-page-v2 .ordv2-stat-ico svg{width:13px;height:13px}
.orders-page-v2 .st-completed .ordv2-stat-ico{background:#1FA855}
.orders-page-v2 .st-processing .ordv2-stat-ico{background:#F5A623}
.orders-page-v2 .st-refunded .ordv2-stat-ico{background:#EF4B4B}
.orders-page-v2 .ordv2-stat-label{font-size:10px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.orders-page-v2 .st-completed .ordv2-stat-label{color:#17864A}
.orders-page-v2 .st-processing .ordv2-stat-label{color:#B4740B}
.orders-page-v2 .st-refunded .ordv2-stat-label{color:#C0392B}
.orders-page-v2 .ordv2-stat-count{margin-left:auto;padding-left:3px;font-size:12.5px;font-weight:400;color:#1a1a1a}
.orders-page-v2 .ordv2-summary{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:16px;padding:16px 14px;box-shadow:0 3px 12px rgba(20,80,45,.06);margin:0 0 14px}
.orders-page-v2 .ordv2-sum-cell{display:flex;align-items:center;gap:11px;min-width:0}
.orders-page-v2 .ordv2-sum-cell+.ordv2-sum-cell{border-left:1px solid #EDF3EF;padding-left:14px}
.orders-page-v2 .ordv2-sum-ico{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center}
.orders-page-v2 .ordv2-sum-ico.bag{background:#E3F4E9;border-radius:12px}
.orders-page-v2 .ordv2-sum-ico.bag svg{width:22px;height:22px}
.orders-page-v2 .ordv2-sum-ico.coin{object-fit:contain}
.orders-page-v2 .ordv2-sum-text{display:flex;flex-direction:column;min-width:0}
.orders-page-v2 .ordv2-sum-text small{font-size:11px;color:#8A9690;line-height:1.2}
.orders-page-v2 .ordv2-sum-text strong{font-size:20px;font-weight:400;color:#1a1a1a;line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orders-page-v2 .records-orders{background:#fff;border-radius:18px;box-shadow:0 3px 14px rgba(20,80,45,.06);padding:6px 12px;min-height:120px}
.orders-page-v2 .records-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px 30px;background:transparent;border:0;box-shadow:none;border-radius:0}
.orders-page-v2 .ordv2-empty-img{width:210px;max-width:74%;height:auto;margin:0 0 8px}
.orders-page-v2 .ordv2-empty-title{font-size:20px;font-weight:500;color:#17261D;margin:0}
.orders-page-v2 .ordv2-empty-sub{font-size:13px;color:#8A9690;margin:6px 0 18px;line-height:1.5;max-width:220px}
.orders-page-v2 .ordv2-topup-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#3EA536;color:#fff;border:0;border-radius:999px;padding:14px 40px;font-size:16px;font-weight:500;box-shadow:0 6px 16px rgba(62,165,54,.32);cursor:pointer}
.orders-page-v2 .ordv2-topup-btn svg{width:20px;height:20px}
/* 未登录登录门:隐藏统计/时间档/合计,只留登录入口 — orders-v5 */
.orders-page-v2.is-guest .ordv2-range,.orders-page-v2.is-guest .ordv2-stats,.orders-page-v2.is-guest .ordv2-summary{display:none}
/* ⑥ 开奖结果卡恢复纯白(2026-07-26 需求②):整框暖黄取消,光晕只留每颗球正下方一小团 */
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle>button{background:#fff}
/* ⑦ 开奖历史球:扁平实色→3D 玻璃球(与开奖结果卡同款,尺寸保持 20px);全局:内联展开+历史弹窗都生效 — 2026-07-26 */
/* 需求①(2026-07-26):.ent-result-strip span{display:block}(特异性0,1,1)会压过单类名(0,1,0)的 inline-grid,数字被顶到球左上角——补两条高特异性选择器把居中钉死(内联展开+弹窗两个场景) */
.ent-history-ball3,
.ent-result-strip .ent-history-ball3,
.ent-draw-history-full .ent-history-ball3{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 auto}
.ent-history-ball3 img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ent-history-ball3 b{position:relative;z-index:1;font-size:10px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:#178A3D}
.ent-history-ball3.tone-1 b{color:#1C6FBF}
.ent-history-ball3.tone-2 b{color:#D5262C}
.ent-history-ball3.tone-1 img{filter:hue-rotate(102deg) saturate(1.15)}
.ent-history-ball3.tone-2 img{filter:hue-rotate(-122deg) saturate(1.3)}
/* numsp-1(2026-07-27 用户需求):全站数字字距统一收紧——大数字(≥14px)-0.3px、小数字-0.15px;已带专调字距的(首页大余额-1.5px、倒计时+0.6px LED感)保持不动 */
.home-wallet-line strong,
.ent-finance-summary strong,
.ordv2-sum-text strong,
.ent-live-balance-value{letter-spacing:-0.3px}
.wstat .sgrid .s-txt strong,
.ordv2-stat-count{letter-spacing:-0.15px}
/* numfit-2(2026-07-27):长金额联动缩放,按 iOS SF 字宽(≈0.6em/位)留余量——数字贴近图标(gap收紧)+图标再让位;老WebView无:has回落保守小字号 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-long) img{width:28px;height:28px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-long){gap:3px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-long) strong.is-long{font-size:13.5px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xlong) img{width:24px;height:24px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xlong){gap:3px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xlong) strong.is-xlong{font-size:12.5px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xxlong) img{width:22px;height:22px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xxlong){gap:3px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>div:has(strong.is-xxlong) strong.is-xxlong{font-size:11px}

/* ===== Top-up Orders reference restoration — 2026-07-27 ===== */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("./assets/fonts/Poppins-Regular.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("./assets/fonts/Poppins-Medium.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("./assets/fonts/Poppins-SemiBold.ttf") format("truetype")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("./assets/fonts/Poppins-Bold.ttf") format("truetype")}

.ordv2-icon-mask,
.tab-icon-mask{
  display:block;
  background-color:currentColor;
  -webkit-mask-image:var(--ordv2-icon,var(--tab-icon));
  mask-image:var(--ordv2-icon,var(--tab-icon));
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

button.tab .tab-icon-mask{
  width:24px;
  height:24px;
  color:currentColor;
}

#loadphApp:has(.v3-view[data-view="activity"].active){
  min-height:100dvh;
  background:#F4F7F5;
}
#loadphApp:has(.v3-view[data-view="activity"].active)::before{display:none}

.orders-page-v2{
  box-sizing:border-box;
  width:100%;
  min-height:100dvh;
  min-height:calc(100dvh - env(safe-area-inset-top));
  height:auto;
  padding:16px 17px calc(100px + env(safe-area-inset-bottom));
  overflow:visible;
  color:#000305;
  background:transparent;
  /* sysfontOrders=20260806-1:中英塔三语统一回充值页副标题的系统字体栈(用户指定图三为唯一基准,
     Poppins 方案退役);这条基础规则(中文吃它)本来就是该栈,原样保留。 */
  font-family:-apple-system,"PingFang SC","SF Pro SC","Segoe UI",Roboto,sans-serif;
}
/* sysfontOrders=20260806-1:英/塔语订单页字体家族改回与图三(充值页副标题)完全相同的系统栈,
   Poppins 从本作用域退役(@font-face 与字体文件保留,别的页面仍在用)。
   字号/字重层级沿用 poppinsOrders 批定稿:标题 700/.2px、档位/状态 500、汇总标签 400、
   数量金额 600、空态 700/400、CTA 600 —— 本批只换家族,不动层级。 */
html[lang="en"] .orders-page-v2,
html[lang="tl"] .orders-page-v2 {
  font-family: -apple-system, "PingFang SC", "SF Pro SC", "Segoe UI", Roboto, sans-serif;
}
html[lang="en"] .orders-page-v2 button,
html[lang="tl"] .orders-page-v2 button {
  font-family: inherit;
}
html[lang="en"] .orders-page-v2 .ordv2-hero-text h1,
html[lang="tl"] .orders-page-v2 .ordv2-hero-text h1 {
  font-size: 23px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .2px;
}
html[lang="en"] .orders-page-v2 .ordv2-hero-text .records-sub,
html[lang="tl"] .orders-page-v2 .ordv2-hero-text .records-sub {
  margin-top: 5px; /* 标题-副标题呼吸感对齐 Rewards(间距非字体,留在此) */
}
/* sysfontOrders=20260806-1:订单副标题与 Rewards 副标题完整复制图三(充值页副标题)的全部字体参数
   (用户指定图三为唯一基准,poppinsOrders-3 的本地 Poppins 12.5px 方案退役):
   同一系统栈 / 12px / 500 / line-height normal / letter-spacing normal / font-style normal / #6E7E75。
   仅 en/tl;中文两页均不吃此规则。 */
html[lang="en"] [data-view="rewards"] .phdr .sub,
html[lang="tl"] [data-view="rewards"] .phdr .sub,
html[lang="en"] .orders-page-v2 .ordv2-hero-text .records-sub,
html[lang="tl"] .orders-page-v2 .ordv2-hero-text .records-sub {
  font-family: -apple-system, "PingFang SC", "SF Pro SC", "Segoe UI", Roboto, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: normal;
  font-style: normal;
  color: #6E7E75;
}
html[lang="en"] .orders-page-v2 .ordv2-range .hist-range-tabs button,
html[lang="tl"] .orders-page-v2 .ordv2-range .hist-range-tabs button {
  /* rangeType=20260808-1:用户 2026-08-08「字体再大些,也再粗一丢丢」—— 11.5→12.5px、500→600 */
  font-size: 12.5px;
  line-height: 18px;
  font-weight: 600;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-stat-label,
html[lang="tl"] .orders-page-v2 .ordv2-stat-label,
html[lang="en"] .orders-page-v2 .st-refunded .ordv2-stat-label,
html[lang="tl"] .orders-page-v2 .st-refunded .ordv2-stat-label {
  font-size: 10px;
  line-height: 15px;
  font-weight: 500;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-sum-text small,
html[lang="tl"] .orders-page-v2 .ordv2-sum-text small,
html[lang="en"] .orders-page-v2 .ordv2-sum-cell:nth-child(2) .ordv2-sum-text small,
html[lang="tl"] .orders-page-v2 .ordv2-sum-cell:nth-child(2) .ordv2-sum-text small {
  font-size: 10.5px;
  line-height: 15px;
  font-weight: 400;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-stat-count,
html[lang="tl"] .orders-page-v2 .ordv2-stat-count {
  font-size: 10.5px;
  line-height: 15px;
  font-weight: 600;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-sum-text strong,
html[lang="tl"] .orders-page-v2 .ordv2-sum-text strong {
  max-width: 100px;
  font-size: 19px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-empty-title,
html[lang="tl"] .orders-page-v2 .ordv2-empty-title {
  font-weight: 700;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-empty-sub,
html[lang="tl"] .orders-page-v2 .ordv2-empty-sub {
  font-weight: 400;
  letter-spacing: normal;
}
html[lang="en"] .orders-page-v2 .ordv2-topup-btn,
html[lang="tl"] .orders-page-v2 .ordv2-topup-btn {
  font-weight: 600;
  letter-spacing: normal;
}
.orders-page-v2 .records-list-head{display:block;padding:0}
.orders-page-v2 .ordv2-hero{
  position:relative;
  z-index:1;
  top:auto;
  left:auto;
  width:100%;
  height:50px;
  margin:0 0 15px;
  display:block;
}
.orders-page-v2 .ordv2-hero-text{position:relative;z-index:2}
.orders-page-v2 .ordv2-hero-text h1{
  margin:0;
  color:#1F3329;
  font-size:23px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.5px;
}
.orders-page-v2 .ordv2-hero-text .records-sub{
  margin:1px 0 0;
  color:#65756C;
  font-size:12px;
  line-height:1.35;
  font-weight:500;
  letter-spacing:.25px;
}
.orders-page-v2 .ordv2-hero-coin{
  position:absolute;
  z-index:1;
  top:-10px;
  right:-24px;
  width:120px;
  height:120px;
  margin:0;
  object-fit:contain;
  opacity:.46;
  transform:translate(-24px,-10px) scale(1.15);
  transform-origin:center;
  pointer-events:none;
}

.orders-page-v2 .ordv2-range{
  position:relative;
  z-index:3;
  top:auto;
  left:auto;
  width:100%;
  height:36px;
  margin:0 0 13px;
}
.orders-page-v2 .ordv2-range .hist-range{display:block;margin:0}
.orders-page-v2 .ordv2-range .hist-range-tabs{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:100%;
  height:36px;
  padding:4px 7px;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,35,32,.08);
}
.orders-page-v2 .ordv2-range .hist-range-tabs button{
  min-width:0;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#000305;
  font-family:inherit;
  /* rangeType=20260808-1:中文档也同步放大加粗一档(英/他加禄在 10881 那条另有更大字号) */
  font-size:10px;
  line-height:14px;
  font-weight:600;
  letter-spacing:.15px;
  white-space:nowrap;
  box-shadow:none;
}
.orders-page-v2 .ordv2-range .hist-range-tabs button.on{
  /* rangeGreen=20260808-1:选中底色由 #41A236 改为底栏「Orders」同款 --green-deep(#05984B),
     投影 rgba 一并跟到 5,152,75,否则边缘会漏出上一版的黄绿 */
  background:#05984B;
  color:#fff;
  /* rangeType=20260808-1:选中态的字重必须跟着一起提,否则这条特异性更高,选中档会独自停在 500 */
  font-weight:600;
  box-shadow:0 4px 10px rgba(5,152,75,.2);
}
.orders-page-v2 .ordv2-range .hist-range-tabs button:nth-child(1){transform:translate(3px,.5px)}
.orders-page-v2 .ordv2-range .hist-range-tabs button:nth-child(2){transform:translate(5.5px,.5px)}
.orders-page-v2 .ordv2-range .hist-range-tabs button:nth-child(3){transform:translate(-2.5px,.5px)}
.orders-page-v2 .ordv2-range .hist-range-tabs button:nth-child(4){transform:translate(-13px,.5px)}
.orders-page-v2 .ordv2-range .ent-bets-daterange{display:none}

.orders-page-v2 .ordv2-stats{
  position:relative;
  z-index:2;
  top:auto;
  left:auto;
  width:100%;
  height:42px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 0 15px;
}
.orders-page-v2 .ordv2-stat{
  box-sizing:border-box;
  min-width:0;
  height:42px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 8px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,35,32,.08);
}
.orders-page-v2 .ordv2-stat-ico{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
}
.orders-page-v2 .ordv2-stat-ico .ordv2-icon-mask{
  width:14px;
  height:14px;
  color:#fff;
}
.orders-page-v2 .st-completed .ordv2-stat-ico{background:#41A236}
.orders-page-v2 .st-processing .ordv2-stat-ico{background:#ffb423}
.orders-page-v2 .st-refunded .ordv2-stat-ico{background:#ff4d52}
.orders-page-v2 .ordv2-stat-label{
  min-width:0;
  overflow:visible;
  color:#000305;
  font-size:8.5px;
  line-height:14px;
  font-weight:500;
  letter-spacing:.05px;
  white-space:nowrap;
}
.orders-page-v2 .st-completed .ordv2-stat-label{color:#41A236}
.orders-page-v2 .st-processing .ordv2-stat-label{color:#ffb423}
.orders-page-v2 .st-refunded .ordv2-stat-label{
  color:#000305;
  font-size:9px;
  letter-spacing:.05px;
}
.orders-page-v2 .ordv2-stat-count{
  margin-left:auto;
  padding:0;
  font-size:9px;
  line-height:14px;
  font-weight:500;
  letter-spacing:-.15px;
}
.orders-page-v2 .st-completed .ordv2-stat-count{color:#41A236}
.orders-page-v2 .st-processing .ordv2-stat-count{color:#ffb423}
.orders-page-v2 .st-refunded .ordv2-stat-count{color:#ff4d52}

.orders-page-v2 .ordv2-summary{
  position:relative;
  z-index:2;
  top:auto;
  left:auto;
  box-sizing:border-box;
  width:100%;
  height:75px;
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:0 0 12px;
  padding:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,35,32,.08);
}
.orders-page-v2 .ordv2-sum-cell{
  box-sizing:border-box;
  min-width:0;
  height:75px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 17px;
}
.orders-page-v2 .ordv2-sum-cell+.ordv2-sum-cell{
  border-left:1px solid #f1f1f3;
  padding-left:14px;
}
.orders-page-v2 .ordv2-sum-ico{
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin:0;
}
.orders-page-v2 .ordv2-sum-ico.bag{
  display:grid;
  place-items:center;
  color:#03a74e;
  border-radius:12px;
  background:#eefaf3;
}
.orders-page-v2 .ordv2-sum-ico.bag .ordv2-icon-mask{width:24px;height:24px}
.orders-page-v2 .ordv2-sum-ico.coin{object-fit:contain}
.orders-page-v2 .ordv2-sum-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.orders-page-v2 .ordv2-sum-text small{
  color:#686d71;
  font-size:9px;
  line-height:14px;
  font-weight:400;
  letter-spacing:.15px;
  transform:translateY(-1.5px);
}
.orders-page-v2 .ordv2-sum-cell:nth-child(2) .ordv2-sum-text small{letter-spacing:.15px}
.orders-page-v2 .ordv2-sum-text strong{
  max-width:88px;
  margin:0;
  overflow:visible;
  color:#000305;
  font-size:17px;
  line-height:22px;
  font-weight:600;
  letter-spacing:-.25px;
  white-space:nowrap;
}

.orders-page-v2 .records-orders{
  position:relative;
  z-index:1;
  top:auto;
  left:auto;
  box-sizing:border-box;
  width:100%;
  height:auto;
  min-height:251px;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,35,32,.08);
}
.orders-page-v2 .records-empty{
  position:relative;
  box-sizing:border-box;
  width:100%;
  height:251px;
  min-height:0;
  display:block;
  padding:0;
  border:0;
  border-radius:18px;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.orders-page-v2 .ordv2-empty-img{
  position:absolute;
  top:32.5px;
  left:calc(50% - 90px);
  width:180px;
  max-width:none;
  height:110px;
  margin:0;
  object-fit:contain;
  transform:translate(-5px,-8.5px) scale(1.16);
  transform-origin:center;
}
.orders-page-v2 .ordv2-empty-title{
  position:absolute;
  top:133px;
  left:0;
  width:100%;
  margin:0;
  color:#000305;
  font-size:16px;
  line-height:22px;
  font-weight:700;
  letter-spacing:.3px;
}
.orders-page-v2 .ordv2-empty-sub{
  position:absolute;
  top:160px;
  left:50%;
  width:150px;
  margin:0;
  transform:translateX(-50%);
  color:#686d71;
  font-size:10px;
  line-height:14px;
  font-weight:400;
  letter-spacing:.2px;
}
.orders-page-v2 .ordv2-topup-btn{
  position:absolute;
  top:199px;
  left:50%;
  transform:translateX(-50%);
  box-sizing:border-box;
  width:163px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0;
  border:0;
  border-radius:17px;
  background:#41A236;
  color:#fff;
  font-family:inherit;
  font-size:10px;
  line-height:16px;
  font-weight:500;
  letter-spacing:.2px;
  box-shadow:0 8px 14px rgba(65,162,54,.28);
  cursor:pointer;
}
.orders-page-v2 .ordv2-topup-content{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:none;
  margin:0;
  padding:0;
  color:inherit;
  font:inherit;
  line-height:inherit;
}
.orders-page-v2 .ordv2-topup-btn .ordv2-icon-mask{
  width:22px;
  height:22px;
  display:block;
  flex:none;
  max-width:none;
  margin:0;
  padding:0;
  color:#fff;
}
.orders-page-v2 .ordv2-topup-label{
  display:block;
  max-width:none;
  margin:0;
  padding:0;
  color:inherit;
  font:inherit;
  line-height:20px;
  white-space:nowrap;
}
.orders-page-v2.is-guest .ordv2-range,
.orders-page-v2.is-guest .ordv2-stats,
.orders-page-v2.is-guest .ordv2-summary{display:none}

/* ===== 钱包充值页 v2(2026-07-27 设计稿改版,kind=deposit-methods;同日视觉返修 r2) =====
   r2 要点:近白背景 / 全线降字号字重 / 金额卡收矮+插画缩到卡宽约1/3 / ₱金额连续同色 /
   ≤3 通道等分网格一屏放下(>3 才横滑,分页点按真实页数) / 字标 logo 不重复写名 /
   选中勾=绿圆白勾(img,双色) / 4 面额网格全见 / 保障栏固定一行 / 置灰按钮文字可读。
   只作用于本页;gcash-pay、usdt-deposit、充值记录等页继续用原样式。 */
.service-page[data-service-kind="deposit-methods"] .service-topbar{display:none}
.service-page[data-service-kind="deposit-methods"] .service-screen{
  width:min(100%,430px);
  background:var(--page-bg-deposit);
  background-color:var(--page-bg-deposit);
}
.service-page[data-service-kind="deposit-methods"] .service-body{
  --tp-green:#08AD5A;
  --tp-green-2:#12C96B;
  --tp-green-deep:#0B7A44;
  --tp-ink:#123B2C;
  --tp-ink-2:#6B7F73;
  --tp-mint:#E9F8EF;
  --tp-line:rgba(18,80,50,.08);
  --tp-radius-card:22px;
  --tp-radius-tile:14px;
  --tp-shadow-card:0 14px 30px -18px rgba(11,64,40,.14);
  --tp-shadow-soft:0 8px 20px -12px rgba(11,64,40,.10);
  display:block;
}
html[data-overlay-kind="deposit-methods"],
html[data-overlay-kind="deposit-methods"] body{background:#F4F7F5}

/* 通用小图标:单色线稿走 mask 上色(勾选是双色,不走这里,用 <img>) */
.tpv2-icon{
  display:inline-block;flex:none;width:18px;height:18px;background-color:currentColor;
  -webkit-mask:var(--tp-icon) center/contain no-repeat;mask:var(--tp-icon) center/contain no-repeat;
}

/* 顶行:返回圆钮 + 订单胶囊 */
.tpv2-top{display:flex;align-items:center;justify-content:space-between;margin:2px 0 0}
.tpv2-back{
  width:40px;height:40px;border:1px solid var(--tp-line);border-radius:50%;background:#fff;color:var(--tp-ink);
  display:grid;place-items:center;box-shadow:var(--tp-shadow-soft);cursor:pointer;
  font-family:inherit;transition:transform .16s ease;
}
.tpv2-back:active{transform:scale(.94)}
.tpv2-back .tpv2-icon{width:16px;height:16px}
.tpv2-orders{
  display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tp-line);border-radius:999px;background:#fff;
  color:var(--tp-ink);font-family:inherit;font-size:13px;font-weight:600;padding:9px 11px 9px 13px;
  box-shadow:var(--tp-shadow-soft);cursor:pointer;transition:transform .16s ease;
}
.tpv2-orders:active{transform:scale(.97)}
.tpv2-orders .tpv2-icon{width:15px;height:15px}
.tpv2-orders .tpv2-orders-chevron{width:11px;height:11px;color:#8AA294}

/* 大标题:比 r1 小一档,700 而非黑体 900 */
.tpv2-heading{margin:14px 2px 0}
.tpv2-heading h1{margin:0;font-size:clamp(23px,6.4vw,27px);line-height:1.12;font-weight:700;color:var(--tp-ink);letter-spacing:-.3px}
.tpv2-heading p{margin:4px 0 0;font-size:13.5px;font-weight:500;color:var(--tp-ink-2)}

/* 金额主卡:金额是第一视觉,插画约占卡宽 1/3、右侧偏下,装饰不拦点击 */
.tpv2-hero{
  position:relative;overflow:hidden;margin-top:14px;padding:18px 18px 16px;
  background:linear-gradient(160deg,#FFFFFF 0%,#FAFDFB 62%,#F4FAF6 100%);
  border:1px solid var(--tp-line);border-radius:var(--tp-radius-card);box-shadow:var(--tp-shadow-card);
}
.tpv2-hero-art{position:absolute;top:0;right:0;bottom:0;width:40%;pointer-events:none}
.tpv2-coin-stack{
  position:absolute;right:0;top:8px;width:100px;height:100px;
  background-color:#9ED8BB;opacity:.2;
  -webkit-mask:var(--tp-icon) center/contain no-repeat;mask:var(--tp-icon) center/contain no-repeat;
}
.tpv2-hero-art img{
  position:absolute;right:8px;bottom:2px;
  width:min(78%,118px);height:auto;object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(11,64,40,.14));
}
.tpv2-hero-main{position:relative;max-width:64%;display:grid;gap:6px;justify-items:start}
.tpv2-hero-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--tp-ink);cursor:text}
.tpv2-hero-label .tpv2-icon-edit{width:14px;height:14px;color:#41A236} /* triTweak=20260807-1:铅笔图标改主题标准绿(mask+currentColor 精确落色,--tp-green 其他用点不动) */
/* ₱ 与数字同色同基线、几乎无间隙 → 读作一个连续金额;占位 0.00 也用同一深色,不做浅灰 */
.tpv2-amount{display:flex;align-items:baseline;gap:3px;width:100%}
.tpv2-amount em{font-style:normal;font-size:clamp(20px,6.6vw,26px);font-weight:700;color:var(--tp-ink)}
/* 金额是全卡第一视觉锚点(设计稿 ≈41px@390):比标题/到账都大一档,但仍低于 r1 的 42px 黑体 */
.tpv2-amount input{
  width:100%;min-width:0;flex:1;border:0;outline:none;background:transparent;padding:0;
  font-family:inherit;font-size:clamp(30px,9.6vw,38px);font-weight:750;color:var(--tp-ink);
  letter-spacing:-.6px;font-variant-numeric:tabular-nums;caret-color:var(--tp-green);
}
.tpv2-amount input::placeholder{color:var(--tp-ink);opacity:1}
.tpv2-amount-usdt em{font-size:clamp(13px,3.6vw,15px);color:var(--tp-ink-2);font-weight:600}
.tpv2-hero-divider{width:min(170px,92%);height:1px;background:linear-gradient(90deg,#DCEBE0,rgba(220,235,224,0));margin-top:1px}
.tpv2-receive-label{font-size:12.5px;font-weight:500;color:var(--tp-ink-2)}
.tpv2-receive{font-size:clamp(19px,5.4vw,22px);font-weight:700;color:#41A236;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.tpv2-rate-pill{display:inline-flex;align-items:center;gap:6px;background:var(--tp-mint);border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:600;color:var(--tp-green-deep)}
.tpv2-rate-pill i{font-style:normal;background:#fff;border-radius:999px;padding:1px 7px;font-size:10px}
.tpv2-hero-min{display:inline-flex;align-items:center;gap:5px;margin-top:1px;font-size:11.5px;font-weight:500;color:var(--tp-ink-2)}
.tpv2-hero-min .tpv2-icon{width:14px;height:14px;color:var(--tp-green)}

/* 区块标题 */
.tpv2-block{margin-top:18px}
.tpv2-section-head{margin:0 2px 9px;font-size:16px;font-weight:600;color:var(--tp-ink)}

/* 支付方式:>3 个通道时横滑(基础态);卡片统一高度圆角,选中细描边+浅绿底 */
.tpv2-methods{
  display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px 2px 10px;margin:0 -2px;scrollbar-width:none;
}
.tpv2-methods::-webkit-scrollbar{display:none}
/* 当前后台只有 GCash/Maya/USDT(≤3):等分网格,三张全见、USDT 不裁切 */
.tpv2-methods[data-count="1"],
.tpv2-methods[data-count="2"],
.tpv2-methods[data-count="3"]{display:grid;gap:9px;overflow:visible;scroll-snap-type:none}
.tpv2-methods[data-count="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}
.tpv2-methods[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tpv2-methods[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tpv2-methods[data-count="1"] .tpv2-method,
.tpv2-methods[data-count="2"] .tpv2-method,
.tpv2-methods[data-count="3"] .tpv2-method{min-width:0;flex:none}
/* 紧凑卡(2026-07-27 r3):74px → ~57px(-23%),点击区仍 ≥44px */
.tpv2-method{
  position:relative;flex:0 0 auto;scroll-snap-align:start;min-width:108px;min-height:56px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 8px 7px;
  border:1px solid var(--tp-line);border-radius:var(--tp-radius-tile);background:#fff;
  box-shadow:var(--tp-shadow-soft);cursor:pointer;font-family:inherit;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.tpv2-method:active{transform:scale(.97)}
.tpv2-method.is-selected{
  /* tileGreen=20260807-1:选中描边按用户指示改主题标准绿 #41A236(浅绿底与投影不动) */
  background:linear-gradient(160deg,#F0FBF4,#E7F7EC);border-color:#41A236;
  box-shadow:0 8px 18px -10px rgba(8,173,90,.28);
}
.tpv2-method-row{display:flex;align-items:center;gap:6px;min-width:0}
.tpv2-method-logo{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}
.tpv2-method-logo img{max-width:22px;max-height:22px}
.tpv2-method-logo.wide{width:54px}
.tpv2-method-logo.wide img{max-width:54px;max-height:17px}
.tpv2-method-logo-text{
  width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--tp-green),var(--tp-green-2));color:#fff;font-size:8px;font-weight:700;letter-spacing:.2px;
}
.tpv2-method-logo-text.coins{background:linear-gradient(135deg,#2F6BFF,#1652F0)}
.tpv2-method.tpv2-logo-missing .tpv2-method-logo{display:none}
.tpv2-method-name{font-size:13px;font-weight:600;color:var(--tp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tpv2-method-badge{
  font-size:9.5px;font-weight:600;color:var(--tp-green-deep);
  background:rgba(233,248,239,.9);border:1px solid rgba(8,173,90,.2);border-radius:999px;padding:1px 7px;
}
.tpv2-method.is-selected .tpv2-method-badge{background:#fff}
/* 选中勾:绿圆白勾的双色 img(mask 会拍平成实心圆,勾就没了);右下角距边 8px */
.tpv2-method-check{
  position:absolute;right:8px;bottom:8px;width:16px;height:16px;
  opacity:0;transform:scale(.5);transition:opacity .16s ease,transform .16s ease;
}
.tpv2-method.is-selected .tpv2-method-check{opacity:1;transform:scale(1)}
.tpv2-dots{display:flex;justify-content:center;gap:6px;margin-top:-2px}
.tpv2-dots i{width:6px;height:6px;border-radius:999px;background:#CFE0D3;transition:background-color .16s ease,width .16s ease}
.tpv2-dots i.on{width:14px;background:var(--tp-green)}

/* 面额:4 档等分网格全部同屏(>4 档才横滑,第 5 张自然露边);纸币同比例不拉伸 */
.tpv2-presets{
  display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;
  padding:4px 2px 10px;margin:0 -2px;scrollbar-width:none;
}
.tpv2-presets::-webkit-scrollbar{display:none}
.tpv2-presets[data-count="2"],
.tpv2-presets[data-count="3"],
.tpv2-presets[data-count="4"]{display:grid;gap:8px;overflow:visible}
.tpv2-presets[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tpv2-presets[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tpv2-presets[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.tpv2-presets[data-count="2"] :is(.tpv2-note,.tpv2-chip),
.tpv2-presets[data-count="3"] :is(.tpv2-note,.tpv2-chip),
.tpv2-presets[data-count="4"] :is(.tpv2-note,.tpv2-chip){width:auto;min-width:0;flex:none}
.tpv2-note{
  position:relative;isolation:isolate;flex:0 0 auto;scroll-snap-align:start;width:84px;aspect-ratio:2.42/1;
  display:grid;place-items:center;border:0;border-radius:8px;overflow:hidden;padding:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  box-shadow:0 5px 12px -6px rgba(11,64,40,.22);cursor:pointer;outline:2px solid transparent;outline-offset:1.5px;
  transition:transform .16s ease,box-shadow .16s ease,outline-color .16s ease;
}
.tpv2-note:active{transform:scale(.96)}
.tpv2-note.is-selected{outline-color:var(--tp-green);transform:translateY(-1px);box-shadow:0 8px 16px -7px rgba(8,173,90,.4)}
.tpv2-note .bn-face{font-size:15.5px}
.tpv2-note.bn-100{background-image:url("./assets/xcoins-banknote-100.webp?v=20260719-fill-1")}
.tpv2-note.bn-200{background-image:url("./assets/xcoins-banknote-200.webp?v=20260719-fill-1")}
.tpv2-note.bn-500{background-image:url("./assets/xcoins-banknote-500.webp?v=20260719-fill-1")}
.tpv2-note.bn-1000{background-image:url("./assets/xcoins-banknote-1000.webp?v=20260719-fill-1")}
.tpv2-chip{
  flex:0 0 auto;scroll-snap-align:start;min-width:0;padding:10px 4px;border:1px solid var(--tp-line);
  border-radius:999px;background:#fff;box-shadow:var(--tp-shadow-soft);cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:600;color:var(--tp-ink);text-align:center;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
.tpv2-chip.is-selected{border-color:rgba(8,173,90,.55);background:var(--tp-mint);color:var(--tp-green-deep)}

/* 确认按钮:有效=饱和绿渐变;置灰保持禁用观感但文字清晰可读(深绿字,非白字淡底) */
.tpv2-cta-wrap{margin-top:20px}
.tpv2-confirm{
  position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;
  border:0;border-radius:999px;padding:8px 56px;cursor:pointer;font-family:inherit;color:#fff;
  background:#41A236;
  box-shadow:0 12px 24px -10px rgba(65,162,54,.45);
  transition:transform .16s ease,box-shadow .16s ease,filter .2s ease;
}
.tpv2-confirm:active{transform:translateY(1px) scale(.995)}
.tpv2-confirm-label{font-size:clamp(14px,4vw,16px);font-weight:600;letter-spacing:.2px;white-space:nowrap}
.tpv2-confirm-arrow{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  background:#fff;display:grid;place-items:center;color:#41A236;box-shadow:0 4px 10px rgba(4,80,42,.18);
}
.tpv2-confirm-arrow .tpv2-icon{width:18px;height:18px}
.tpv2-confirm.is-disabled{
  background:linear-gradient(135deg,#C8EAD5 0%,#B2E0C4 100%);box-shadow:none;cursor:not-allowed;color:#2F6247;
}
.tpv2-confirm.is-disabled .tpv2-confirm-arrow{color:#9FCDB2;box-shadow:none}
.tpv2-limits{margin:10px 2px 0;text-align:center;font-size:12px;font-weight:500;color:var(--tp-ink-2)}
.tpv2-limits-note{margin:3px 2px 0;text-align:center;font-size:10.5px;font-weight:400;color:#8FA398}

/* 保障栏:5 列 auto 网格(项-点-项-点-项),任何宽度都锁一行 */
.tpv2-trust{
  display:grid;grid-template-columns:auto auto auto auto auto;justify-content:center;align-items:center;
  column-gap:8px;margin-top:14px;
  background:rgba(255,255,255,.9);border:1px solid var(--tp-line);border-radius:16px;
  box-shadow:var(--tp-shadow-soft);padding:12px 10px;
}
.tpv2-trust-item{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:#48604F;white-space:nowrap}
.tpv2-trust-item .tpv2-icon{width:14px;height:14px;color:#41A236}
.tpv2-trust-dot{width:3px;height:3px;border-radius:50%;background:#B9CDBE}

/* 键盘焦点可见 */
.service-page[data-service-kind="deposit-methods"] button:focus-visible,
.service-page[data-service-kind="deposit-methods"] input:focus-visible{
  outline:2.5px solid rgba(8,173,90,.85);outline-offset:2px;
}

/* 窄屏(≤355px):同比例收紧,保证三通道/四面额/保障栏仍完整一行 */
@media (max-width:355px){
  .tpv2-hero{padding:15px 14px 13px}
  .tpv2-hero-main{max-width:66%}
  .tpv2-coin-stack{width:84px}
  .tpv2-hero-art img{width:min(74%,96px)}
  .tpv2-method{min-height:50px;padding:6px 6px 5px;gap:3px}
  .tpv2-method-name{font-size:12px}
  .tpv2-method-logo{width:20px;height:20px}
  .tpv2-method-logo img{max-width:20px;max-height:20px}
  .tpv2-method-logo.wide{width:48px}
  .tpv2-method-logo.wide img{max-width:48px;max-height:15px}
  .tpv2-method-check{width:15px;height:15px;right:7px;bottom:7px}
  .tpv2-note .bn-face{font-size:13px}
  .tpv2-confirm{min-height:50px;padding:8px 48px 8px 14px}
  .tpv2-confirm-label{font-size:13.5px}
  .tpv2-confirm-arrow{width:36px;height:36px;right:6px}
  .tpv2-confirm-arrow .tpv2-icon{width:16px;height:16px}
  .tpv2-trust{column-gap:4px;padding:10px 6px}
  .tpv2-trust-item{font-size:10px;gap:3px}
  .tpv2-trust-item .tpv2-icon{width:11px;height:11px}
}

/* 动效关怀:系统减少动态时全部转场取消 */
@media (prefers-reduced-motion:reduce){
  .tpv2-back,.tpv2-orders,.tpv2-method,.tpv2-method-check,.tpv2-note,.tpv2-chip,.tpv2-confirm,.tpv2-dots i{transition:none}
  .tpv2-back:active,.tpv2-orders:active,.tpv2-method:active,.tpv2-note:active,.tpv2-confirm:active{transform:none}
}

/* ===== 提现页 v2(2026-07-27 设计稿 1:1 改版,kind=withdraw) =====
   自带页头(圆形返回+标题+右上钞票水印),默认 service-topbar 隐藏;
   钞票面额/Maya/GCash 图标/水印均为 assets/withdraw 设计素材原图;
   业务钩子 data-wd-* 不变,只改视觉结构。仅作用于本页。 */
.service-page[data-service-kind="withdraw"] .service-topbar{display:none}
/* 页面背景近白;>430px 视口两侧露出的 .service-page 底色同步刷白(否则左右各一条淡绿竖带) */
.service-page[data-service-kind="withdraw"]{background:#FDFEFD}
.service-page[data-service-kind="withdraw"] .service-screen{
  width:min(100%,430px);
  background:#F4F7F5;
  background-color:#F4F7F5;
  padding:12px 16px calc(30px + env(safe-area-inset-bottom));
  box-shadow:none;
}
.service-page[data-service-kind="withdraw"] .service-body{display:block}
html[data-overlay-kind="withdraw"],
html[data-overlay-kind="withdraw"] body{background:#F4F7F5}

/* 内联 SVG 图标容器(2026-07-28:锁/眼睛/纸飞机/绿勾不再走 mask 外链) */
.wdv2-svg{display:inline-flex;flex:none}
.wdv2-svg svg{width:100%;height:100%;display:block}

.wdv2-page{
  --wd-green:#00A650;
  --wd-green-2:#12B45F;
  --wd-green-deep:#0B7A44;
  --wd-ink:#10331F;
  --wd-ink-2:#5F7367;
  --wd-ink-3:#8AA294;
  --wd-mint:#EAF7EF;
  --wd-card:#FFFFFF;
  --wd-card-tint:#F7FBF8;
  --wd-line:rgba(18,80,50,.035);
  --wd-radius:17px;
  --wd-shadow:0 18px 40px -24px rgba(11,64,40,.17);
  --wd-shadow-soft:0 18px 40px -24px rgba(11,64,40,.17);
  position:relative;
}
.wdv2-page>*{position:relative;z-index:1}

/* 页头水印:贴页面右上角;radial mask 让左侧和底部自然淡出,看不到图片矩形边界 */
.wdv2-watermark{
  position:absolute;z-index:0;top:-12px;right:-16px;
  width:min(48%,198px);height:auto;opacity:.58;pointer-events:none;user-select:none;
  -webkit-mask-image:radial-gradient(130% 125% at 100% 0%,#000 34%,transparent 74%);
  mask-image:radial-gradient(130% 125% at 100% 0%,#000 34%,transparent 74%);
}

/* 页头:白色圆形返回钮 + Withdraw / 副标题 */
.wdv2-top{display:flex;align-items:flex-start;gap:14px;padding:2px 0 0}
.wdv2-back{
  flex:none;width:44px;height:44px;border:1px solid rgba(18,80,50,.05);border-radius:50%;
  background:#fff;color:var(--wd-ink);display:grid;place-items:center;
  box-shadow:0 10px 20px -13px rgba(11,64,40,.24);cursor:pointer;font-family:inherit;
  transition:transform .16s ease;
}
.wdv2-back:active{transform:scale(.94)}
.wdv2-back .tpv2-icon{width:16px;height:16px}
.wdv2-heading{min-width:0;padding-top:2px}
.wdv2-heading h1{margin:0;font-size:22px;line-height:1.15;font-weight:700;color:#16301F;letter-spacing:-.2px}
.wdv2-heading p{margin:3px 0 0;font-size:12.5px;line-height:1.3;font-weight:400;color:#5A6C60}

/* 余额卡:左上余额 + 右上记录入口,下排 4 张钞票素材(素材自带白描边圆角阴影,不再叠厚框) */
.wdv2-balance-card{
  margin-top:7px;padding:11px 12px 11px;
  background:linear-gradient(175deg,#FBFDFB 0%,#F6FAF7 100%);
  border:1px solid var(--wd-line);border-radius:var(--wd-radius);box-shadow:var(--wd-shadow);
}
.wdv2-balance-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wdv2-balance-copy{min-width:0;display:grid;gap:3px;justify-items:start}
.wdv2-balance-copy small{font-size:12.5px;font-weight:400;color:#4A5C50}
.wdv2-balance-copy strong{max-width:100%;white-space:nowrap;font-size:clamp(20px,5.9vw,24px);line-height:1.05;font-weight:750;color:#41A236;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.wdv2-records{
  flex:none;display:inline-flex;align-items:center;gap:3px;margin-top:1px;
  border:0;background:none;color:#03A24E;font-family:inherit;font-size:12.5px;font-weight:600;
  padding:2px 0;cursor:pointer;
}
.wdv2-records .wdv2-records-chevron{width:12px;height:12px;color:#0BAF56}
.wdv2-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.wdv2-note{
  border:0;padding:0;background:none;cursor:pointer;min-width:0;min-height:44px;
  transition:transform .15s ease;-webkit-tap-highlight-color:transparent;
}
.wdv2-note:active{transform:scale(.95)}
.wdv2-note img{display:block;width:100%;height:auto;object-fit:contain}

/* 提现金额卡:左 ₱ 灰符号,中间大号绿色金额,下方标签 + 胶囊提示 */
.wdv2-amount-card{
  margin-top:10px;padding:16px 14px 13px;text-align:center;
  background:var(--wd-card);border:1px solid var(--wd-line);border-radius:var(--wd-radius);box-shadow:var(--wd-shadow);
}
.wdv2-amount-line{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center}
.wdv2-amount-symbol{grid-column:1;font-size:30px;font-weight:800;color:#98A79F;line-height:1}
.wdv2-amount-input{
  grid-column:2;width:100%;min-width:0;border:0;outline:none;background:transparent;padding:0;
  font-family:inherit;font-size:clamp(42px,11.8vw,50px);line-height:1.04;font-weight:800;color:#41A236;
  text-align:center;letter-spacing:-1px;font-variant-numeric:tabular-nums;caret-color:#41A236;
}
.wdv2-amount-input::placeholder{color:#41A236;opacity:1}
.wdv2-amount-label{margin:5px 0 0;font-size:13.5px;font-weight:400;color:#4A5C50}
.wdv2-amount-hint{
  display:inline-block;margin:7px 0 0;padding:6px 14px;border-radius:999px;
  background:#F1F4F1;font-size:12.5px;font-weight:400;color:#63756A;
}

/* 费用卡:Fee | → | You receive */
.wdv2-fee-card{
  margin-top:10px;padding:13px 12px 14px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  background:linear-gradient(175deg,#FBFDFB 0%,#F7FAF7 100%);
  border:1px solid var(--wd-line);border-radius:15px;box-shadow:var(--wd-shadow-soft);
}
.wdv2-fee-cell{display:grid;gap:3px;justify-items:center;text-align:center;min-width:0}
.wdv2-fee-cell small{font-size:12px;font-weight:400;color:#5A6B60}
.wdv2-fee-cell strong{font-size:17.5px;font-weight:750;color:var(--wd-green);letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.wdv2-fee-arrow{width:23px;height:23px;color:var(--wd-green)}

/* 收款账户:标题行 + 账户列表(选中=绿细边+实心绿勾,默认账户浅绿 Default 标签) */
/* 分层留白:大卡贴屏 16px,账户/PIN 区 20px(卡外加 4px),按钮/安全条 22px(外加 6px) */
.wdv2-sec-head{display:flex;align-items:center;justify-content:space-between;margin:12px 6px 7px}
.wdv2-sec-head h2{margin:0;font-size:14px;font-weight:500;color:#22392B}
.wdv2-manage{
  display:inline-flex;align-items:center;gap:3px;border:0;background:none;
  color:#41A236;font-family:inherit;font-size:12.5px;font-weight:600;padding:2px 0;cursor:pointer;
}
.wdv2-manage-chevron{width:12px;height:12px;color:#41A236}
/* minmax(0,1fr):不写列定义时 nowrap 长账号会把格子撑到内容宽,行尾勾选圆点被推出屏(2026-07-28 修复) */
.wdv2-acc-list{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:0 4px}
.wdv2-acc{
  display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;
  border:1px solid rgba(18,80,50,.04);border-radius:14px;background:#fff;
  padding:6px 10px;font-family:inherit;text-align:left;cursor:pointer;
  box-shadow:var(--wd-shadow-soft);transition:border-color .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.wdv2-acc.is-selected{border:1.5px solid #41A236;padding:5.5px 9.5px;box-shadow:0 10px 22px -15px rgba(65,162,54,.30)}
/* 左组=Logo+名+Default,右组=渠道号码+圆点:两侧各自弹性收缩+省略,不互相挤压 */
.wdv2-acc-left{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}
.wdv2-acc-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto;min-width:0}
.wdv2-acc-logo{flex:none;width:36px;height:36px;object-fit:contain;border-radius:9px}
.wdv2-acc-name{flex:0 1 auto;min-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;color:#22392B}
.wdv2-acc-default{
  flex:none;font-style:normal;font-size:11px;font-weight:500;color:#41A236;
  background:#F0F9F3;border:1px solid rgba(14,155,82,.10);border-radius:999px;padding:2.5px 8px;
}
.wdv2-acc-no{flex:0 1 auto;min-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:11.5px;font-weight:400;color:#68796E}
.wdv2-acc-check{
  flex:none;width:24px;height:24px;border-radius:50%;
  border:2px solid #DFE8E2;background:#FBFDFB;display:grid;place-items:center;
}
.wdv2-acc-check .wdv2-svg{width:24px;height:24px;opacity:0;transform:scale(.5);transition:opacity .15s ease,transform .15s ease}
.wdv2-acc.is-selected .wdv2-acc-check{border-color:transparent;background:none}
.wdv2-acc.is-selected .wdv2-acc-check .wdv2-svg{opacity:1;transform:scale(1)}
.wdv2-acc-empty{
  border:1.5px dashed #C6E4D1;border-radius:15px;background:#FAFCFA;
  padding:17px 14px;margin:0 4px;text-align:center;
}
.wdv2-acc-empty p{margin:0 0 10px;color:#54685C;font-size:14px;font-weight:500}
.wdv2-bind-cta{
  display:inline-flex;align-items:center;gap:4px;border:1.5px solid #14AE5C;border-radius:999px;
  background:#fff;color:#0B9C50;font-family:inherit;font-size:14px;font-weight:700;
  padding:9px 19px;cursor:pointer;
}

/* 支付 PIN:锁 + 输入 + 眼睛显隐(点击区仍 ≥44px) */
.wdv2-pin-head{margin:11px 6px 6px;font-size:14px;font-weight:500;color:#22392B}
.wdv2-pin-field{
  display:flex;align-items:center;gap:10px;min-height:44px;box-sizing:border-box;
  border:1px solid rgba(18,80,50,.05);border-radius:14px;background:#fff;
  padding:8px 13px;margin:0 4px;box-shadow:var(--wd-shadow-soft);
}
.wdv2-pin-field:focus-within{border-color:#12B45F}
.wdv2-pin-lock{width:21px;height:21px;color:#75897D}
.wdv2-pin-field input{
  flex:1;min-width:0;border:0;outline:none;background:transparent;padding:0;
  font-family:inherit;font-size:14.5px;font-weight:600;color:var(--wd-ink);
  letter-spacing:1px;
}
.wdv2-pin-field input::placeholder{color:#9DAFA4;font-weight:500;letter-spacing:0}
.wdv2-pin-eye{
  flex:none;display:grid;place-items:center;width:36px;height:36px;margin:-8px -6px;
  border:0;background:none;color:#75897D;cursor:pointer;border-radius:50%;
}
.wdv2-pin-eye .wdv2-svg{width:21px;height:21px}
.wdv2-pin-eye .wdv2-eye-open{display:none}
.wdv2-pin-eye.is-visible .wdv2-eye-open{display:inline-flex}
.wdv2-pin-eye.is-visible .wdv2-eye-closed{display:none}

/* 主按钮:绿色横向渐变胶囊 + 纸飞机;下方限额行 */
.wdv2-submit{
  display:flex;width:calc(100% - 12px);min-height:44px;margin:12px auto 0;
  align-items:center;justify-content:center;gap:8px;
  border:0;border-radius:14px;cursor:pointer;font-family:inherit;
  background:#41A236;
  color:#fff;font-size:15px;font-weight:600;letter-spacing:.2px;
  box-shadow:0 12px 24px -15px rgba(65,162,54,.38);
  transition:transform .16s ease,filter .16s ease;
}
.wdv2-submit:active{transform:scale(.985)}
.wdv2-submit:disabled{
  background:linear-gradient(90deg,#A6DEC0 0%,#8FD2B0 100%);
  box-shadow:none;cursor:not-allowed;
}
.wdv2-submit-plane{width:16px;height:16px}
/* 飞机与文字同大:viewBox 已裁到字形包围盒,15px 盒 = 按钮 15px 字号 */
.wdv2-submit-telegram{width:15px;height:15px}
.wdv2-limits{margin:8px 0 0;text-align:center;font-size:12.5px;font-weight:400;color:#63756A;font-variant-numeric:tabular-nums}

/* 安全信息条:盾牌/闪电/耳机 + 圆点分隔 */
.wdv2-trust{
  margin:9px 6px 0;padding:11px 8px;
  display:flex;align-items:center;justify-content:center;column-gap:10px;row-gap:4px;
  background:#F9FBF9;border:1px solid rgba(18,80,50,.03);border-radius:12px;
}
.wdv2-trust-item{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:400;color:#5E6F65;white-space:nowrap}
.wdv2-trust-item .tpv2-icon{width:13px;height:13px;color:#41A236}
.wdv2-trust-dot{flex:none;width:4px;height:4px;border-radius:50%;background:#C2D2C7}

/* 键盘可达:绿色焦点圈 */
.service-page[data-service-kind="withdraw"] button:focus-visible,
.service-page[data-service-kind="withdraw"] input:focus-visible{
  outline:2px solid #0AA25A;outline-offset:2px;border-radius:12px;
}
/* pinRing=20260808-1:支付密码那格的外壳已经用 :focus-within 把边框变绿来指示焦点,
   上面这条再给 input 套一圈 2px 绿描边就成了「框里套框」(用户 2026-08-08 要求去掉)。
   只摘 PIN 这一格的内圈,焦点可见性交给外壳边框,键盘可达性不受影响;
   同页其他 input/button 的焦点圈原样保留 */
.service-page[data-service-kind="withdraw"] .wdv2-pin-field input:focus-visible{outline:none}

/* 窄屏(≤380px):同结构收紧间距字号,4 张钞票仍一行全见 */
@media (max-width:380px){
  .wdv2-back{width:42px;height:42px}
  .wdv2-heading h1{font-size:20px}
  .wdv2-heading p{font-size:12px}
  .wdv2-balance-copy small{font-size:12px}
  .wdv2-records{font-size:12px}
  .wdv2-notes{gap:7px}
  .wdv2-amount-card{padding:18px 10px 14px}
  .wdv2-amount-line{grid-template-columns:38px minmax(0,1fr) 38px}
  .wdv2-amount-symbol{font-size:27px}
  .wdv2-amount-input{font-size:clamp(38px,11.4vw,46px)}
  .wdv2-amount-label{font-size:13px}
  .wdv2-amount-hint{font-size:12px;padding:5px 12px}
  .wdv2-fee-cell strong{font-size:16.5px}
  .wdv2-fee-cell small{font-size:11.5px}
  .wdv2-sec-head h2,.wdv2-pin-head{font-size:13.5px}
  .wdv2-acc{padding:6px 9px;min-height:47px}
  .wdv2-acc-left{gap:7px}
  .wdv2-acc-right{gap:7px}
  .wdv2-acc-logo{width:34px;height:34px}
  .wdv2-acc-name{font-size:12.5px}
  .wdv2-acc-no{font-size:11px}
  .wdv2-acc-default{font-size:10.5px;padding:2px 7px}
  .wdv2-pin-lock{width:20px;height:20px}
  .wdv2-pin-eye .wdv2-svg{width:20px;height:20px}
  .wdv2-submit{font-size:14.5px}
  .wdv2-trust{column-gap:7px}
  .wdv2-trust-item{font-size:11px;gap:4px}
}

/* 动效关怀:系统减少动态时取消转场 */
@media (prefers-reduced-motion:reduce){
  .wdv2-back,.wdv2-note,.wdv2-acc,.wdv2-acc-check .wdv2-svg,.wdv2-submit{transition:none}
  .wdv2-back:active,.wdv2-note:active,.wdv2-submit:active{transform:none}
}

/* Wallet conversion V5 must be the final wallet override because older
   compatibility layers remain earlier in this long-lived stylesheet. */
.service-page[data-service-kind="entertainment-wallet"] .service-screen{
  padding-top:12px!important;
  padding-bottom:0!important;
  background:#F4F7F5!important;
  background-image:none!important
}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap h1{
  color:#0a0a0a;
  font-size:19.25px;
  font-weight:740;
  letter-spacing:-.25px
}
.service-page[data-service-kind="entertainment-wallet"] .service-topbar{
  grid-template-columns:minmax(40px,1fr) minmax(0,auto) minmax(40px,1fr);
  gap:8px;
  padding:0!important
}
.service-page[data-service-kind="entertainment-wallet"] .service-title-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  text-align:center
}
.service-page[data-service-kind="entertainment-wallet"] .service-pill-group{grid-column:3}
.service-page[data-service-kind="entertainment-wallet"] .service-pill{
  grid-column:3;
  background:#fff;
  color:#101715;
  font-weight:650
}
.ent-wallet-page-v5.is-redeem .ent-wallet-balance-card{min-height:150px}

/* ===== Entertainment single-page game + draw selector (2026-07-29) ===== */
.service-page[data-service-kind="entertainment-lobby"]{
  --ent-lobby-page:#F4F7F5;
  --ent-lobby-surface:#fff;
  --ent-lobby-text:#080808;
  --ent-lobby-muted:#665e74;
  --ent-lobby-green:#087b0a;
  --ent-lobby-blue:#072cf4;
  --ent-lobby-orange:#fa430b;
  --ent-lobby-line:rgba(20,20,20,.08);
  --ent-lobby-shadow:0 10px 30px rgba(0,0,0,.08);
  --ent-lobby-gap:clamp(6px,1.8vw,9px);
  background:#f2f5f1
}
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  width:min(100%,512px);
  padding:calc(16px + env(safe-area-inset-top)) clamp(12px,3.7vw,19px) calc(20px + env(safe-area-inset-bottom));
  overflow-x:hidden;
  background-color:var(--ent-lobby-page);
  background-image:url("./assets/ent-lobby/background-rays.svg");
  background-position:center top;
  background-repeat:repeat-y;
  background-size:100% auto;
  box-shadow:0 18px 42px rgba(20,90,50,.08)
}
.service-page[data-service-kind="entertainment-lobby"] .service-topbar{
  position:relative;
  z-index:3;
  grid-template-columns:44px minmax(0,1fr) auto;
  min-height:54px;
  gap:8px;
  margin-bottom:0
}
.service-page[data-service-kind="entertainment-lobby"] .service-back{
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  box-shadow:0 7px 20px rgba(0,0,0,.1)
}
.service-page[data-service-kind="entertainment-lobby"] .service-back::before{
  width:20px;
  height:20px;
  background-image:url("./assets/ent-lobby/back.svg");
  background-size:20px 20px
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap{
  display:flex;
  justify-content:center;
  min-width:0
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{
  display:block;
  width:min(100%,155px);
  height:51px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill-group{gap:0}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:96px;
  min-height:44px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--ent-lobby-text);
  padding:8px 11px;
  box-shadow:0 7px 20px rgba(0,0,0,.09);
  font-size:clamp(10px,2.3vw,13px);
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill img{
  width:18px;
  height:18px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .service-body{display:block}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-shell{
  display:block;
  min-width:0;
  padding-bottom:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
  display:flex;
  align-items:flex-end;
  height:clamp(66px,18vw,92px);
  margin:clamp(-12px,-2.3vw,-5px) calc(clamp(12px,3.7vw,19px) * -1) clamp(-14px,-2.8vw,-8px);
  overflow:hidden;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center bottom
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.24fr) minmax(0,.53fr) minmax(0,.53fr);
  align-items:stretch;
  gap:0;
  min-height:clamp(82px,20.8vw,107px);
  border:1px solid rgba(20,20,20,.025);
  border-radius:clamp(14px,3.2vw,17px);
  padding:0;
  box-shadow:var(--ent-lobby-shadow);
  overflow:hidden
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{
  align-items:center;
  padding:clamp(11px,2.7vw,15px) clamp(11px,3vw,17px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance small{
  color:var(--ent-lobby-muted);
  font-size:clamp(9px,2vw,11px);
  font-weight:650;
  letter-spacing:.15px;
  text-transform:uppercase
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance strong{
  gap:clamp(5px,1.4vw,8px);
  margin-top:clamp(5px,1.4vw,8px);
  color:var(--ent-lobby-text)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  top:0;
  width:clamp(29px,7vw,38px);
  height:clamp(29px,7vw,38px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{
  min-width:0;
  color:var(--ent-lobby-text);
  font-size:clamp(20px,5.4vw,30px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.5px;
  overflow:hidden;
  text-overflow:ellipsis
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{
  top:0;
  align-self:flex-end;
  margin:0 0 1px -2px;
  color:var(--ent-lobby-green);
  font-size:clamp(11px,2.7vw,15px);
  line-height:1.1;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  min-height:44px;
  border:0;
  background:#fff;
  color:var(--ent-lobby-text);
  padding:7px 5px;
  font:inherit;
  font-size:clamp(8px,2vw,11px);
  line-height:1.2;
  font-weight:600;
  text-align:center;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action+ .ent-lobby-wallet-action{
  border-left:1px solid var(--ent-lobby-line)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  width:clamp(27px,6.2vw,34px);
  height:clamp(27px,6.2vw,34px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(8px,2vw,12px);
  margin-top:clamp(11px,2.7vw,15px);
  padding:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2{
  min-width:0;
  margin:0;
  border-left:3px solid var(--ent-lobby-green);
  border-radius:2px;
  padding-left:clamp(8px,1.8vw,10px);
  color:var(--ent-lobby-text);
  font-size:clamp(12px,2.65vw,15px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.1px;
  text-transform:uppercase
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2 span{color:var(--ent-lobby-green)}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:24px;
  border:1px solid rgba(8,123,10,.22);
  border-radius:999px;
  color:var(--ent-lobby-green);
  padding:3px 8px;
  font-size:clamp(7px,1.75vw,9px);
  font-weight:750;
  white-space:nowrap;
  text-transform:uppercase
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular img{
  width:12px;
  height:12px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ent-lobby-gap);
  margin-top:clamp(8px,1.8vw,10px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(3px,.8vw,5px);
  min-width:0;
  width:100%;
  min-height:clamp(84px,26.5vw,136px);
  border:1px solid transparent;
  border-radius:clamp(12px,3vw,16px);
  background:#fff;
  padding:clamp(8px,2vw,12px) clamp(5px,1.4vw,8px);
  box-shadow:0 8px 22px rgba(0,0,0,.07);
  overflow:visible;
  text-align:center;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  justify-content:flex-start;
  padding-block:calc(var(--ent-lobby-unit) * 3.13)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-green{
  --game-accent:#0e6b0b
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-red{
  --game-accent:#e8281a
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-blue{
  --game-accent:#0634fd
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card::after{content:none}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-selected{
  border-color:#18a22b;
  background:#f7fff8;
  box-shadow:0 8px 22px rgba(8,123,10,.08)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-icon,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-icon{
  display:grid;
  place-items:center;
  width:100%;
  height:clamp(45px,12.5vw,64px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{
  width:clamp(58px,14vw,76px);
  height:clamp(58px,14vw,76px);
  border-radius:0;
  object-fit:contain;
  transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-pcso-logo{
  width:92%;
  height:100%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy{
  position:static;
  display:block;
  width:100%;
  min-width:0;
  padding:0;
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy strong,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy strong{
  display:block;
  color:var(--ent-lobby-text);
  font-size:clamp(9px,2.3vw,13px);
  line-height:1.08;
  font-weight:750;
  letter-spacing:-.2px;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy strong{
  color:var(--ent-lobby-green);
  font-style:italic
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy small{
  display:block;
  margin-top:2px;
  color:var(--ent-lobby-text);
  font-size:clamp(8px,1.9vw,10px);
  line-height:1.05;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected{
  position:absolute;
  top:-7px;
  right:-5px;
  display:grid;
  place-items:center;
  width:clamp(22px,5.2vw,28px);
  height:clamp(22px,5.2vw,28px);
  border-radius:0;
  background:var(--ent-lobby-green);
  box-shadow:0 3px 8px rgba(8,123,10,.24)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected>img{
  width:55%;
  height:55%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ent-lobby-gap);
  margin-top:clamp(8px,1.8vw,10px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  width:100%;
  min-height:clamp(126px,39vw,200px);
  border:1px solid rgba(20,20,20,.025);
  border-radius:clamp(11px,2.6vw,14px);
  background:#fff;
  padding:clamp(8px,2vw,11px) clamp(6px,1.5vw,9px) clamp(7px,1.7vw,9px);
  box-shadow:0 8px 22px rgba(0,0,0,.07);
  text-align:center;
  overflow:hidden
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended{
  filter:none;
  opacity:.62;
  background:#fafafa;
  box-shadow:0 5px 14px rgba(0,0,0,.04)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-green{--room-accent:var(--ent-lobby-green);--room-soft:#eef8ee}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-blue{--room-accent:var(--ent-lobby-blue);--room-soft:#eef0ff}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-orange{--room-accent:var(--ent-lobby-orange);--room-soft:#fff1ec}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  color:var(--room-accent);
  font-size:clamp(10px,2.4vw,14px);
  line-height:1.15;
  font-weight:750;
  white-space:normal;
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch{
  display:grid;
  place-items:center;
  width:clamp(34px,8.7vw,46px);
  height:clamp(34px,8.7vw,46px);
  margin-top:clamp(4px,1.2vw,7px);
  border-radius:50%;
  background:var(--room-soft);
  color:var(--room-accent)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch img{
  width:58%;
  height:58%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  margin-top:clamp(3px,.8vw,5px);
  color:var(--ent-lobby-muted);
  font-size:clamp(7px,1.75vw,10px);
  line-height:1.1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  margin-top:2px;
  color:var(--room-accent);
  font-size:clamp(14px,4vw,22px);
  line-height:1;
  font-weight:600;
  letter-spacing:-.3px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  width:100%;
  height:1px;
  margin:clamp(4px,1vw,6px) 0;
  background:var(--ent-lobby-line)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  width:100%;
  min-height:clamp(20px,4.8vw,25px);
  color:var(--ent-lobby-muted);
  font-size:clamp(7px,1.7vw,9px);
  line-height:1.22;
  font-weight:550
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players img{
  flex:0 0 auto;
  width:clamp(10px,2.4vw,13px);
  height:clamp(10px,2.4vw,13px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  width:100%;
  min-height:clamp(30px,7vw,36px);
  margin-top:auto;
  border:0;
  border-radius:clamp(7px,1.6vw,9px);
  background:var(--room-accent);
  color:#fff;
  padding:4px clamp(6px,1.6vw,9px);
  font:inherit;
  font-size:clamp(8px,2vw,11px);
  line-height:1;
  font-weight:750;
  text-transform:uppercase;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet::before{
  content:"";
  position:absolute;
  inset:-7px 0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet img{
  width:clamp(12px,3vw,16px);
  height:clamp(12px,3vw,16px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet:disabled{
  background:#aeb6b1;
  cursor:not-allowed
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-state{
  grid-column:1/-1;
  display:grid;
  place-items:center;
  min-height:clamp(126px,39vw,200px);
  border:1px solid var(--ent-lobby-line);
  border-radius:14px;
  background:#fff;
  color:var(--ent-lobby-muted);
  font-size:13px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-state.is-error{color:#a32920}
.service-page[data-service-kind="entertainment-lobby"] :where(button,a):focus-visible{
  outline:3px solid #111;
  outline-offset:3px
}

@media (max-width:430px){
  .service-page[data-service-kind="entertainment-lobby"] .ent-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-page[data-service-kind="entertainment-lobby"] .ent-room-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:340px){
  .service-page[data-service-kind="entertainment-lobby"]{--ent-lobby-gap:6px}
  .service-page[data-service-kind="entertainment-lobby"] .service-screen{padding-left:10px;padding-right:10px}
  .service-page[data-service-kind="entertainment-lobby"] .service-pill{min-width:82px;padding-left:8px;padding-right:8px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{grid-template-columns:minmax(0,1.12fr) minmax(0,.58fr) minmax(0,.58fr)}
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{padding-left:9px;padding-right:7px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{display:none}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{padding-left:6px;padding-right:6px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{padding-left:5px;padding-right:5px}
}
@media (prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-lobby"] *,
  .service-page[data-service-kind="entertainment-lobby"] *::before,
  .service-page[data-service-kind="entertainment-lobby"] *::after{
    animation:none!important;
    scroll-behavior:auto!important;
    transition:none!important
  }
}

/* ===== PanaloX reference-fidelity calibration (2026-07-29) ===== */
.service-page[data-service-kind="entertainment-lobby"]{
  --ent-lobby-page:#F4F7F5;
  --ent-lobby-surface:#fff;
  --ent-lobby-text:#090909;
  --ent-lobby-muted:#625b73;
  --ent-lobby-green:#07820b;
  --ent-lobby-blue:#1234f5;
  --ent-lobby-orange:#fb430b;
  --ent-lobby-line:rgba(28,29,28,.09);
  --ent-lobby-shadow:0 10px 26px rgba(20,54,27,.075);
  --ent-lobby-gap:8px;
  background:#eef2ed
}
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  width:min(100%,512px);
  min-height:100%;
  padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
  background-color:var(--ent-lobby-page);
  background-image:
    linear-gradient(125deg,rgba(226,240,222,.14),transparent 42%),
    linear-gradient(55deg,transparent 54%,rgba(232,242,228,.1));
  background-size:100% 100%;
  box-shadow:0 18px 42px rgba(20,90,50,.08)
}
.service-page[data-service-kind="entertainment-lobby"] .service-topbar{
  grid-template-columns:44px minmax(0,1fr) auto;
  min-height:72px;
  gap:8px
}
.service-page[data-service-kind="entertainment-lobby"] .service-back{
  width:42px;
  height:42px;
  box-shadow:0 7px 20px rgba(0,0,0,.09)
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{
  width:176px;
  max-width:100%;
  height:64px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  min-width:98px;
  min-height:42px;
  gap:8px;
  padding:8px 12px;
  box-shadow:0 7px 20px rgba(0,0,0,.08);
  font-size:12px;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill img{
  width:19px;
  height:19px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
  height:104px;
  margin:-19px -18px -13px;
  background:url("./assets/ent-lobby/manila-skyline-pale-green-v1.png?v=20260729-reference-1") center bottom/cover no-repeat
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline img{display:none}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr) minmax(0,.55fr);
  min-height:108px;
  border:1px solid rgba(20,20,20,.025);
  border-radius:18px;
  box-shadow:0 11px 27px rgba(0,0,0,.075)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{
  padding:17px 12px 14px 20px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance small{
  margin-bottom:8px;
  font-size:12px;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance strong{
  gap:9px;
  align-items:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  width:43px;
  height:43px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{
  font-size:28px;
  line-height:1;
  font-weight:760;
  letter-spacing:-1px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{
  align-self:flex-end;
  margin:0 0 2px -3px;
  font-size:14px;
  font-weight:700
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  gap:8px;
  padding:13px 4px 10px;
  font-size:11px;
  font-weight:550
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  width:33px;
  height:33px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading{
  gap:11px;
  margin-top:14px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2{
  border-left-width:3px;
  padding-left:10px;
  font-size:14px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.15px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  min-height:25px;
  gap:5px;
  padding:3px 10px;
  font-size:8.5px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-grid{
  gap:8px;
  margin-top:9px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  min-height:136px;
  gap:4px;
  border-radius:16px;
  padding:13px 7px 11px;
  box-shadow:0 8px 22px rgba(0,0,0,.065)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-selected{
  border-color:#199e2d;
  background:#f7fff8
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-icon,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-icon{
  height:78px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{
  width:78px;
  height:78px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-pcso-logo{
  width:99%;
  height:78px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy strong,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy strong{
  font-size:13px;
  line-height:1.04
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy small{
  margin-top:1px;
  font-size:10px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected{
  top:-8px;
  right:-6px;
  width:29px;
  height:29px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-heading{margin-top:15px}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-list{
  gap:8px;
  margin-top:9px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  height:200px;
  min-height:200px;
  gap:0;
  border-radius:14px;
  padding:12px 8px 8px;
  box-shadow:0 8px 22px rgba(0,0,0,.065)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  min-height:17px;
  font-size:14px;
  line-height:1.15
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch{
  width:44px;
  height:44px;
  margin-top:6px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  margin-top:8px;
  font-size:9.5px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  margin-top:6px;
  font-size:22px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{margin:10px 0 7px}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  min-height:16px;
  gap:4px;
  font-size:9px;
  line-height:1.2
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players img{
  width:13px;
  height:13px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  min-height:30px;
  border-radius:8px;
  padding:5px 10px;
  font-size:11px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet img{
  width:16px;
  height:16px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:51px;
  margin-top:15px;
  border:1px solid rgba(23,23,23,.075);
  border-radius:11px;
  background:rgba(255,255,255,.82);
  padding:7px 16px;
  box-shadow:0 5px 16px rgba(0,0,0,.025)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img{
  flex:0 0 auto;
  width:38px;
  height:38px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner strong{
  color:#111;
  font-size:13px;
  line-height:1.2;
  font-weight:550
}
@media (max-width:430px){
  .service-page[data-service-kind="entertainment-lobby"] .service-screen{padding-left:12px;padding-right:12px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{margin-left:-12px;margin-right:-12px}
  .service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{width:160px}
  .service-page[data-service-kind="entertainment-lobby"] .service-pill{min-width:92px;padding-left:9px;padding-right:9px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{grid-template-columns:minmax(0,1.34fr) minmax(0,.58fr) minmax(0,.58fr)}
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{padding-left:14px}
}
@media (max-width:340px){
  .service-page[data-service-kind="entertainment-lobby"] .service-screen{padding-left:8px;padding-right:8px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{margin-left:-8px;margin-right:-8px}
  .service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{width:138px}
  .service-page[data-service-kind="entertainment-lobby"] .service-pill{min-width:80px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{font-size:22px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{width:34px;height:34px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-icon,
  .service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-icon{height:64px}
  .service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{width:64px;height:64px}
}

/* Final reference icon sizing and color calibration. */
.service-page[data-service-kind="entertainment-lobby"] .service-pill img,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular img{
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{
  width:54px;
  height:54px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-green .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-blue .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(20%) sepia(100%) saturate(6000%) hue-rotate(235deg) brightness(93%) contrast(117%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-orange .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(31%) sepia(99%) saturate(3299%) hue-rotate(359deg) brightness(101%) contrast(106%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet img{
  filter:brightness(0) invert(1)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  padding-top:3px;
  padding-bottom:3px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img{
  width:42px;
  height:42px
}
@media (max-width:340px){
  .service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{width:50px;height:50px}
}

/* Final reference geometry calibration. */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:minmax(0,1.3fr) minmax(0,.55fr) minmax(0,.55fr);
  margin-top:-18px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  width:52px;
  height:52px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy strong{
  font-size:15px;
  line-height:1.02;
  text-transform:uppercase
}

/* Entertainment reference calibration round 2 */
.service-page[data-service-kind="entertainment-lobby"]{
  border:0;
  outline:0;
  margin:0;
  background:#f6f8f5;
  font-family:Inter,"SF Pro Display","SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  box-sizing:border-box;
  border:0;
  outline:0;
  margin:0;
  padding:18px 18px 8px;
  box-shadow:0 22px 54px rgba(27,77,41,.05)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
  height:126px;
  margin:-41px -18px -18px;
  background-repeat:no-repeat;
  background-size:100% auto;
  background-position:center bottom
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  min-width:0;
  min-height:40px;
  gap:6px;
  padding:7px 11px;
  font-size:11px;
  line-height:1;
  font-weight:650;
  box-shadow:0 10px 28px rgba(25,74,39,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill img{
  width:16px;
  height:16px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:minmax(0,1.36fr) minmax(0,.55fr) minmax(0,.55fr);
  min-height:108px;
  overflow:hidden;
  box-shadow:0 15px 42px rgba(29,75,40,.065)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{
  justify-content:flex-start;
  padding:13px 12px 11px 18px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-label{
  margin-bottom:3px;
  font-size:10px;
  line-height:1.15;
  font-weight:700
}
.service-page[data-service-kind="entertainment-lobby"] .ent-strip-value-row{
  display:flex;
  align-items:center;
  gap:9px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-strip-value-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  width:44px;
  height:44px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{
  font-size:28px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.65px;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{
  display:block;
  position:static;
  align-self:auto;
  margin:0;
  color:#0b8413;
  font-size:13px;
  line-height:1;
  font-weight:750
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  position:relative;
  gap:8px;
  border-left:0;
  padding:12px 4px 10px;
  color:#171717;
  font-size:11px;
  line-height:1.1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:1px;
  background:rgba(17,17,17,.095)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action+ .ent-lobby-wallet-action{
  border-left:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action+ .ent-lobby-wallet-action::before{
  top:16px;
  bottom:16px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  width:31px;
  height:31px;
  filter:brightness(0) saturate(100%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading{
  margin-top:14px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2{
  font-size:14px;
  line-height:1.1;
  font-weight:800
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  min-height:24px;
  gap:5px;
  padding:3px 9px;
  font-size:8.5px;
  line-height:1;
  font-weight:750
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular img{
  width:13px;
  height:13px;
  filter:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  min-height:136px;
  box-shadow:0 14px 38px rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-selected{
  border-color:#199e2d;
  background:linear-gradient(145deg,#fbfffb 0%,#f1fbf3 100%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-pcso-logo{
  width:76%;
  height:78px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected{
  display:grid;
  place-items:center;
  overflow:hidden;
  border:0;
  background:#07820b;
  box-shadow:0 5px 13px rgba(7,130,11,.22)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected>img{
  width:14px;
  height:14px;
  display:block
}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-heading{
  margin-top:15px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  height:208px;
  min-height:208px;
  padding:13px 9px 10px;
  box-shadow:0 15px 40px rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  min-height:18px;
  font-size:14.5px;
  line-height:1.15;
  font-weight:750
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch{
  width:45px;
  height:45px;
  margin-top:7px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  margin-top:9px;
  font-size:9.5px;
  line-height:1.2
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  margin-top:6px;
  font-size:20px;
  line-height:1;
  font-weight:600;
  letter-spacing:-.5px;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  margin:10px 0 8px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  display:flex;
  min-height:32px;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:1px;
  line-height:1.15
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-size:10px;
  line-height:1.2;
  font-weight:550
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line img{
  width:13px;
  height:13px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-status{
  display:block;
  color:#727272;
  font-size:8.5px;
  line-height:1.1;
  font-weight:450
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  min-height:37px;
  margin-top:auto;
  border-radius:8px;
  padding:7px 10px;
  font-size:13px;
  line-height:1;
  font-weight:800
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet img{
  width:18px;
  height:18px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  min-height:55px;
  margin-top:13px;
  padding:4px 16px;
  box-shadow:0 10px 30px rgba(31,74,41,.04)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img{
  width:46px;
  height:46px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner strong{
  font-size:14px;
  line-height:1.18;
  font-weight:600
}
@media (max-width:430px){
  .service-page[data-service-kind="entertainment-lobby"]{
    overflow-x:hidden
  }
  .service-page[data-service-kind="entertainment-lobby"] .service-screen{
    width:512px;
    max-width:none;
    min-height:768px;
    padding:18px 18px 8px;
    zoom:calc(100vw / 512px)
  }
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
    margin:-41px -18px -18px
  }
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
    grid-template-columns:minmax(0,1.36fr) minmax(0,.55fr) minmax(0,.55fr)
  }
}

/* Entertainment precise fixes round 3 */
html[data-overlay-kind="entertainment-lobby"],
html[data-overlay-kind="entertainment-lobby"] body{
  min-height:100dvh;
  margin:0;
  border:0;
  outline:0;
  overflow-x:hidden;
  background:linear-gradient(180deg,#f8fbf6 0%,#f4f8f3 52%,#edf6ee 100%)
}
.service-page[data-service-kind="entertainment-lobby"]{
  min-height:100dvh;
  margin:0;
  border:0;
  outline:0;
  overflow-x:hidden;
  background:linear-gradient(180deg,#f8fbf6 0%,#f4f8f3 52%,#edf6ee 100%)
}
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  min-height:100dvh;
  margin:0;
  border:0;
  outline:0;
  background:
    linear-gradient(125deg,rgba(226,242,229,.30),transparent 42%),
    linear-gradient(55deg,transparent 54%,rgba(227,242,231,.24)),
    #F4F7F5
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  padding-left:9px;
  padding-right:9px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  gap:9px;
  color:#1c211e;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  width:34px;
  height:34px;
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-blue .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(18%) sepia(99%) saturate(7477%) hue-rotate(238deg) brightness(99%) contrast(97%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  height:228px;
  min-height:228px;
  padding:13px 9px 12px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  height:1px;
  margin:10px 0 9px;
  background:rgba(28,29,28,.14)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  min-height:34px;
  margin-bottom:8px
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  min-height:44px;
  margin-top:auto;
  border-radius:9px;
  padding:8px 10px;
  font-size:14px;
  line-height:1;
  font-weight:800
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet img{
  width:21px;
  height:21px
}

/* Entertainment iOS viewport clipping fix */
@media (max-width:430px){
  .service-page[data-service-kind="entertainment-lobby"]{
    align-items:flex-start;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch
  }
  .service-page[data-service-kind="entertainment-lobby"] .service-screen{
    flex:0 0 auto;
    max-height:none;
    overflow-y:visible
  }
}

/* ===== PanaloX bet history V2 — measured reference implementation ===== */
.service-page[data-service-kind="entertainment-history"]{
  --ent-history-page:#fffefa;
  --ent-history-text:#090909;
  --ent-history-muted:#625b73;
  --ent-history-green:#07820b;
  --ent-history-green-border:#199e2d;
  --ent-history-green-soft:#f7fff8;
  --ent-history-field:#f0f5ef;
  --ent-history-line:#ececec;
  --ent-history-shadow:0 15px 40px rgba(31,74,41,.055);
  align-items:flex-start;
  overflow-x:hidden;
  overflow-y:auto;
  background:linear-gradient(180deg,#f9fbf6 0%,#f0f5ef 52%,#ecf6ee 100%);
  font-family:Inter,"SF Pro Display","SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.service-page[data-service-kind="entertainment-history"] .service-screen{
  box-sizing:border-box;
  width:min(100%,512px);
  min-height:100dvh;
  max-height:none;
  overflow-y:visible;
  border:0;
  outline:0;
  margin:0;
  padding:calc(10px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
  padding-top:calc(10px + env(safe-area-inset-top))!important;
  background:
    linear-gradient(125deg,rgba(226,242,229,.30),transparent 42%),
    linear-gradient(55deg,transparent 54%,rgba(227,242,231,.24)),
    #F4F7F5;
  box-shadow:0 22px 54px rgba(27,77,41,.05)
}
.service-page[data-service-kind="entertainment-history"] .service-topbar{
  position:relative;
  z-index:2;
  grid-template-columns:44px minmax(0,1fr) auto;
  min-height:72px;
  align-items:center;
  gap:8px;
  margin-bottom:0
}
.service-page[data-service-kind="entertainment-history"] .service-back{
  width:43px;
  height:43px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--ent-history-text);
  box-shadow:0 10px 28px rgba(25,74,39,.075)
}
.service-page[data-service-kind="entertainment-history"] .service-back::before{
  width:22px;
  height:22px;
  background-image:url("assets/ent-bet-history/back.svg");
  background-position:center;
  background-size:22px 22px;
  background-repeat:no-repeat
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap{
  min-width:0;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap h1{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap h1 img{
  display:block;
  width:176px;
  max-width:100%;
  height:auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .service-pill-group{
  min-width:0
}
.service-page[data-service-kind="entertainment-history"] .service-pill{
  display:inline-flex;
  min-width:106px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--ent-history-text);
  padding:7px 9px;
  box-shadow:0 10px 28px rgba(25,74,39,.055);
  font-size:11px;
  line-height:1;
  font-weight:650;
  cursor:default;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-history"] .service-pill img{
  display:block;
  width:16px;
  height:16px;
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-history"] .service-body{
  display:block;
  gap:0
}
.service-page[data-service-kind="entertainment-history"] .ent-history-page-v2{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0
}
.service-page[data-service-kind="entertainment-history"] .ent-history-skyline{
  display:flex;
  height:109px;
  align-items:flex-end;
  margin:-51px -18px -18px;
  overflow:hidden;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-history"] .ent-history-skyline img{
  display:block;
  width:100%;
  height:auto;
  flex:0 0 auto
}
.service-page[data-service-kind="entertainment-history"] .ent-history-section-heading{
  display:flex;
  align-items:center;
  min-height:34px;
  margin-top:14px
}
.service-page[data-service-kind="entertainment-history"] .ent-history-section-heading>div{
  min-width:0;
  border-left:3px solid var(--ent-history-green);
  padding-left:10px
}
.service-page[data-service-kind="entertainment-history"] .ent-history-section-heading h2{
  margin:0;
  color:var(--ent-history-text);
  font-size:14px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.15px;
  text-transform:uppercase
}
.service-page[data-service-kind="entertainment-history"] .ent-history-section-heading p{
  margin:3px 0 0;
  color:var(--ent-history-muted);
  font-size:10px;
  line-height:1.2;
  font-weight:550;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  min-width:0
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs button{
  position:relative;
  display:flex;
  min-width:0;
  height:62px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(28,29,28,.045);
  border-radius:16px;
  background:#fff;
  color:var(--ent-history-text);
  padding:8px 5px;
  box-shadow:0 14px 38px rgba(31,74,41,.055);
  font:inherit;
  font-size:11px;
  line-height:1.05;
  font-weight:700;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs button.on{
  border-color:var(--ent-history-green-border);
  background:var(--ent-history-green-soft);
  color:var(--ent-history-green);
  font-weight:800
}
.service-page[data-service-kind="entertainment-history"] .ent-filter-selected{
  position:absolute;
  top:-7px;
  right:-6px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  overflow:hidden;
  border-radius:50%;
  background:var(--ent-history-green);
  box-shadow:0 5px 13px rgba(7,130,11,.22)
}
.service-page[data-service-kind="entertainment-history"] .ent-filter-selected img{
  display:block;
  width:13px;
  height:13px
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button{
  height:42px;
  border-color:rgba(7,130,11,.13);
  border-radius:13px;
  background:#fff;
  color:var(--ent-history-green);
  box-shadow:0 8px 24px rgba(31,74,41,.035);
  font-size:10.5px;
  font-weight:650;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button:nth-child(1){width:calc(var(--ent-history-u) * 16.88)}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button:nth-child(2){width:calc(var(--ent-history-u) * 17.94)}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button:nth-child(3){width:calc(var(--ent-history-u) * 16.65)}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button:nth-child(4){width:calc(var(--ent-history-u) * 17.12)}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button:nth-child(5){width:calc(var(--ent-history-u) * 17.47)}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button.on{
  border-color:rgba(7,130,11,.18);
  background:#ecf6ee;
  color:var(--ent-history-green);
  font-weight:800
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  border:1px solid rgba(7,130,11,.09);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  padding:8px 10px;
  box-shadow:0 8px 24px rgba(31,74,41,.03)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:5px;
  min-width:0;
  color:var(--ent-history-green);
  font-size:9px;
  line-height:1;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:31px;
  border:1px solid rgba(7,130,11,.12);
  border-radius:9px;
  background:#fff;
  color:#173426;
  padding:4px 6px;
  font:inherit;
  font-size:9.5px;
  line-height:1
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange-sep{
  color:#9aaba2;
  font-size:10px
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  min-height:108px;
  overflow:hidden;
  border:1px solid rgba(20,20,20,.025);
  border-radius:18px;
  background:#fff;
  padding:16px 0;
  box-shadow:var(--ent-history-shadow);
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>div{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0 8px
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>div+div::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:1px;
  background:var(--ent-history-line)
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card small{
  display:block;
  color:var(--ent-history-muted);
  font-size:10px;
  line-height:1.15;
  font-weight:550;
  white-space:normal
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card strong{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:8px;
  color:var(--ent-history-text);
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.4px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card strong.ent-net-pos{
  color:#23a638
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card strong.ent-net-neg{
  color:#df2929
}
.service-page[data-service-kind="entertainment-history"] .ent-history-xcoin{
  display:block;
  width:28px;
  height:28px;
  flex:0 0 auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-pending{
  margin:0;
  border:1px solid rgba(7,130,11,.075);
  border-radius:10px;
  background:rgba(236,246,238,.78);
  color:var(--ent-history-muted);
  padding:7px 10px;
  font-size:9.5px;
  line-height:1.35;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-modal{
  display:flex;
  width:calc(100% - var(--ent-history-gutter) * 2);
  flex-direction:column;
  gap:calc(var(--ent-history-u) * 1.8);
  margin:calc(var(--ent-history-u) * 1.8) var(--ent-history-gutter) 0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card{
  box-sizing:border-box;
  width:100%;
  overflow:hidden;
  border:1px solid #e0e4e8;
  border-radius:calc(var(--ent-history-u) * 2);
  background:var(--ent-history-card);
  padding:0;
  box-shadow:0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.4) rgba(5,23,43,.10)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-header{
  display:flex;
  width:100%;
  height:calc(var(--ent-history-u) * 11);
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:calc(var(--ent-history-u) * 2);
  box-sizing:border-box;
  padding:0 calc(var(--ent-history-u) * 3.2)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading{min-width:0}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading>div{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-history-u) * 1.5)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading strong{
  color:#070d16;
  font-size:calc(var(--ent-history-u) * 3);
  line-height:1;
  font-weight:800;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-draw-pill{
  display:inline-flex;
  min-width:0;
  height:calc(var(--ent-history-u) * 3.8);
  align-items:center;
  border:1px solid #cce8d1;
  border-radius:999px;
  background:#e8f5ea;
  color:#048c0e;
  padding:0 calc(var(--ent-history-u) * 1.7);
  font-size:calc(var(--ent-history-u) * 2);
  line-height:1;
  font-weight:700;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading small{
  display:flex;
  align-items:center;
  gap:calc(var(--ent-history-u) * 1);
  margin-top:calc(var(--ent-history-u) * 1.15);
  color:#536071;
  font-size:calc(var(--ent-history-u) * 2);
  line-height:1;
  font-weight:600;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading i{color:#536071;font-style:normal}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill{
  display:flex;
  height:calc(var(--ent-history-u) * 4.2);
  flex:0 0 auto;
  align-items:center;
  gap:calc(var(--ent-history-u) * 1);
  border-radius:999px;
  background:#e2f6e6;
  color:#029220;
  padding:0 calc(var(--ent-history-u) * 1.8);
  font-size:calc(var(--ent-history-u) * 2);
  line-height:1;
  font-weight:700;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill.is-pending{background:#f3f6f4;color:#627066}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill img{
  display:block;
  width:calc(var(--ent-history-u) * 2.4);
  height:calc(var(--ent-history-u) * 2.4)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table{
  width:calc(100% - var(--ent-history-u) * 2.8);
  margin:0 calc(var(--ent-history-u) * 1.4);
  overflow:hidden;
  border:1px solid #d9dde3;
  border-radius:calc(var(--ent-history-u) * 1.5) calc(var(--ent-history-u) * 1.5) 0 0;
  box-sizing:border-box
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head,
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  display:grid;
  grid-template-columns:36% 24% 19% 21%;
  min-width:0;
  align-items:center;
  box-sizing:border-box
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  height:calc(var(--ent-history-u) * 4.7);
  background:#f8f8f8;
  color:#444e5c;
  font-size:calc(var(--ent-history-u) * 1.7);
  line-height:1;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:first-child,
.service-page[data-service-kind="entertainment-history"] .ent-record-bet{padding-left:calc(var(--ent-history-u) * 3.2);text-align:left}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:not(:first-child),
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:not(:first-child){text-align:center}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  height:calc(var(--ent-history-u) * 5.2);
  border-top:1px solid #e1e4e8;
  color:#0b1018;
  font-size:calc(var(--ent-history-u) * 2);
  line-height:1;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-record-bet{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-history-u) * 1.2);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-bet i{flex:0 0 auto;font-style:normal}
.service-page[data-service-kind="entertainment-history"] .ent-record-stake{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * .65);
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-history"] .ent-record-stake img{
  display:block;
  width:calc(var(--ent-history-u) * 2.1);
  height:calc(var(--ent-history-u) * 2.1);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-record-odds,
.service-page[data-service-kind="entertainment-history"] .ent-record-result{font-variant-numeric:tabular-nums}
.service-page[data-service-kind="entertainment-history"] .ent-record-result{font-size:calc(var(--ent-history-u) * 2.1)}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:calc(100% - var(--ent-history-u) * 2.8);
  height:calc(var(--ent-history-u) * 7.9);
  min-width:0;
  align-items:center;
  gap:0;
  box-sizing:border-box;
  margin:0 calc(var(--ent-history-u) * 1.4);
  padding:0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer>div{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer small{
  color:#536071;
  font-size:calc(var(--ent-history-u) * 1.9);
  line-height:1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 1);
  margin-top:calc(var(--ent-history-u) * 1.2);
  color:#080e18;
  font-size:calc(var(--ent-history-u) * 3.8);
  line-height:.9;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong img{
  display:block;
  width:calc(var(--ent-history-u) * 3.5);
  height:calc(var(--ent-history-u) * 3.5);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer em{
  color:#080e18;
  font-size:calc(var(--ent-history-u) * 1.9);
  font-style:normal;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-history-loading,
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card{
  display:grid;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  min-height:calc(var(--ent-history-u) * 29.5);
  place-items:center;
  margin:calc(var(--ent-history-u) * 1.8) var(--ent-history-gutter) 0;
  border:1px solid #e3e6e9;
  border-radius:calc(var(--ent-history-u) * 2);
  background:var(--ent-history-card);
  padding:calc(var(--ent-history-u) * 4);
  box-shadow:0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.4) rgba(5,23,43,.08);
  color:#536071;
  font-size:calc(var(--ent-history-u) * 2.2);
  font-weight:600;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card p{margin:0;font-size:inherit;line-height:1.4;font-weight:inherit}
.service-page[data-service-kind="entertainment-history"] .dh-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 3);
  margin-top:calc(var(--ent-history-u) * 1.8)
}
.service-page[data-service-kind="entertainment-history"] .dh-pager-btn{
  min-height:calc(var(--ent-history-u) * 7);
  border:1px solid #d8e5da;
  border-radius:calc(var(--ent-history-u) * 1.4);
  background:#fff;
  color:#07840d;
  padding:0 calc(var(--ent-history-u) * 2.6);
  box-shadow:none;
  font:inherit;
  font-size:calc(var(--ent-history-u) * 1.9);
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .dh-pager-num{color:#536071;font-size:calc(var(--ent-history-u) * 2);font-weight:650}
.service-page[data-service-kind="entertainment-history"] .ent-history-security{
  display:flex;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-u) * 8);
  min-height:calc(var(--ent-history-u) * 4.8);
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 1.1);
  margin:calc(var(--ent-history-u) * 1.8) calc(var(--ent-history-u) * 4) 0;
  border-radius:calc(var(--ent-history-u) * 1.2);
  background:#f0f5f0;
  color:#333f4f;
  padding:calc(var(--ent-history-u) * .8) calc(var(--ent-history-u) * 1.4);
  font-size:calc(var(--ent-history-u) * 1.75);
  line-height:1.25;
  font-weight:600;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-security img{
  display:block;
  width:calc(var(--ent-history-u) * 2.2);
  height:calc(var(--ent-history-u) * 2.2);
  flex:0 0 auto;
  filter:brightness(0) saturate(100%) invert(31%) sepia(93%) saturate(1240%) hue-rotate(91deg) brightness(92%) contrast(103%)
}
.service-page[data-service-kind="entertainment-history"] button:focus-visible,
.service-page[data-service-kind="entertainment-history"] input:focus-visible{outline:2px solid #04942b;outline-offset:2px}
@media (max-width:374px){
  .service-page[data-service-kind="entertainment-history"] .ent-summary-metric small{font-size:calc(var(--ent-history-u) * 1.85)}
  .service-page[data-service-kind="entertainment-history"] .ent-summary-metric strong{font-size:calc(var(--ent-history-u) * 4.05)}
  .service-page[data-service-kind="entertainment-history"] .ent-history-security{font-size:calc(var(--ent-history-u) * 1.65)}
}
.service-page[data-service-kind="entertainment-history"] .ent-history-loading{
  display:grid;
  min-height:210px;
  place-items:center;
  border-radius:18px;
  background:#fff;
  color:var(--ent-history-muted);
  box-shadow:var(--ent-history-shadow);
  font-size:12px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card{
  display:flex;
  min-height:290px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(20,20,20,.025);
  border-radius:18px;
  background:#fff;
  padding:24px 18px;
  box-shadow:var(--ent-history-shadow);
  color:var(--ent-history-muted);
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card img{
  display:block;
  width:168px;
  height:168px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card p{
  margin:0;
  font-size:12px;
  line-height:1.35;
  font-weight:550
}
.service-page[data-service-kind="entertainment-history"] .ent-history-modal{
  display:flex;
  flex-direction:column;
  gap:10px
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card{
  overflow:hidden;
  border:1px solid rgba(7,130,11,.09);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:var(--ent-history-shadow)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card header,
.service-page[data-service-kind="entertainment-history"] .ent-record-card footer,
.service-page[data-service-kind="entertainment-history"] .ent-record-card p{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:9px
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card header>span{
  min-width:0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card header span b,
.service-page[data-service-kind="entertainment-history"] .ent-record-card header span small{
  display:block
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card header span b{
  color:var(--ent-history-text);
  font-size:12.5px;
  line-height:1.2;
  font-weight:800;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card header span small{
  margin-top:3px;
  color:var(--ent-history-muted);
  font-size:9px;
  line-height:1.25;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-icon{
  display:grid;
  width:28px;
  height:28px;
  flex:0 0 auto;
  place-items:center;
  border-radius:50%;
  color:var(--ent-history-green);
  background:#ecf6ee
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-icon.is-complete{
  background:var(--ent-history-green)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-icon img{
  display:block;
  width:16px;
  height:16px
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card>div{
  margin-top:10px;
  border-top:1px solid #edf4ef
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card p{
  margin:0;
  padding:9px 0;
  border-bottom:1px solid #edf4ef;
  color:var(--ent-history-text);
  font-size:10px;
  line-height:1.25
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card p span{
  min-width:0;
  flex:1;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card p b{
  flex:0 0 auto;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card p em{
  display:inline-flex;
  min-width:62px;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  color:var(--ent-history-muted);
  font-style:normal;
  text-align:right
}
.service-page[data-service-kind="entertainment-history"] .ent-record-item-status-icon{
  display:block;
  width:13px;
  height:13px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--ent-history-green)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-item-status-icon.is-pending{
  background:#ecf6ee;
  color:var(--ent-history-green)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card footer{
  padding-top:11px;
  color:var(--ent-history-muted);
  font-size:10px;
  line-height:1.25
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card footer>span{
  display:inline-flex;
  min-width:0;
  align-items:center;
  gap:4px;
  overflow-wrap:anywhere
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card footer .ent-history-xcoin{
  width:18px;
  height:18px
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card footer b.ent-record-settle{
  flex:0 0 auto;
  color:var(--ent-history-green);
  font-size:10px;
  font-weight:750;
  text-align:right
}
.service-page[data-service-kind="entertainment-history"] .dh-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:4px
}
.service-page[data-service-kind="entertainment-history"] .dh-pager-btn{
  min-height:34px;
  border:1px solid rgba(7,130,11,.14);
  border-radius:12px;
  background:#fff;
  color:var(--ent-history-green);
  padding:7px 12px;
  box-shadow:0 8px 24px rgba(31,74,41,.035);
  font-family:inherit;
  font-size:10px;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .dh-pager-btn:disabled{
  background:#f4f7f5;
  color:#a6b3ab
}
.service-page[data-service-kind="entertainment-history"] .dh-pager-num{
  color:var(--ent-history-muted);
  font-size:10.5px;
  font-weight:650;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-history"] button:focus-visible,
.service-page[data-service-kind="entertainment-history"] input:focus-visible{
  outline:2px solid var(--ent-history-green);
  outline-offset:3px
}
@media (prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-history"] *,
  .service-page[data-service-kind="entertainment-history"] *::before,
  .service-page[data-service-kind="entertainment-history"] *::after{
    animation:none!important;
    scroll-behavior:auto!important;
    transition:none!important
  }
}

/* Entertainment measured design lock — 2026-07-29 */
html[data-overlay-kind="entertainment-lobby"],
html[data-overlay-kind="entertainment-lobby"] body{
  min-height:0;
  margin:0;
  border:0;
  outline:0;
  overflow:hidden;
  background:#F4F7F5
}
.service-page[data-service-kind="entertainment-lobby"]{
  --ent-lobby-unit:calc(min(100vw, 430px) / 100);
  --ent-lobby-outer:calc(var(--ent-lobby-unit) * 3.71);
  --ent-lobby-gap:calc(var(--ent-lobby-unit) * 1.76);
  --ent-lobby-card-side:calc(var(--ent-lobby-unit) * 1.66);
  --ent-lobby-card-bottom:calc(var(--ent-lobby-unit) * 1.86);
  --ent-lobby-green:#0e6b0b;
  --ent-lobby-blue:#0634fd;
  --ent-lobby-orange:#fe4308;
  --ent-lobby-bar:#169416;
  --ent-lobby-page:#F4F7F5;
  min-height:0;
  align-items:flex-start;
  margin:0;
  border:0;
  outline:0;
  overflow-x:hidden;
  overflow-y:auto;
  background:#F4F7F5;
  scrollbar-width:none;
  font-family:Inter,"SF Pro Display","SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.service-page[data-service-kind="entertainment-lobby"]::-webkit-scrollbar{
  width:0;
  height:0
}
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  box-sizing:border-box;
  width:min(100%,430px);
  max-width:430px;
  height:auto;
  min-height:0;
  max-height:none;
  flex:0 0 auto;
  margin:0;
  border:0;
  outline:0;
  overflow:visible;
  zoom:normal;
  padding:calc(var(--ent-lobby-unit) * 3.71 + env(safe-area-inset-top)) var(--ent-lobby-outer) calc(24px + env(safe-area-inset-bottom));
  background:#F4F7F5;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-lobby"] .service-topbar{
  grid-template-columns:calc(var(--ent-lobby-unit) * 7.67) minmax(0,1fr) auto;
  min-height:calc(var(--ent-lobby-unit) * 12.7);
  gap:calc(var(--ent-lobby-unit) * 1.86);
  margin-bottom:0
}
.service-page[data-service-kind="entertainment-lobby"] .service-back{
  width:calc(var(--ent-lobby-unit) * 7.67);
  height:calc(var(--ent-lobby-unit) * 7.67)
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{
  width:calc(var(--ent-lobby-unit) * 29.5);
  height:calc(var(--ent-lobby-unit) * 10.7)
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  min-width:calc(var(--ent-lobby-unit) * 18.6);
  min-height:calc(var(--ent-lobby-unit) * 9.3);
  gap:calc(var(--ent-lobby-unit) * 1.17);
  padding:calc(var(--ent-lobby-unit) * 1.63) calc(var(--ent-lobby-unit) * 2.1);
  font-size:calc(var(--ent-lobby-unit) * 2.4);
  line-height:1;
  text-transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill img{
  width:calc(var(--ent-lobby-unit) * 3.72);
  height:calc(var(--ent-lobby-unit) * 3.72)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-shell{
  padding-bottom:0
}
/* PanaloX lobby skyline bottom-gutter crop */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
  height:calc(var(--ent-lobby-unit) * 20.5);
  margin:calc(var(--ent-lobby-unit) * -5.5) calc(var(--ent-lobby-outer) * -1) 0;
  overflow:hidden;
  background-repeat:no-repeat;
  background-size:100% auto;
  background-position:center calc(100% + calc(var(--ent-lobby-unit) * 5.34))
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:53.3% 23.4% 23.3%;
  width:100%;
  min-height:0;
  height:calc(var(--ent-lobby-unit) * 20.12);
  margin-top:0;
  border:0;
  border-radius:calc(var(--ent-lobby-unit) * 3.3);
  overflow:hidden;
  background:#fff;
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.3) calc(var(--ent-lobby-unit) * 7.5) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{
  justify-content:center;
  padding:calc(var(--ent-lobby-unit) * 2.83) calc(var(--ent-lobby-unit) * 2.3)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance small{
  display:block;
  margin:0;
  color:#625b73;
  font-size:calc(var(--ent-lobby-unit) * 2.05);
  line-height:1;
  font-weight:650
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance strong{
  margin-top:calc(var(--ent-lobby-unit) * 1.65);
  gap:calc(var(--ent-lobby-unit) * 1.76)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  width:calc(var(--ent-lobby-unit) * 8.1);
  height:calc(var(--ent-lobby-unit) * 8.1)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-strip-value-copy{
  gap:calc(var(--ent-lobby-unit) * 1.76)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{
  max-width:100%;
  overflow:visible;
  color:#080808;
  font-size:calc(var(--ent-lobby-unit) * 5.25);
  line-height:.8;
  font-weight:800;
  letter-spacing:calc(var(--ent-lobby-unit) * -.12);
  text-overflow:clip;
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{
  margin:0;
  color:#0e6b0b;
  font-size:calc(var(--ent-lobby-unit) * 2.65);
  line-height:.82;
  font-weight:750
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  position:relative;
  gap:calc(var(--ent-lobby-unit) * 1.4);
  padding:calc(var(--ent-lobby-unit) * 2.2) calc(var(--ent-lobby-unit) * .7);
  color:#171717;
  font-size:calc(var(--ent-lobby-unit) * 2.2);
  line-height:1;
  font-weight:600;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action::before{
  content:"";
  position:absolute;
  left:0;
  top:calc(var(--ent-lobby-unit) * 3.32);
  bottom:calc(var(--ent-lobby-unit) * 3.32);
  width:1px;
  background:rgba(17,17,17,.095)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action img{
  width:calc(var(--ent-lobby-unit) * 6.75);
  height:calc(var(--ent-lobby-unit) * 6.75);
  filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading{
  gap:calc(var(--ent-lobby-unit) * 2.44);
  margin-top:calc(var(--ent-lobby-unit) * 2.73)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-lobby-unit) * 2.44);
  margin:0;
  border:0;
  padding:0;
  font-size:calc(var(--ent-lobby-unit) * 2.73);
  line-height:1.05
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2::before{
  content:"";
  flex:0 0 auto;
  width:calc(var(--ent-lobby-unit) * .49);
  height:calc(var(--ent-lobby-unit) * 2.73);
  border-radius:999px;
  background:#169416
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  min-height:calc(var(--ent-lobby-unit) * 4.8);
  gap:calc(var(--ent-lobby-unit) * .98);
  padding:calc(var(--ent-lobby-unit) * .55) calc(var(--ent-lobby-unit) * 1.95);
  font-size:calc(var(--ent-lobby-unit) * 1.75);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular img{
  width:calc(var(--ent-lobby-unit) * 2.55);
  height:calc(var(--ent-lobby-unit) * 2.55)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-grid,
.service-page[data-service-kind="entertainment-lobby"] .ent-room-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:var(--ent-lobby-gap);
  margin-top:calc(var(--ent-lobby-unit) * 1.76)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  box-sizing:border-box;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:1/.881;
  justify-content:flex-start;
  gap:0;
  padding:calc(var(--ent-lobby-unit) * 3.13) calc(var(--ent-lobby-unit) * 1.66) calc(var(--ent-lobby-unit) * 4.98);
  border-radius:calc(var(--ent-lobby-unit) * 3.1);
  background:#fefefe;
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.6) calc(var(--ent-lobby-unit) * 8.4) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  justify-content:flex-start;
  padding-block:calc(var(--ent-lobby-unit) * 3.13)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-green{
  --game-accent:#0e6b0b
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-red{
  --game-accent:#e8281a
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-theme-blue{
  --game-accent:#0634fd
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-selected{
  border-color:#169416;
  background:linear-gradient(145deg,#fefffe 0%,#f3fbf4 100%);
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.6) calc(var(--ent-lobby-unit) * 8.4) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-icon,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-icon{
  flex:0 0 auto;
  width:100%;
  height:calc(var(--ent-lobby-unit) * 9.18)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-panalo-emblem{
  width:calc(var(--ent-lobby-unit) * 9.18);
  height:calc(var(--ent-lobby-unit) * 9.18)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-pcso-logo{
  width:68%;
  height:calc(var(--ent-lobby-unit) * 10.4);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy{
  margin-top:calc(var(--ent-lobby-unit) * 2.05);
  color:var(--game-accent)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy{
  margin-top:calc(var(--ent-lobby-unit) * 2.05)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy strong,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-copy strong{
  font-size:calc(var(--ent-lobby-unit) * 2.54);
  line-height:calc(var(--ent-lobby-unit) * 3.15);
  font-weight:750
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card .ent-game-copy small{
  margin-top:0;
  font-size:calc(var(--ent-lobby-unit) * 2.1);
  line-height:calc(var(--ent-lobby-unit) * 2.75)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected{
  left:calc(100% - var(--ent-lobby-unit) * 2.15);
  top:calc(var(--ent-lobby-unit) * 2.05);
  right:auto;
  width:calc(var(--ent-lobby-unit) * 5.18);
  height:calc(var(--ent-lobby-unit) * 5.18);
  transform:translate(-50%,-50%);
  background:#07820b
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected>img{
  width:50%;
  height:50%
}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-heading{
  margin-top:calc(var(--ent-lobby-unit) * 3.05)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-shell.is-theme-green{
  --lobby-theme-accent:#0e6b0b;
  --room-soft:#eef8ee;
  --room-icon-filter:brightness(0) saturate(100%) invert(30%) sepia(97%) saturate(1436%) hue-rotate(91deg) brightness(89%) contrast(101%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-shell.is-theme-red{
  --lobby-theme-accent:#e8281a;
  --room-soft:#fff0ee;
  --room-icon-filter:brightness(0) saturate(100%) invert(19%) sepia(93%) saturate(4491%) hue-rotate(355deg) brightness(101%) contrast(83%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-shell.is-theme-blue{
  --lobby-theme-accent:#0634fd;
  --room-soft:#eef0ff;
  --room-icon-filter:brightness(0) saturate(100%) invert(20%) sepia(100%) saturate(6000%) hue-rotate(235deg) brightness(93%) contrast(117%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-room-heading h2 span{
  color:var(--lobby-theme-accent)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  --room-accent:var(--lobby-theme-accent);
  box-sizing:border-box;
  display:flex;
  width:100%;
  height:auto;
  min-height:calc(var(--ent-lobby-unit) * 42);
  aspect-ratio:1/1.425;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:0;
  padding:calc(var(--ent-lobby-unit) * 3.13) var(--ent-lobby-card-side) var(--ent-lobby-card-bottom);
  border:0;
  border-radius:calc(var(--ent-lobby-unit) * 2.75);
  overflow:visible;
  background:#fefefe;
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.8) calc(var(--ent-lobby-unit) * 8.8) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended{
  opacity:1;
  background:#fefefe;
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.8) calc(var(--ent-lobby-unit) * 8.8) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  min-height:0;
  font-size:calc(var(--ent-lobby-unit) * 2.54);
  line-height:1;
  font-weight:750;
  text-transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch{
  width:calc(var(--ent-lobby-unit) * 8.6);
  height:calc(var(--ent-lobby-unit) * 8.6);
  margin-top:max(9px,calc(var(--ent-lobby-unit) * 2.3))
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch img{
  filter:var(--room-icon-filter)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  margin-top:calc(var(--ent-lobby-unit) * 1.4);
  font-size:calc(var(--ent-lobby-unit) * 1.8);
  line-height:1;
  text-transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  min-height:calc(var(--ent-lobby-unit) * 3.5);
  margin-top:calc(var(--ent-lobby-unit) * .7);
  font-size:calc(var(--ent-lobby-unit) * 3.5);
  line-height:1;
  letter-spacing:calc(var(--ent-lobby-unit) * -.08);
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-frequency{
  display:block;
  width:100%;
  min-height:calc(var(--ent-lobby-unit) * 1.65);
  margin-top:max(4px,calc(var(--ent-lobby-unit) * 1));
  overflow:visible;
  color:#536071;
  font-size:calc(var(--ent-lobby-unit) * 1.55);
  line-height:1;
  font-weight:400;
  text-align:center;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-frequency.is-placeholder{
  visibility:hidden
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  flex:0 0 auto;
  width:100%;
  height:1px;
  margin:max(8px,calc(var(--ent-lobby-unit) * 2.1)) 0 calc(var(--ent-lobby-unit) * 1.3);
  background:rgba(28,29,28,.12)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  width:100%;
  min-height:calc(var(--ent-lobby-unit) * 4.59);
  gap:calc(var(--ent-lobby-unit) * .25);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line{
  gap:calc(var(--ent-lobby-unit) * .75);
  font-size:calc(var(--ent-lobby-unit) * 2.1);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line img{
  width:calc(var(--ent-lobby-unit) * 2.15);
  height:calc(var(--ent-lobby-unit) * 2.15)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-status{
  font-size:calc(var(--ent-lobby-unit) * 1.65);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  position:static;
  box-sizing:border-box;
  display:flex;
  width:100%;
  min-height:calc(var(--ent-lobby-unit) * 5.66);
  flex:0 0 calc(var(--ent-lobby-unit) * 5.66);
  align-items:center;
  justify-content:center;
  gap:0;
  margin-top:calc(var(--ent-lobby-unit) * 1.3);
  border-radius:calc(var(--ent-lobby-unit) * 1.66);
  padding:0 12px;
  background:var(--room-accent);
  font-size:calc(var(--ent-lobby-unit) * 2.1);
  line-height:1;
  font-weight:800;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet::before{
  content:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet span{
  min-width:0;
  overflow:visible;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet:disabled{
  background:#b8c0bb;
  color:#fff;
  opacity:1;
  cursor:not-allowed
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended .ent-room-time,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended .ent-lobby-next,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended .ent-lobby-countdown,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended .ent-lobby-players{
  opacity:.58
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-ended .ent-lobby-stopwatch img{
  filter:saturate(.35)!important;
  opacity:.65
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  box-sizing:border-box;
  min-height:0;
  height:calc(var(--ent-lobby-unit) * 9.77);
  gap:calc(var(--ent-lobby-unit) * 2.7);
  margin-top:calc(var(--ent-lobby-unit) * 2.54);
  border:0;
  border-radius:calc(var(--ent-lobby-unit) * 2.5);
  padding:calc(var(--ent-lobby-unit) * 1.27) calc(var(--ent-lobby-unit) * 2.7);
  background:#fafbfa;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img{
  width:calc(var(--ent-lobby-unit) * 7.23);
  height:calc(var(--ent-lobby-unit) * 7.23)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner strong{
  font-size:calc(var(--ent-lobby-unit) * 2.72);
  line-height:1;
  font-weight:550
}

/* ===== PanaloX bet history V3 — IMG_0520 measured recreation ===== */
.service-page[data-service-kind="entertainment-history"]{
  --ent-history-w:min(100vw,430px);
  --ent-history-u:calc(var(--ent-history-w) / 100);
  --ent-history-gutter:calc(var(--ent-history-u) * 3.3);
  --ent-history-page:#fcfcfc;
  --ent-history-card:#fefefe;
  --ent-history-title:#05172b;
  --ent-history-copy:#111822;
  --ent-history-muted:#536071;
  --ent-history-hint:#3e4b5b;
  --ent-history-line:#d9dde3;
  --ent-history-action:#04942b;
  --ent-history-tab:#069f38;
  --ent-history-underline:#12a33d;
  --ent-result-lose:#fe0000;
  --ent-result-win:#018204;
  width:100%;
  min-height:100dvh;
  align-items:flex-start;
  overflow-x:hidden;
  overflow-y:auto;
  background:var(--ent-history-page);
  color:var(--ent-history-copy);
  font-family:Inter,"SF Pro Display","SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.service-page[data-service-kind="entertainment-history"] .service-screen{
  position:relative;
  isolation:isolate;
  box-sizing:border-box;
  width:var(--ent-history-w);
  min-height:100dvh;
  max-height:none;
  overflow:visible;
  border:0;
  outline:0;
  margin:0;
  padding:0 0 calc(var(--ent-history-u) * 2 + env(safe-area-inset-bottom));
  padding-top:0!important;
  background:#F4F7F5; /* historyBg-1:顶部绿色页头带(原双绿渐变前 42u)也并入全站统一画布色(2026-08-02 用户追加) */
  box-shadow:none
}
.service-page[data-service-kind="entertainment-history"] .service-screen::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:0;
  width:calc(var(--ent-history-u) * 49);
  height:calc(var(--ent-history-u) * 21);
  background:url("assets/withdraw/header-peso-watermark.png") right top/100% 100% no-repeat;
  opacity:.24;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-history"] .service-topbar{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:calc(var(--ent-history-u) * 9.5) minmax(0,1fr) calc(var(--ent-history-u) * 9.5);
  width:100%;
  min-height:calc(var(--ent-history-u) * 11.45);
  align-items:center;
  gap:calc(var(--ent-history-u) * 4.2);
  box-sizing:border-box;
  margin:0;
  padding:0 var(--ent-history-gutter)
}
.service-page[data-service-kind="entertainment-history"] .service-back,
.service-page[data-service-kind="entertainment-history"] .service-pill{
  display:grid;
  width:calc(var(--ent-history-u) * 9.5);
  min-width:0;
  height:calc(var(--ent-history-u) * 9.5);
  min-height:0;
  place-items:center;
  border:0;
  border-radius:calc(var(--ent-history-u) * 2.5);
  background:#fefefe;
  color:#050b12;
  padding:0;
  box-shadow:0 calc(var(--ent-history-u) * .9) calc(var(--ent-history-u) * 2.4) rgba(5,23,43,.12);
  cursor:pointer;
  pointer-events:auto
}
.service-page[data-service-kind="entertainment-history"] .service-back::before{
  width:calc(var(--ent-history-u) * 3.3);
  height:calc(var(--ent-history-u) * 4.4);
  background-image:url("assets/ent-bet-history/back.svg");
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap{
  min-width:0;
  text-align:left
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap h1{
  display:block;
  /* descFix=20260808-1:overflow:hidden 在 padding 边裁切。往下补 3px 内距把裁剪边推开,
     再用等量负外边距抵掉,标题外框高度与后续元素位置一分不动,只是 g/y 尾巴多出 3px 活动空间 */
  margin:0 0 -3px;
  padding-bottom:3px;
  overflow:hidden;
  color:var(--ent-history-title);
  font-size:calc(var(--ent-history-u) * 4.6);
  /* uiPolish=20260807-1:1.08 行盒(21px)与 TL「Aking mga taya」字形需高(21.0px)贴边,
     overflow:hidden 下 g/y 尾巴随渲染环境被裁 —— 放宽到 1.22。
     descFix=20260808-1:1.22 实测仍差 0.44px(降部越过 overflow:hidden 的裁剪边),再放到 1.34 留够余量;
     省略号截断不受影响 */
  line-height:1.34;
  font-weight:800;
  letter-spacing:calc(var(--ent-history-u) * -.12);
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .service-title-wrap small{display:none}
.service-page[data-service-kind="entertainment-history"] .service-pill-group{display:block;min-width:0}
.service-page[data-service-kind="entertainment-history"] .service-pill img{
  display:block;
  width:calc(var(--ent-history-u) * 4.6);
  height:calc(var(--ent-history-u) * 4.6);
  object-fit:contain;
  filter:none
}
.service-page[data-service-kind="entertainment-history"] .service-body{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  min-width:0
}
.service-page[data-service-kind="entertainment-history"] .ent-history-page-v2{
  display:flex;
  width:100%;
  min-width:0;
  flex-direction:column;
  gap:0;
  /* uiPolish=20260807-1:滚动到底时最后一张卡的 Total Stake/Net Profit 汇总行贴边被压
     (用户图二实测),给页尾留一段清空区 */
  padding-bottom:calc(var(--ent-history-u) * 8)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-card{
  position:relative;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-u) * 5.6);
  height:calc(var(--ent-history-u) * 23.1);
  flex:0 0 auto;
  margin:0 calc(var(--ent-history-u) * 2.8);
  border:1px solid rgba(5,23,43,.045);
  border-radius:calc(var(--ent-history-u) * 2.8);
  background:var(--ent-history-card);
  padding:calc(var(--ent-history-u) * 5.7) calc(var(--ent-history-u) * 2.8) 0;
  box-shadow:0 calc(var(--ent-history-u) * .7) calc(var(--ent-history-u) * 2.2) rgba(5,23,43,.12)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-handle{
  position:absolute;
  top:calc(var(--ent-history-u) * 2.2);
  left:50%;
  width:calc(var(--ent-history-u) * 5.9);
  height:calc(var(--ent-history-u) * .75);
  border-radius:999px;
  background:#379c2b;
  transform:translateX(-50%)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) calc(var(--ent-history-u) * 15);
  height:calc(var(--ent-history-u) * 9.7);
  align-items:stretch;
  gap:calc(var(--ent-history-u) * 2.15)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field{
  display:grid;
  grid-template-columns:calc(var(--ent-history-u) * 7.35) minmax(0,1fr) calc(var(--ent-history-u) * 4.4);
  min-width:0;
  align-items:center;
  border:1px solid #dce0e6;
  border-radius:calc(var(--ent-history-u) * 2);
  background:#fff;
  padding:0 calc(var(--ent-history-u) * 1.2) 0 calc(var(--ent-history-u) * 1.95)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field>img{
  display:block;
  width:calc(var(--ent-history-u) * 3.8);
  height:calc(var(--ent-history-u) * 3.8);
  filter:brightness(0) saturate(100%) invert(30%) sepia(96%) saturate(1552%) hue-rotate(91deg) brightness(89%) contrast(104%)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field>span{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field small{
  display:block;
  overflow:hidden;
  color:#008c0d;
  font-size:calc(var(--ent-history-u) * 1.85);
  line-height:1.1;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field input{
  box-sizing:border-box;
  width:100%;
  height:calc(var(--ent-history-u) * 4.1);
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#070d17;
  padding:0;
  font:inherit;
  font-size:calc(var(--ent-history-u) * 3.1);
  line-height:1;
  font-weight:750;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field input::placeholder{
  color:#8a929d;
  font-size:calc(var(--ent-history-u) * 2.5);
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field input::-webkit-search-cancel-button{display:none}
.service-page[data-service-kind="entertainment-history"] [data-ent-bets-period-clear]{
  display:grid;
  width:calc(var(--ent-history-u) * 3.5);
  height:calc(var(--ent-history-u) * 3.5);
  place-items:center;
  border:0;
  background:transparent;
  color:#9299a3;
  padding:0
}
.service-page[data-service-kind="entertainment-history"] [data-ent-bets-period-clear][hidden]{display:none}
.service-page[data-service-kind="entertainment-history"] [data-ent-bets-period-clear] img{display:block;width:100%;height:100%;opacity:.95}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-submit{
  border:0;
  border-radius:calc(var(--ent-history-u) * 1.8);
  background:var(--ent-history-action);
  color:#fff;
  padding:0;
  font:inherit;
  font-size:calc(var(--ent-history-u) * 2.65);
  line-height:1;
  font-weight:750;
  box-shadow:0 calc(var(--ent-history-u) * .45) calc(var(--ent-history-u) * 1.25) rgba(4,148,43,.16)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-submit:disabled{background:#aeb8b1;box-shadow:none;cursor:not-allowed}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-hint{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-history-u) * .85);
  margin:calc(var(--ent-history-u) * 1.55) 0 0 calc(var(--ent-history-u) * .3);
  overflow:hidden;
  color:var(--ent-history-hint);
  font-size:calc(var(--ent-history-u) * 2.15);
  /* descFix=20260808-1:1.2 行盒下只剩 0.3px 余量,同一批里 g/y 被裁的第三处隐患;
     1.45 仍只有 1.2px,放到 1.6 才有 ~1.9px 富余 */
  line-height:1.6;
  font-weight:550;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-hint img{
  display:block;
  width:calc(var(--ent-history-u) * 2.7);
  height:calc(var(--ent-history-u) * 2.7);
  flex:0 0 auto;
  opacity:.76
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs:not(.ent-bets-range-tabs){
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  height:calc(var(--ent-history-u) * 9.5);
  min-width:0;
  gap:0;
  margin:calc(var(--ent-history-u) * 2.7) var(--ent-history-gutter) 0;
  overflow:hidden;
  border:1px solid rgba(5,23,43,.055);
  border-radius:calc(var(--ent-history-u) * 2.2);
  background:var(--ent-history-card);
  padding:calc(var(--ent-history-u) * 1.55) calc(var(--ent-history-u) * 3.35) 0;
  box-shadow:0 calc(var(--ent-history-u) * .55) calc(var(--ent-history-u) * 1.6) rgba(5,23,43,.10)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs:not(.ent-bets-range-tabs) button{
  position:relative;
  display:flex;
  width:100%;
  min-width:0;
  height:calc(var(--ent-history-u) * 6.2);
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:calc(var(--ent-history-u) * 2);
  background:transparent;
  color:#060b13;
  padding:0;
  box-shadow:none;
  font:inherit;
  font-size:calc(var(--ent-history-u) * 2.65);
  line-height:1;
  font-weight:750;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs:not(.ent-bets-range-tabs) button.on{background:var(--ent-history-tab);color:#fff}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs:not(.ent-bets-range-tabs) button.on::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:calc(var(--ent-history-u) * -1.55);
  height:calc(var(--ent-history-u) * .55);
  background:var(--ent-history-underline)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-shell{
  position:relative;
  width:100%;
  margin-top:calc(var(--ent-history-u) * 2.8)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs{
  display:flex;
  width:100%;
  min-width:0;
  gap:calc(var(--ent-history-u) * 1.75);
  overflow-x:auto;
  overflow-y:hidden;
  box-sizing:border-box;
  padding:0 var(--ent-history-gutter) calc(var(--ent-history-u) * .4);
  scrollbar-width:none;
  scroll-padding-inline:var(--ent-history-gutter)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs::-webkit-scrollbar{display:none}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button{
  display:flex;
  min-width:0;
  height:calc(var(--ent-history-u) * 8);
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 1.2);
  border:1px solid #e3e5e9;
  border-radius:calc(var(--ent-history-u) * 1.8);
  background:#fff;
  color:#0b1018;
  padding:0 calc(var(--ent-history-u) * 2.45);
  box-shadow:0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.15) rgba(5,23,43,.09);
  font:inherit;
  font-size:calc(var(--ent-history-u) * 2.1);
  line-height:1;
  font-weight:700;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button.on{border-color:#9ed7a9;background:#f4f9f4;color:#07840d}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button>img{
  display:block;
  width:calc(var(--ent-history-u) * 3);
  height:calc(var(--ent-history-u) * 3);
  flex:0 0 auto
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button.on>img:not(.ent-date-chevron){
  filter:brightness(0) saturate(100%) invert(29%) sepia(94%) saturate(1311%) hue-rotate(91deg) brightness(91%) contrast(101%)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs .ent-date-chevron{
  width:calc(var(--ent-history-u) * 1.7);
  height:calc(var(--ent-history-u) * 1.7);
  margin-left:calc(var(--ent-history-u) * -.65);
  opacity:.65
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange{
  position:absolute;
  z-index:6;
  top:calc(100% + var(--ent-history-u) * 1);
  right:var(--ent-history-gutter);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:calc(var(--ent-history-u) * 63);
  gap:calc(var(--ent-history-u) * 1.8);
  box-sizing:border-box;
  border:1px solid #dfe5e0;
  border-radius:calc(var(--ent-history-u) * 2);
  background:#fefefe;
  padding:calc(var(--ent-history-u) * 2.5);
  box-shadow:0 calc(var(--ent-history-u) * 1) calc(var(--ent-history-u) * 3.2) rgba(5,23,43,.16)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:calc(var(--ent-history-u) * .8);
  color:#07840d;
  font-size:calc(var(--ent-history-u) * 1.85);
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:calc(var(--ent-history-u) * 7);
  border:1px solid #dce3dd;
  border-radius:calc(var(--ent-history-u) * 1.4);
  background:#fff;
  color:#102019;
  padding:0 calc(var(--ent-history-u) * 1);
  font:inherit;
  font-size:calc(var(--ent-history-u) * 2.2)
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card{
  display:grid;
  grid-template-columns:calc(var(--ent-history-u) * 17) repeat(3,minmax(0,1fr));
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  height:calc(var(--ent-history-u) * 21.9);
  min-height:0;
  gap:0;
  margin:calc(var(--ent-history-u) * 2.4) var(--ent-history-gutter) 0;
  overflow:hidden;
  border:1px solid rgba(5,23,43,.055);
  border-radius:calc(var(--ent-history-u) * 2);
  background:var(--ent-history-card);
  padding:0;
  box-shadow:0 calc(var(--ent-history-u) * .5) calc(var(--ent-history-u) * 1.7) rgba(5,23,43,.10);
  text-align:left
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>div{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  box-sizing:border-box;
  padding:0 calc(var(--ent-history-u) * 2)
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>div+div::before{
  content:"";
  position:absolute;
  left:0;
  top:calc(var(--ent-history-u) * 4);
  bottom:calc(var(--ent-history-u) * 4);
  width:1px;
  background:#d6dbe1
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>.ent-summary-icon{align-items:center;padding:0}
.service-page[data-service-kind="entertainment-history"] .ent-profit-card>.ent-summary-icon::before{display:none}
.service-page[data-service-kind="entertainment-history"] .ent-summary-icon img{
  display:block;
  box-sizing:border-box;
  width:calc(var(--ent-history-u) * 12.7);
  height:calc(var(--ent-history-u) * 12.7);
  border-radius:50%;
  background:#f3f9f3;
  padding:calc(var(--ent-history-u) * 2.5)
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric small{
  display:block;
  color:#131a24;
  font-size:calc(var(--ent-history-u) * 2.05);
  line-height:1.1;
  font-weight:700;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric strong{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:flex-start;
  gap:calc(var(--ent-history-u) * .7);
  margin:calc(var(--ent-history-u) * 2.2) 0 0;
  color:#080e18;
  font-size:calc(var(--ent-history-u) * 4.35);
  line-height:.9;
  font-weight:800;
  letter-spacing:calc(var(--ent-history-u) * -.12);
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric strong img{
  display:block;
  width:calc(var(--ent-history-u) * 3.6);
  height:calc(var(--ent-history-u) * 3.6);
  flex:0 0 auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric>span{
  display:block;
  margin-top:calc(var(--ent-history-u) * 1.8);
  color:#576375;
  font-size:calc(var(--ent-history-u) * 2.15);
  line-height:1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .is-win{color:var(--ent-result-win)!important}
.service-page[data-service-kind="entertainment-history"] .is-lose{color:var(--ent-result-lose)!important}
.service-page[data-service-kind="entertainment-history"] .ent-profit-pending{
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  margin:calc(var(--ent-history-u) * .9) var(--ent-history-gutter) 0;
  border:1px solid #dce9de;
  border-radius:calc(var(--ent-history-u) * 1.2);
  background:#f4f9f4;
  color:#536071;
  padding:calc(var(--ent-history-u) * 1.2);
  font-size:calc(var(--ent-history-u) * 1.9);
  line-height:1.2;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .service-back,
.service-page[data-service-kind="entertainment-history"] .service-title-wrap,
.service-page[data-service-kind="entertainment-history"] .service-pill{
  transform:translateY(calc(var(--ent-history-u) * -.85))
}

html[data-overlay-kind="entertainment-history"],
html[data-overlay-kind="entertainment-history"] body,
.service-page[data-service-kind="entertainment-history"],
.service-page[data-service-kind="entertainment-history"] .service-screen{
  scrollbar-width:none
}
html[data-overlay-kind="entertainment-history"]::-webkit-scrollbar,
html[data-overlay-kind="entertainment-history"] body::-webkit-scrollbar,
.service-page[data-service-kind="entertainment-history"]::-webkit-scrollbar,
.service-page[data-service-kind="entertainment-history"] .service-screen::-webkit-scrollbar{display:none}

.service-page[data-service-kind="entertainment-history"] .ent-history-modal{
  display:grid;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  gap:calc(var(--ent-history-u) * 1.8);
  margin:calc(var(--ent-history-u) * 1.6) var(--ent-history-gutter) 0;
  padding:0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:calc(var(--ent-history-u) * 2);
  background:#fff;
  padding:0;
  box-shadow:inset 0 0 0 1px rgba(5,23,43,.08),0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.35) rgba(5,23,43,.09);
  color:#0b111a
}
.service-page[data-service-kind="entertainment-history"] .ent-record-header{
  display:flex;
  box-sizing:border-box;
  width:100%;
  height:auto;
  min-height:calc(var(--ent-history-u) * 11);
  align-items:flex-start;
  justify-content:space-between;
  gap:calc(var(--ent-history-u) * 2);
  margin:0;
  border:0;
  background:#fff;
  padding:calc(var(--ent-history-u) * 2.05) calc(var(--ent-history-u) * 3.15)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading{
  display:block;
  min-width:0;
  flex:1 1 auto
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading>div{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-history-u) * 1.25)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading strong{
  color:#07101d;
  font-size:calc(var(--ent-history-u) * 3);
  line-height:1;
  font-weight:800;
  letter-spacing:calc(var(--ent-history-u) * -.05);
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-draw-pill,
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill{
  display:inline-flex;
  box-sizing:border-box;
  height:calc(var(--ent-history-u) * 3.8);
  align-items:center;
  justify-content:center;
  border:1px solid rgba(4,140,14,.09);
  border-radius:999px;
  background:#e8f5ea;
  color:#048c0e;
  padding:0 calc(var(--ent-history-u) * 1.45);
  font-size:calc(var(--ent-history-u) * 1.85);
  line-height:1;
  font-weight:700;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading small{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:calc(var(--ent-history-u) * 1.1);
  margin-top:calc(var(--ent-history-u) * 1.2);
  color:#536071;
  font-size:calc(var(--ent-history-u) * 1.85);
  line-height:1.2;
  font-weight:600;
  overflow-wrap:anywhere;
  white-space:normal
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading small i{
  color:#536071;
  font-style:normal
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill{
  flex:0 0 auto;
  height:calc(var(--ent-history-u) * 4);
  gap:calc(var(--ent-history-u) * 1.05);
  border:0;
  background:#e2f6e6;
  color:#029220;
  padding:0 calc(var(--ent-history-u) * 1.8);
  font-size:calc(var(--ent-history-u) * 1.95)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill.is-pending{
  background:#fff5dc;
  color:#9a6800
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill img{
  display:block;
  width:calc(var(--ent-history-u) * 2.55);
  height:calc(var(--ent-history-u) * 2.55);
  flex:0 0 auto
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill.is-settled img{
  box-sizing:border-box;
  border-radius:50%;
  background:#029220;
  padding:calc(var(--ent-history-u) * .35)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-table{
  display:block;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-u) * 3);
  margin:0 calc(var(--ent-history-u) * 1.5);
  overflow:hidden;
  border:0;
  border-radius:calc(var(--ent-history-u) * 1.5) calc(var(--ent-history-u) * 1.5) 0 0;
  background:#fff;
  box-shadow:inset 0 0 0 1px #d9dee4
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head,
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  display:grid;
  grid-template-columns:38% 23% 21% 18%;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  align-items:center;
  margin:0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  height:calc(var(--ent-history-u) * 4.7);
  background:#f8f8f8;
  color:#444e5c;
  font-size:calc(var(--ent-history-u) * 1.65);
  line-height:1;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span{
  display:flex;
  min-width:0;
  align-items:center;
  margin:0;
  padding:0 calc(var(--ent-history-u) * 1.7)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:not(:first-child),
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:not(:first-child){
  justify-content:center
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  height:calc(var(--ent-history-u) * 5.2);
  border-top:1px solid #d9dee4;
  color:#0b111a;
  font-size:calc(var(--ent-history-u) * 1.95);
  /* descFix=20260808-1:line-height:1 时行盒 = 字号,而字形需高比字号大 —— 「Dragon」「Big」的 g
     越过行盒 1.58px,又被 .ent-record-bet 的 overflow:hidden(省略号要用)切掉尾巴。
     行盒放到 1.35;行高 5.2u 固定且垂直居中,放宽后行不变高 */
  line-height:1.35;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-record-bet{
  gap:calc(var(--ent-history-u) * 1.05);
  /* descFix=20260808-1:这一格是唯一带 overflow:hidden 的(省略号要用),裁剪边就是它自己的盒底。
     光放宽行高只剩 0.47px 余量,亚像素舍入还是能削到 g 的尾巴;
     让它撑满行高(内部 align-items:center 保持文字垂直居中,观感不变),裁剪边直接退到行边界,
     降部余量从 0.47px 变成 7px 量级 */
  align-self:stretch;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-bet i{
  font-style:normal
}
.service-page[data-service-kind="entertainment-history"] .ent-record-stake{
  gap:calc(var(--ent-history-u) * .7);
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-stake img{
  display:block;
  width:calc(var(--ent-history-u) * 2);
  height:calc(var(--ent-history-u) * 2);
  flex:0 0 auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-record-odds,
.service-page[data-service-kind="entertainment-history"] .ent-record-result{
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-footer{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  box-sizing:border-box;
  width:100%;
  height:calc(var(--ent-history-u) * 9.1);
  min-height:0;
  align-items:center;
  margin:0;
  border:0;
  background:#fff;
  padding:0 calc(var(--ent-history-u) * 3.15)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer::after{
  content:"";
  position:absolute;
  top:calc(var(--ent-history-u) * 2.25);
  bottom:calc(var(--ent-history-u) * 2.25);
  left:50%;
  width:1px;
  background:#d9dee4
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer>div:last-child{
  align-items:flex-end;
  text-align:right
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer small{
  color:#536071;
  font-size:calc(var(--ent-history-u) * 1.85);
  line-height:1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  display:flex;
  min-width:0;
  align-items:center;
  gap:calc(var(--ent-history-u) * .9);
  margin-top:calc(var(--ent-history-u) * 1.1);
  color:#07101d;
  font-size:calc(var(--ent-history-u) * 3.8);
  line-height:1;
  font-weight:800;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong img{
  display:block;
  width:calc(var(--ent-history-u) * 3.45);
  height:calc(var(--ent-history-u) * 3.45);
  flex:0 0 auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong em{
  color:#0b111a;
  font-size:calc(var(--ent-history-u) * 2);
  line-height:1;
  font-style:normal;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card,
.service-page[data-service-kind="entertainment-history"] .ent-history-loading{
  display:flex;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-gutter) * 2);
  min-height:calc(var(--ent-history-u) * 74);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 4);
  margin:calc(var(--ent-history-u) * 1.6) var(--ent-history-gutter) 0;
  border:1px solid rgba(5,23,43,.035);
  border-radius:calc(var(--ent-history-u) * 2);
  background:#fff;
  padding:calc(var(--ent-history-u) * 5);
  box-shadow:0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.35) rgba(5,23,43,.05);
  color:#536071;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card picture{
  display:block;
  line-height:0
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card img{
  display:block;
  width:calc(var(--ent-history-u) * 32);
  height:auto;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card p{
  margin:0;
  color:#536071;
  font-size:calc(var(--ent-history-u) * 2.15);
  line-height:1.3;
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .dh-pager{
  width:calc(100% - var(--ent-history-gutter) * 2);
  margin:calc(var(--ent-history-u) * 1.5) var(--ent-history-gutter) 0
}
.service-page[data-service-kind="entertainment-history"] .ent-history-security{
  display:flex;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-u) * 8);
  min-height:calc(var(--ent-history-u) * 4.5);
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 1.1);
  margin:calc(var(--ent-history-u) * 1.7) calc(var(--ent-history-u) * 4) calc(var(--ent-history-u) * 1.5);
  border-radius:calc(var(--ent-history-u) * 1.25);
  background:#f0f5f0;
  padding:calc(var(--ent-history-u) * .8) calc(var(--ent-history-u) * 2);
  color:#333f4f;
  font-size:calc(var(--ent-history-u) * 1.7);
  line-height:1.2;
  font-weight:600;
  text-align:center
}
.service-page[data-service-kind="entertainment-history"] .ent-history-security img{
  display:block;
  width:calc(var(--ent-history-u) * 2.35);
  height:calc(var(--ent-history-u) * 2.35);
  flex:0 0 auto
}
@media(max-width:374px){
  .service-page[data-service-kind="entertainment-history"] .ent-record-heading strong{font-size:calc(var(--ent-history-u) * 2.8)}
  .service-page[data-service-kind="entertainment-history"] .ent-record-table-head,
  .service-page[data-service-kind="entertainment-history"] .ent-record-row{grid-template-columns:39% 22% 20% 19%}
  .service-page[data-service-kind="entertainment-history"] .ent-record-table-head span,
  .service-page[data-service-kind="entertainment-history"] .ent-record-row>span{padding-inline:calc(var(--ent-history-u) * 1.25)}
}

/* ===== PanaloX live action menu — IMG_0529 measured recreation ===== */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:32px minmax(48px,1fr) auto auto;
  gap:5px
}
.service-page[data-service-kind="entertainment-live"] .service-pill-group{
  display:block;
  width:42px;
  margin-left:5px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu{
  position:relative;
  width:42px;
  height:38px;
  z-index:12
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  box-sizing:border-box;
  width:42px;
  height:38px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:4px;
  margin:0;
  border:1px solid rgba(213,224,216,.72);
  border-radius:9px;
  background:#fff;
  padding:0;
  box-shadow:0 3px 9px rgba(17,24,20,.055);
  color:#08761f;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span{
  display:block;
  width:18px;
  height:1.5px;
  border-radius:2px;
  background:currentColor
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:hover{
  background:#fcfefc;
  box-shadow:0 4px 11px rgba(17,24,20,.075)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:active{
  filter:brightness(.985);
  box-shadow:0 2px 7px rgba(17,24,20,.06)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:focus-visible{
  outline:2px solid rgba(8,118,31,.18);
  outline-offset:1px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-panel{
  box-sizing:border-box;
  position:absolute;
  top:48px;
  right:0;
  width:max-content;
  min-width:min(184px,calc(100vw - 20px));
  max-width:calc(100vw - 20px);
  border:0;
  border-radius:10px;
  background:#fff;
  padding:4px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.09);
  color:#08761f
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-panel::before{
  content:"";
  position:absolute;
  top:-6px;
  right:15px;
  width:12px;
  height:12px;
  border-radius:2px 0 0;
  background:#fff;
  box-shadow:-3px -3px 7px rgba(0,0,0,.025);
  transform:rotate(45deg)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:100%;
  min-height:38px;
  height:auto;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:10px;
  border:0;
  background:#fff;
  padding:7px 14px;
  color:#08761f;
  font:inherit;
  text-align:left;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item svg{
  display:block;
  width:18px;
  height:18px;
  justify-self:center;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item>span{
  overflow:visible;
  color:#090d0a;
  font-size:10.5px;
  line-height:1.15;
  font-weight:600;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item:hover,
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item:focus-visible{
  outline:0;
  background:#f4faf5
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(8,118,31,.2)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#fa0306
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-separator{
  display:block;
  height:1px;
  margin:5px 0;
  background:#ededf1
}
@media(max-width:260px){
  .service-page[data-service-kind="entertainment-live"] .ent-live-menu-item>span{
    white-space:normal;
    overflow-wrap:anywhere
  }
}
@media(min-width:360px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:32px minmax(58px,1fr) auto auto
  }
}
@media(min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:36px minmax(74px,1fr) auto auto;
    gap:6px
  }
}
@media(prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{transition:none}
}

/* PanaloX live room selector — IMG_0544 measured recreation. */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:32px minmax(48px,1fr) minmax(82px,108px) auto auto;
  gap:5px;
  overflow:visible
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switcher{
  position:relative;
  min-width:0;
  height:38px;
  z-index:13
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{
  box-sizing:border-box;
  width:100%;
  height:38px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 16px;
  align-items:center;
  gap:7px;
  border:1px solid rgba(205,213,208,.8);
  border-radius:9px;
  background:#fff;
  padding:0 8px 0 14px;
  box-shadow:0 3px 9px rgba(17,24,20,.065);
  color:#111411;
  font:inherit;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger:hover:not(:disabled){
  background:#fcfefc;
  box-shadow:0 4px 11px rgba(17,24,20,.085)
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger:active:not(:disabled){
  transform:scale(.98)
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger:focus-visible{
  outline:2px solid rgba(8,118,31,.2);
  outline-offset:1px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger:disabled{
  cursor:default
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger.is-loading{
  color:#526057
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-label{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:inherit;
  font-size:13.5px;
  line-height:1.1;
  font-weight:700;
  white-space:nowrap;
  text-align:left
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-chevron{
  display:block;
  width:16px;
  height:16px;
  object-fit:contain;
  transition:transform .16s ease
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switcher.is-open .ent-room-switch-chevron{
  transform:rotate(180deg)
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger.is-loading .ent-room-switch-chevron{
  opacity:.48
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-panel{
  box-sizing:border-box;
  position:absolute;
  top:46px;
  left:0;
  width:max(100%,124px);
  max-width:min(190px,calc(100vw - 20px));
  max-height:190px;
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid rgba(205,213,208,.85);
  border-radius:10px;
  background:#fff;
  padding:4px;
  box-shadow:0 8px 22px rgba(10,22,14,.12);
  color:#111411;
  scrollbar-width:thin
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option{
  box-sizing:border-box;
  width:100%;
  min-height:36px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:7px;
  background:#fff;
  padding:6px 7px 6px 9px;
  color:#121713;
  font:inherit;
  text-align:left;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11.5px;
  line-height:1.2;
  font-weight:650;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option>img{
  box-sizing:border-box;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#08761f;
  padding:3px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option:hover,
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option:focus-visible{
  outline:0;
  background:#f3f9f3
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(8,118,31,.2)
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option[aria-selected="true"]{
  background:#edf7ee;
  color:#08761f
}
@media(min-width:420px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:36px minmax(64px,1fr) minmax(96px,112px) auto auto;
    gap:6px
  }
}
@media(max-width:359px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:32px minmax(42px,1fr) minmax(72px,82px) auto auto;
    gap:4px
  }
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{gap:4px;padding-inline:7px}
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-label{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-chevron{transition:none}
}
/* menubatch-1 ①(2026-07-28 用户需求):开奖结果标题图标 奖杯→浅黄圆点+呼吸闪烁(与「投注中」绿点同款,仅换色) */
.ent-result-title .ent-result-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#F5D06B;animation:ent-result-dot-pulse 1.5s ease-out infinite}
@keyframes ent-result-dot-pulse{0%{box-shadow:0 0 0 0 rgba(245,208,107,.62)}70%,100%{box-shadow:0 0 0 6px rgba(245,208,107,0)}}
@media (prefers-reduced-motion:reduce){.ent-result-title .ent-result-dot{animation:none}}

/* PanaloX Insights — measured against IMG_0543 at the existing 430px live-room canvas. */
.service-page[data-service-kind="entertainment-live"] .ent-insights{
  --insights-green:#075c13;
  --insights-line:#d2d6df;
  --insights-shadow:0 2px 5px rgba(25,31,48,.11);
  margin:8px 5px 0;
  color:#090b0f;
  font-family:"Poppins",-apple-system,"PingFang SC","Segoe UI",sans-serif;
  font-variant-numeric:tabular-nums
}
.service-page[data-service-kind="entertainment-live"] .insights-heading{
  position:relative;
  height:35px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  margin:0 -5px 12px;
  border-bottom:1px solid #d3d6e1;
  color:var(--insights-green)
}
.service-page[data-service-kind="entertainment-live"] .insights-heading::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  width:126px;
  height:4px;
  border-radius:999px;
  background:#0f6112;
  transform:translateX(-50%)
}
.service-page[data-service-kind="entertainment-live"] .insights-heading svg{
  width:20px;
  height:21px;
  margin-top:1px;
  fill:currentColor
}
.service-page[data-service-kind="entertainment-live"] .insights-heading h1{
  margin:0;
  font-size:14px;
  line-height:23px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-filters{
  height:38px;
  display:grid;
  grid-template-columns:168px 182px;
  gap:11px;
  margin-bottom:15px
}
.service-page[data-service-kind="entertainment-live"] .insights-filter{
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  border:1px solid #cdd0d8;
  border-radius:7px;
  background:#fff;
  box-shadow:0 2px 4px rgba(25,31,48,.08)
}
.service-page[data-service-kind="entertainment-live"] .insights-filter>img{
  position:absolute;
  left:12px;
  z-index:1;
  width:20px;
  height:20px;
  object-fit:contain;
  color:#080d25;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-live"] .insights-filter select{
  width:100%;
  height:100%;
  appearance:none;
  border:0;
  border-radius:inherit;
  outline:0;
  background-color:transparent;
  background-image:none;
  color:#0b0c10;
  padding:0 32px 0 40px;
  font:inherit;
  font-size:12px;
  font-weight:500;
  cursor:pointer
}
.service-page[data-service-kind="entertainment-live"] .insights-filter::after{
  content:"";
  position:absolute;
  right:13px;
  width:12px;
  height:12px;
  background:#0f6112;
  -webkit-mask:url("assets/ent-bet-history/chevron-down.svg") center/contain no-repeat;
  mask:url("assets/ent-bet-history/chevron-down.svg") center/contain no-repeat;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-live"] .insights-filter select:focus-visible{
  box-shadow:0 0 0 2px rgba(15,97,18,.18)
}
.service-page[data-service-kind="entertainment-live"] .insights-content{
  display:grid;
  gap:9px
}
.service-page[data-service-kind="entertainment-live"] .insights-card{
  box-sizing:border-box;
  border:1px solid var(--insights-line);
  border-radius:7px;
  background:#fff;
  box-shadow:var(--insights-shadow)
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-card{
  position:relative;
  isolation:isolate;
  height:141px;
  margin-bottom:5px;
  overflow:hidden
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-card::before,
.service-page[data-service-kind="entertainment-live"] .insights-latest-card::after{
  content:"";
  position:absolute;
  z-index:0;
  background-color:#fff;
  background-image:url("assets/ent-lobby/manila-skyline-pale-green-v1.png");
  background-repeat:no-repeat;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-card::before{
  left:0;
  bottom:0;
  width:92px;
  height:58px;
  background-color:transparent;
  mix-blend-mode:multiply;
  background-size:616px 205px;
  background-position:-541px -111px
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-card::after{
  left:343px;
  bottom:0;
  width:61px;
  height:62px;
  background-size:369px 123px;
  background-position:-241px -31px
}
.service-page[data-service-kind="entertainment-live"] .insights-skyline{
  position:absolute;
  z-index:-1;
  left:-11px;
  right:auto;
  bottom:-26px;
  width:520px;
  height:150px;
  object-fit:fill;
  opacity:.78
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-copy{
  position:absolute;
  z-index:1;
  top:13px;
  left:14px;
  display:grid;
  justify-items:start
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-copy h2{
  margin:0 0 13px;
  color:#07560f;
  font-size:14px;
  line-height:1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-copy strong{
  max-width:151px;
  overflow:hidden;
  color:#111528;
  font-size:10.5px;
  line-height:16px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-copy>span{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:#16204b;
  font-size:10.5px;
  line-height:14px;
  font-weight:400;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-copy>span i{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#07941f;
  box-shadow:0 1px 2px rgba(0,72,12,.28)
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-balls{
  position:absolute;
  z-index:1;
  top:18px;
  right:16px;
  display:flex;
  gap:3px
}
.service-page[data-service-kind="entertainment-live"] .insights-large-ball{
  position:relative;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 5px 3px rgba(0,0,0,.22))
}
.service-page[data-service-kind="entertainment-live"] .insights-large-ball img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-live"] .insights-large-ball b{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:39px;
  line-height:1;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.12)
}
.service-page[data-service-kind="entertainment-live"] .insights-recent{
  height:109px;
  min-width:0
}
.service-page[data-service-kind="entertainment-live"] .insights-recent>h2{
  height:17px;
  margin:0 0 5px 2px;
  font-size:13px;
  line-height:17px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-list{
  height:87px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  min-width:0
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-card{
  min-width:0;
  display:grid;
  grid-template-rows:21px 17px 1fr;
  justify-items:center;
  align-items:center;
  border:1px solid var(--insights-line);
  border-radius:7px;
  background:#fff;
  padding:7px 3px 6px;
  box-shadow:0 1px 3px rgba(25,31,48,.08)
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-card>strong{
  max-width:100%;
  overflow:hidden;
  font-size:12px;
  line-height:16px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-card>time{
  color:#172152;
  font-size:9.5px;
  line-height:13px;
  font-weight:400
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-card>div{
  display:flex;
  align-items:end;
  justify-content:center;
  align-self:end
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball{
  position:relative;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:0 0 auto
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball+.insights-small-ball{margin-left:-1px}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.tone-red img{filter:hue-rotate(-122deg) saturate(1.3)}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.tone-blue img{filter:hue-rotate(102deg) saturate(1.15)}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball b{
  position:relative;
  z-index:1;
  color:#087334;
  font-size:12px;
  line-height:1;
  font-weight:700
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.tone-red b{color:#ed1119}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.tone-blue b{color:#0d56dc}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-grid{
  height:126px;
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  gap:8px
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-card{
  min-width:0;
  padding:10px 10px 8px
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-card h2,
.service-page[data-service-kind="entertainment-live"] .insights-game-group h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  color:#07560f;
  font-size:11px;
  line-height:16px;
  font-weight:600;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-card h2 svg,
.service-page[data-service-kind="entertainment-live"] .insights-game-group h3 svg{
  width:19px;
  height:19px;
  flex:0 0 auto;
  fill:currentColor
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-items{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:end;
  margin-top:10px
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item{
  min-width:0;
  display:grid;
  justify-items:center;
  gap:5px
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item>img,
.service-page[data-service-kind="entertainment-live"] .insights-creature,
.service-page[data-service-kind="entertainment-live"] .insights-tie-ball{
  width:39px;
  height:39px;
  display:grid;
  place-items:center
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item>img{
  object-fit:contain;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.22))
}
.service-page[data-service-kind="entertainment-live"] .insights-creature{
  overflow:hidden
}
.service-page[data-service-kind="entertainment-live"] .insights-creature img{
  width:84%;
  height:84%;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon .insights-creature,
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger .insights-creature{
  border:1px solid currentColor;
  border-radius:50%
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon .insights-creature{
  color:#08751b
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger .insights-creature{
  color:#f00c13
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon .insights-creature img{
  filter:brightness(0) saturate(100%) invert(31%) sepia(91%) saturate(1225%) hue-rotate(87deg) brightness(86%) contrast(101%)
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger .insights-creature img{
  filter:brightness(0) saturate(100%) invert(12%) sepia(99%) saturate(7454%) hue-rotate(356deg) brightness(102%) contrast(106%)
}
.service-page[data-service-kind="entertainment-live"] .insights-tie-ball{
  position:relative;
  filter:grayscale(1) drop-shadow(0 2px 2px rgba(0,0,0,.2))
}
.service-page[data-service-kind="entertainment-live"] .insights-tie-ball img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
.service-page[data-service-kind="entertainment-live"] .insights-tie-ball b{
  position:relative;
  z-index:1;
  color:#303149;
  font-size:12px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item>strong{
  font-size:20px;
  line-height:22px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-red strong,
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger strong{color:#f00c13}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-blue strong{color:#135de4}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-green strong,
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon strong{color:#08751b}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tie strong{color:#34364e}
.service-page[data-service-kind="entertainment-live"] .insights-game-card{
  height:106px;
  padding:10px 11px 9px
}
.service-page[data-service-kind="entertainment-live"] .insights-game-card>h2{
  margin:0;
  font-size:11px;
  line-height:15px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-game-grid{
  height:72px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:2px
}
.service-page[data-service-kind="entertainment-live"] .insights-game-group{
  min-width:0;
  display:grid;
  grid-template-rows:24px 30px 1fr;
  padding:0 14px
}
.service-page[data-service-kind="entertainment-live"] .insights-game-group+.insights-game-group{
  border-left:1px solid #c9ceda
}
.service-page[data-service-kind="entertainment-live"] .insights-game-group h3{
  justify-content:center;
  color:#111;
  font-size:10.5px
}
.service-page[data-service-kind="entertainment-live"] .insights-game-group h3 svg{
  width:18px;
  height:18px;
  color:#075c13
}
.service-page[data-service-kind="entertainment-live"] .insights-game-values{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end
}
.service-page[data-service-kind="entertainment-live"] .insights-game-values>span{
  display:grid;
  justify-items:center
}
.service-page[data-service-kind="entertainment-live"] .insights-game-values small{
  color:#111;
  font-size:8.5px;
  line-height:11px;
  font-weight:400;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .insights-game-values span:first-child small,
.service-page[data-service-kind="entertainment-live"] .insights-game-values span:first-child strong{color:#075c13}
.service-page[data-service-kind="entertainment-live"] .insights-game-values strong{
  font-size:16px;
  line-height:18px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-progress{
  align-self:end;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:#cecece
}
.service-page[data-service-kind="entertainment-live"] .insights-progress i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#0f6112
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-grid{
  height:88px;
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  gap:8px
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card{
  min-width:0;
  overflow:hidden;
  border:1px solid;
  border-radius:7px;
  padding:8px 11px 7px;
  box-shadow:0 2px 4px rgba(25,31,48,.08)
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-hot{
  border-color:#f4b5b5;
  background:linear-gradient(110deg,#fff5f3,#fffafa)
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-cold{
  border-color:#cbd8f7;
  background:linear-gradient(110deg,#f3f6fe,#fbfcff)
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card h2{
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0;
  font-size:10.5px;
  line-height:14px;
  font-weight:500
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card h2 img{
  width:16px;
  height:16px;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-hot h2{color:#f0181c}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-hot h2 img{
  filter:brightness(0) saturate(100%) invert(21%) sepia(98%) saturate(4518%) hue-rotate(351deg) brightness(101%) contrast(92%)
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-cold h2{color:#0d54e5}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-cold h2 img{
  filter:invert(28%) sepia(99%) saturate(4555%) hue-rotate(222deg) brightness(91%) contrast(102%)
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:4px
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-number{
  display:grid;
  justify-items:center;
  gap:1px
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.is-temperature{
  width:37px;
  height:37px
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.is-temperature b{
  font-size:21px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-number>strong{
  font-size:9.5px;
  line-height:12px;
  font-weight:500
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-card{
  height:92px;
  padding:8px 10px 7px
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-card h2{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0;
  font-size:10.5px;
  line-height:14px;
  font-weight:600
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-card h2 small{
  color:#17245a;
  font-size:8.5px;
  font-weight:400
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-chart{
  height:63px;
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  align-items:end;
  gap:3px;
  margin-top:1px
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column{
  height:63px;
  display:grid;
  grid-template-rows:12px 36px 12px;
  justify-items:center;
  align-items:end
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column>span,
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column>strong{
  font-size:9px;
  line-height:11px;
  font-weight:500
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column>i{
  align-self:end;
  width:10px;
  max-height:33px;
  border:1px solid #087211;
  border-radius:5px;
  background:linear-gradient(180deg,#63b13f 0%,#078520 100%);
  box-shadow:inset 1px 0 rgba(255,255,255,.25)
}
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column:nth-child(1)>i,
.service-page[data-service-kind="entertainment-live"] .insights-frequency-column:nth-child(7)>i{
  opacity:.7
}
.service-page[data-service-kind="entertainment-live"] .insights-state{
  min-height:705px;
  display:grid;
  place-items:center;
  border:1px solid var(--insights-line);
  border-radius:7px;
  background:#fff;
  color:#53615a;
  padding:24px;
  text-align:center;
  font-size:12px
}
.service-page[data-service-kind="entertainment-live"] .insights-state.is-error{
  align-content:center;
  gap:10px;
  color:#a72424
}
.service-page[data-service-kind="entertainment-live"] .insights-state button{
  border:1px solid #0f6112;
  border-radius:8px;
  background:#fff;
  color:#0f6112;
  padding:7px 16px;
  font:inherit;
  font-weight:600
}
@media(max-width:370px){
  .service-page[data-service-kind="entertainment-live"] .insights-filters{
    height:auto;
    grid-template-columns:1fr;
    gap:7px
  }
  .service-page[data-service-kind="entertainment-live"] .insights-filter{height:38px}
  .service-page[data-service-kind="entertainment-live"] .insights-recent-list{
    grid-template-columns:repeat(5,75px);
    overflow-x:auto;
    padding-bottom:2px
  }
  .service-page[data-service-kind="entertainment-live"] .insights-distribution-grid,
  .service-page[data-service-kind="entertainment-live"] .insights-temperature-grid{
    height:auto;
    grid-template-columns:1fr
  }
  .service-page[data-service-kind="entertainment-live"] .insights-distribution-card{height:126px}
  .service-page[data-service-kind="entertainment-live"] .insights-temperature-card{height:88px}
  .service-page[data-service-kind="entertainment-live"] .insights-latest-balls{right:9px;gap:5px}
  .service-page[data-service-kind="entertainment-live"] .insights-large-ball{width:55px;height:55px}
  .service-page[data-service-kind="entertainment-live"] .insights-large-ball b{font-size:29px}
  .service-page[data-service-kind="entertainment-live"] .insights-game-group{padding-inline:7px}
}
/* menubatch-1 ④(2026-07-28):走势图=实心三柱递进(菜单其余图标是描边,这个要单独用 fill;深浅由 rect 的 opacity 控制) */
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item svg.ent-live-menu-bars{fill:currentColor;stroke:none}

/* PanaloX flat-card shadow contract */
.service-page[data-service-kind="entertainment-live"] .service-screen,
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger,
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger:hover:not(:disabled),
.service-page[data-service-kind="entertainment-live"] .ent-live-balance,
.service-page[data-service-kind="entertainment-live"] .service-pill,
.service-page[data-service-kind="entertainment-live"] .ent-result-toggle,
.service-page[data-service-kind="entertainment-live"] .jade-countdown,
.service-page[data-service-kind="entertainment-live"] .ent-bet-box,
.service-page[data-service-kind="entertainment-live"] .ent-option,
.service-page[data-service-kind="entertainment-live"] .ent-option.is-selected,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-dragon-tiger .ent-option.is-selected,
.service-page[data-service-kind="entertainment-live"] .ent-bet-panel,
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn,
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button,
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button.is-selected,
.service-page[data-service-kind="entertainment-live"] .ent-finance-card,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-row,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button.is-placed:disabled{
  box-shadow:none
}
/* End PanaloX flat-card shadow contract */

/* Shared selected-corner badge: quick amounts and lobby game cards use one connected visual. */
.ent-selection-corner{
  --selection-corner-size:22px;
  --selection-corner-color:#41A236;
  position:absolute;
  z-index:4;
  top:-1px;
  right:-1px;
  display:block;
  width:var(--selection-corner-size);
  height:var(--selection-corner-size);
  overflow:hidden;
  border-radius:0;
  border-top-right-radius:inherit;
  background:var(--selection-corner-color);
  clip-path:ellipse(100% 100% at 100% 0%);
  pointer-events:none
}
.ent-selection-corner>img{
  position:absolute;
  top:16%;
  right:14%;
  display:block;
  width:42%!important;
  height:42%!important;
  object-fit:contain
}
.service-page[data-service-kind="entertainment-live"] .service-back::before{
  filter:none;
  background-image:var(--service-wallet-back-icon)
}
.service-page[data-service-kind="entertainment-live"] .ent-quick-check{
  --selection-corner-color:var(--ent-primary)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-selection-corner.ent-game-selected{
  --selection-corner-size:calc(var(--ent-lobby-unit) * 8.2);
  --selection-corner-color:var(--game-accent);
  left:auto;
  top:-1px;
  right:-1px;
  display:grid;
  place-items:center;
  background:var(--selection-corner-color);
  transform:none;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-selected>img{
  position:absolute;
  left:58%;
  top:42%;
  right:auto;
  transform:translate(-50%,-50%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-selected{
  border-color:var(--game-accent);
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--game-accent) 5%,#fff) 100%);
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.6) calc(var(--ent-lobby-unit) * 8.4) color-mix(in srgb,var(--game-accent) 9%,transparent);
  overflow:hidden
}
/* End shared selected-corner badge */

/* PanaloX compact frameless finance summary — 2026-08-01 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary{width:100%;height:64px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0;position:relative;margin-inline:auto;background:transparent;overflow:visible}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary::after{content:"";position:absolute;left:50%;top:50%;width:1px;height:46px;background:#dfe3e0;transform:translate(-.5px,-50%);pointer-events:none}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card{height:64px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:4px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card::before{content:none}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card>img{justify-self:center;width:48px;height:48px;max-width:100%;object-fit:contain;flex:0 0 auto}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:52px;height:52px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-copy{min-width:0;display:grid;grid-template-rows:auto auto;row-gap:2px;align-content:center;justify-items:start}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary small{min-width:0;font-family:"Segoe UI",Roboto,sans-serif;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:-.2px;color:#26342b;overflow-wrap:normal;white-space:nowrap;text-overflow:clip;overflow:visible}
.service-page[data-service-kind="entertainment-live"] .ent-finance-value{min-width:0;max-width:100%;display:flex;flex-direction:row;align-items:baseline;gap:5px;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{max-width:100%;font-family:"Poppins",sans-serif;font-size:25px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--ent-primary);white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-currency{font-family:"Poppins",sans-serif;font-size:12px;line-height:1;font-weight:400;color:#6f7772}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-long) strong.is-long{font-size:21px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-xlong) strong.is-xlong{font-size:18px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-xxlong) strong.is-xxlong{font-size:16px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong[class*="is-"])>img{width:48px;height:48px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:first-child:has(strong[class*="is-"])>img{width:52px;height:52px}
@media (max-width:389px){
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary{height:60px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary::after{height:42px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card{height:60px;grid-template-columns:44px minmax(0,1fr);gap:6px;padding:3px 8px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card>img{width:40px;height:40px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:44px;height:44px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong[class*="is-"])>img{width:40px;height:40px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:first-child:has(strong[class*="is-"])>img{width:44px;height:44px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary small{font-size:10.5px;letter-spacing:-.3px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{font-size:22px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-currency{font-size:10.5px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-long) strong.is-long{font-size:18px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-xlong) strong.is-xlong{font-size:15px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary>.ent-finance-card:has(strong.is-xxlong) strong.is-xxlong{font-size:13px}
}

/* PanaloX live sticky header — 2026-08-01 */
.service-page[data-service-kind="entertainment-live"] .service-screen{
  padding-top:0!important
}
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  position:sticky;
  top:0;
  z-index:30;
  margin-bottom:0;
  padding-top:calc(10px + env(safe-area-inset-top));
  padding-bottom:12px;
  background:var(--ent-bg)
}

/* Shared Header controls + IMG_0549 PanaloX logo — 2026-08-01 */
.service-page .service-screen > .service-topbar > .service-back{
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,27,22,.09);
  transition:box-shadow .16s ease,filter .16s ease
}
.service-page .service-screen > .service-topbar > .service-back:hover:not(:disabled){
  filter:brightness(.995);
  box-shadow:0 8px 21px rgba(18,27,22,.11)
}
.service-page .service-screen > .service-topbar > .service-back:active:not(:disabled){
  filter:brightness(.985);
  box-shadow:0 3px 10px rgba(18,27,22,.085)
}
.service-page .service-screen > .service-topbar > .service-back:focus-visible{
  outline:2px solid rgba(17,24,20,.28);
  outline-offset:2px
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img.ent-header-panalox-logo{
  display:block;
  width:auto;
  max-width:100%;
  height:34px;
  object-fit:contain;
  object-position:left center
}
.service-page[data-service-kind="entertainment-live"] .service-pill-group,
.service-page[data-service-kind="entertainment-live"] .ent-live-menu{
  width:44px;
  height:44px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  place-content:center;
  gap:4px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  box-shadow:0 7px 20px rgba(18,27,22,.11)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span{
  height:2px;
  border-radius:999px;
  background:currentColor
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:hover{
  background:#fff;
  box-shadow:0 9px 23px rgba(18,27,22,.13)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:active{
  filter:brightness(.985);
  box-shadow:0 4px 12px rgba(18,27,22,.09)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger:focus-visible{
  outline:2px solid rgba(17,24,20,.28);
  outline-offset:2px
}
@media(max-width:359px){
  .service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img.ent-header-panalox-logo{height:30px}
}
@media(prefers-reduced-motion:reduce){
  .service-page .service-screen > .service-topbar > .service-back{transition:none}
}

/* My Bets period search + shared betting back control — 2026-08-01 */
.service-page[data-service-kind="entertainment-history"] .ent-history-search-card[hidden]{display:none!important}
.service-page:is([data-service-kind="entertainment-live"],[data-service-kind="entertainment-history"]) .service-back{
  width:32px;
  height:32px;
  align-self:center;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px rgba(18,27,22,.09)
}
.service-page:is([data-service-kind="entertainment-live"],[data-service-kind="entertainment-history"]) .service-back::before{
  width:20px;
  height:20px;
  filter:none;
  background:center/20px 20px no-repeat var(--service-wallet-back-icon)
}
@media(min-width:420px){
  .service-page:is([data-service-kind="entertainment-live"],[data-service-kind="entertainment-history"]) .service-back{width:36px;height:36px}
}

/* Lobby wallet reference fidelity — 2026-08-01 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:51.3% 24.35% 24.35%;
  height:calc(var(--ent-lobby-unit) * 22.4);
  border-radius:calc(var(--ent-lobby-unit) * 3.3);
  background:#fff;
  box-shadow:0 calc(var(--ent-lobby-unit) * 2.3) calc(var(--ent-lobby-unit) * 7.5) rgba(31,74,41,.055)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{
  justify-content:flex-start;
  padding:calc(var(--ent-lobby-unit) * 3.15) calc(var(--ent-lobby-unit) * 2.1) calc(var(--ent-lobby-unit) * 2.8) calc(var(--ent-lobby-unit) * 4.9)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-label{
  color:#4f4a5b;
  font-size:calc(var(--ent-lobby-unit) * 2.45);
  line-height:1;
  font-weight:650;
  text-transform:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance strong{
  margin-top:calc(var(--ent-lobby-unit) * 2.3);
  gap:calc(var(--ent-lobby-unit) * 1.65)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  flex:0 0 auto;
  width:calc(var(--ent-lobby-unit) * 9.8);
  height:calc(var(--ent-lobby-unit) * 9.8)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-strip-value-copy{
  min-width:0;
  gap:calc(var(--ent-lobby-unit) * .62)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-num{
  max-width:100%;
  overflow:visible;
  font-size:clamp(16px,5.25vw,22.6px);
  line-height:.9;
  white-space:nowrap;
  text-overflow:clip
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-unit{
  font-size:clamp(10px,2.65vw,11.4px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  gap:calc(var(--ent-lobby-unit) * 1.8);
  padding:calc(var(--ent-lobby-unit) * 2.15) calc(var(--ent-lobby-unit) * .6) calc(var(--ent-lobby-unit) * 2.1);
  font-size:clamp(9px,2.5vw,10.75px);
  line-height:1;
  font-weight:600
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action::before{
  top:calc(var(--ent-lobby-unit) * 4.2);
  bottom:calc(var(--ent-lobby-unit) * 4.2);
  background:#e6e6e6
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action+ .ent-lobby-wallet-action::before{
  top:calc(var(--ent-lobby-unit) * 4.2);
  bottom:calc(var(--ent-lobby-unit) * 4.2)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-icon{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  width:calc(var(--ent-lobby-unit) * 11.6);
  height:calc(var(--ent-lobby-unit) * 11.6);
  border-radius:50%;
  background:#f0f8f1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-icon img{
  display:block;
  width:calc(var(--ent-lobby-unit) * 7.1);
  height:calc(var(--ent-lobby-unit) * 7.1);
  object-fit:contain;
  filter:brightness(0) saturate(100%) invert(28%) sepia(89%) saturate(1164%) hue-rotate(82deg) brightness(84%) contrast(107%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action>span:last-child{
  display:block;
  max-width:100%;
  white-space:nowrap
}
@media (max-width:350px){
  .service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance{padding-left:calc(var(--ent-lobby-unit) * 3.8)}
  .service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{font-size:9px}
}

/* Unified stake amount control reference fidelity — 2026-08-01 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-input{
  gap:clamp(14px,3vw,16px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input .ent-stake-label{
  align-items:center;
  gap:clamp(8px,2.1vw,13px);
  color:var(--ent-primary);
  font-size:clamp(17px,4.5vw,18px);
  font-weight:800;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input .ent-stake-label img{
  width:clamp(19px,4.8vw,20px);
  height:clamp(19px,4.8vw,20px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row{
  height:clamp(64px,15.625vw,68px);
  grid-template-columns:minmax(0,1fr) clamp(74px,19%,116px);
  gap:0;
  overflow:hidden;
  border:1px solid rgba(var(--ent-primary-rgb),.4);
  border-radius:clamp(14px,3.5vw,16px);
  background:#fff;
  transition:border-color .16s ease,box-shadow .16s ease
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row:focus-within{
  border-color:var(--ent-primary);
  box-shadow:0 0 0 3px rgba(var(--ent-primary-rgb),.1)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row:has(.ent-stake-field.is-error){
  border-color:var(--ent-error)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field{
  grid-template-columns:38px minmax(0,1fr);
  border:0;
  border-radius:0;
  background:transparent;
  padding:0 clamp(12px,3.4vw,16px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field.is-valid,
.service-page[data-service-kind="entertainment-live"] .ent-stake-field.is-error,
.service-page[data-service-kind="entertainment-live"] .ent-stake-field:focus-within{
  border:0;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field>img{
  width:clamp(32px,7.8vw,36px);
  height:clamp(32px,7.8vw,36px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input{
  min-height:100%;
  padding-left:clamp(7px,2vw,12px);
  font-size:clamp(17px,4.15vw,20px);
  font-weight:500;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ent-primary);
  font-size:clamp(13px,4.2vw,16px);
  font-weight:800;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn:focus{outline:0}
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn::before{
  content:"";
  position:absolute;
  left:0;
  top:27%;
  bottom:27%;
  width:1px;
  background:var(--ent-border);
  pointer-events:none
}

/* Lobby room typography calibration — 2026-08-01 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading h2{
  font-size:clamp(12px,calc(var(--ent-lobby-unit) * 3.1),13.5px);
  line-height:1.12
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  justify-content:flex-start
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  display:flex;
  min-height:clamp(11px,calc(var(--ent-lobby-unit) * 3),13px);
  align-items:center;
  justify-content:center;
  font-size:clamp(11px,calc(var(--ent-lobby-unit) * 2.95),13px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-stopwatch{
  margin-top:clamp(8px,calc(var(--ent-lobby-unit) * 2.3),10px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  min-height:clamp(8px,calc(var(--ent-lobby-unit) * 2.05),9px);
  margin-top:clamp(5px,calc(var(--ent-lobby-unit) * 1.3),6px);
  font-size:clamp(8px,calc(var(--ent-lobby-unit) * 2.05),9px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  min-height:clamp(15px,calc(var(--ent-lobby-unit) * 4),17.5px);
  margin-top:clamp(2px,calc(var(--ent-lobby-unit) * .65),3px);
  font-size:clamp(15px,calc(var(--ent-lobby-unit) * 4),17.5px);
  line-height:1;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-frequency{
  display:flex;
  min-height:clamp(14px,calc(var(--ent-lobby-unit) * 3.5),16px);
  align-items:center;
  justify-content:center;
  margin-top:clamp(3px,calc(var(--ent-lobby-unit) * .9),4px);
  overflow:visible;
  font-size:clamp(7px,calc(var(--ent-lobby-unit) * 1.85),8.2px);
  line-height:1.15;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  margin:clamp(7px,calc(var(--ent-lobby-unit) * 1.85),8px) 0 clamp(5px,calc(var(--ent-lobby-unit) * 1.3),6px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  min-height:clamp(23px,calc(var(--ent-lobby-unit) * 5.7),25px);
  justify-content:flex-start;
  gap:clamp(2px,calc(var(--ent-lobby-unit) * .5),3px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line{
  gap:clamp(3px,calc(var(--ent-lobby-unit) * .85),4px);
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.45),10.7px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line img{
  width:clamp(9px,calc(var(--ent-lobby-unit) * 2.35),10.2px);
  height:clamp(9px,calc(var(--ent-lobby-unit) * 2.35),10.2px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-status{
  font-size:clamp(7.5px,calc(var(--ent-lobby-unit) * 1.9),8.3px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  min-height:clamp(25px,calc(var(--ent-lobby-unit) * 6.25),27px);
  flex-basis:clamp(25px,calc(var(--ent-lobby-unit) * 6.25),27px);
  margin-top:auto;
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.45),10.7px);
  font-weight:800;
  line-height:1
}

/* Static draw and betting status dots — 2026-08-01 */
.service-page[data-service-kind="entertainment-live"] .ent-result-title .ent-result-dot{
  border:0;
  outline:0;
  background:#F5D06B;
  box-shadow:none;
  animation:none;
  transition:none;
  transform:none;
  filter:none
}
.service-page[data-service-kind="entertainment-live"] .ent-result-title .ent-result-dot::before,
.service-page[data-service-kind="entertainment-live"] .ent-result-title .ent-result-dot::after{content:none}
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="betting"] .jade-countdown__status i{
  border:0;
  outline:0;
  background:var(--ent-primary);
  box-shadow:none;
  animation:none;
  transition:none;
  transform:none;
  filter:none
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="betting"] .jade-countdown__status i::before,
.service-page[data-service-kind="entertainment-live"] .jade-countdown[data-state="betting"] .jade-countdown__status i::after{content:none}

/* PanaloX compact live controls and drawing state — 2026-08-01 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:44px minmax(48px,1fr) max-content auto 44px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switcher{
  width:max-content;
  max-width:calc(100vw - 224px)
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding-inline:12px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-label{
  overflow:visible;
  text-overflow:clip
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-panel{
  width:max-content;
  min-width:100%;
  max-width:min(180px,calc(100vw - 20px))
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option{
  grid-template-columns:max-content 18px;
  column-gap:8px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-option>span{
  overflow:visible;
  text-overflow:clip
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-panel{
  width:max-content;
  min-width:min(148px,calc(100vw - 20px));
  max-width:calc(100vw - 20px)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item{
  grid-template-columns:18px max-content;
  gap:7px;
  padding:7px 10px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-item>span{
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  width:44px;
  height:44px;
  gap:3px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span{
  width:16px;
  height:2px
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label.is-drawing{
  gap:0;
  justify-content:center
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label.is-drawing>span{display:none}
@media(max-width:359px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:40px minmax(42px,1fr) max-content auto 40px
  }
  .service-page[data-service-kind="entertainment-live"] .ent-room-switcher{max-width:82px}
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{padding-inline:8px;gap:4px}
}

/* PanaloX shared visual centering contract — 2026-08-01 */
.service-page[data-service-kind="entertainment-lobby"] :is(.service-back,.service-pill),
.service-page[data-service-kind="entertainment-live"] :is(.service-back,.ent-room-switch-trigger,.ent-live-balance,.ent-live-menu-trigger){
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-block:calc(var(--ent-lobby-unit) * 3.13);
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card :is(.ent-game-icon,.ent-game-copy){
  flex-shrink:0;
  align-self:center;
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] :is(.ent-room-time,.ent-lobby-stopwatch,.ent-lobby-next,.ent-lobby-countdown,.ent-lobby-frequency,.ent-lobby-players){
  align-items:center;
  justify-content:center;
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  display:flex;
  align-items:center;
  justify-content:flex-start
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner strong{line-height:1}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-label,
.service-page[data-service-kind="entertainment-live"] .ent-live-balance-value{
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  place-content:center;
  place-items:center
}
.service-page[data-service-kind="entertainment-live"] .ent-live-top-tabs button{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-option{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center
}
.service-page[data-service-kind="entertainment-live"] .ent-option-copy{
  align-content:center
}
.service-page[data-service-kind="entertainment-live"] .ent-rules-i{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field{
  align-items:center
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-clear-btn{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button>span:first-child{line-height:1}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  box-sizing:border-box;
  justify-items:center;
  align-content:center
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{
  align-items:center;
  justify-content:center;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{line-height:1}
.service-page[data-service-kind="entertainment-lobby"] :is(button,a,[role="button"]) :is(img,svg),
.service-page[data-service-kind="entertainment-live"] :is(button,a,[role="button"]) :is(img,svg){display:block}
.service-page:is([data-service-kind="entertainment-lobby"],[data-service-kind="entertainment-live"]) .ent-selection-corner{position:absolute}

/* PanaloX finance amount overflow fix — 2026-08-02 */
.service-page[data-service-kind="entertainment-live"] .ent-finance-card{grid-template-columns:40px minmax(0,1fr);gap:4px;padding:4px 3px 4px 4px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card>img{width:38px;height:38px;max-width:100%;object-fit:contain}
.service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:40px;height:40px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-copy{width:100%;min-width:0;overflow:visible;justify-items:start}
.service-page[data-service-kind="entertainment-live"] .ent-finance-value{width:100%;min-width:0;max-width:none;display:flex;align-items:baseline;gap:4px;overflow:visible;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{flex:0 0 auto;min-width:0;max-width:none;overflow:visible;text-overflow:clip;font-size:25px;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-currency{flex:0 0 auto;font-size:11px;white-space:nowrap}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-long strong{font-size:18px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-xlong strong{font-size:16px}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-xxlong strong{font-size:14px}
@media (max-width:389px){
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card{grid-template-columns:40px minmax(0,1fr);gap:4px;padding:4px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card>img{width:38px;height:38px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-card:first-child>img{width:40px;height:40px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{font-size:22px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-currency{font-size:9.5px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-long strong{font-size:15.5px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-xlong strong{font-size:13.5px}
  .service-page[data-service-kind="entertainment-live"] .ent-finance-summary.is-xxlong strong{font-size:11.5px}
}

/* Turbo lobby gold wordmark — 2026-08-02 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x{
  justify-content:center;
  padding:clamp(9px,2.2vw,13px) clamp(6px,1.5vw,9px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-game-icon{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-panalo-x .ent-panalo-turbo-wordmark{
  display:block;
  width:min(92%,190px);
  height:auto;
  max-height:72px;
  object-fit:contain
}

/* PanaloX Dragon-Tiger tab source-logo replacement — 2026-08-02 */
.service-page[data-service-kind="entertainment-live"] .ent-dt-art{
  display:flex;
  flex:0 0 83px;
  align-items:center;
  justify-content:center;
  width:83px;
  height:26px;
  gap:0;
  pointer-events:none
}
.service-page[data-service-kind="entertainment-live"] .ent-dt-creature{
  position:relative;
  display:block;
  flex:0 0 auto;
  height:26px;
  overflow:visible
}
.service-page[data-service-kind="entertainment-live"] .ent-dt-creature.is-dragon{width:32px}
.service-page[data-service-kind="entertainment-live"] .ent-dt-creature.is-tiger{width:35px}
.service-page[data-service-kind="entertainment-live"] .ent-dt-creature>img{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  height:31px;
  width:auto;
  max-width:none;
  object-fit:contain;
  transform:translate(-50%,-50%)
}
.service-page[data-service-kind="entertainment-live"] .ent-dt-vs-art{
  display:block;
  flex:0 0 16px;
  width:16px;
  height:26px;
  object-fit:contain
}

/* PanaloX live seven-point UI repair — 2026-08-02 */
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  gap:4px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#111;
  box-shadow:0 8px 24px rgba(25,38,31,.10)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span{
  display:block;
  flex:0 0 auto;
  height:2px;
  margin-inline:auto;
  border-radius:999px;
  background:currentColor
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(1){width:22px}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(2){width:17px}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(3){width:12px}

.service-page[data-service-kind="entertainment-live"] .ent-result-items::before{content:none}

.service-page[data-service-kind="entertainment-live"] .jade-countdown__top{
  margin:1.15cqw 2.91cqw 0 3.05cqw
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__body{
  height:16.3cqw;
  margin:0 0 .45cqw
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__panel{
  height:15.7cqw
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label{
  margin-top:.12cqw
}

.service-page[data-service-kind="entertainment-live"] .jade-countdown:is([data-state="betting"],[data-state="closing"],[data-state="drawing"],[data-state="preparing"],[data-state="closed"],[data-state="invalid"],[data-state="stale"]) .jade-countdown__status i{
  border:0;
  outline:0;
  background:var(--ent-primary);
  box-shadow:none;
  animation:none;
  transition:none;
  transform:none;
  filter:none
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown:is([data-state="betting"],[data-state="closing"],[data-state="drawing"],[data-state="preparing"],[data-state="closed"],[data-state="invalid"],[data-state="stale"]) .jade-countdown__status i::before,
.service-page[data-service-kind="entertainment-live"] .jade-countdown:is([data-state="betting"],[data-state="closing"],[data-state="drawing"],[data-state="preparing"],[data-state="closed"],[data-state="invalid"],[data-state="stale"]) .jade-countdown__status i::after{content:none}

.service-page[data-service-kind="entertainment-live"] .ent-stake-input{gap:10px}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input .ent-stake-label{
  gap:6px;
  color:var(--ent-ink);
  font-size:16px;
  font-weight:700;
  line-height:1.2
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-input .ent-stake-label img{
  width:18px;
  height:18px
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row{
  height:clamp(54px,13.5vw,58px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field{
  padding-inline:clamp(10px,2.8vw,14px)
}
.service-page[data-service-kind="entertainment-live"] .ent-finance-value{gap:0}

/* PanaloX live controls and copy polish — 2026-08-02 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:44px minmax(44px,1fr) max-content auto 44px;
  gap:clamp(4px,1.25vw,6px);
  margin-inline:2px 4px;
  overflow:visible
}
.service-page[data-service-kind="entertainment-live"] .service-back{
  box-sizing:border-box;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,38,31,.10)
}
.service-page[data-service-kind="entertainment-live"] .service-back::before{
  width:22px;
  height:22px;
  background:center/22px 22px no-repeat var(--service-wallet-back-icon)
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  width:44px;
  height:44px;
  min-width:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,38,31,.10)
}
.service-page[data-service-kind="entertainment-live"] .ent-menu-line:nth-child(1){width:22px;}
.service-page[data-service-kind="entertainment-live"] .ent-menu-line:nth-child(2){width:17px;}
.service-page[data-service-kind="entertainment-live"] .ent-menu-line:nth-child(3){width:12px;}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img.ent-header-turbo-logo{
  display:block;
  width:min(100%,88px);
  height:auto;
  max-height:28px;
  object-fit:contain;
  object-position:left center
}
.service-page[data-service-kind="entertainment-live"] .ent-balance-exchange{
  display:block;
  flex:0 0 22px;
  width:22px;
  height:22px;
  object-fit:contain;
  animation:none;
  transform:none
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switcher.is-open .ent-room-switch-trigger{
  width:100%;
  border-radius:12px 12px 0 0;
  border-bottom-color:transparent;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switcher.is-open .ent-room-switch-panel{
  top:100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  margin:0;
  border-top-color:rgba(205,213,208,.55);
  border-radius:0 0 12px 12px;
  padding:4px;
  box-shadow:0 8px 22px rgba(10,22,14,.12)
}
.service-page[data-service-kind="entertainment-live"] .ent-rules-i{
  width:auto;
  height:24px;
  gap:5px;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  color:#66746c;
  font-family:inherit;
  font-size:11.5px;
  font-style:normal;
  font-weight:650;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-rules-label{
  display:block;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-rules-icon{
  box-sizing:border-box;
  display:inline-flex;
  flex:0 0 19px;
  width:19px;
  height:19px;
  align-items:center;
  justify-content:center;
  border:1px solid #c9d6ce;
  border-radius:6px;
  background:#fff;
  color:#7c8a82;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11.5px;
  font-style:italic;
  font-weight:800;
  line-height:1
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-row{
  height:clamp(46px,11.6vw,48px);
  border-radius:clamp(12px,3vw,14px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field{
  grid-template-columns:34px minmax(0,1fr);
  padding-inline:clamp(9px,2.5vw,12px)
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field>img{
  width:32px;
  height:32px
}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary small{
  font-family:inherit;
}
@media(max-width:390px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:44px minmax(38px,1fr) max-content auto 44px;
    margin-inline:2px 6px;
  }
}
@media(max-width:359px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:44px minmax(38px,1fr) max-content auto 44px;
    gap:4px;
    margin-inline:0 6px
  }
  .service-page[data-service-kind="entertainment-live"] .ent-room-switcher{max-width:78px}
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{padding-inline:7px;gap:4px}
  .service-page[data-service-kind="entertainment-live"] .ent-live-balance{padding-inline:5px}
}

/* PanaloX live six-point visual pass — 2026-08-02
   ① 顶栏返回/菜单圆框缩一档、Turbo 字标放大 ② 开奖结果去掉两条竖分隔线
   ③ 投注金额输入与快捷金额同字号字重 ④ 开奖中用漏斗 SVG 顶掉 "--:--" 占位
   ⑤ 快捷金额选中角标缩小 + 打勾对到角标视觉圆心 ⑥ 余额兑换图标改直线双向箭头(仅换素材,CSS 尺寸不动) */
.service-page[data-service-kind="entertainment-live"]{
  /* 快捷金额数字的唯一字体口径:输入框金额直接复用同一组变量,不再各写一套 */
  --ent-quick-amount-size:11px;
  --ent-quick-amount-weight:800;
}

/* ① 圆按钮 44→38px(-13.6%),图标等比缩 22→19px;省出的 12px 全归 1fr 标题列,
      Turbo 字标从被挤到的 ~38px 放到 47px(+23%),仍留 3px 余量不会顶到房间选择器。 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  grid-template-columns:38px minmax(44px,1fr) max-content auto 38px
}
.service-page[data-service-kind="entertainment-live"] .service-back{
  position:relative;
  width:38px;
  height:38px
}
.service-page[data-service-kind="entertainment-live"] .service-back::before{
  width:19px;
  height:19px;
  background-size:19px 19px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger{
  position:relative;
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px; /* 早前批次留了 min-height:44px,不覆盖的话高度会被顶回 44 */
  gap:3.5px
}
/* 汉堡外框缩了,包住它的两层容器也得跟着从 44 收到 38,否则按钮会在 44px 槽里偏上 3px */
.service-page[data-service-kind="entertainment-live"] .service-pill-group,
.service-page[data-service-kind="entertainment-live"] .ent-live-menu{
  width:38px;
  height:38px
}
/* 沿用既有的 `.ent-live-menu-trigger span:nth-child(n)` 选择器形状,否则旧的 22/17/12 因多一个类型选择器而胜出 */
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(1){width:19px}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(2){width:14.5px}
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger span:nth-child(3){width:10.5px}
/* 白圆框缩小了,但触摸区仍保持 44px:透明伪元素向外扩 3px,绝对定位不参与布局也不改视觉。 */
.service-page[data-service-kind="entertainment-live"] .service-back::after,
.service-page[data-service-kind="entertainment-live"] .ent-live-menu-trigger::after{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:50%
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img.ent-header-turbo-logo{
  width:min(100%,62px) /* 2026-08-02 两次追加:47→54→62;min(100%,…) 在窄屏被 1fr 列宽兜住不会挤压邻居(390 宽实测列宽 ~62.6,375 仍兜在 ~50) */
}

/* ② 开奖结果卡内部两条竖实线(第一/二球、第二/三球之间)去掉;卡片外框和三球等宽等距不动。
      边线原本画在格子内侧,去掉后轨道宽度不变,球位最多偏 0.5px。 */
.service-page[data-service-kind="entertainment-live"] .ent-result-position+.ent-result-position{
  border-left:0
}

/* ③ 投注金额输入框(含 placeholder、快捷金额回填值)与快捷金额按钮共用同一组字号/字重变量。 */
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button,
.service-page[data-service-kind="entertainment-live"] .ent-quick-only>button>span:first-child,
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input{
  font-size:var(--ent-quick-amount-size);
  font-weight:var(--ent-quick-amount-weight)
}

/* ④ 开奖占位图只在开奖中出现,同时把 "--:--" 占位数字整块藏掉(display:none 不留任何绘制)。
      面板高度是固定的 15.7cqw,所以换图不会让卡片或下方标签栏跳动。
      (2026-08-02 二稿:首版漏斗被用户否掉,换选型 E 沙漏——灰绿框走这里的 currentColor,绿沙在 SVG 里写死) */
.service-page[data-service-kind="entertainment-live"] .jade-countdown__sandglass{
  display:none;
  width:9.4cqw;
  height:9.4cqw;
  margin-bottom:1.6cqw;
  color:#8D9A8B
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__panel:has(.jade-countdown__label.is-drawing) .jade-countdown__timer{
  display:none
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__panel:has(.jade-countdown__label.is-drawing) .jade-countdown__sandglass{
  display:block
}

/* ③b(2026-08-02 追加):「投注金额」标题字重对齐「选择下注」(16px/700)。
      标题文本包在 <b> 里,UA 样式 b{font-weight:bolder} 会把父级的 700 顶成 900,
      所以实际渲染比裸 <span> 的「选择下注」粗一档——显式继承掉。 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-label b{
  font-weight:inherit
}

/* ⑤ 选中角标 22→13px(约 59%);打勾跟着 --selection-corner-size 等比缩到 42%。
      定位改成以角标自身为容器:四分之一圆的面积形心约在半径 42% 处,按钮 9px 圆角又会切掉贴角那一小块,
      补到 46% 才正好落在实际可见绿区的中心(translate 做最终居中,不靠 top/right 硬凑)。 */
.service-page[data-service-kind="entertainment-live"] .ent-quick-check{
  --selection-corner-size:13px
}
.service-page[data-service-kind="entertainment-live"] .ent-quick-check>img{
  top:46%;
  right:46%;
  transform:translate(50%,-50%)
}

/* ⑧(2026-08-02 追加):投注金额输入行上下再收一档(46/48 → 42/44),静态描边从 40% 品牌绿
      改成快捷金额同款灰(--ent-border)。聚焦绿框、错误红框带伪类特异性更高,不受影响;
      金币图标 32~36px 在 42px 行里仍有 ≥5px 上下余量,不裁切。 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-row{
  height:clamp(42px,10.8vw,44px);
  border-color:var(--ent-border)
}

/* ⑨(2026-08-02 追加):选中态双圈修复 — 聚焦本来是 1px 绿描边 + 3px 10% 绿光晕两层,
      高倍屏截图里光晕被压成第二圈框;聚焦只保留描边,光晕去掉。 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-row:focus-within{
  border-color:var(--ent-primary);
  box-shadow:none
}

@media(max-width:390px){
  .service-page[data-service-kind="entertainment-live"] .service-topbar{
    grid-template-columns:38px minmax(38px,1fr) max-content auto 38px
  }
}

/* PanaloX live compact pass — 2026-08-02
   ①投注卡内容向中心收拢(图标-文字 gap 收窄) ②投注卡高度 -10%(60→54 / 50→45;
   图标容器同步降到 44/34 这一档——这正是 ≤360px 小屏已在用的现成尺寸,大卡 54-2border-8padding=44
   刚好装下,球不裁切不压扁) ③倒计时卡与上下模块间距 10→6(shell 的 grid gap,仅本页) */
.service-page[data-service-kind="entertainment-live"] .ent-live-shell{
  gap:6px
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-size .ent-option,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity .ent-option{
  height:54px;
  gap:7px
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-size .ent-option-art,
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-parity .ent-option-art{
  width:44px;
  height:44px
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option{
  height:45px;
  gap:5px
}
.service-page[data-service-kind="entertainment-live"] .ent-market-group.is-color .ent-option-art{
  width:34px;
  height:34px
}

/* Lobby wallet tidy — 2026-08-02
   ①钱包卡两条竖分隔线(.ent-lobby-wallet-action::before 画的)去掉
   ②动作文案原被 span:last-child 的 nowrap 卡住溢出方框,放开为最多两行居中排 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action::before,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action+ .ent-lobby-wallet-action::before{
  content:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action>span:last-child{
  white-space:normal;
  line-height:1.15
}

/* Live trio polish — 2026-08-03
   ①投注金额输入数字放大(11px 太小;≥16px 顺带根除 iOS 聚焦自动放大)——快捷金额按钮保持 11px 不变
   ②开奖结果行金色箭头换加粗版素材(stroke 2→3.4)
   ③潜在赢取/总投注数字换本站数字字体(倒计时同款 Inter ExtraBold + 等宽数字),替掉系统默认体 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input{
  font-size:clamp(16px,4.1vw,17px)
}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{
  font-family:"PanaloX Countdown Inter","Inter",sans-serif;
  font-weight:800;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1
}

/* Overlay scroll hardening — 2026-08-02
   iOS Safari:服务浮层的内部滚动器(.service-screen)滚到尽头会把滚动"链"回 body,
   背后的我的/首页视图被悄悄滚动;一旦 WebKit 在键盘收起后把 fixed 元素卡在位移后的
   视口位置(偶发已知缺陷),被滚过的背后视图就会从浮层下缘露出来(用户截图的串页现象)。
   contain 掐断链滚;投注记录页的滚动器是文档本身、其 .service-screen 不产生滚动,
   此规则对它是无操作,不影响该页滚动。项目里 auth/legal 等已有同款用法。 */
.service-screen{overscroll-behavior:contain}

/* Lobby header & partner strip rework — 2026-08-03
   ①顶部导航改真三列 1fr auto 1fr:Logo 以导航容器为基准绝对居中,不随左右元素宽度漂移;
     返回/投注记录统一 ~42-44px 视觉高并同轴垂直居中;Logo +10%(高度用 max-height 封顶,不抬高导航)
   ②天际线换回自带透明底的 city-skyline.svg(线稿),PNG 版自带米绿底色是顶部与主体色差的根源;
     线稿下沉、降透明度、染低饱和灰绿,只作导航区底部装饰,页面底色统一由画布(--page-bg-main)提供
   ③房卡放开 228px 固定高(iOS 大字号下内容溢出固定框,按钮戳出卡底压到 PCSO 条——串位根因)
   ④PCSO 官方合作伙伴条规范化:正常文档流独立信息条,上距 ~14px、下距 ~18px、白底细边框 */
.service-page[data-service-kind="entertainment-lobby"] .service-topbar{
  grid-template-columns:1fr auto 1fr;
  min-height:0;
  align-items:center;
  gap:calc(var(--ent-lobby-unit) * 1.86);
  /* lobbyTop-1(2026-08-03):三件套贴顶——上内边距归零,只留与天际线的下间距 */
  padding-block:0 calc(var(--ent-lobby-unit) * .9)
}
/* lobbyTop-1:屏幕上内边距 16px→2px(+安全区),顶部大留白按用户要求压掉;刘海机型由 env() 兜底。
   !important 是为了反制既有的全局 .service-screen{padding-top:…!important}(安全区批),非滥用 */
.service-page[data-service-kind="entertainment-lobby"] .service-screen{
  padding-top:calc(2px + env(safe-area-inset-top))!important
}
.service-page[data-service-kind="entertainment-lobby"] .service-back{
  justify-self:start;
  width:min(calc(var(--ent-lobby-unit) * 11.3),44px);
  height:min(calc(var(--ent-lobby-unit) * 11.3),44px)
}
.service-page[data-service-kind="entertainment-lobby"] .service-back::before{
  width:20px;
  height:20px;
  background-size:20px 20px
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap{
  justify-self:center;
  min-width:0
}
.service-page[data-service-kind="entertainment-lobby"] .service-title-wrap h1 img{
  display:block;
  /* logoBig-1:用户要求再放大(32.5u→37.5u,+15%) */
  width:min(calc(var(--ent-lobby-unit) * 37.5),153px);
  height:auto;
  max-height:min(calc(var(--ent-lobby-unit) * 13.6),53px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill-group{
  justify-self:end
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  min-height:min(calc(var(--ent-lobby-unit) * 11.3),44px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline{
  /* skyFull-1:画幅比 353/1536≈23% 宽,23u 恰好装下整画,塔尖不再被裁 */
  height:calc(var(--ent-lobby-unit) * 23);
  margin:calc(var(--ent-lobby-unit) * -2) calc(var(--ent-lobby-outer) * -1) 0;
  overflow:hidden;
  /* skylineTint-2(2026-08-03):用户点名要原版 manila 插画本体(简笔 SVG 与采样上色两版都被打回)。
     manila-skyline-alpha-v1.png = 原 PNG 逐像素抠底:α=(250-min(R,G,B))/45 渐变,画线原 RGB 原样保留,
     奶白底转透明(残 ~10% 淡纱叠画布仅 ±1 RGB,不可见),裁至实线行 90..430。
     宽度铺满、画底贴容器底,高塔尖轻微出框与旧版裁切一致。 */
  background:url("./assets/ent-lobby/manila-skyline-alpha-v1.png") center bottom/100% auto no-repeat
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-skyline img{
  display:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  height:auto;
  min-height:228px;
  /* 13810 行那代给卡片定了 aspect-ratio:1/1.425——高度被宽高比定死,内容(iOS 大字号)一超就
     从卡底戳出去压到 PCSO 条。解除比例锁,常规机型仍是 min-height 228 的原版观感。 */
  aspect-ratio:auto
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  height:auto;
  min-height:min(calc(var(--ent-lobby-unit) * 11.5),46px);
  margin-top:calc(var(--ent-lobby-unit) * 3.6);
  margin-bottom:calc(var(--ent-lobby-unit) * 4.6);
  padding:calc(var(--ent-lobby-unit) * 1.6) calc(var(--ent-lobby-unit) * 3.2);
  border:1px solid var(--ent-lobby-line);
  border-radius:calc(var(--ent-lobby-unit) * 2.5);
  background:#fff;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img{
  width:min(calc(var(--ent-lobby-unit) * 7.2),29px);
  height:min(calc(var(--ent-lobby-unit) * 7.2),29px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner strong{
  font-size:min(calc(var(--ent-lobby-unit) * 3.7),14.5px);
  font-weight:550;
  line-height:1
}

/* lobbyText-1(2026-08-03 追加):
   ①钱包卡动作文案回单行——字号按视口收缩(320 宽约 8.4px 起可容,390 约 10.2px),永不折行不溢出
   ②时长卡改统一节距:卡用 flex gap 定唯一间距,把各子块历代散落的 margin 全部归零;
     按钮保持 margin-top:auto 置底不参与等距 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet{
  grid-template-columns:50% 25% 25%
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-wallet-action>span:last-child{
  white-space:nowrap;
  font-size:clamp(8px,2.35vw,10.5px);
  line-height:1
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  gap:calc(var(--ent-lobby-unit) * 2.1)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card :is(.ent-room-time,.ent-lobby-stopwatch,.ent-lobby-next,.ent-lobby-countdown,.ent-lobby-frequency,.ent-lobby-room-divider,.ent-lobby-players){
  margin-block:0
}

/* Lobby partner strip + room card density — 2026-08-03
   ①PCSO 条改横向双区结构:左 logo+主副标题,右 盾牌+官方认证+PCSO PARTNER+箭头
     (文案按用户要求写死中文,不走 i18n;箭头为装饰——本条一直是非交互 <aside>,不新增点击逻辑)
   ②房卡字号整体上调约 25%(用户嫌小);③卡片放开 228px 硬高度+收紧统一节距,
     消掉「正在参与↔进入游戏」那段由 margin-top:auto 填出来的 20~47px 空白 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:calc(var(--ent-lobby-unit) * 2.4);
  min-height:min(calc(var(--ent-lobby-unit) * 13.6),56px);
  padding:calc(var(--ent-lobby-unit) * 2) calc(var(--ent-lobby-unit) * 3)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img.ent-lobby-partner-logo{
  width:min(calc(var(--ent-lobby-unit) * 7.6),31px);
  height:min(calc(var(--ent-lobby-unit) * 7.6),31px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-copy,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-badge-copy{
  display:grid;
  gap:calc(var(--ent-lobby-unit) * .5);
  min-width:0;
  justify-items:start;
  text-align:left
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-copy strong{
  font-size:min(calc(var(--ent-lobby-unit) * 3.6),14px);
  font-weight:500;
  line-height:1.15;
  color:var(--ent-lobby-text);
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-copy small{
  font-size:min(calc(var(--ent-lobby-unit) * 2.7),10.5px);
  font-weight:400; /* triTweak=20260807-1:「Ligtas · Patas · Sertipikado」500→400(用户要更细) */
  line-height:1.15;
  color:#8a978f;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-badge{
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  column-gap:calc(var(--ent-lobby-unit) * 1.5);
  flex:0 0 auto
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img.ent-lobby-partner-shield{
  width:min(calc(var(--ent-lobby-unit) * 5.4),22px);
  height:min(calc(var(--ent-lobby-unit) * 5.4),22px);
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-badge-copy strong{
  font-size:min(calc(var(--ent-lobby-unit) * 3.1),12px);
  font-weight:500;
  line-height:1.15;
  color:#1f9d4d;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-badge-copy small{
  font-size:min(calc(var(--ent-lobby-unit) * 2.2),8.5px);
  font-weight:500;
  line-height:1.15;
  color:#9aa79f;
  letter-spacing:.02em;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner img.ent-lobby-partner-chevron{
  width:min(calc(var(--ent-lobby-unit) * 3.4),14px);
  height:min(calc(var(--ent-lobby-unit) * 3.4),14px);
  object-fit:contain;
  color:#b3bdb7
}

/* ②③ 房卡:字号 +25%,并放开 228px 硬高度让内容自然定高(按钮仍 margin-top:auto 兜底拉伸场景) */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  min-height:0;
  gap:calc(var(--ent-lobby-unit) * 1.65);
  padding:calc(var(--ent-lobby-unit) * 2.6) calc(var(--ent-lobby-unit) * 2.2) calc(var(--ent-lobby-unit) * 2.4)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  font-size:clamp(13px,calc(var(--ent-lobby-unit) * 3.72),16px);
  min-height:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.56),11px);
  min-height:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  font-size:clamp(17px,calc(var(--ent-lobby-unit) * 5.13),22px);
  min-height:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-frequency{
  font-size:clamp(8.5px,calc(var(--ent-lobby-unit) * 2.36),10px);
  min-height:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line span{
  font-size:clamp(11px,calc(var(--ent-lobby-unit) * 3.08),13px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-status{
  font-size:clamp(8.5px,calc(var(--ent-lobby-unit) * 2.44),10.5px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  min-height:0;
  margin-bottom:0
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  min-height:min(calc(var(--ent-lobby-unit) * 7.7),31px);
  font-size:clamp(11px,calc(var(--ent-lobby-unit) * 3.08),13px)
}

/* Lobby & history refine — 2026-08-03
   图一余额条:标题改 Xcoin balance(config),数字下方 Xcoin 单位行删除(markup)
   图二 Bet History 胶囊图标换书页账本(颜色=购买 Xcoin 图标同一条 filter 链)
   图三「最受欢迎」胶囊整体放大 ~40%,火焰与文字更紧凑
   图四 投注记录页正文字号整体 ×1.2(u 系数上调,布局网格不动)
   图五 房卡「暂不可用」类文案降档换行防溢出;禁用态按钮长文案收字号贴合 */
/* 胶囊图标 v3 烘死 #026800 = 购物车「实际胜出」滤镜链(invert 28%/hue 82deg 一代)的落色;
   显式 filter:none 清掉 12239 一代残留链,否则 brightness(0) 会把烘色重染成别的绿 */
.service-page[data-service-kind="entertainment-lobby"] .service-pill img{
  filter:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  /* popularTight-1(2026-08-03):上下再收一档留白,火焰与文字只留一丝间距 */
  min-height:calc(var(--ent-lobby-unit) * 5.4);
  gap:calc(var(--ent-lobby-unit) * .35);
  padding:calc(var(--ent-lobby-unit) * .45) calc(var(--ent-lobby-unit) * 2.4);
  font-size:calc(var(--ent-lobby-unit) * 2.5)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular img{
  width:calc(var(--ent-lobby-unit) * 3.4);
  height:calc(var(--ent-lobby-unit) * 3.4)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown.is-text{
  font-size:clamp(11px,calc(var(--ent-lobby-unit) * 3.33),14px);
  line-height:1.15;
  white-space:normal;
  text-align:center;
  max-width:100%
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  font-size:clamp(10px,calc(var(--ent-lobby-unit) * 2.82),12px);
  padding-left:calc(var(--ent-lobby-unit) * .5);
  padding-right:calc(var(--ent-lobby-unit) * .5)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-game-tabs:not(.ent-bets-range-tabs) button{
  font-size:calc(var(--ent-history-u) * 3.2)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-range-tabs button{
  font-size:calc(var(--ent-history-u) * 2.55)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label{
  font-size:calc(var(--ent-history-u) * 2.2)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input{
  font-size:calc(var(--ent-history-u) * 2.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric small{
  font-size:calc(var(--ent-history-u) * 2.5)
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric strong{
  font-size:calc(var(--ent-history-u) * 4.9)
}
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric>span{
  font-size:calc(var(--ent-history-u) * 2.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-profit-pending{
  font-size:calc(var(--ent-history-u) * 2.3)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading strong{
  font-size:calc(var(--ent-history-u) * 3.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading small{
  font-size:calc(var(--ent-history-u) * 2.25)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-draw-pill{
  font-size:calc(var(--ent-history-u) * 2.25)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill{
  font-size:calc(var(--ent-history-u) * 2.35)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  font-size:calc(var(--ent-history-u) * 2)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  font-size:calc(var(--ent-history-u) * 2.35)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer small{
  font-size:calc(var(--ent-history-u) * 2.25)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  font-size:calc(var(--ent-history-u) * 4.55)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-empty-card p{
  font-size:calc(var(--ent-history-u) * 2.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-security{
  font-size:calc(var(--ent-history-u) * 2.05)
}

/* Game cards info layer — 2026-08-03(参照图一):Turbo 加说明行,2D/3D 加浅绿圆角标签 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-note{
  display:block;
  margin-top:calc(var(--ent-lobby-unit) * 1.2);
  color:#7d8b83;
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.35),10.5px);
  font-weight:500;
  line-height:1.2;
  text-align:center
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:calc(var(--ent-lobby-unit) * 1.6);
  /* tagCenter-1:line-height:1 下拉丁字形光学偏上,上内边距略增下压 ~1px 校正视觉居中 */
  padding:calc(var(--ent-lobby-unit) * 1.15) calc(var(--ent-lobby-unit) * 2.4) calc(var(--ent-lobby-unit) * .65);
  border-radius:999px;
  background:#E7F5EC;
  color:#1F8A3D;
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.35),10.5px);
  font-weight:600;
  line-height:1;
  white-space:nowrap
}

/* Turbo duration card themes — 2026-08-03(参照图一分色):复活既有 is-green/is-blue/is-orange
   变量体系(11835 一代定义过、后代被拍平成全绿且 builder 停发类)。builder 按周期发类:
   1 分钟=绿、3 分钟=蓝、5 分钟=橙红;2D/3D 官方房不发类走默认绿。
   主题化范围=标题/计时图标/倒计时/按钮;说明文字、人数、卡底、边框保持中性。 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  --room-accent:#169416;
  --room-soft:#e9f6ea
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-green{
  --room-accent:#169416;
  --room-soft:#e9f6ea
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-blue{
  --room-accent:#1d55e8;
  --room-soft:#ecf1fe
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-orange{
  --room-accent:#f4501e;
  --room-soft:#fef0ea
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  color:var(--room-accent)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-countdown{
  color:var(--room-accent)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch{
  background:var(--room-soft)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(35%) sepia(93%) saturate(1225%) hue-rotate(96deg) brightness(92%) contrast(96%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-blue .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(25%) sepia(90%) saturate(4000%) hue-rotate(224deg) brightness(95%) contrast(95%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-orange .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(41%) sepia(93%) saturate(3062%) hue-rotate(352deg) brightness(97%) contrast(94%)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-bet:not(:disabled){
  background:var(--room-accent);
  color:#fff
}

/* Lobby nav & partner polish — 2026-08-03
   ①大厅返回键对齐投注页同款 38px(图标 19px 同步) ②「投注记录」胶囊上下收窄(44→34px 高)
   ③PCSO 条:右箭头移除后徽标区两列;标题/副标题放开 nowrap,菲/英长文案窄屏折行不溢出 */
.service-page[data-service-kind="entertainment-lobby"] .service-back{
  width:38px;
  height:38px
}
.service-page[data-service-kind="entertainment-lobby"] .service-back::before{
  width:19px;
  height:19px;
  background-size:19px 19px
}
.service-page[data-service-kind="entertainment-lobby"] .service-pill{
  min-height:34px;
  padding-top:calc(var(--ent-lobby-unit) * 1.1);
  padding-bottom:calc(var(--ent-lobby-unit) * 1.1)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-badge{
  grid-template-columns:auto auto
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-copy strong,
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-partner-copy small{
  white-space:normal;
  line-height:1.2
}

/* Official game room themes — 2026-08-03:2D 房卡=品牌红,3D 房卡=品牌蓝(用户点名跟游戏 logo 同色) */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-red{
  --room-accent:#d9342b;
  --room-soft:#fdeeec
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card.is-red .ent-lobby-stopwatch img{
  filter:brightness(0) saturate(100%) invert(27%) sepia(96%) saturate(2789%) hue-rotate(351deg) brightness(93%) contrast(93%)
}

/* stripLabel-1(2026-08-03):Xcoin balance 标签再大一号(2.45u≈9.6px → 2.95u≈11.5px@390) */
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .ent-strip-label{
  font-size:calc(var(--ent-lobby-unit) * 2.95)
}

/* searchIconBlack-1(2026-08-03):投注记录搜索框放大镜由绿改黑(svg 走 currentColor,filter 归零上黑) */
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field img{
  filter:brightness(0)
}

/* Lobby bits — 2026-08-03
   ①时钟图标弃用 filter 上色(Safari 与 Chromium 的 hue-rotate 色彩实现有偏差,手机紫/电脑蓝的根因),
     改 mask+变量色:颜色=精确 --room-accent,四主题自动跟色,跨端必然一致
   ②Xcoin balance 金币 24→20px ③最受欢迎火焰换通道互换的正红版素材 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch img{
  display:none
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch{
  position:relative
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch::after{
  content:"";
  /* grid 容器 auto 轨道里伪元素 width:% 会解析成 0(手机端时钟消失事故根因)——改绝对定位内缩,对容器百分比恒有效 */
  position:absolute;
  inset:21%;
  background:var(--room-accent);
  -webkit-mask:url("./assets/icon-alarm-rounded.svg") center/contain no-repeat;
  mask:url("./assets/icon-alarm-rounded.svg") center/contain no-repeat
}
.service-page[data-service-kind="entertainment-lobby"] .ent-wallet-strip-balance .xcoin-brand-icon-balance{
  /* coinSize-2:20px 被嫌小,折中 22px */
  width:22px;
  height:22px
}

/* Stake area typography & accents — 2026-08-03
   ① 投注金额输入数字 800→400(16824 那代把输入绑了 --ent-quick-amount-weight:800,这里只解输入,快捷按钮不动;
     placeholder 无独立字重声明,自动跟着 400)
   ② 输入框内金币 32→29px(-9.4%,只此一处;素材不换,object-fit:contain 保比例;fly-coin 只借这个 img 当起点,不受尺寸影响)
   ③ 潜在赢取/总投注大数与快捷金额同字形:快捷按钮无 font-family 覆盖=继承 body 系统栈,
     故 inherit + 400 顶掉 16933 那代的 "PanaloX Countdown Inter"/800;tnum/lnum 一并还原成快捷按钮的默认字形;字号 25px 那代不动
   ④ 当前投注金额恒金黄:复用同按钮「立即投注」大字的 #FFD84D;small 本身 flex gap:3px,标签/金额两 span 靠 gap 分距 */
.service-page[data-service-kind="entertainment-live"] .ent-stake-field input{
  font-weight:400
}
.service-page[data-service-kind="entertainment-live"] .ent-stake-field>img{
  width:29px;
  height:29px
}
.service-page[data-service-kind="entertainment-live"] .ent-finance-summary strong{
  font-family:inherit;
  font-weight:400;
  font-variant-numeric:normal;
  font-feature-settings:normal
}
/* 7533 行那条 `.ent-confirm-row span{color:#789185;font-size:10px}` 会抓住新拆出的两个 span
   (原来提示是纯文本节点,不受它影响)——标签必须显式继承回 small 的白字与 10.5px,只有金额换金黄 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small .ent-confirm-current-label{
  color:inherit;
  font-size:inherit;
  font-weight:inherit
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small .ent-confirm-current-value{
  color:#FFD84D;
  font-size:inherit;
  font-weight:inherit
}

/* Live topbar horizontal rebalance — 2026-08-03
   顶栏五格从左到右:返回38 / 标题1fr(Turbo 字标) / 场次 max-content / 余额 auto / 菜单38。
   场次与余额是内容宽,所以「把它们右移」= 把省下的宽度还给中间那条 1fr 标题列(不用 left/transform 硬移):
   场次内边距 12→8.5、图文间距 6→4.5(实测 96.6→88,-8.9%);余额内边距 6→4、两处间距 3→2(100.2→94,-6.2%);
   菜单组左外距 5→1、顶栏右外距 4→2(余额↔菜单缝 11→7px)。合计 ~20px 全部流入 1fr 列,场次/余额整体右移同样距离。
   腾出的空间给字标:封顶 62→88px(+42%),仍是 min(100%,…) 由列宽兜底,375 宽实测列宽 ~89 不挤压邻格。 */
.service-page[data-service-kind="entertainment-live"] .service-topbar{
  margin-inline:2px 2px
}
.service-page[data-service-kind="entertainment-live"] .service-pill-group{
  margin-left:1px
}
.service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{
  padding-inline:8.5px;
  gap:4.5px
}
.service-page[data-service-kind="entertainment-live"] .ent-live-balance{
  padding-inline:4px;
  gap:2px
}
.service-page[data-service-kind="entertainment-live"] .service-title-wrap h1 img.ent-header-turbo-logo{
  width:min(100%,88px)
}
/* ≤359 窄屏的既有压缩档(16755 那代)位置在前会被上面顶掉,原样重述一遍,窄屏仍不溢出 */
@media(max-width:359px){
  .service-page[data-service-kind="entertainment-live"] .ent-room-switcher{max-width:78px}
  .service-page[data-service-kind="entertainment-live"] .ent-room-switch-trigger{padding-inline:7px;gap:4px}
  .service-page[data-service-kind="entertainment-live"] .ent-live-balance{padding-inline:4px;gap:2px}
}

/* Featured Turbo card + orange popular chip — 2026-08-03(演示图 IMG_0591 还原)
   范围严格限定:①「最受欢迎/PINAKASIKAT」这一个 chip 换橙色主题 ②Turbo 卡(.is-featured)内部重做。
   外框不动:min-height / border-radius / padding / 栅格占位全部沿用既有世代,本块只改卡内元素与配色变量。
   2D/3D 卡走 .is-theme-red/.is-theme-blue,不带 .is-featured,完全不受影响。 */
.service-page[data-service-kind="entertainment-lobby"]{
  /* 演示图取色:主橙 / 深橙(描边、文字) / 浅橙底 */
  --ent-featured-orange:#F4661C;
  --ent-featured-orange-deep:#E2540F;
  --ent-featured-orange-soft:#FFF3EA
}
/* ① chip:绿描边绿字 → 橙描边橙字白底(火焰图标本身是橙红素材,直接用不再染色) */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-popular{
  border-color:color-mix(in srgb,var(--ent-featured-orange) 42%,transparent);
  background:#fff;
  color:var(--ent-featured-orange-deep)
}
/* ② Turbo 卡:主题变量换橙 → 选中描边/底色/右上角标(--game-accent 已被既有世代消费)一并变橙 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured{
  --game-accent:var(--ent-featured-orange);
  position:relative;
  gap:calc(var(--ent-lobby-unit) * .1);
  overflow:hidden
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured:not(.is-selected){
  border-color:color-mix(in srgb,var(--ent-featured-orange) 38%,transparent)
}
/* HOT 角标:绝对定位贴左上角,不占布局高度,故不会把卡撑高 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-hot{
  position:absolute;
  top:0;
  left:0;
  z-index:3;
  padding:calc(var(--ent-lobby-unit) * .5) calc(var(--ent-lobby-unit) * 1.5) calc(var(--ent-lobby-unit) * .55);
  border-bottom-right-radius:calc(var(--ent-lobby-unit) * 2.2);
  border-top-left-radius:inherit;
  background:linear-gradient(135deg,#FF8A3D 0%,var(--ent-featured-orange) 55%,var(--ent-featured-orange-deep) 100%);
  color:#fff;
  font-size:clamp(7.5px,calc(var(--ent-lobby-unit) * 2),8.8px);
  font-weight:800;
  letter-spacing:.4px;
  line-height:1;
  pointer-events:none
}
/* 字标区:闪电 + 字标同一行,行高从 9.18u 收到 6.4u 给下面三层腾位置(外框高度不变) */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured .ent-game-icon{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-lobby-unit) * .35);
  width:100%;
  height:calc(var(--ent-lobby-unit) * 5.4);
  margin-top:calc(var(--ent-lobby-unit) * .35)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured .ent-game-bolt{
  flex:0 0 auto;
  width:calc(var(--ent-lobby-unit) * 4.1);
  height:calc(var(--ent-lobby-unit) * 4.1);
  /* 颜色烘在素材里:<img> 引的 SVG 是独立文档,外部 color/currentColor 到不了(上一版渲成了黑色) */
  object-fit:contain
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured .ent-panalo-turbo-wordmark{
  flex:0 1 auto;
  width:auto;
  max-width:calc(100% - var(--ent-lobby-unit) * 4.2);
  height:100%;
  max-height:none;
  object-fit:contain
}
/* 副标题:斜体橙字,两侧速度线用伪元素画,纯装饰 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-sub{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-lobby-unit) * .9);
  margin-top:calc(var(--ent-lobby-unit) * .3);
  color:var(--ent-featured-orange-deep);
  font-size:clamp(8.6px,calc(var(--ent-lobby-unit) * 2.3),10px);
  font-style:italic;
  font-weight:800;
  line-height:1;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-sub::before,
.service-page[data-service-kind="entertainment-lobby"] .ent-game-sub::after{
  content:"";
  /* 演示图是三道渐隐速度线,不是斜纹填充;素材画的是右侧形态,左侧镜像 */
  width:calc(var(--ent-lobby-unit) * 2.5);
  height:calc(var(--ent-lobby-unit) * 2);
  background:url("./assets/ent-lobby/speed-lines-orange-v1.svg") center/contain no-repeat
}
.service-page[data-service-kind="entertainment-lobby"] .ent-game-sub::before{
  transform:scaleX(-1)
}
/* 速度胶囊:橙渐变实心 + 白斜体,卡内中下部 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-speed{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:calc(var(--ent-lobby-unit) * .55);
  padding:calc(var(--ent-lobby-unit) * .5) calc(var(--ent-lobby-unit) * 2) calc(var(--ent-lobby-unit) * .55);
  border-radius:999px;
  background:linear-gradient(135deg,#FF8A3D 0%,var(--ent-featured-orange) 52%,var(--ent-featured-orange-deep) 100%);
  color:#fff;
  font-size:clamp(9px,calc(var(--ent-lobby-unit) * 2.5),11px);
  font-style:italic;
  font-weight:800;
  line-height:1;
  letter-spacing:.2px;
  white-space:nowrap
}
/* 底部说明:比 2D/3D 的说明再轻一档,收口在卡底 */
.service-page[data-service-kind="entertainment-lobby"] .ent-game-card.is-featured .ent-game-note{
  margin-top:calc(var(--ent-lobby-unit) * .55);
  color:#8b978f;
  font-size:clamp(8px,calc(var(--ent-lobby-unit) * 2),9.2px);
  line-height:1.15;
  white-space:normal
}

/* Bet-history summary amounts — 2026-08-03
   顶部汇总卡三个金额(Overall Result / Total Stake / Total Payout)减重缩号防溢出。
   ①800→400(正负号、千分位、小数位都在同一个 strong 里,自动同字重同字号)
   ②4.9u→3.95u(-19%,落在 15~22% 区间);外面套 clamp 兜两端:窄机不小于 13px、宽机不超过 17px
   ③行高 .9→1(真实 font-size/line-height,不用 transform:scale,占位跟着一起缩)
   ④卡片定高 21.9u + overflow:hidden,故只降不升;颜色(涨绿/跌红/常规黑)与格式化逻辑一律不动 */
.service-page[data-service-kind="entertainment-history"] .ent-summary-metric strong{
  font-size:clamp(13px,calc(var(--ent-history-u) * 3.95),17px);
  font-weight:400;
  line-height:1
}

/* Bet-history record card hierarchy — 2026-08-03
   建立层级:唯一粗体=卡片主标题 Turbo(不动);其余全部落到常规字重,状态/表头最多 500。
   表格主体(BET/STAKE/ODDS/RESULT 四列)字号 1.95u→2.75u(375 宽实测 8.82px→10.31px,+1.5px),
   结果列原本 2.1u 更小,改成 inherit 与另三列统一。行高 5.2u 不动(line-height:1 装得下)。
   颜色(涨绿/跌红/状态绿)、字号以外的排版、分隔线、计算与格式化一律不碰;
   只作用于 entertainment-history 页,直播页那套 .ent-record-card 走另一分支不受影响。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-draw-pill{
  font-weight:400
}
.service-page[data-service-kind="entertainment-history"] .ent-record-heading small{
  font-weight:400
}
.service-page[data-service-kind="entertainment-history"] .ent-record-status-pill{
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  font-size:calc(var(--ent-history-u) * 2.75);
  font-weight:400
}
/* 14919 那代在窄屏媒体块里给单元格写了 600,同特异性靠后位压掉 */
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span{
  font-weight:400
}
.service-page[data-service-kind="entertainment-history"] .ent-record-result{
  font-size:inherit
}
/* 四列同字号后,他加禄语最长结果词(Nakabinbin/Naibalik)在 18% 的结果列会外溢 —— 实测 -8.6px。
   列宽从 38/23/21/18 调成 38/21/19/22(投注列不动,金额与赔率各让 2%),单元格左右内边距 1.7u→1.35u,
   结果列余量回到 +8.1px(375 宽)。仍是四列网格,表头与表体同一套列宽,结构未变。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head,
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  grid-template-columns:38% 21% 19% 22%
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span{
  padding-inline:calc(var(--ent-history-u) * 1.35)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer small{
  font-weight:400
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  font-weight:400
}

/* Popular chip to the far right — 2026-08-03
   「选择游戏」标题行是 flex,chip 原来紧贴标题;给它 margin-left:auto 吃掉剩余空间即可靠右,
   容器的 gap/对齐/标题本身都不动,chip 自身尺寸配色也不动。 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-heading .ent-lobby-popular{
  margin-left:auto
}

/* Turbo room cards → 设计稿(图二)还原 — 2026-08-03
   结构不变(标题/秒表/下一期开奖/倒计时/频率/分隔线/人数/按钮),只做视觉:
   ①白底 + 主题色浅描边 + 更柔圆角 + 极轻阴影 ②字重全面降档,只有标题与倒计时突出
   ③秒表图标换 stopwatch(mask+var 上色,跨端一致)④频率行前加主题色速度标记(同样 mask)
   ⑤人数行改单行「[图标] 20,017 正在参与」⑥按钮更大圆角、主题色、白字、三卡等尺寸
   ⑦纵向节奏整体收紧。倒计时/状态/人数数据与点击逻辑一律不碰;禁用态沿用既有灰底。 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card{
  gap:calc(var(--ent-lobby-unit) * 1.15);
  border:1px solid color-mix(in srgb,var(--room-accent) 26%,transparent);
  border-radius:calc(var(--ent-lobby-unit) * 3.4);
  background:#fff;
  padding:calc(var(--ent-lobby-unit) * 2.1) calc(var(--ent-lobby-unit) * 2.2) calc(var(--ent-lobby-unit) * 2.2);
  box-shadow:0 calc(var(--ent-lobby-unit) * 1.1) calc(var(--ent-lobby-unit) * 3.2) rgba(31,74,41,.045)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-room-time{
  font-weight:600
}
/* 秒表:圆底更浅、直径收一档;图标换设计稿那只 stopwatch(仍是 mask+变量色,不走 filter) */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch{
  width:calc(var(--ent-lobby-unit) * 8.1);
  height:calc(var(--ent-lobby-unit) * 8.1);
  background:color-mix(in srgb,var(--room-accent) 11%,#fff)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-card .ent-lobby-stopwatch::after{
  inset:24%;
  -webkit-mask-image:url("./assets/ent-lobby/stopwatch.svg");
  mask-image:url("./assets/ent-lobby/stopwatch.svg")
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-next{
  color:#5b6470;
  font-weight:400
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-countdown{
  /* 开奖中卡片这一格是文字(字号更小),不锁高的话它下面每一层都比另两张高 5.9px。
     锁到与计时器同高并居中,三卡逐层对齐(状态判断与文案本身不动) */
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(17px,calc(var(--ent-lobby-unit) * 5.13),22px);
  font-weight:600;
  letter-spacing:0
}
/* 频率行:主题色速度标记 + 中性深灰文字,整体居中 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-frequency{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-lobby-unit) * 1.2);
  /* 光学居中:标记左侧是渐隐尾巴,实心墨迹要到盒内 4.4px 才开始,几何居中时视觉重心右偏 2.2px。
     用右内边距把居中内容整体左推一半(≈2px),布局层原生解决,不用 transform */
  padding-right:calc(var(--ent-lobby-unit) * .9);
  color:#4d5763;
  font-size:clamp(8px,calc(var(--ent-lobby-unit) * 2.2),9.5px);
  font-weight:400
}
/* 速度标识改内联 SVG(见 app.js entertainmentSpeedMarkSvg):内联才能吃 currentColor,
   一处 color 变量上色、可缩放、无 mask 依赖(mask 版在用户手机上不显示,纯 CSS 横杠又缺渐隐动感)。
   尺寸照演示图实测:约 10×7px,高度是文字墨迹的 ~70%,不抢戏。 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-speed-mark{
  display:block;
  flex:0 0 auto;
  width:calc(var(--ent-lobby-unit) * 2.35);
  height:auto;
  color:var(--room-accent);
  overflow:visible
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-room-divider{
  width:100%;
  height:1px;
  background:#eceff2;
  margin:calc(var(--ent-lobby-unit) * 1.35) 0 calc(var(--ent-lobby-unit) * 1.1)
}
/* 人数:两行改一行,数字略醒目但不加粗 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-players{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-lobby-unit) * .75);
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-count-line span{
  color:#3f4a57;
  font-weight:500;
  /* 六位人数 + 中文后缀在 127.7px 卡内会差 1px 溢出,数字与后缀各收一档 */
  font-size:clamp(10.5px,calc(var(--ent-lobby-unit) * 2.85),12px)
}
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-player-status{
  color:#4d5763;
  font-weight:400;
  font-size:clamp(8px,calc(var(--ent-lobby-unit) * 2.25),9.6px);
  /* 兜底:真实人数(5 位)配菲语 naglalaro 在 360 窄屏仍余 5.2px,永远不触发;
     只有极端长人数才会走省略号,优雅降级而不是整行被裁 */
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis
}
/* 按钮:大圆角、主题色、白字、字重适中;禁用态灰底沿用既有规则不动 */
.service-page[data-service-kind="entertainment-lobby"] .ent-lobby-bet{
  width:100%;
  min-height:min(calc(var(--ent-lobby-unit) * 8.4),34px);
  margin-top:calc(var(--ent-lobby-unit) * .6);
  border-radius:calc(var(--ent-lobby-unit) * 2.9);
  font-weight:600
}

/* Bet-history date range in flow + Turbo title merge — 2026-08-04
   ① 重叠根因:14326 那代把 .ent-bets-daterange 写成了绝对定位浮层
      (position:absolute; z-index:6; top:100%+1u; right:gutter; width:63u),
      它脱离文档流悬在筛选条下方,正好压住统计卡;宽度又被写死 63%,两列各只剩 ~130px,
      日期原生控件在窄屏撑不开就互相挤到一起。
      改法:回到文档流(position:static)、宽度 100%、等宽两列 grid、上下留自然间距,
      父容器高度随之计算,统计卡被自然推下去,不再需要 z-index。
   ② 记录卡 Turbo 标题合并时长(标签删除见 app.js),标题区左侧间距随之收紧。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange{
  position:static;
  z-index:auto;
  inset:auto;
  box-sizing:border-box;
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:calc(var(--ent-history-u) * 2.2);
  margin:calc(var(--ent-history-u) * 1.6) 0 0;
  padding:calc(var(--ent-history-u) * 2.4) var(--ent-history-gutter)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:stretch;
  gap:calc(var(--ent-history-u) * .9)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]{
  box-sizing:border-box;
  width:100%;
  min-width:0
}
/* Turbo 记录标题合并后,标题行只剩一个 strong,不留原标签的占位空隙 */
.service-page[data-service-kind="entertainment-history"] .ent-record-heading>div{
  gap:calc(var(--ent-history-u) * 1.4)
}
/* 该格删掉单位文案后只剩数字,让它在原格子里自然居中(不动红包/积分两格,也不动分隔与卡高) */
.wstat .sgrid .s[data-wallet-stat="xcoin"] .s-txt.is-unitless{
  justify-content:center
}

/* Date range card polish — 2026-08-04
   上一版只解决了「不重叠」,观感仍是两个厚输入框拼一起:标题 8.6px/700 贴边、输入自带边框底色高 23.5px。
   这版做成一张完整白卡:等宽两列(grid)、标题在上日期在下、中间一条短浅灰竖线(用居中不重复的 1px 渐变画,
   零 DOM、零绝对定位、上下自然留白)、输入去边框去底色只留文字,卡片更矮但字号反而更大。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange{
  align-items:stretch;
  margin:calc(var(--ent-history-u) * 1.5) 0 0;
  padding:calc(var(--ent-history-u) * 1.55) calc(var(--ent-history-u) * 3.4);
  border:1px solid #e6ece7;
  border-radius:calc(var(--ent-history-u) * 2);
  /* 短竖线:居中、1px 宽、上下各留 3.6u(≈14px),不贯穿到顶底 */
  background:#fff linear-gradient(#e8ecea,#e8ecea) center/1px calc(100% - var(--ent-history-u) * 6.4) no-repeat;
  box-shadow:none;
  gap:0
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * .8);
  cursor:pointer
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange label>span{
  color:#07840d;
  font-size:calc(var(--ent-history-u) * 3.2);
  font-weight:500;
  line-height:1
}
/* 日期本身:去掉输入框的边框/底色/固定高,只留文字,整列都能点开原生日期选择器 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  color:#102019;
  font-size:calc(var(--ent-history-u) * 3.6);
  font-weight:400;
  line-height:1.15;
  text-align:center;
  white-space:nowrap
}

/* Date range: leading calendar icon — 2026-08-04
   ① 日期文字前加一枚小日历(内联 SVG,吃 CSS 的 color,和文字同行、紧贴 ~5px)
   ② 桌面 Chromium 的原生尾部图标 ::-webkit-calendar-picker-indicator 隐藏,
      但把它铺满整个输入并保持可点 —— 图标看不见了,点日期仍能唤起原生日历(iOS 本来就不画这枚图标)
   作用域限定投注记录页,首页 .hist-range 里的同名日期条不受影响。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-value{
  display:flex;
  min-width:0;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:calc(var(--ent-history-u) * 1.3)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-ico{
  display:block;
  flex:0 0 auto;
  width:calc(var(--ent-history-u) * 3.4);
  height:calc(var(--ent-history-u) * 3.4);
  color:#6b7683
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]{
  position:relative;
  width:auto;
  max-width:100%;
  flex:0 1 auto
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]::-webkit-calendar-picker-indicator{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer
}

/* Unified back button — 2026-08-04
   全项目返回键收口到投注页标准(38px 白圆 / 19px chevron / 统一阴影 / 44px 触摸区)。
   原有 5 套实现各不相同:通用服务页 40+16、投注记录 36+20、大厅 38+19(但用了另一份 svg 文件)、
   登录页 34+9(还是 border+rotate 画的箭头,base 注释早就警告过 iOS 会画歪)、
   充值 v2 40 无阴影、提现 v2 44 带 1px 边框、VIP/法务 带 1px 边框旧阴影。
   这里只统一「按钮本身」:尺寸/形状/图标/阴影/触摸区,不动各页 Header 布局、标题、右侧按钮和返回行为。
   页面左右间距与顶部安全区仍由各页 Header 容器决定(见交付说明:统一它们会推翻大厅贴顶等既有需求)。 */
:root{
  --app-back-size:38px;
  --app-back-icon:19px;
  --app-back-bg:#fff;
  --app-back-shadow:0 6px 18px rgba(18,27,22,.09);
  --app-back-hit:44px
}
button.service-back,
.service-page[data-service-kind] .service-back,
button.service-back.vip-back,
button.auth-back,
button.tpv2-back,
button.wdv2-back{
  box-sizing:border-box;
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:var(--app-back-size);
  height:var(--app-back-size);
  min-width:var(--app-back-size);
  min-height:var(--app-back-size);
  border:0;
  border-radius:50%;
  background:var(--app-back-bg);
  box-shadow:var(--app-back-shadow);
  padding:0;
  font-size:0;
  line-height:0
}
/* 同一枚 chevron:同尺寸、同粗细(2.2)、同端点、同颜色;不用 border+rotate 画箭头(iOS 亚像素会画歪) */
button.service-back::before,
.service-page[data-service-kind] .service-back::before,
button.service-back.vip-back::before,
button.auth-back::before,
button.tpv2-back::before,
button.wdv2-back::before{
  content:"";
  /* backCenter=20260808-1:.auth-back::before 在 679 那代是 position:absolute; left:13px; top:10px
     (给 9px 的 border+rotate 箭头量的)。这条统一规则当年只覆盖了 content/尺寸/border/transform/background,
     没覆盖定位 —— 于是登录页那枚箭头一直被钉在 left:13px:38px 按钮里放 19px 图标,
     实测水平偏右 3.5px、垂直偏下 0.5px(其余三枚 back 本来就是 static,居中正常)。
     这里把定位显式归位,交回 place-items:center */
  position:static;
  left:auto;
  top:auto;
  width:var(--app-back-icon);
  height:var(--app-back-icon);
  border:0;
  transform:none;
  background:center/var(--app-back-icon) var(--app-back-icon) no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M10 3 6 8 10 13' fill='none' stroke='%231F3329' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
}
/* 充值/提现 v2 原本用内部 span 蒙版画箭头,隐藏它,统一走上面的 ::before */
button.tpv2-back .tpv2-icon,
button.wdv2-back .tpv2-icon{
  display:none
}
/* 视觉 38px,触摸区扩到 44px:透明伪元素,不参与布局也不盖住相邻标题/按钮 */
button.service-back::after,
.service-page[data-service-kind] .service-back::after,
button.service-back.vip-back::after,
button.auth-back::after,
button.tpv2-back::after,
button.wdv2-back::after{
  content:"";
  position:absolute;
  inset:calc((var(--app-back-size) - var(--app-back-hit)) / 2);
  border-radius:50%
}

/* Topup page: selection + info row — 2026-08-04
   ① 支付方式选中态从「右下角绿圆勾」换成快捷金额那套右上角四分之一圆角标(复用 .ent-selection-corner,
      角标尺寸/勾位/配色都走它的变量,三张卡自然一致);卡片尺寸、logo、文字位置不动。
   ② 面额钞票卡选中描边 2px → 1.2px(outline 更细一档,浅绿主题与位移/阴影保留)。
   ③ 金额卡里的「盾牌 + 最低充值」换成灰边 i 图标 + 两行说明(旧文案与盾牌一并删除,markup 见 app.js);
      按钮下方那两行重复说明已在 markup 里删掉,这里只收一下 CTA 区的底部留白。
   ④ 顺带把金额输入的聚焦效果全部压掉(用户手机上有浏览器自绘的绿框;我们能控的 outline/tap 高亮先清干净)。 */
.tpv2-method .tpv2-method-corner{
  --selection-corner-size:20px;
  --selection-corner-color:#41A236;
  border-top-right-radius:var(--tp-radius-tile);
  opacity:0;
  transform:scale(.5);
  transform-origin:100% 0;
  transition:opacity .16s ease,transform .16s ease
}
.tpv2-method.is-selected .tpv2-method-corner{
  opacity:1;
  transform:scale(1)
}
.tpv2-note.is-selected{
  outline-width:1.2px
}
/* 灰边 i 信息图标 + 两行说明:中性灰、不加粗、不用绿色强调 */
.tpv2-hero-info{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin-top:3px
}
.tpv2-info-mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:13px;
  height:13px;
  margin-top:1px;
  border:1px solid #C3CBC6;
  border-radius:50%;
  color:#8A948E;
  font-style:normal;
  font-size:9px;
  font-weight:600;
  line-height:1
}
.tpv2-info-lines{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px
}
.tpv2-info-lines b{
  color:#7C8781;
  font-size:11px;
  font-weight:400;
  line-height:1.32
}
/* 两行说明搬进金额卡后,CTA 区不再有说明段落,收掉它留下的底部空隙 */
.tpv2-cta-wrap{
  padding-bottom:0
}
/* 金额输入:清掉一切我们能控的聚焦描边与点按高亮(不影响输入、校验与联动) */
.tpv2-amount,
.tpv2-amount input,
.wdv2-amount-line,
.wdv2-amount-input{
  outline:0;
  -webkit-tap-highlight-color:transparent
}
.tpv2-amount input:focus,
.tpv2-amount input:focus-visible,
.tpv2-amount:focus-within,
.wdv2-amount-input:focus,
.wdv2-amount-input:focus-visible,
.wdv2-amount-line:focus-within{
  outline:0;
  border-color:transparent;
  box-shadow:none
}

/* Amount field: drop the page-level focus ring — 2026-08-04
   绿框根因:11129 与 11383 两代给充值/提现页写了页面级无障碍聚焦环
   (`.service-page[data-service-kind="deposit-methods"] input:focus-visible{outline:2.5px solid rgba(8,173,90,.85)}`,
   提现页 2px #0AA25A),特异性 (0,3,1) 压过了上一批 (0,1,1) 的抑制规则;
   桌面 Chrome 文本框点击即匹配 :focus-visible,iOS Safari 不匹配 —— 正是「只有电脑版有绿框」的原因。
   这里只摘掉两个大金额输入上的环(它铺满整行,看着像第二个输入框),按钮与其它输入的聚焦环保留;
   该字段仍有绿色光标做聚焦提示。 */
.service-page[data-service-kind="deposit-methods"] .tpv2-amount input:focus,
.service-page[data-service-kind="deposit-methods"] .tpv2-amount input:focus-visible,
.service-page[data-service-kind="withdraw"] .wdv2-amount-input:focus,
.service-page[data-service-kind="withdraw"] .wdv2-amount-input:focus-visible{
  outline:0;
  outline-offset:0;
  box-shadow:none
}

/* Amount number matches the ₱ mark — 2026-08-04
   数字原本 clamp(30,9.6vw,38) 比 ₱ 的 clamp(20,6.6vw,26) 大一大截,用户要求两者一样大。
   直接改真实 font-size 复用 ₱ 那组 clamp(同一口径,不同宽度下也始终相等);
   字重/颜色/光标/对齐与输入逻辑都不动。USDT 版的 "USDT" 后缀是单位标签(13-15px),不参与这次对齐。 */
.tpv2-amount input{
  font-size:clamp(20px,6.6vw,26px)
}

/* Corner check optical centering — 2026-08-04
   四分之一圆盘(角在右上)的面积质心距角点 4r/(3π)=42.44%,大厅卡的角标(15856 那代)正是按这个定位的,
   实测勾心与质心只差 0.08px;充值页这枚新角标却还落在基类更早一代的 top:16%/right:14% 上,
   实测偏出 +1.5px/-1.1px —— 20px 的角标里这就是肉眼可见的「没在圆心上」。
   这里把同一套质心定位补给它(只作用于充值/提现页的方式卡角标,不动大厅与快捷金额)。 */
.tpv2-method .tpv2-method-corner>img{
  left:57.56%;
  top:42.44%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%)
}

/* Quick-amount notes: square corners, one size — 2026-08-04
   ①充值页面额卡 border-radius 8px → 0(直角)。
   ②提现页那几张是 assets/withdraw/amount-php-*.png,圆角是画进素材里的(实测 188×112 全不透明),
     CSS 摘不掉 —— 要真直角只能换成充值页同一套全出血钞票图(顺带两页视觉统一)。
     尺寸也对齐充值页:同 2.42/1 比例、同阴影;四列栅格保持,靠收一点卡片内距与列间距把单张宽度顶到 ~84px。 */
.tpv2-note{
  border-radius:0
}
.wdv2-notes{
  gap:4px
}
.wdv2-amount-card{
  padding-left:8px;
  padding-right:8px
}
.wdv2-note{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  aspect-ratio:2.42/1;
  min-height:0;
  border-radius:0;
  overflow:hidden;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  box-shadow:0 5px 12px -6px rgba(11,64,40,.22)
}
.wdv2-note.bn-100{background-image:url("./assets/xcoins-banknote-100.webp?v=20260719-fill-1")}
.wdv2-note.bn-200{background-image:url("./assets/xcoins-banknote-200.webp?v=20260719-fill-1")}
.wdv2-note.bn-500{background-image:url("./assets/xcoins-banknote-500.webp?v=20260719-fill-1")}
.wdv2-note.bn-1000{background-image:url("./assets/xcoins-banknote-1000.webp?v=20260719-fill-1")}

/* Withdraw notes: selected outline — 2026-08-04
   提现页面额原本没有选中态(点了只填金额),这里补上与充值页同一套:透明描边占位 → 选中转绿,
   粗细/偏移/位移/阴影都照 .tpv2-note.is-selected 那套(绿色取提现页自己的 --wd-green)。
   选中态由 updateWithdrawPreview() 按当前金额同步:点选、手输、清空都会即时更新。 */
.wdv2-note{
  outline:1.2px solid transparent;
  outline-offset:1.5px;
  transition:transform .15s ease,box-shadow .16s ease,outline-color .16s ease
}
.wdv2-note.is-selected{
  outline-color:var(--wd-green);
  transform:translateY(-1px);
  box-shadow:0 8px 16px -7px rgba(0,166,80,.4)
}

/* Withdraw fee row: amounts in ink — 2026-08-04
   手续费/到账两个金额从 var(--wd-green) 改成页面主文字色 var(--wd-ink)(#10331F)。
   中间那枚箭头(tpv2-icon 用 currentColor 上色)按用户追加要求一并转黑;标签「手续费/到账」的灰色与字号不动。 */
.wdv2-fee-cell strong,
.wdv2-fee-arrow{
  color:var(--wd-ink)
}
/* 「提现记录」入口与它的 ›:同批一并转黑(文字与 chevron 分属两条旧规则,要各覆盖一次) */
.wdv2-records,
.wdv2-records .wdv2-records-chevron{
  color:var(--wd-ink)
}

/* Orders page: enable the custom date range — 2026-08-04
   订单页的时间检索一直缺「开始/结束」日期行:JS 侧其实全套支持(档位点击与日期变更都有 scope==="orders" 分支,
   会写入 ordersPageState.customFrom/customTo 并按后端重筛),被拦住的只有 10630 那条
   `.orders-page-v2 .ordv2-range .ent-bets-daterange{display:none}`。这里放开它,并按订单页的观感排一遍:
   白色圆角条 + 浅绿标签 + 直角规避(与档位胶囊同一节奏),窄屏两端不挤。 */
/* 遮挡根因:10580 那代把 .ordv2-range 锁成 height:36px(只够胶囊条)且 z-index:3,
   日期行一出现就溢出容器、压在 z-index:2 的统计卡上。放开高度让它随内容长,下方自然被推下去。 */
.orders-page-v2 .ordv2-range{
  height:auto;
  min-height:36px
}
.orders-page-v2 .ordv2-range .ent-bets-daterange{
  display:flex;
  align-items:center;
  gap:8px;
  box-sizing:border-box;
  width:100%;
  margin-top:8px;
  padding:6px 10px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,35,32,.08)
}
.orders-page-v2 .ordv2-range .ent-bets-daterange label{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  color:#078C4A;
  font-size:10.5px;
  font-weight:600
}
.orders-page-v2 .ordv2-range .ent-bets-daterange input[type=date]{
  flex:1;
  min-width:0;
  box-sizing:border-box;
  border:1px solid #E3EDE6;
  border-radius:9px;
  background:#fff;
  color:#173426;
  font:inherit;
  font-size:11px;
  padding:5px 6px
}
.orders-page-v2 .ordv2-range .ent-bets-daterange-sep{
  flex:0 0 auto;
  color:#9AABA2;
  font-size:11px
}

/* Orders: taller range bar, tighter stat cards — 2026-08-04
   ①时间档白条整体放大:容器 36→42px,胶囊 28→34px,字号 9→10px(四档仍一行)。
   ②三张统计卡上下收缩:42→34px,圆角与内距同比收一档。
   ③数字原本 `margin-left:auto` 被顶到卡片最右,离文案很远 —— 改成紧跟文案(留 4px),
     右侧多出的空间留白,不再拉开。 */
.orders-page-v2 .ordv2-range{
  min-height:42px
}
.orders-page-v2 .ordv2-range .hist-range-tabs{
  height:42px;
  padding:4px 8px;
  border-radius:21px
}
.orders-page-v2 .ordv2-range .hist-range-tabs button{
  height:34px;
  border-radius:17px;
  font-size:10px;
  line-height:16px
}
.orders-page-v2 .ordv2-stats{
  height:auto
}
.orders-page-v2 .ordv2-stat{
  height:34px;
  padding:0 7px;
  border-radius:12px;
  /* 图标+文案+数字作为一组在卡内左右居中(原来靠左起排,右侧空一大块);垂直本就 align-items:center */
  justify-content:center
}
.orders-page-v2 .ordv2-stat-count{
  margin-left:0
}

/* Withdraw amount: smaller number, bigger ₱ — 2026-08-04
   数字 clamp(42,11.8vw,50) → clamp(32,9vw,38)(-24%),₱ 30 → 38px(+27%);
   窄屏那代(≤380)同比跟随,否则窄屏还会回到旧的大号。字重/颜色/居中/输入逻辑不动。 */
.wdv2-amount-symbol{
  font-size:38px
}
.wdv2-amount-input{
  font-size:clamp(32px,9vw,38px)
}
@media (max-width:380px){
  .wdv2-amount-symbol{font-size:34px}
  .wdv2-amount-input{font-size:clamp(29px,8.6vw,34px)}
}

/* Wallet exchange polish — 2026-08-04
   ①小数位与整数同字号(原 12px vs 24px,看着像两段);连同小数点一起,靠继承对齐。
   ②六位数余额不再出省略号:整段数字改按容器可用宽自适应(clamp + 容器给足宽),并允许在窄屏降一档。
   ③兑换态的 X 币前缀 logo 50→34px。
   ④「Xcoin」单位文字与右侧钱包插图、⑤兑换态的 ₱ 前缀,均已在 app.js 里从 markup 删除。 */
.ent-wallet-page-v5 .ent-wallet-hero-account>strong>small{
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  margin-left:0
}
.ent-wallet-page-v5 .ent-wallet-hero-account>strong{
  font-size:clamp(15px,4.6vw,20px)
}
.ent-wallet-page-v5.is-redeem .ent-wallet-amount-line>span .xcoin-brand-icon-wallet-prefix{
  width:34px;
  height:34px
}

/* Wallet exchange trim — 2026-08-04
   ①确认按钮下面的锁形提示与「100% 安全有保障 · 高级安全系统」条已在 app.js 里删除;
     这里只把两条现在无主的规则留着不动(别的页面/旧版仍可能引用)。
   ②顶栏「记录」胶囊:闹钟 → 大厅「投注记录」同款书页图标,并上下收一档
     (41 → 34px,与「选择场次」页胶囊同高;图标 20 → 18px 同大厅)。
     大厅那枚素材自带 #026800 烘色,必须 filter:none —— 钱包页原来那条绿色滤镜链会把烘色重染。 */
.service-page[data-service-kind="entertainment-wallet"] .service-pill{
  min-height:34px;
  padding-top:0;
  padding-bottom:0
}
.service-page[data-service-kind="entertainment-wallet"] .service-pill img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:none
}

/* Wallet receipt left-align — 2026-08-04
   兑换态(is-redeem)的「预计到账」行原来是 auto auto + justify-content:center 居中,
   与上面的输入行/下面的按钮左起对不齐;改成整组靠左(徽标贴 padding 左沿,数字跟其后)。
   购买态本来就是 flex-start,不用动。列宽仍是 auto auto,长数字继续由 .is-long 降字号兜底。 */
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong{
  justify-content:start
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong>[data-ent-wallet-expected-value]{
  justify-self:start
}

/* Bet-record card → 设计稿(图二)对齐 — 2026-08-04
   目标:表头更轻、行更规整、分隔线更细、汇总区更完整。列结构/列宽/对齐/数据一律不动;
   单注「投注额」保持纯数字(设计稿那枚小金币按用户要求不加)。
   ①表头:深灰 #444E5C → 浅灰 #8A9199,加字距;英文/他加禄语大写(中文不受影响)。
   ②行:投注项/金额/结果回到半粗,赔率维持中等 —— 对应设计稿里 BET/STAKE/RESULT 粗、ODDS 轻。
   ③分隔线:#D9DEE4 → #EDEFF2(行间)/#E6EAEF(卡片外框),接近设计稿的发丝线。
   ④汇总区:高度 9.1u → 13u,表头 4.7u → 5.2u,数字 4.55u → 5.6u 并回到粗体,总投注左侧补金币、两侧补 Xcoin 单位;
     标签与数字左沿对齐(金币外挂在左边,和设计稿一样)。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  height:calc(var(--ent-history-u) * 5.2);
  color:#8A9199;
  font-size:calc(var(--ent-history-u) * 1.9);
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  height:calc(var(--ent-history-u) * 5.6);
  border-top-color:#EDEFF2
}
/* 17614 那代给 .ent-record-row>span 写死了 400(特异性 0,3,1),这里必须带上 >span 才压得住 */
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-bet,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-stake{
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-odds{
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-result{
  font-weight:650
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table{
  box-shadow:inset 0 0 0 1px #E6EAEF
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-footer{
  height:calc(var(--ent-history-u) * 13)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer::after{
  background:#E6EAEF
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer small{
  color:#7C8794;
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  gap:calc(var(--ent-history-u) * .8);
  font-size:calc(var(--ent-history-u) * 5.6);
  font-weight:800;
  letter-spacing:-.01em
}
/* 金币外挂在数字左边:标签跟着数字缩进,不跟金币 */
.service-page[data-service-kind="entertainment-history"] .ent-record-footer>div:first-child small{
  margin-left:calc(var(--ent-history-u) * 4.25)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong em{
  color:#4A5563;
  font-size:calc(var(--ent-history-u) * 2.35);
  font-weight:600
}
/* 长数字保护:总投注/净盈亏加了金币与 Xcoin 单位后,左半格能装的字数变少;
   ≥10 位由 JS 打 is-long 降一档字号,避免顶到中间那条竖分隔线。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong.is-long{
  font-size:calc(var(--ent-history-u) * 4.1)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong.is-long em{
  font-size:calc(var(--ent-history-u) * 2.05)
}

/* Bet-record card 轻量化 — 2026-08-04(用户 15 点复核)
   上一批把整卡压太黑太挤,这批统一往参考图的"轻"走:表头更小更淡更矮、正文取消重字重、
   行高放开、首末列加内边距、四列改等分、边框与竖线再淡一档、汇总区更高更对称、金额降号降重、
   单位更小更轻、金币放大。数据/计算/红绿逻辑一律不动。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  height:calc(var(--ent-history-u) * 4.4);
  background:#FAFBFA;
  color:#939C9A;
  font-size:calc(var(--ent-history-u) * 1.65);
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  height:calc(var(--ent-history-u) * 6.9);
  border-top-color:#F0F3F1
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-bet,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-stake,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-result{
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span.ent-record-odds{
  font-weight:400
}
/* 四列改等分口径:首列按要求 40%;金额/赔率各 19%,结果列保留 22% ——
   他加禄语最长结果词 Nakabinbin 在 20% 下只剩 0.98px 余量(320 窄屏),等于随时会裁,
   22% 才有 9px 以上的安全余量。表头与表体共用同一套列宽。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head,
.service-page[data-service-kind="entertainment-history"] .ent-record-row{
  grid-template-columns:40% 19% 19% 22%
}
/* 首末列不贴边;表头与正文同一条基准线 */
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:first-child,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:first-child{
  padding-left:calc(var(--ent-history-u) * 3.4)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:last-child,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:last-child{
  padding-right:calc(var(--ent-history-u) * 1.9)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table{
  box-shadow:inset 0 0 0 1px #EFF2F0
}
/* 汇总区:更高、左右对称(左块贴左内边距、右块贴右内边距)、标题与金额拉开层级 */
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-footer{
  height:calc(var(--ent-history-u) * 14);
  padding:0 calc(var(--ent-history-u) * 4.5)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer>div:first-child small{
  margin-left:0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer::after{
  top:calc(var(--ent-history-u) * 4);
  bottom:calc(var(--ent-history-u) * 4);
  background:#EFF2F0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  gap:calc(var(--ent-history-u) * 2.1);
  margin-top:calc(var(--ent-history-u) * 2);
  font-size:calc(var(--ent-history-u) * 4.9);
  font-weight:600
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong.is-long{
  font-size:calc(var(--ent-history-u) * 3.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong img{
  width:calc(var(--ent-history-u) * 3.9);
  height:calc(var(--ent-history-u) * 3.9)
}
/* 单位是辅助信息:更小更轻,并随字号下沉 1px 与数字视觉基线对齐 */
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong em{
  position:relative;
  top:1px;
  color:#6B7680;
  font-size:calc(var(--ent-history-u) * 2.05);
  font-weight:400
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong.is-long em{
  font-size:calc(var(--ent-history-u) * 1.85)
}

/* Bet-record card:表格与汇总合成一个框 — 2026-08-04
   之前表格自带边框+上圆角,汇总区裸挂在框外,看着像掉出来。现在给两者套一层 .ent-record-body,
   边框/四角圆角/overflow 都移到这层,表格自身去框;汇总区改成框内的一段,靠一条发丝线与表体分隔。
   ⚠️ 顺带修正:上一批想把框线调淡到 #EFF2F0,但选择器 .ent-record-table(0,3,0) 压不过
   14596 那条 .ent-record-card .ent-record-table(0,4,0),线上其实一直是 #D9DEE4;
   框线搬到 .ent-record-body 后才真正生效。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-body{
  display:block;
  box-sizing:border-box;
  width:calc(100% - var(--ent-history-u) * 3);
  margin:0 calc(var(--ent-history-u) * 1.5) calc(var(--ent-history-u) * 1.5);
  overflow:hidden;
  border:0;
  border-radius:calc(var(--ent-history-u) * 1.5);
  background:#fff;
  box-shadow:inset 0 0 0 1px #EFF2F0
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-table{
  width:100%;
  margin:0;
  border-radius:0;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-footer{
  border-top:1px solid #F0F3F1;
  padding:0 calc(var(--ent-history-u) * 3)
}

/* Bet-record card:去掉框中框造成的左侧断层 — 2026-08-04
   上一步把框画在 .ent-record-body 上,于是卡片自身的浅边框之外,里面又多出一条距边 5.63px 的竖线,
   而这条线只从表头开始、到汇总底结束 —— 左侧看着就是一截"断层"。
   改成整块通栏:body 不再画边框、不再留左右下外边距,由卡片本身当唯一的框;
   表头底色 + 行间发丝线 + 汇总上方那条线继续负责分区。
   内容位置保持不变:原来"框外 1.5u + 框内内边距"的两段距离,现在合并进单元格/汇总自己的内边距,
   实测首列文字距卡片仍是 18.39px、汇总仍是 16.88px(375)。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-body{
  width:100%;
  margin:0;
  border-radius:0;
  box-shadow:none
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:first-child,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:first-child{
  padding-left:calc(var(--ent-history-u) * 4.9)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head span:last-child,
.service-page[data-service-kind="entertainment-history"] .ent-record-row>span:last-child{
  padding-right:calc(var(--ent-history-u) * 2.6)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-footer{
  padding:0 calc(var(--ent-history-u) * 4.5)
}
/* 卡片描边改成真边框:原来那条 inset box-shadow 画在背景层,通栏子元素(表头浅底 + body 白底)
   会把它盖掉,左右轮廓就只剩标题那一段 —— 换成 1px border 后子元素排在内容盒里,永远盖不到。
   外框尺寸不变(box-sizing:border-box),投影原样保留。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-card{
  border:1px solid rgba(5,23,43,.08);
  box-shadow:0 calc(var(--ent-history-u) * .35) calc(var(--ent-history-u) * 1.35) rgba(5,23,43,.09)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-card .ent-record-body{
  background:transparent
}

/* Date range 收口 — 2026-08-04
   ①「自定义」胶囊去日历、去尾部箭头(markup 层已删,这里只清掉它们留下的间距规则会不会漏样式:
     .ent-date-chevron 的规则原样留着,没有元素引用它了,不影响其它页)。
   ② 开始/结束白卡左右收到与下方盈亏卡同宽:直接用盈亏卡那条 --ent-history-gutter(3.3u=12.375px@375),
     以后调 gutter 两张卡一起动,不会再各调各的。
   ③ 日期右侧补一枚小箭头提示"整块可点";它不吃事件,点击仍由 label 转给 input(原生日期选择器照常弹)。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange{
  /* 17766 那代写死了 width:100%,只给外边距的话卡片会整体右移而不是变窄 —— 这里改回 auto,由左右外边距定宽 */
  width:auto;
  margin-left:var(--ent-history-gutter);
  margin-right:var(--ent-history-gutter)
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-caret{
  display:block;
  flex:0 0 auto;
  width:calc(var(--ent-history-u) * 2.6);
  height:calc(var(--ent-history-u) * 2.6);
  color:#96A0AA;
  pointer-events:none
}

/* 日期格:去掉聚焦绿框 — 2026-08-04
   13477 那代给整页写了 `input:focus-visible{outline:2px solid var(--ent-history-green);outline-offset:3px}`
   (特异性 0,3,1),点日期时先看到的就是这个绿框。日期这两格改成无描边:选择器带上
   .ent-bets-daterange + [type=date] + :focus/:focus-visible(0,5,1)才压得住;页面其它输入的可达性描边不动。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]:focus,
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]:focus-visible{
  outline:0;
  box-shadow:none
}

/* 日期格:整格变成 input 本体的点击区 — 2026-08-04
   手机上点箭头没反应的真因:iOS 唤起日期轮盘只认"手指真的落在 input 上"或 label 的原生转发,
   而上一版为了消绿框先 preventDefault 了,showPicker 在 iOS 又常常是空操作 —— 两头都断,于是毫无反应。
   这里改成不依赖 JS:input 撑满整格(width:100%,左右留出图标位),日历与箭头改成绝对定位的装饰并
   pointer-events:none —— 点图标/箭头/空白时,手指落到的都是 input 本体,各内核都会弹原生日历。
   图标仍旧贴着日期:它们是浮在 input 上方的装饰,按"中心 ± 半个日期宽"定位(日期在三种语言下都是
   10 个字符,用 ch 折算),所以观感不变,点击区却是整格。 */
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-value{
  position:relative;
  display:block;
  width:100%
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-value .ent-bets-date-ico{
  position:absolute;
  right:calc(50% + 4.9ch + var(--ent-history-u) * 2.1);
  top:50%;
  transform:translateY(-50%);
  pointer-events:none
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-date-value .ent-bets-date-caret{
  position:absolute;
  left:calc(50% + 4.9ch + var(--ent-history-u) * 2.1);
  top:50%;
  transform:translateY(-50%);
  pointer-events:none
}
.service-page[data-service-kind="entertainment-history"] .ent-bets-daterange input[type=date]{
  display:block;
  width:100%;
  max-width:none;
  flex:none;
  padding:calc(var(--ent-history-u) * 1.6) calc(var(--ent-history-u) * 4.7);
  text-align:center
}

/* 走势图三处替换 — 2026-08-04
   ①「最新开奖」的三颗大玻璃球改成「近期开奖」那套白球(只是大一档):尺寸 74→42px、数字 39→21px,
     颜色仍走 tone-red / tone-blue / 默认绿那套既有规则,不新造配色。
   ② 龙/虎换成投注页「龙 VS 虎」页签的那对彩绘;原来那两条把图标压成纯色剪影的滤镜必须清掉
     (filter:none),否则彩绘会被重新染成纯绿/纯红。圆环保留,和中间的「和」球保持同一节奏。
   ③ 冷门号码的星芒换成雪花:新素材把颜色烘进文件,所以这里也要 filter:none —— 原来那条
     invert/sepia 的染色链会把烘色再拧一次。 */
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.is-latest{
  width:42px;
  height:42px
}
.service-page[data-service-kind="entertainment-live"] .insights-small-ball.is-latest b{
  font-size:21px
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-balls{
  gap:7px
}
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon .insights-creature img,
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger .insights-creature img{
  width:92%;
  height:92%;
  filter:none
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-cold h2 img{
  filter:none
}
/* 龙/虎去圆环 — 2026-08-05
   15494 那条给这两格画了 `border:1px solid currentColor + border-radius:50%`;
   连圆角一起清掉,否则 .insights-creature 的 overflow:hidden 仍会把彩绘裁成圆形。
   中间「和」球本来就是另一套(insights-tie-ball),不受影响。 */
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-dragon .insights-creature,
.service-page[data-service-kind="entertainment-live"] .insights-distribution-item.is-tiger .insights-creature{
  border:0;
  border-radius:0
}

/* 走势图三处微调 — 2026-08-05
   ①「最近开奖」每张卡里的三颗球:原来是 flex + 负 1px 叠压,球宽写死 22px,卡片内容宽在 375–414 之间
     只有 60–66px,球组要么顶满要么溢出,看起来就没居中。改成三等分网格 + 球宽 min(22px,列宽),
     无论卡多窄都恰好三等分居中,且永远不会超出卡片。
   ② 热门卡描边:实测火焰经滤镜链后的落色是 #f42423(色相 0.3°、饱和 90%),原描边 #f4b5b5
     饱和只有 74%、亮度 83%,看着是"粉"不是"火"。同色相下把饱和提到 82%、亮度压到 79%。
   ③「最新开奖」三球:从贴右(right:16px)改成卡内水平居中。窄屏卡只有 294px、左侧文案墨迹到 107.8px(中文),
     真居中会压到字,所以夹一层:left = min(max(116px, 50%-69px), 100%-146px)
     —— 卡宽 ≥374px 时正好居中,更窄时贴在文案右侧 8px 处,且永远不越过卡片右沿 8px。 */
.service-page[data-service-kind="entertainment-live"] .insights-recent-card>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-items:center;
  align-items:end;
  width:100%;
  gap:0
}
.service-page[data-service-kind="entertainment-live"] .insights-recent-card .insights-small-ball{
  width:min(22px,100%);
  height:auto;
  aspect-ratio:1;
  margin-left:0
}
.service-page[data-service-kind="entertainment-live"] .insights-temperature-card.is-hot{
  border-color:#f59e9e
}
.service-page[data-service-kind="entertainment-live"] .insights-latest-balls{
  right:auto;
  left:min(max(116px,50% - 69px),100% - 146px)
}
/* 最新开奖三球再右移一档 — 2026-08-05
   居中之后用户还是觉得偏左,整组再往右挪 36px(约四分之一个球组宽),
   右侧上限改成"距卡片右沿 16px"(100% - 154px),窄屏那条"文案右侧 116px"的下限不动 ——
   所以 320 这种挤不下的窄屏位置保持不变,只有放得下的宽度才真的右移。
   drawBalls=20260806-1:用户要求整体再右移,等距进到第二档(+36 → +72),两端夹取不动。
   实测(卡宽 404/365/310):球组左缘 205/185.5/156,右沿余 61/41.5/16;
   英语标题 PINAKABAGONG DRAW 墨迹到 175.5px,右移后 404/365 与标题的间隙转正(+29.5/+10),
   310 窄卡被 100%-154px 上限截停,只多挪 34px,余量仍是安全线 16px。 */
.service-page[data-service-kind="entertainment-live"] .insights-latest-balls{
  left:min(max(116px,50% - 69px + 72px),100% - 154px)
}

/* 钱包兑换页五处微调 — 2026-08-05
   ① hero 里的 Xcoin 金币 59→49px(PHP 侧那枚 54×55 不动,用户只指了 Xcoin 这枚)。
   ② 购买态 ₱ 与数字之间原来是「flex gap 10px + input 左内边距 8px」=18px,现在收到 4px:
      gap 改 4、并把这一格 input 的左内边距清零(选择器带上 .ent-wallet-amount-line> 才压得过 8418 那条)。
   ③ 兑换态「预计到账」数字 clamp(39,10.75vw,47) → clamp(33,9.1vw,40)(约 -15%),
      长数字档 clamp(31,8.5vw,37) → clamp(27,7.2vw,32) 等比跟随。
   ④ 三格权益卡之间的两条竖线去掉(border-right:0)。
   ⑤「记录」文案改「兑换记录」在 entertainment-config 里改,不在这。 */
.ent-wallet-page-v5 .ent-wallet-hero-account .ent-wallet-account-icon.is-xcoin>img{
  /* walletFive=20260806-4:缩 12%(49→43)。下移值按墨迹缺口实测定标:
     标签行底→币墨顶 10.9px vs 币墨底→数字大写顶 15.2px(盒距等距但字体内部留白不对称),
     +2px 后两侧墨迹缺口equalize —— "视觉居中"以墨迹为准,非盒模型 */
  width:43px;
  height:43px;
  object-fit:contain;
  transform:translateY(5px)
}
.ent-wallet-page-v5 .ent-wallet-amount-line>.ent-wallet-input-amount-group{
  gap:4px
}
.ent-wallet-page-v5 .ent-wallet-amount-line>.ent-wallet-input-amount-group input{
  padding-left:0
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong>[data-ent-wallet-expected-value]{
  /* walletFive=20260806-1:与图四输入共用 redeem 档;is-long 只在 JS 判定确实超容(≥10位)时按 82% 兜底 */
  font-size:var(--wallet-redeem-amount-size)
}
.ent-wallet-page-v5.is-redeem .ent-wallet-receipt>strong>[data-ent-wallet-expected-value].is-long{
  font-size:clamp(26px,7.6vw,31px)
}
.ent-wallet-page-v5 .ent-wallet-benefits>div{
  border-right:0
}

/* 充值/提现顶部上移 — 2026-08-05
   两页的空档来自 .service-screen 的 padding-top:16px(6900 那条在 @supports 里写成
   calc(16px + env(safe-area-inset-top)) !important),再叠上各自顶栏 2px 的外/内边距。
   这里只把这两页的 16px 压到 4px,刘海机的 safe-area 原样保留 —— 不能一起砍,不然内容会钻进状态栏。 */
.service-page[data-service-kind="deposit-methods"] .service-screen,
.service-page[data-service-kind="withdraw"] .service-screen{
  padding-top:4px
}
@supports (top: env(safe-area-inset-top)) {
  .service-page[data-service-kind="deposit-methods"] .service-screen,
  .service-page[data-service-kind="withdraw"] .service-screen{
    padding-top:calc(4px + env(safe-area-inset-top))!important
  }
}
.tpv2-top{margin-top:0}
.wdv2-top{padding-top:0}

/* 「立即投注」按钮:主行居中,提示行与主行左对齐 — 2026-08-05
   做法是把按钮网格改成单列 max-content:列宽 = 主行宽度,列本身在按钮里居中(justify-content),
   两行都靠列左沿(justify-items:start)⇒ 主行看着居中,提示行左沿正好对上主行左沿。
   余额不足那句是长红字,会把列撑宽把主行顶偏,所以它单独回到整宽居中。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  grid-template-columns:max-content;
  justify-content:center;
  justify-items:start
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:has(small.is-insufficient){
  grid-template-columns:minmax(0,1fr);
  justify-items:center
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  text-align:center
}

/* 钱包卡三格改成按钮(红包/X币/积分可点)— 2026-08-05
   原来是 div,换成 button 才能拿到键盘可达性与焦点环;这里把浏览器默认按钮样式抹平,
   视觉与改之前完全一致,只多了指针与按下反馈。 */
.wstat .sgrid-3 button.s{
  appearance:none;
  border:0;
  /* 按钮默认底色是 buttonface(实测 rgb(240,240,240)),不抹掉三格会变灰块 */
  background:transparent;
  padding:0;
  font:inherit;
  color:inherit;
  text-align:inherit;
  cursor:pointer;
  transition:transform .14s ease
}
.wstat .sgrid-3 button.s:active{transform:scale(.97)}

/* 提现快捷金额补数字 — 2026-08-05
   充值页的钞票格里本来就叠着一枚大号面额(.bn-face,按面额上色 + 白色描边光晕),
   提现页当初只搬了背景图没搬这枚数字。markup 已补上同一套 span,这里给它与充值页一致的字号。 */
.wdv2-note .bn-face{font-size:15.5px}
@media (max-width:359px){
  .wdv2-note .bn-face{font-size:13px}
}

/* 充值号码卡:上下收紧、去掉底部死白 — 2026-08-05
   底白的来源是 .saved-shortcuts 的 margin-bottom:12px —— 已存号码那一行下面还挂着 12px,
   而「继续充值」按钮在已识别状态下不显示时,这 12px 就和卡片 14px 内边距叠成一段空档。
   改法:间距交给按钮自己的 margin-top(11px)去管,已存号码行不再留尾巴;卡片上下内边距 13/14 → 10。 */
.card.qt{
  padding-top:10px;
  padding-bottom:10px
}
.card.qt .saved-shortcuts{
  margin-bottom:0
}
/* 追加:提示行改与「立即投注」四个字左对齐(不是与金币左对齐)— 2026-08-05
   金币 30px + 主行 gap 8px = 38px,提示行整体右移这一段即可;
   余额不足那句仍走整宽居中分支,不吃这个缩进。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{
  padding-left:38px
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  padding-left:0
}

/* 号码检测卡与已存号码胶囊上下收缩 — 2026-08-05
   胶囊原来 58px(内边距 11px + 40px 头像);收到 46px(内边距 6px + 34px 头像),字号不动。
   卡片内部节奏同步收一档:标题行下 9→7、运营商行上 10→8、按钮上 11→9 且高度 46→42。 */
.card.qt .saved-shortcut{
  padding-top:6px;
  padding-bottom:6px;
  gap:9px
}
.card.qt .saved-shortcut .saved-shortcut-avatar,
.card.qt .saved-shortcut>span:first-child{
  width:34px;
  height:34px;
  flex:0 0 auto
}
.card.qt .top{margin-bottom:7px}
.card.qt .carriers{margin-top:8px}
.card.qt .cta{
  margin-top:9px;
  padding-top:11px;
  padding-bottom:11px
}

/* 奖励中心「规则」按钮 — 2026-08-05 绿图标版;2026-08-06 按新需求改纯黑并收窄到 Rewards 页
   (原来两条没限定作用域,把「我的/充值」页头的 .rt 描边也剥了 —— 现已归还)。
   CSS 的 stroke 属性压过 SVG 的 stroke 呈现属性;markup 里的内联值也已同步改黑,双保险。 */
[data-view="rewards"] .phdr .rt svg{
  stroke:#000000
}

/* 记录卡汇总 + 表头 + 搜索 + 倒计时标签 — 2026-08-05
   ①汇总区去掉 Xcoin 单位(markup 已删),数字从 4.9u/600 收到 4.2u/500 —— 不再抢戏,金币图标保留。
   ②表头由「更轻」翻回「更重」:1.65u/500 → 1.95u/700(用户复核后要求更醒目)。
   ③搜索面板「Search by period」标签删了(markup),输入框与占位符各放大一档,填补那行留下的空间。
   ④「Closes in」取「How to Play」同一个色值 #66746C(实测 rgb(102,116,108)),原来是近黑的 #22302A。 */
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong{
  font-size:calc(var(--ent-history-u) * 4.2);
  font-weight:500
}
.service-page[data-service-kind="entertainment-history"] .ent-record-footer strong.is-long{
  font-size:calc(var(--ent-history-u) * 3.2)
}
.service-page[data-service-kind="entertainment-history"] .ent-record-table-head{
  font-size:calc(var(--ent-history-u) * 1.95);
  font-weight:700
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field input{
  font-size:calc(var(--ent-history-u) * 3.5)
}
.service-page[data-service-kind="entertainment-history"] .ent-history-search-field input::placeholder{
  font-size:calc(var(--ent-history-u) * 3.1)
}
.service-page[data-service-kind="entertainment-live"] .jade-countdown__label b{
  color:#66746C
}

/* 「立即投注」再对齐:金币落在按钮正中 — 2026-08-05
   上一版是「金币+文字」整组居中,金币自然偏左。改法不靠量文字宽度(三语宽度不同,写死会歪):
   主行自己做成 1fr / auto / 1fr 三列网格,金币放中间那列 —— 两侧 1fr 恒等宽,金币必然落在正中;
   文字进第三列贴左,提示行改用 calc(50% + 23px)(半个金币 15 + 间距 8)缩进,始终与文字左沿对齐。
   余额不足那句长红字仍整宽居中,不吃这套缩进。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  grid-template-columns:minmax(0,1fr);
  justify-items:stretch
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  width:100%
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{
  grid-column:2
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main b{
  grid-column:3;
  justify-self:start;
  /* 间距交给主行原有的 gap:8px —— 再加 margin 就是 16px,提示行会对不齐 */
  margin-left:0;
  white-space:nowrap
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{
  padding-left:calc(50% + 23px);
  text-align:left
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  padding-left:0;
  text-align:center
}

/* 「立即投注」按钮回到原来的排版 — 2026-08-05
   今天连改三版(整组居中 → 提示行贴文字 → 金币落正中)用户都不满意,这里整体回退到最初那套:
   主行 inline-flex 居中、提示行也独立居中,两者互不牵扯。上面三块规则原样留着(不删,便于对照),
   由本块靠后位同特异性全部覆盖回默认值 —— 网格列、缩进、对齐一律还原。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  grid-template-columns:minmax(0,1fr);
  justify-content:normal;
  justify-items:center
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{
  display:inline-flex;
  width:auto;
  align-items:center;
  justify-content:center
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{
  grid-column:auto
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main b{
  grid-column:auto;
  justify-self:auto;
  margin-left:0
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  padding-left:0;
  text-align:center
}
/* 金币下移到两行文字中间 — 2026-08-05
   排版仍是上一步回退后的那套(主行居中、提示行居中),只把金币往下挪:
   实测两行墨迹中心相距 20.78px(标题 86.89 / 提示 107.67),金币中心原在 86.50 ——
   下移 10.8px 后正好落在两行中点 97.28。用 transform 位移,不影响任何行高与布局。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{
  transform:translateY(10.8px)
}

/* 「立即投注」按钮:金币独立成列,跨两行居中 — 2026-08-05
   上一步只把金币往下挪,结果它压到了「Total bet」那行 —— 因为两行文字都是各自居中,
   提示行比标题宽,左端正好伸到金币下面。真正的解法是让金币不在文字流里:
   按钮改成两列(金币 | 文字块),金币 grid-row 跨两行并 align-self:center ⇒ 天然落在两行中间;
   标题与提示行叠在第二列左对齐,整组再居中。余额不足那句长红字单独横跨两列居中,避免撑歪。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  justify-content:center;
  align-content:center;
  align-items:center;
  column-gap:8px;
  row-gap:2px
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{
  display:contents
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  /* 两行的视觉重量不对等(标题 18px/900,提示 10px/500),纯几何中点会显得偏低。
     按 2:1 加权取光学中点(= 标题中心 + 两行间距/3),比几何中点高 3.5px;
     行盒中心本身还比墨迹中点高 2px,合起来落到 -1.5px。 */
  transform:translateY(-1.5px)
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main b{
  grid-column:2;
  grid-row:1;
  justify-self:start
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{
  grid-column:2;
  grid-row:2;
  justify-self:start;
  padding-left:0;
  text-align:left
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  grid-column:1 / -1;
  justify-self:center;
  text-align:center
}
/* 余额不足那句横跨两列;金币若仍跨两行会被压在字上,这时让它只占第一行 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button:has(small.is-insufficient) .ent-confirm-main img{
  grid-row:1;
  transform:none
}

/* 「立即投注」按钮:改成 flex「logo | 文字块」两块 — 2026-08-05
   之前是网格 + display:contents + 手动位移,金币只能靠 translateY 去凑两行的中点。
   现在按结构本身解决:外层 flex + align-items:center,右侧两行装进一个纵向 .ent-confirm-copy,
   金币自然对齐整个文字块的中心,不再对单独某一行。两行统一 line-height:1.18,
   让文字块的盒中心与墨迹中心尽量重合(实测残差见测试注释,只保留 ≤3px 的光学微调)。
   前面几块网格规则原样留着,由本块靠后位全部覆盖。 */
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button{
  display:flex;
  align-items:center;
  justify-content:center;
  column-gap:0;
  row-gap:0
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main img{
  grid-column:auto;
  grid-row:auto;
  align-self:center;
  flex:0 0 auto;
  transform:none
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-main b,
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small{
  grid-column:auto;
  grid-row:auto;
  justify-self:auto;
  padding-left:0;
  text-align:left;
  line-height:1.18
}
.service-page[data-service-kind="entertainment-live"] .ent-confirm-button small.is-insufficient{
  grid-column:auto;
  justify-self:auto;
  text-align:left
}

/* Maya/GCash 收银台确认页 v2 — 2026-08-05(按设计稿 1.PNG 重构)
   页面变量集中在 .mcf-page;素材在 assets/maya-confirm/(弧形背景 + 固定色图标副本)。
   业务钩子不动:data-gcash-open/-recheck/-countdown/-status/-copy 全在 markup 层。
   顶栏隐藏,返回键进 hero(仍是 data-service-back → 回充值方式页的既有路由)。 */
/* mcfTheme=20260806-1:iPhone 状态栏与 hero 顶色统一 #DFECE3(真机上状态栏采样 html/body/顶层容器的
   background-color,曾漏喂 → 顶部白灰横缝)。通用喂色在 6923 一带(#F4F7F5),此处同优先级、源码更靠后取胜;
   只染取色链,弧形以下仍是 --maya-page-bg 浅灰。#DFECE3 是页顶浅底色,与按钮主题绿 #41A236 是两回事。 */
html[data-overlay-kind="gcash-pay"],
html[data-overlay-kind="gcash-pay"] body {
  background-color: #DFECE3;
}
/* appShell=20260809-1:漏喂的最后两层。7166 那段早就记过:这台机器上 iOS 忽略 theme-color,
   状态栏改采样「文档/顶层元素的背景色属性」。而 7150 给 #loadphApp 加了 padding-top:env(safe-area-inset-top)
   —— 刘海那条在文档里就是它的地盘。其余服务页碰巧全页同为 #F4F7F5(账号设置那次就是这么修好的),
   这页把 html/body/.service-page/.service-screen 都喂成了浅绿,唯独 #loadphApp 与它的 ::before 还是 #F4F7F5,
   于是采样器读到白灰。这里补上 —— .service-page 是全屏定位层(fixed / inset 0 / z-index 96),把它整个盖住,肉眼渲染不变。 */
html[data-overlay-kind="gcash-pay"] #loadphApp,
html[data-overlay-kind="gcash-pay"] #loadphApp::before {
  background: #DFECE3;
}
.service-page[data-service-kind="gcash-pay"] {
  background-color: #DFECE3;
}
.service-page[data-service-kind="gcash-pay"] .service-topbar{display:none}
/* statusStrip=20260809-1:其余服务页里 .service-screen 的底色与 html/body/theme-color 三者同值,
   刘海那条由它的上内距(16px + safe-area-inset-top)涂满 —— 所以没有横缝。
   这页为了 hero 满幅把上内距压成 0,底色又单独是 #F0F2EF,成了整套层里唯一不同色的一层,
   刘海区一旦由它涂到就是那条白灰带。这里让它与 html/body/.service-page 对齐成 #DFECE3,
   正文灰底改由 hero 下方的 .mcf-main 承担 —— 刘海以下渲染一像素不变。 */
.service-page[data-service-kind="gcash-pay"] .service-screen{
  width:min(100%,430px);
  background:#DFECE3;
  padding:0
}
@supports (top: env(safe-area-inset-top)) {
  .service-page[data-service-kind="gcash-pay"] .service-screen{padding-top:0!important}
}
.service-page[data-service-kind="gcash-pay"] .service-body{display:block}
.mcf-page{
  --maya-page-bg:#F0F2EF;
  --maya-hero:#DFECE3;
  --maya-text-primary:#22352B;
  --maya-text-secondary:#84908A;
  /* bgUnify=20260808-1:实心品牌绿统一到 #41A236(原 #1E9E5C) */
  --maya-green:#41A236;
  --maya-warning:#F08C1C;
  --maya-warning-soft:#FBEFDC;
  --maya-mint:#E9F3EB;
  --maya-border:#E6EAE6;
  --maya-card-bg:#fff;
  /* bgUnify=20260808-1:主按钮实色由 #3DBB63 收到品牌绿 #41A236 */
  --maya-button-bg:#41A236;
  --maya-button-text:#fff;
  display:flex;
  min-height:100dvh;
  flex-direction:column;
  color:var(--maya-text-primary)
}
.mcf-page img{display:block}
/* ---- Hero:浅绿弧形背景(SVG 素材,绝对定位铺底;内容走正常文档流) ---- */
.mcf-hero{
  position:relative;
  isolation:isolate;
  /* mcfTheme=20260806-1:真实底色喂给取色器(部分 iOS 只读元素 background-color,不读图片像素)。
     弧线下方两角由 ::before 的页灰底带原样盖回、SVG 弧形再压其上 —— computed 有色,渲染像素不变 */
  background-color:var(--maya-hero);
  /* mcfFit=20260808-1:整页收紧,尽量少滚 —— hero 下内距 40→22 */
  padding:calc(14px + env(safe-area-inset-top,0px)) 18px 22px;
  text-align:center
}
.mcf-hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:0;
  right:0;
  bottom:0;
  height:25%;
  background:var(--maya-page-bg);
}
.mcf-hero-arc{
  position:absolute;
  z-index:-1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill
}
.mcf-hero-top{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px
}
.mcf-back{
  position:absolute;
  left:0;
  /* mcfBack=20260808-1:这页返回键原本是 44+20 的独有一档,收口到全项目标准
     (--app-back-size 38 / --app-back-icon 19,用户 2026-08-08 要求与其他页一致)。
     标题行 min-height 仍是 44,所以改用 top:50% 垂直居中,行高与标题位置都不动 */
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:var(--app-back-size,38px);
  height:var(--app-back-size,38px);
  border:0;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 16px rgba(23,52,38,.10);
  cursor:pointer
}
.mcf-back img{width:var(--app-back-icon,19px);height:var(--app-back-icon,19px)}
.mcf-back:active{transform:translateY(-50%) scale(.94)}
.mcf-title{
  /* mcfTitle=20260806-1:真机他加禄语标题(Kumpirmahin ang deposito)20px 会钻到返回键底下并撑出卡边;
     缩一档并给两侧让出 52px(返回键 44 + 8 呼吸),窄机自动换行仍居中。 */
  margin:0;
  padding:0 52px;
  font-size:17px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.5px
}
.mcf-official{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:8px 0 0;
  color:var(--maya-text-secondary);
  font-size:13.5px;
  font-weight:500
}
.mcf-official img{width:17px;height:17px}
.mcf-amount{
  /* mcfFit=20260808-1:18→10 */
  margin-top:10px;
  font-variant-numeric:tabular-nums
}
.mcf-amount b{
  /* mcfFit=20260808-1:写死 52px 改成跟屏宽走,小机自己收,大机不超过 46 */
  font-size:clamp(36px,11.5vw,46px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.5px
}
.mcf-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  width:min(100%,320px);
  /* mcfFit=20260808-1:46→42、上距 24→16 */
  min-height:42px;
  margin:16px auto 0;
  padding:0 18px;
  border-radius:15px;
  background:var(--maya-card-bg);
  box-shadow:0 8px 20px rgba(23,52,38,.06);
  font-size:14.5px;
  font-weight:600
}
.mcf-pill-pay b{color:var(--maya-green);font-weight:750}
.mcf-pill-sep{width:1px;height:18px;background:var(--maya-border)}
.mcf-pill-secure{display:flex;align-items:center;gap:6px}
.mcf-pill-secure img{width:18px;height:18px}
/* ---- 正文 ---- */
.mcf-main{
  flex:1 1 auto;
  /* statusStrip=20260809-1:正文灰底由滚动容器移到这里 —— 它整个在 hero 下方,不碰安全区 */
  background:var(--maya-page-bg);
  /* mcfFit=20260808-1:22/18 → 14/10 */
  padding:14px 18px 10px
}
.mcf-expire{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  /* mcfFit=20260808-1:24→14 */
  margin:0 0 14px;
  font-size:16.5px;
  font-weight:650
}
.mcf-clock{
  display:grid;
  place-items:center;
  /* mcfFit=20260808-1:42→36 */
  width:36px;
  height:36px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--maya-warning-soft)
}
.mcf-clock img{width:22px;height:22px}
.mcf-count{
  color:var(--maya-warning);
  font-weight:800;
  font-variant-numeric:tabular-nums
}
.mcf-steps{
  display:grid;
  /* mcfFit=20260808-1:18→12,页尾 4px 收掉 */
  gap:12px;
  margin:0;
  padding:0;
  list-style:none
}
.mcf-step{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:13px;
  align-items:start
}
.mcf-step-rail{display:grid;justify-items:center;gap:5px;height:100%;grid-template-rows:auto 1fr}
.mcf-step-no{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  background:#E9EBE8;
  color:#96A09A;
  font-size:13.5px;
  font-style:normal;
  font-weight:700
}
.mcf-step.is-current .mcf-step-no{background:var(--maya-green);color:#fff}
.mcf-step-line{
  width:2px;
  /* 竖线要穿过两步之间 18px 的网格间距,一直接到 2 号圆点(设计稿是连续的一条) */
  /* mcfFit=20260808-1:间距 18→12,补偿实测要 12px 才连得到 2 号圆点(8px 会差 4px) */
  height:calc(100% + 12px);
  min-height:34px;
  border-radius:2px;
  background:
    linear-gradient(var(--maya-green) 0 55%,transparent 55%),
    repeating-linear-gradient(180deg,#C8D2CB 0 4px,transparent 4px 8px)
}
.mcf-step-body{
  display:grid;
  /* mcfFit=20260808-1:56→48 */
  grid-template-columns:48px minmax(0,1fr);
  gap:13px;
  align-items:center;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:default
}
button.mcf-step-body{cursor:pointer}
button.mcf-step-body:active .mcf-step-tile{transform:scale(.95)}
.mcf-step-tile{
  display:grid;
  place-items:center;
  /* mcfFit=20260808-1:56→48 */
  width:48px;
  height:48px;
  border-radius:14px;
  background:var(--maya-mint);
  transition:transform .15s ease
}
.mcf-step-tile.is-muted{background:#EFF1EE}
.mcf-step-tile img{width:26px;height:26px}
.mcf-step-copy{display:grid;gap:5px;min-width:0}
.mcf-step-copy b{font-size:16.5px;line-height:1.25;font-weight:750}
.mcf-step-copy small{color:var(--maya-text-secondary);font-size:13px;line-height:1.35;font-weight:450}
.mcf-divider{margin:12px 0;border:0;border-top:1px solid var(--maya-border)}
.mcf-dup{
  display:flex;
  align-items:center;
  gap:11px;
  /* mcfFit=20260808-1:下距 16→10、最小高 50→44、内距 12/15→10/13 */
  margin:0 0 10px;
  min-height:44px;
  padding:10px 13px;
  border-radius:13px;
  background:var(--maya-mint);
  /* bgUnify=20260808-1:#2E9C63 → 品牌绿 */
  color:#41A236;
  font-size:14px;
  line-height:1.35;
  font-weight:600
}
.mcf-dup img{width:21px;height:21px;flex:0 0 auto}
.mcf-order{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:30px;
  font-size:15px;
  font-weight:600
}
.mcf-order>img{width:20px;height:20px;flex:0 0 auto}
.mcf-order-no{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.mcf-order-no b{font-weight:750;letter-spacing:.2px}
.mcf-copy{
  flex:0 0 auto;
  margin-left:auto;
  min-height:30px;
  border:0;
  padding:2px 4px;
  background:transparent;
  color:var(--maya-green);
  font:inherit;
  font-size:15px;
  font-weight:750;
  cursor:pointer
}
.mcf-copy:active{opacity:.7}
.mcf-query{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0;
  color:#5E6B63;
  font-size:15px;
  font-weight:550
}
.mcf-query-link{
  display:inline-flex;
  align-items:center;
  gap:3px;
  border:0;
  padding:6px 2px;
  background:transparent;
  color:var(--maya-green);
  font:inherit;
  font-weight:750;
  cursor:pointer
}
.mcf-query-link img{width:16px;height:16px}
.mcf-query-link:active{opacity:.7}
/* ---- 底部固定操作区(sticky:占文档流,永不遮住正文;自带安全区) ---- */
.mcf-sticky{
  position:sticky;
  bottom:0;
  z-index:3;
  /* mcfFit=20260808-1:上距 10→6、上下内距 12→10 */
  margin-top:6px;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));
  background:var(--maya-page-bg);
  box-shadow:0 -8px 18px -14px rgba(23,52,38,.25)
}
.mcf-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:50px;
  border:0;
  border-radius:15px;
  background:var(--maya-button-bg);
  color:var(--maya-button-text);
  font:inherit;
  font-size:17.5px;
  font-weight:800;
  letter-spacing:.5px;
  box-shadow:0 10px 20px -10px rgba(65,162,54,.55);
  cursor:pointer;
  transition:transform .15s ease
}
.mcf-primary img{width:18px;height:18px}
.mcf-primary:active{transform:scale(.98)}
.mcf-primary:disabled{opacity:.55;cursor:not-allowed}
.mcf-secure-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  /* mcfFit=20260808-1:10→7 */
  margin:7px 0 0;
  color:var(--maya-text-secondary);
  font-size:12.5px;
  font-weight:500
}
.mcf-secure-note img{width:15px;height:15px}
@media (max-width:359px){
  /* mcfFit=20260808-1:金额已改成 clamp 跟屏宽走,这里再写死 44px 反而比 clamp 算出来的还大,退役 */
  .mcf-pill{gap:10px;font-size:13.5px}
  .mcf-step-copy b{font-size:15px}
  /* 320:16 位订单号 + 复制按钮同行放不下 15px,降一档;仍放不下再由 ellipsis 兜底(复制始终是完整号) */
  .mcf-order{font-size:13.5px}
}
/* 主按钮文字真居中 — 2026-08-05
   原来 flex 把「文字+箭头」整组居中,文字被箭头(18px+7px 间距)挤得偏左 12.5px。
   改成 1fr/auto/1fr 三列:文字占中列 ⇒ 恒在按钮正中,箭头在第三列贴左挂在文字右侧。 */
.mcf-primary{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:0
}
.mcf-primary>span{grid-column:2}
.mcf-primary>img{grid-column:3;justify-self:start;margin-left:7px}

/* 首页快捷号码芯片 = 充值页同尺寸 + 充值页芯片下不留白 — 2026-08-06
   ①首页偏大的真凶:.home-compact-override .saved-item{padding:10px}(0,2,0)压过了
     共用芯片 .saved-chip 的 5px(0,1,0),只在首页把芯片撑到 49.3px;充值页是 38px。
     用 0,3,0 把首页芯片的内边距还给共用值,两页同高。
   ②充值页芯片下 12px 空白来自 503 那条老 .saved-shortcuts{margin-bottom:12px}
     (7074 的 flex 版只改了 display 没清 MB);两处宿主一起归零,首页那条 .card.qt 旧规则不冲突。 */
.home-compact-override .saved-chip.saved-item{
  padding:5px 12px 5px 5px
}
[data-saved-shortcuts]{
  margin-bottom:0
}
/* 追加:充值页号码卡 —— 芯片可见时收掉卡片底部内边距 — 2026-08-06
   上一步只清了宿主的 12px 外边距,卡片自身还有 14px padding-bottom + 宿主 2px,视觉仍是一条留白。
   芯片显示时把卡底收到 4px(芯片圆角自带呼吸感,真 0 会像被裁);未登录/没存号码时宿主 hidden,
   卡片回到正常 14px,不影响「Manual」提示行收底。 */
.v3-view[data-view="recharge"] .card.blk:has([data-saved-shortcuts]:not([hidden])){
  padding-bottom:4px
}

/* 三处弹窗改二级页 — 2026-08-06;2026-08-07 按用户图一(充值记录页)版式重做(subPages=20260807-3):
   白卡壳全部拆除,正文裸体落在 .service-body 灰底上,吃默认干净顶栏(大标题+灰副题+白圆返回)
   与共享 .hist-range 胶囊档 —— 与充值记录页同一套设计语言;列表照图一改成白卡面板/白卡行。
   两个娱乐入口页的 kind 已去 entertainment- 前缀(draw-results / wallet-records),不再吃娱乐区顶栏样式。 */
.service-page[data-service-kind="wallet-ledger"] .service-body,
.service-page[data-service-kind="draw-results"] .service-body,
.service-page[data-service-kind="wallet-records"] .service-body{
  display:block;
  /* drawTail=20260807-1:滚到底时最后一行与分页条贴边,页尾留白加厚 */
  padding-bottom:56px
}
/* 列表白卡下沿与最后一行之间补呼吸;分页条与白卡拉开距离 */
.service-page[data-service-kind="draw-results"] .ent-draw-history-list{padding-bottom:10px}
.service-page[data-service-kind="draw-results"] .dh-pager,
.service-page[data-service-kind="wallet-records"] .dh-pager{margin-top:16px}
/* 开奖结果:搜索框+档位与列表之间收成充值记录页的节奏;列表整块 = 白卡面板,行分隔线保留 */
.service-page[data-service-kind="draw-results"] .ent-draw-search{margin-bottom:12px}
.service-page[data-service-kind="draw-results"] .ent-draw-history-list{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:4px 14px 6px
}
/* drawNoScroll=20260808-1:这页是独立二级页,列表不该再套一层内滚动条(用户 2026-08-08)。
   7958 的 .ent-draw-history-full{max-height:52vh;overflow-y:auto} 是弹窗时代留下的,
   在这个 kind 里整条归零 —— 12 条一次性铺开,翻页交给下面的分页条 */
.service-page[data-service-kind="draw-results"] .ent-draw-history-full{
  max-height:none;
  overflow-y:visible
}
.service-page[data-service-kind="draw-results"] .ent-history-empty,
.service-page[data-service-kind="wallet-records"] .ent-history-empty{
  padding:44px 12px;
  color:var(--t2);
  font-size:13.5px
}
/* 钱包记录:时间档在上,流水整块 = 白卡面板 */
.service-page[data-service-kind="wallet-records"] [data-ewr-range-host]{display:block}
.service-page[data-service-kind="wallet-records"] .ent-wallet-record-list{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:2px 14px
}
/* 钱包明细:分类排贴顶(基础规则自带 15px 上距,这里归零对齐图一节奏);明细行本就是白卡行 */
.service-page[data-service-kind="wallet-ledger"] .ledger-filters{margin:0 0 12px}
.service-page[data-service-kind="wallet-ledger"] .ledger-list{margin-top:12px}

/* orderList=20260808-1:每张订单原本是独立白卡(边框+圆角+投影+11px 间距),叠在灰底上就是一摞方框
   (用户 2026-08-08「每个订单有一个独立的框,这个框去掉」)。改成一张白面板 + 行分隔线:
   面板由列表容器 .orders 承担,订单行只留分隔线。用 :has(> .order) 限定,
   免得空态/登录门(.records-empty 自带白卡)被套成双层卡 */
.orders-page-v2 .orders:has(> .order){
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(20,90,50,.05)
}
.orders-page-v2 .orders > .order{
  margin-top:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none
}
.orders-page-v2 .orders > .order + .order{border-top:1px solid var(--line)}
/* orderNo=20260808-1:单号完整显示后,金额 + 单号 + 复制键三样挤一行放不下 —— 会在「No.」后面折行,
   看起来像坏掉(用户 2026-08-08 圈图)。改成两行:第一行金额与复制键,第二行整串单号。
   单号 nowrap,单号再长也不会折;复制键从 .ono 里挪了出来(copyOrder 主路径读 .order[data-order-id],不受影响) */
.orders-page-v2 .order .mid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  row-gap:3px
}
.orders-page-v2 .order .mid .amt{grid-column:1;grid-row:1}
.orders-page-v2 .order .mid .copy{grid-column:2;grid-row:1;margin-left:auto}
.orders-page-v2 .order .mid .ono{
  grid-column:1 / -1;
  grid-row:2;
  min-width:0;
  justify-content:flex-start;
  white-space:nowrap
}
