/* Shared native text rendering and readable presentation; business handlers are unchanged. */
body, button, input, select, textarea {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    text-rendering: auto;
}
.main.game-skin .ft-labels a i,
.main.game-skin .ft-labels a em,
.main.game-skin .ft-list a i,
.main.game-skin .ft-list a em,
#game.ft-wrap .ft-labels a i,
#game.ft-wrap .ft-labels a em,
#game.ft-wrap .ft-list a i,
#game.ft-wrap .ft-list a em {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
}
/* Keep icon-font anti-aliasing separate from small Chinese copy. */
.iconfont { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Existing game badges redrawn as vector shapes with native Chinese text. */
.home-page .home-games a.ico-ssc span { background-image: url(../images/game/vector/ssc.svg) !important; }
.home-page .home-games a.ico-jsft span { background-image: url(../images/game/vector/jsft.svg) !important; }
.home-page .home-games a.ico-jssc span { background-image: url(../images/game/vector/jssc.svg) !important; }
.home-page .home-games a.ico-jsssc span { background-image: url(../images/game/vector/jsssc.svg) !important; }
.home-page .home-games a.ico-ft span { background-image: url(../images/game/vector/ft.svg) !important; }
.home-page .home-games a.ico-sgft span { background-image: url(../images/game/vector/sgft.svg) !important; }
.home-page .home-games a.ico-pk10 span { background-image: url(../images/game/vector/pk10.svg) !important; }
.home-page .home-games a.ico-azxysft span { background-image: url(../images/game/vector/azxysft.svg) !important; }
.home-page .home-games a.ico-azxywft span { background-image: url(../images/game/vector/azxywft.svg) !important; }
.home-page .home-games a.ico-jssscft span { background-image: url(../images/game/vector/jssscft.svg) !important; }
.home-page .home-games a.ico-azxybft span { background-image: url(../images/game/vector/azxybft.svg) !important; }
.home-page .home-games a.ico-xyftft span { background-image: url(../images/game/vector/xyftft.svg) !important; }
.home-page .home-games a.ico-twbgft span { background-image: url(../images/game/vector/twbgft.svg) !important; }
.home-page .home-games a.ico-jsscft span { background-image: url(../images/game/vector/jsscft.svg) !important; }

/* Press feedback uses compositor opacity only; no layout or hit-area changes. */
a:active, button:active, input[type=submit]:active { opacity: .82; }

/* Titles and arrows are real text/vector; raster backgrounds contain artwork only. */
.home-page .hot-banner.live.hd-ready { background-image:url(../images/hd/live-restored.jpg); background-image:image-set(url(../images/hd/live-restored.webp) type("image/webp"),url(../images/hd/live-restored.jpg) type("image/jpeg")); background-position:left center; }
.home-page .hot-banner.chess.hd-ready { background-image:url(../images/hd/chess-restored.jpg); background-image:image-set(url(../images/hd/chess-restored.webp) type("image/webp"),url(../images/hd/chess-restored.jpg) type("image/jpeg")); background-position:left center; }
.home-page .hot-banner.live, .home-page .hot-banner.chess { background-size:100% auto; }
.home-page .hot-banner strong { display:block; position:absolute; left:51%; right:8%; top:50%; transform:translateY(-50%); font-size:clamp(20px,4vw,34px); font-weight:700; white-space:nowrap; text-shadow:0 1px 2px rgba(0,0,0,.18); }
.home-page .hot-banner .go { display:block; position:absolute; width:24px; height:24px; right:8px; top:calc(50% - 12px); }
.home-page .hot-banner.sport { background-image:linear-gradient(110deg,#72d6f4,#2eaddf); }
.home-page .hot-banner.sport:before { content:''; display:block; position:absolute; left:0; top:0; bottom:0; width:40%; max-width:190px; background:url(../images/home/sport.png) left center / auto 100% no-repeat; }
.main.game-skin .ft-labels a i, #game.ft-wrap .ft-labels a i { font-size:14px !important; line-height:17px !important; }
.main.game-skin .ft-labels a em, #game.ft-wrap .ft-labels a em { font-size:13px !important; line-height:16px !important; }
.main.game-skin .line_box .line .tab a em, .main.game-skin .line_box .line .tab a o { text-rendering:auto; }
.footer.menu.nav5 a.foot_btn { font-size:13px; -webkit-font-smoothing:auto; text-rendering:auto; }
.footer.menu.nav5 a.foot_btn svg.ref-icon { shape-rendering:geometricPrecision; }

.admin-crisp { font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:13px; }
.admin-crisp .table-list td, .admin-crisp .table-list th { font-size:13px; }
html.site-nav-pending:before { content:''; position:fixed; top:0; left:0; width:100%; height:2px; z-index:2147483646; pointer-events:none; background:linear-gradient(90deg,#17a693 0%,#86e6cb 45%,#17a693 100%); background-size:200% 100%; animation:site-nav-progress .65s linear infinite; }
@keyframes site-nav-progress { to { background-position:-200% 0; } }
@media(prefers-reduced-motion:reduce){ html.site-nav-pending:before { animation:none; } }

/* Readable game names on narrow screens: native text, no scaled label bitmap. */
.home-page .home-games ul li { width:33.333333%; flex:0 0 33.333333%; max-width:33.333333%; }
.home-page .home-games ul li a {
    font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
    font-size:13px !important; font-weight:500; line-height:1.5 !important;
    color:#222 !important; padding:6px 4px 8px !important;
    overflow-wrap:anywhere; word-break:normal;
}
.home-page .home-games ul li a span { width:64px !important; height:64px !important; margin-bottom:8px !important; }
@media(min-width:600px) {
    .home-page .home-games ul li { width:25%; flex-basis:25%; max-width:25%; }
    .home-page .home-games ul li a { font-size:14px !important; }
}

/* Homepage entry copy stays as live browser text at every device pixel ratio. */
.home-page .quick-nav a { font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:14px; font-weight:500; line-height:21px; color:#222; }
.home-page .promo-grid a { overflow:hidden; }
.home-page .promo-grid a strong { display:block !important; position:absolute; bottom:0; left:0; right:0; margin:0; padding:7px 8px; box-sizing:border-box; font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:18px; line-height:24px; font-weight:600; text-align:right; color:#fff; background:linear-gradient(90deg,rgba(0,62,65,.32),rgba(0,62,65,.8)); text-shadow:none; }
.home-page .promo-grid a .en { display:none !important; }
.home-page .promo-grid .promo-app { background-size:contain; background-color:#e8faf6; background-image:url(../images/hd/app.jpg); }
.home-page .promo-grid .promo-app strong { font-size:16px; line-height:20px; padding:3px 8px; }
.home-page .promo-grid .promo-long strong { font-size:16px; line-height:20px; padding:3px 8px; background:linear-gradient(90deg,rgba(27,91,22,.25),rgba(27,91,22,.8)); }

.home-page .promo-grid .promo-chat { background-image:url(../images/hd/promo-chat.jpg); background-image:image-set(url(../images/hd/promo-chat.webp) type("image/webp"),url(../images/hd/promo-chat.jpg) type("image/jpeg")); }
.home-page .promo-grid .promo-long { background-image:url(../images/hd/promo-changlong.jpg); background-image:image-set(url(../images/hd/promo-changlong.webp) type("image/webp"),url(../images/hd/promo-changlong.jpg) type("image/jpeg")); }

/* Shared front-end reading styles; keep icon fonts and dense betting geometry separate. */
.main .team-tabs a, .main .promo-tabs a { font-size:13px; font-weight:500; flex:0 0 auto; min-width:64px; padding-left:7px; padding-right:7px; box-sizing:border-box; }
.main .report-table { font-size:14px; font-variant-numeric:tabular-nums; }
.main .report-table th { font-weight:600; white-space:nowrap; }
.main .report-table td { white-space:nowrap; }
.main .team-report-table { min-width:850px; }
.main .report-table em { font-style:normal; }
.main.game-skin .ft-sec-hd { color:#fff; font-weight:600; }
.main.game-skin .ft-list a i { font-weight:600; }

/* Betting header, results and controls: real text at explicit readable sizes. */
.main.game-skin .header.game-head .g-name { font-size:14px !important; font-weight:600; }
.main.game-skin .header.game-head .g-hall { font-size:14px !important; font-weight:500; }
.main.game-skin .header.game-head .g-bal { font-size:13px !important; font-variant-numeric:tabular-nums; }
.main.game-skin #qishu_now, .main.game-skin #qishu_next,
.main.game-skin #haoma_type, .main.game-skin #time,
.main.game-skin .lottery_next.g-util a,
.main.game-skin .trend-tabs a { font-size:14px !important; text-rendering:auto; }
.main.game-skin #haoma i { font-size:14px !important; font-weight:600; text-shadow:none !important; font-variant-numeric:tabular-nums; }
.main.game-skin .send_box.game-betbar .chip-row a.chip b { font-size:14px; font-weight:700; text-shadow:none; }
.main.game-skin .send_box.game-betbar .chip-row a.chip.on { transform:none; -webkit-transform:none; }
.main.game-skin .send_box.game-betbar .bet-act a,
.main.game-skin .send_box.game-betbar .bet-act input#money { font-size:16px; font-weight:500; }
.main.game-skin .send_box.game-betbar .bet-sum { font-size:14px; }
/* Five rows, whole CSS pixel cells; glyphs no longer translated by half a pixel. */
.main.game-skin .tan_box .tanbox { height:112px; min-height:112px; }
.main.game-skin .tan_box .tanbox ul { flex:0 0 22px; width:22px; min-width:22px; max-width:22px; box-sizing:border-box; }
.main.game-skin .tan_box .tanbox ul li { height:22px; box-sizing:border-box; }
.main.game-skin .tan_box .tanbox ul li i { width:18px; height:18px; line-height:18px; font-size:12px; font-weight:600; font-style:normal; left:1px; top:1px; transform:none; -webkit-transform:none; margin:0; text-shadow:none; text-rendering:auto; }

/* The fully opened panel must not retain a GPU text layer after its slide ends. */
.user-panel.on { transform:none; -webkit-transform:none; }
.user-panel .up-grid a { font-size:14px; font-weight:500; color:#222; }
.user-panel .up-info { font-size:15px; font-weight:500; font-variant-numeric:tabular-nums; }
.user-panel .up-logout { font-size:17px; font-weight:600; }
.user-panel .up-grid a svg.ref-icon { width:30px; height:30px; shape-rendering:geometricPrecision; }

.home-page .promo-grid .promo-chat { background-position:center bottom; }
.home-page .promo-grid .promo-long { background-size:110% auto; background-position:center bottom; }
.main:not(.game-skin) .up-grid a,
.main:not(.game-skin) .record-table,
.main:not(.game-skin) .report-filter,
.main:not(.game-skin) .record-filter,
.main:not(.game-skin) .team-table,
.main:not(.game-skin) .rules .msg,
.main:not(.game-skin) .cash-rules { font-size:14px; }
.main:not(.game-skin) .record-table th { font-weight:600; }
.main:not(.game-skin) input, .main:not(.game-skin) select,
.main:not(.game-skin) textarea, .main:not(.game-skin) button { font-family:inherit; font-size:14px; }

.auth-page.auth-login .auth-links,
.auth-page.auth-login .auth-links span,
.auth-page.auth-login .auth-form .remember-label { color:#25434b !important; font-size:14px; font-weight:500; }
.auth-page.auth-login .auth-form .auth-kefu,
.auth-page.auth-login .auth-links a { color:#076a60 !important; font-size:14px; font-weight:600; }
.auth-page .auth-form .inputxt { font-size:16px !important; color:#222; }
.auth-page .auth-form .inputxt::placeholder { color:#58636b; opacity:1; }
.auth-page .auth-form label { font-size:14px; }
.auth-page .auth-links { font-size:14px; }

.auth-page.auth-register .auth-form label { color:#25434b !important; font-weight:500; }
.auth-page.auth-register .auth-links, .auth-page.auth-register .auth-links span { color:#25434b !important; }
.auth-page.auth-register .auth-links a { color:#076a60 !important; font-weight:600; }

.admin-crisp, .admin-crisp input, .admin-crisp select, .admin-crisp textarea, .admin-crisp button { font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:14px; }
.admin-crisp .table-list td, .admin-crisp .table-list th,
.admin-crisp .search-form, .admin-crisp .content-menu,
.admin-crisp .left_menu a { font-size:14px; }
.admin-crisp .table-list th { font-weight:600; }
.admin-crisp .table-list td { font-variant-numeric:tabular-nums; }
.admin-crisp input::placeholder, .admin-crisp textarea::placeholder { color:#58636b; opacity:1; }

.main.game-skin .tan_box .tanbox { overflow-x:auto; overflow-y:hidden; touch-action:pan-x pan-y; -webkit-overflow-scrolling:touch; cursor:grab; }
.main.game-skin .tan_box .tanbox:active { cursor:grabbing; }
.home-page .header .home-user { font-size:14px; font-weight:500; }

@supports(background-image:image-set(url("x.webp") type("image/webp"))) {
    .home-page .promo-grid .promo-app { background-image:image-set(url(../images/hd/app.webp) type("image/webp"),url(../images/hd/app.jpg) type("image/jpeg")); }
}

.home-page .hot-banner.live:not(.hd-ready),.home-page .hot-banner.chess:not(.hd-ready) { background-image:none; }

/* Preserve the original closed-market overlay; clear text applies while open. */
.main.game-skin .game_box_shade { background:rgba(200,200,200,.35); }
#game.ft-wrap .ft-labels a i { color:#20272b !important; font-weight:600; }
#game.ft-wrap .ft-labels a em, #game.ft-wrap .ft-list a em { color:#b52b26 !important; font-weight:500; font-variant-numeric:tabular-nums; }
.main.game-skin .ft-svg { shape-rendering:geometricPrecision; }

.home-page .header.home-top a.home-user { font-size:14px; font-weight:500; min-height:44px; padding-left:8px; padding-right:8px; }
.home-page .header.home-top a.home-user i { font-size:18px; }

.main.game-skin .header.game-head .g-bal,
.main.game-skin .header.game-head .g-bal em { font-size:14px !important; font-weight:600; font-style:normal; color:#fff; text-shadow:none; }
.main.game-skin .header.game-head .ui-menu .iconfont { font-size:24px; color:#fff; }
.main.game-skin .lottery_next .today { font-size:14px; font-variant-numeric:tabular-nums; }

.kj-result-page .result-table { min-width:420px; }
.kj-result-page .kj-result { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.kj-result-page .result-table .th-qs { width:104px; }
.kj-result-page .result-table period { font-size:13px; color:#303b43; white-space:nowrap; }
.kj-result-page i.pk, .kj-center-page .kj-balls i.pk { font-size:14px; font-weight:600; }
.kj-result-page .ftr2 { font-size:14px; min-width:20px; height:20px; line-height:20px; }
.kefu-chat-page .kefu-tips { font-size:14px; color:#4e5962; }
.kefu-chat-page .kefu-status { font-size:13px; }
.kefu-chat-page .kefu-status.off { color:#56616b; }
.kefu-chat-page .km-empty { color:#57616b; font-size:14px; }
.kefu-chat-page .km-time { color:#626d76; font-size:13px; }
.kefu-chat-page .km-bubble { font-size:15px; line-height:1.6; }
.kefu-chat-page .kefu-input textarea { font-size:16px; }
.kefu-chat-page .kefu-input button { font-size:15px; font-weight:500; }

.side-panel { font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif; font-size:14px; }
.side-panel.on { transform:none; -webkit-transform:none; }
.side-panel .sp-empty, .side-panel .sp-list { font-size:14px; }
.side-panel .sp-order-detail .sp-sub,
.side-panel .sp-order-detail .sp-order-no,
.side-panel .sp-order-detail .sp-time { font-size:13px; color:#53636f; }
.side-panel .sp-sum { color:#303b43; font-variant-numeric:tabular-nums; }
.side-panel .sp-close { min-width:40px; text-align:center; }
.layui-layer .layui-layer-content { font-size:14px; line-height:1.6; }
.layui-layer .layui-layer-btn a { font-size:15px; }
.layui-layer .bet-confirm table { font-size:14px; font-variant-numeric:tabular-nums; }

.main .tfa-status small { font-size:13px; color:#59636e; }
.main .tfa-section p, .main .tfa-help p { font-size:14px; color:#535f69; }
.main .team-report-level { font-size:13px; }
.main .rules .msg, .main .rules .msg p, .main .rules .msg div { font-size:14px; line-height:1.75; }
.plan-shell-page .plan-tips, .main .plan-tips { font-size:14px; color:#515c66; }
.plan-shell-page .plan-input input:disabled, .main .plan-input input:disabled { color:#626d76; -webkit-text-fill-color:#626d76; opacity:1; }

/* Mobile picker measures the real select before hiding it; full-width forms remain responsive. */
.promote-form .mobile-select-trigger,
.profile-edit-box .mobile-select-trigger,
.auth-form .mobile-select-trigger { width:100% !important; box-sizing:border-box; }
.mobile-select-trigger, .mobile-picker-option { font-size:16px !important; }
.promote-tip { font-size:14px; color:#59636d; line-height:1.6; }

@media(max-width:360px) {
 .main.game-skin .send_box.game-betbar .bet-act a#allin,
 .main.game-skin .send_box.game-betbar .bet-act a#send { min-width:64px; padding:0 8px; box-sizing:border-box; }
 .main.game-skin .send_box.game-betbar .bet-act .money-wrap { min-width:96px; }
}

/* Fixed-height wide cards retain the portrait rather than cropping its face. */
@media(min-width:600px) { .home-page .promo-grid .promo-chat { background-position:center 20%; } }
@media(max-width:599px) { .home-page .promo-grid .promo-chat { background-size:112% auto; background-position:center bottom; } }
