/* Shared public-site palette. Page-specific layouts and number wave colors follow. */
:root {
  --ui-ink:#35230f; --ui-muted:#715532; --ui-line:#d3ae62;
  --ui-paper:#f6e1ab; --ui-field:#faeac3; --ui-gold:#e8bb50; --ui-shadow:0 12px 32px #84541620;
}
html { min-height:100%; background:#f3d175; }
body {
  margin:0; min-height:100vh; color:var(--ui-ink);
  font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;
  background:radial-gradient(ellipse 90% 620px at 50% 0,#fff0b0,transparent 75%),linear-gradient(125deg,#d8a333,#f6d882 48%,#e4b64d);
  -webkit-font-smoothing:antialiased;
}
body :is(input,select,textarea,button) { font-family:inherit; }
body :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #87560e; outline-offset:3px; }
body .site-nav-shell {
  background:linear-gradient(110deg,#714113,#916021,#714113); border-bottom:1px solid #ffe6a1;
  box-shadow:0 4px 18px #75470e26;
}
body .nav-row .nav-item { background:transparent; border-color:#e8c17533; color:#fff0c3; font-weight:600; }
body .nav-row .nav-item:hover { background:#ffdc8320; color:#fff8df; }
body .nav-row .nav-item.active { background:#ffdc831a; color:#fff5d0; box-shadow:inset 0 -2px #f5cc70; }
body .page-container { color:var(--ui-ink); background:transparent; }
body .public-footer { color:var(--ui-muted); background:transparent; border-color:#bd8c3766; }
body .public-footer :is(strong,a) { color:#513616; }
body .public-footer :is(small,p) { color:var(--ui-muted); }
body :is(.public-dock,.site-bottom-nav) { background:linear-gradient(#fff1c3,#eec775); border-color:#b9862e; box-shadow:0 -3px 16px #8253141f; }
body .dock-item { color:#593713; border-color:#fff0b7; background:linear-gradient(#fff1c1,#e4b853); box-shadow:0 3px 10px #86551d26; }
body .dock-item:hover { color:#42290c; background:linear-gradient(#fff7d7,#f0ca73); box-shadow:0 4px 14px #86551d33; }
body .dock-item.active { color:#35200c; background:#d6a24233; }
body :is(.public-floating-top,.support-overlay-minimized,.global-recharge-float,.global-floating-top) { border:1px solid #a57327; background:linear-gradient(120deg,#ffe8a1,#e5b241); color:#513112; box-shadow:0 5px 18px #88561933; }
body .ad-slot { border-color:#d3ac5b; border-radius:8px; background:#fff0bf; }
body .ad-slot :is(.ad-copy,.ad-cta) { color:#593a15; }
body .ad-slot .ad-label { border:1px solid #bf9139; background:#f0ca71; color:#503310; border-radius:3px; }

/* Login and registration use an engraved panel, with a desktop illustration. */
body .auth-shell {
  box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px);
  align-items:center; gap:50px; width:min(1080px,100%); min-height:calc(100svh - 100px);
  margin:0 auto; padding:48px 28px 72px;
}
body .auth-shell::before {
  content:"新澳 · 多金宝\A 开奖资讯与精选资料"; white-space:pre-line;
  display:block; align-self:stretch; justify-self:stretch; min-height:410px; box-sizing:border-box;
  padding:30px 8px 0; color:#543311; font-size:clamp(20px,2.4vw,30px); font-weight:700; line-height:2.1; letter-spacing:.08em;
  background:url("./treasury-engraving.svg") center 70% / 100% auto no-repeat;
  text-align:center; text-shadow:0 1px #fff3c9; pointer-events:none;
}
body .auth-card {
  position:relative; box-sizing:border-box; width:100%; max-width:460px; min-width:0;
  padding:38px 34px 30px; border:1px solid #b48129; border-radius:18px;
  background:linear-gradient(145deg,#f6dfa0,#ffe5a0 36%,#f3d690 100%);
  box-shadow:inset 0 0 0 5px #fff0b87a,inset 0 0 0 6px #b8812429,0 22px 60px #70420f2b;
}
body .auth-card::before {
  content:""; display:block; width:100%; height:15px; margin:0 0 23px;
  background:url("./gilded-frame.svg") center / 100% 130px no-repeat;
  pointer-events:none;
}
body .auth-card .eyebrow { color:#885610; font-size:12px; font-weight:700; letter-spacing:.16em; }
body .auth-card h1 { margin:12px 0; color:#38230d; font-size:30px; letter-spacing:.035em; line-height:1.4; }
body .auth-card > p { margin-bottom:25px; color:#72512c; font-size:14px; line-height:1.8; }
body .auth-form { gap:18px; }
body :is(.auth-form,.account-password-form) label { color:#4c3214; font-size:14px; font-weight:600; line-height:1.7; }
body :is(.auth-form,.account-password-form) input {
  box-sizing:border-box; min-height:48px; width:100%; padding:11px 13px;
  border:1px solid #c9a45e; border-radius:7px; background:var(--ui-field); color:#35230f;
  box-shadow:inset 0 2px 4px #9a6a1810; font-size:15px;
}
body :is(.auth-form,.account-password-form) input::placeholder { color:#887150; }
body :is(.auth-form,.account-password-form) input:focus { border-color:#926117; box-shadow:0 0 0 3px #ca982a26; }
body :is(.auth-form,.account-password-form) button,
body :is(.account-action-primary,.picker-action.primary,.trend-query) {
  border:1px solid #a87621; border-radius:7px; background:linear-gradient(115deg,#ffe5a0,#e7b442 52%,#f9d781);
  color:#40280c; font-weight:700; box-shadow:inset 0 1px #fff5c9,0 4px 10px #9c6b2226;
}
body .auth-form button { min-height:49px; margin-top:4px; font-size:16px; letter-spacing:.06em; }
body .auth-form button:hover:not(:disabled) { background:linear-gradient(115deg,#ffefba,#f1c45b,#ffe49d); }
body :is(.auth-forgot-link,.auth-switch a,.back-home,.account-back-link) { color:#775015; text-underline-offset:4px; }
body .auth-switch { border-color:#e0c17e; color:#775d39; }
body .auth-card .back-home { display:block; margin-top:22px; font-size:13px; }
body .auth-secondary-button { border-color:#c19b50; background:#fff2ca; color:#634319; border-radius:7px; }
body .slider-captcha-label { color:#654620; }
body .auth-form .slider-captcha-refresh { color:#79531d; background:transparent; border:0; box-shadow:none; }
body .slider-captcha-track { background:#f8e9c0; border-color:#d0aa61; }
body :is(.form-error,.support-send-error,.trend-refresh-error) { border-color:#d7a791; background:#fff0e8; color:#96381f; border-radius:6px; }

/* Shared cards, table headers, filters and pagination. */
body :is(.content-card,.classic-card,.trend-chart-card,.picker-result-board,.picker-options,.picker-stat-popover) {
  border:1px solid var(--ui-line); border-radius:12px; background:var(--ui-paper);
  color:var(--ui-ink); box-shadow:var(--ui-shadow);
}
body :is(.classic-card-head,.page-head-bar,.page-head) {
  border-color:#c49a48; background:linear-gradient(112deg,#e8bd59,#ffe8a7 50%,#ddb047); color:#422b10;
}
body :is(.page-head,.page-head-bar,.classic-card-head) :is(h1,h2,h3,strong) { color:#39250e; text-shadow:none; }
body :is(.page-desc,.page-head-meta,.trend-source,.trend-scroll-tip,.draw-history-source,.picker-notice) { color:#775b33; }
body :is(.trend-filter,.picker-result-head,.picker-group-head,.picker-stat-head) { background:#f7e4ad; border-color:#d6b469; color:#533815; }
body :is(.trend-filter,.filter-bar,.picker-options,.classic-pagination,.page-head-meta,.picker-stat-controls) :is(select,input) {
  background:var(--ui-field); color:#4b3318; border:1px solid #c9a761; border-radius:5px; min-height:36px;
}
body :is(.classic-pagination,.picker-result-actions) :is(a,button),
body :is(.picker-action,.trend-record-link) {
  border:1px solid #c39b4c; background:#fff1c5; color:#614017; border-radius:6px;
}
body .classic-pagination :is(.active,[aria-current="page"]) { background:#936019; color:#fff2c8; border-color:#936019; }
body :is(.draw-table,.material-table,.trend-detail-table) { background:#f8e6b8; color:#49351d; border-color:#d7b977; }
body :is(.draw-table,.material-table,.trend-detail-table) th { background:#f0d58d; color:#50330e; border-color:#d8b66d; }
body :is(.draw-table,.material-table,.trend-detail-table) td { border-color:#ead7aa; }
body :is(.draw-table,.material-table,.trend-detail-table) tbody tr:nth-child(even) { background:#f0d89c; }
body :is(.draw-table,.material-table,.trend-detail-table) tbody tr:hover { background:#edcc7c; }
body .draw-table :is(.time-cell,.issue-cell) { color:#614627; }
body .draw-table .issue-no { color:#88421e; }
body .materials-panel { border-color:#d4b16b; background:var(--ui-paper); }
body :is(.material-toggle,.material-buy-button) { background:linear-gradient(#f6d685,#ddb04c); border-color:#b9872b; color:#4a2d0b; }
body :is(.material-count,.picker-empty,.picker-summary,.picker-stat-label,.picker-stat-asof,.picker-stat-foot) { color:#775d39; }
body .material-lock-panel { background:#fff0c6; border-color:#d6b266; color:#6f4c20; }
body .trend-summary-card { background:var(--ui-paper); border-color:#d5b26d; box-shadow:0 5px 18px #88601914; }
body .trend-summary-card :is(span,small,p) { color:#705632; }
body .trend-summary-card.is-total { background:linear-gradient(120deg,#e8bf65,#ffe9ab); }
body .trend-summary-card.is-total :is(strong,b) { color:#694010; }
body .trend-chart-head { border-color:#ddc17e; color:#523715; }
body .trend-chart-head :is(h2,h3) { color:#523715; }
body .trend-chart-detail { border-color:#d6b26a; color:#6e4b1a; background:#fff1c5; }
body .trend-chart-wrap { background:#f8e7bd; border-color:#d4b56f; }
body .trend-chart-wrap svg text { fill:#6a5031; }
body .picker-slot-placeholder { border-color:#ccaa66; background:#f9eac3; color:#90764c; }
body .picker-stat-scrim { background:#39230966; }
body .picker-stat-grid > * { background:#fff3d1; border-color:#e0c384; }
body .picker-stat-value { color:#573612; }

/* Account overview, wallet and membership details share the same paper surface. */
body .account-overview {
  border:1px solid #b78835; background:linear-gradient(120deg,#e6b547,#ffe5a0 55%,#f3cf7a);
  box-shadow:inset 0 0 0 4px #fff2c052,var(--ui-shadow);
}
body .account-avatar { color:#fff0c5; background:linear-gradient(135deg,#96651c,#624011); box-shadow:0 0 0 5px #fff1ba80; }
body .account-profile h1 { color:#3a250d; }
body :is(.account-profile,.account-summary-grid,.account-panel-heading,.account-balance-summary) :is(p,small,span) { color:#71512a; }
body .account-summary-grid > * { border-color:#d2ae60; background:#fff2c59c; }
body :is(.account-summary-grid,.account-balance-summary) :is(strong,b) { color:#6b3c0b; }
body .account-panel-heading { border-color:#e3c88a; }
body .account-panel-heading :is(h2,h3) { color:#513615; }
body :is(.account-badges span,.account-count-tag) { color:#75501c; background:#fff0ba; border-color:#d4ad59; }
body :is(.account-action-logout,.account-password-actions a) { background:#fff6df; border-color:#c9a76a; color:#694621; }
body :is(.account-access-list > *,.account-ledger > *) { border-color:#e2c998; }
body :is(.account-compact-empty,.account-ledger-empty,.account-security-tip) { background:#fbf0d5; color:#7b603b; border-color:#e1c58a; }
body .account-success { background:#edf4e5; color:#395b2c; border-color:#aec494; }
body .membership-plan-grid > div { background:var(--ui-paper); color:#513715; border-color:#cca65b; }
body .membership-plan-grid span { color:#755932; }

/* Customer service and its floating overlay keep familiar message alignment. */
body .support-page { background:#fff6df; border-color:#cba456; box-shadow:0 16px 42px #78501c29; }
body .support-chat-header { background:linear-gradient(115deg,#724815,#a37329); color:#fff0c4; box-shadow:0 4px 14px #6c441a24; }
body .support-chat-header h1 { color:#fff0c4; }
body .support-chat-header p { color:#f4dba8; }
body .support-agent-avatar { background:#fff0bc; color:#9c6920; }
body .support-account-strip, body .support-session-picker { background:#f9e7b6; color:#705128; border-color:#dfc07c; }
body .support-chat-body { background:linear-gradient(#f5dfaa,#eed397); scrollbar-color:#c39a4b transparent; }
body .support-bot-avatar { background:#bd913e; color:#fff6d8; }
body .support-bubble { background:var(--ui-field); border:1px solid #ccaa64; color:#47331b; box-shadow:0 3px 10px #9769180c; }
body .support-chat-line.user .support-bubble { background:linear-gradient(120deg,#eed089,#e4b957); color:#443012; border-color:#c79c43; }
body .support-bubble time,body .support-chat-line.user time { color:#8a7047; }
body .support-composer { background:var(--ui-paper); border-color:#ddc18a; }
body .support-composer :is(textarea,select),body .support-session-picker select { background:var(--ui-field); border-color:#d3b273; color:#44321c; }
body .support-composer textarea:focus { border-color:#ac7927; box-shadow:0 0 0 3px #cda24226; }
body .support-composer button { background:linear-gradient(130deg,#e7ba54,#bc882e); color:#3b270d; box-shadow:0 4px 12px #9c6b2526; }
body .support-composer button svg path+path { stroke:#e5b64a; }
body :is(.support-composer > label,.support-loading,.support-ready) { color:#7b613d; }
body :is(.support-image-picker,.support-emoji-picker > summary) { background:#fff1cb; color:#72501f; border-color:#d2b173; }
body :is(.support-emoji-picker > div,.support-image-preview) { background:var(--ui-field); border-color:#d2b173; }
body .support-message-link { color:#825309; }
body .support-overlay-actions button { background:#3f270f44; color:#fff2cb; }
body :is(.recharge-support-banner,.support-banner-main) { background:linear-gradient(115deg,#ffe9a7,#e8bd58); border-color:#c79a45; color:#563511; }
body .support-banner-copy :is(strong,span,p) { color:#563511; }
body .support-banner-action { background:#825414; color:#fff1c9; border-color:#94621f; }
body .support-claim-card { border-color:#d3ae67; background:#fff6df; }
body .support-claim-card > header { background:linear-gradient(110deg,#966324,#ba8b37); }
body .support-claim-card > a { background:#8e601e; color:#fff2c7; }
body .support-wallet-credit-card :is(strong,span) { color:#6c5029; }
body :is(.support-guest-recharge,.support-claim-card > p) { color:#735630; }

/* In-page purchase confirmation, opened in the browser's modal top layer. */
.zev-purchase-confirm {
  box-sizing:border-box; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 40px);
  margin:auto; padding:0; overflow:auto; border:1px solid #af7b23; border-radius:15px;
  background:linear-gradient(120deg,#f2d38b,#fae7b6,#efcf87); color:#402a11;
  box-shadow:0 24px 80px #32200d66,inset 0 0 0 4px #fff0b96b;
  font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;
}
.zev-purchase-confirm::backdrop { background:#2b1c0db3; backdrop-filter:blur(4px); }
.zev-confirm-header { display:flex; align-items:center; gap:12px; padding:21px 24px; background:linear-gradient(110deg,#724414,#91621f); border-bottom:1px solid #be923f; }
.zev-confirm-header h2 { margin:0; color:#fff0bf; font-size:21px; line-height:1.5; }
.zev-confirm-coin { display:grid; place-items:center; width:35px; height:35px; border:3px double #aa7725; border-radius:50%; background:linear-gradient(130deg,#fff2b4,#d8a238); color:#754a14; font:700 22px Georgia,serif; }
.zev-confirm-content { padding:24px; }
.zev-confirm-title { margin:0 0 10px; color:#38230e; font-size:17px; font-weight:700; line-height:1.6; overflow-wrap:anywhere; }
.zev-confirm-message { margin:0 0 19px; color:#71512b; font-size:13px; line-height:1.7; }
.zev-confirm-summary { margin:0 0 24px; padding:12px 15px; border:1px solid #cba356; border-radius:7px; background:#ebc87866; }
.zev-confirm-summary > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:7px 0; font-size:13px; }
.zev-confirm-summary dt { color:#71522a; }
.zev-confirm-summary dd { margin:0; color:#4b2e0c; font-weight:700; font-variant-numeric:tabular-nums; }
.zev-confirm-summary > div:first-child dd { color:#74400c; font-size:19px; }
.zev-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.zev-confirm-actions button { min-height:44px; border:1px solid #ae7c28; border-radius:7px; padding:10px 12px; font-family:inherit; font-weight:600; font-size:14px; line-height:1.5; cursor:pointer; }
.zev-confirm-cancel { background:#f9e8be; color:#71512a; }
.zev-confirm-submit { background:linear-gradient(120deg,#94601b,#70430f); color:#fff0c0; box-shadow:0 4px 10px #8b571a26; }
.zev-confirm-submit:hover { background:linear-gradient(120deg,#a57224,#835218); }
.zev-confirm-cancel:hover { background:#fff0ca; }
.zev-confirm-actions button:focus-visible { outline:3px solid #855613; outline-offset:3px; }

/* A compact login receipt; spending and recharge share three rows in total. */
.zev-login-summary { width:min(400px,calc(100vw - 32px)); }
.zev-login-summary .zev-confirm-header { padding:16px 22px; }
.zev-login-summary .zev-confirm-header h2 { font-size:19px; }
.zev-login-summary .zev-confirm-content { padding:20px 22px; }
.zev-login-details { color:#63451f; font-size:14px; line-height:1.6; margin-bottom:20px; }
.zev-login-welcome { margin:0 0 12px; overflow-wrap:anywhere; }
.zev-login-balance { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding:15px; border:1px solid #c69a47; border-radius:9px; background:linear-gradient(115deg,#edc15f,#ffe8ac,#edc66f); box-shadow:inset 0 1px #fff4c9; }
.zev-login-balance > span { flex-basis:100%; font-size:12px; color:#725022; }
.zev-login-balance strong { font:700 32px/1.2 Georgia,"Times New Roman",serif; font-variant-numeric:tabular-nums; color:#57340c; overflow-wrap:anywhere; }
.zev-login-balance small { color:#725022; }
.zev-login-ledger-heading { margin:19px 0 0; font-size:14px; color:#4f3212; }
.zev-login-ledger-hint { margin:2px 0 6px; font-size:11px; color:#795a31; }
.zev-login-ledger { margin:0; padding:0; list-style:none; }
.zev-login-ledger li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #cba25366; }
.zev-login-entry-copy { display:grid; gap:2px; }
.zev-login-entry-copy strong { font-size:13px; font-weight:600; color:#513615; }
.zev-login-entry-copy time { font-size:11px; color:#7c603a; }
.zev-login-ledger li > span { font-size:14px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.zev-login-credit { color:#3f6933; }
.zev-login-debit { color:#954b22; }
.zev-login-empty { color:#7b6038; font-size:13px; }
.zev-login-account { display:grid; place-items:center; min-height:44px; color:#705026; font-size:14px; text-decoration:none; border:1px solid #b28a46; border-radius:7px; background:#f9e8be; }
.zev-login-account:hover { color:#4c2e0d; background:#fff0ca; }
.zev-login-account:focus-visible { outline:3px solid #855613; outline-offset:3px; }

/* Empty and route-loading screens outside the public content wrapper. */
.page-state { border-color:#cc9e48; background:#fff1c6; color:#604019; border-radius:12px; }
.page-state.error { background:#fff0dc; color:#953d24; }
@media(max-width:820px) {
  body .public-floating-dock { background:linear-gradient(#fff2c8,#f0d08a); border-color:#bd9244; box-shadow:0 -4px 16px #80501626; }
  body .public-floating-dock .dock-item { background:transparent; border:0; box-shadow:none; }
  body .auth-shell { display:flex; flex-direction:column; justify-content:center; gap:0; min-height:calc(100svh - 100px); padding:28px 16px 50px; }
  body .auth-shell::before { display:none; }
  body .auth-card { max-width:460px; padding:29px 25px 27px; }
  body .auth-card h1 { font-size:27px; }
  body .auth-card::before { margin-bottom:17px; }
  body .support-page { box-shadow:none; }
}
@media(max-width:380px) {
  body .auth-shell { padding:20px 12px 40px; }
  body .auth-card { padding:25px 20px; }
}
