:root { --page-bg: #f6f7f7; --card-bg: rgba(255, 255, 255, 0.96); --text: #25282e; --muted: #8f9196; --line: #eef0f2; --mint: #43e7d8; --green: #25d878; --danger: #e85b5b; --shadow: 0 8px 22px rgba(36, 46, 60, 0.055); } * { box-sizing: border-box; } html, body { width: 100%; min-height: 100%; margin: 0; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; } body { display: flex; justify-content: center; background: #111; color: var(--text); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } button, input, select { font: inherit; } button { border: 0; padding: 0; background: transparent; color: inherit; } [hidden] { display: none !important; } .recharge-center { position: relative; width: 100%; max-width: 430px; min-height: 100vh; overflow: hidden; background: var(--page-bg); } .recharge-center[data-loading="true"] .title-bar, .recharge-center[data-loading="true"] .content, .recharge-center[data-loading="true"] .home-indicator { visibility: hidden; } .hero-bg { position: absolute; inset: 0 0 auto; height: 215px; background: radial-gradient(circle at 72% 4%, rgba(209, 255, 248, 0.98) 0, rgba(209, 255, 248, 0.88) 23%, rgba(209, 255, 248, 0) 48%), radial-gradient(circle at 14% 20%, rgba(185, 250, 244, 0.78) 0, rgba(185, 250, 244, 0) 35%), linear-gradient(151deg, #ccf7ef 0%, #ebfffa 58%, rgba(242, 255, 252, 0.7) 100%); clip-path: polygon(0 0, 100% 0, 100% 76%, 70% 47%, 40% 58%, 0 78%); } .title-bar, .content, .home-indicator { position: relative; z-index: 1; } .title-bar { display: grid; grid-template-columns: 44px minmax(0, 1fr) 56px; align-items: center; z-index: 12; min-height: 56px; padding: 8px 14px 6px; } .back-button, .language-button, .icon-button { display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #2c3036; } .back-button { width: 38px; height: 38px; } .back-button svg, .icon-button svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; } .back-button svg { width: 30px; height: 30px; stroke-width: 2.4; } .title-bar h1 { min-width: 0; margin: 0; overflow: hidden; color: #24282e; font-size: 19px; font-weight: 900; line-height: 1.2; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .language-switcher { position: relative; display: flex; justify-content: flex-end; } .language-button { width: auto; min-width: 42px; height: 32px; padding: 0 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.55); font-size: 12px; font-weight: 900; } .language-menu { position: absolute; top: 38px; right: 0; z-index: 30; display: grid; gap: 4px; min-width: 74px; padding: 8px; border: 1px solid rgba(34, 196, 180, 0.18); border-radius: 8px; background: #fff; box-shadow: 0 12px 24px rgba(22, 31, 42, 0.12); } .language-menu button { min-height: 30px; border-radius: 6px; font-size: 12px; font-weight: 850; } .language-menu button.is-active { background: #e7fbf8; color: #0aa397; } .content { display: grid; gap: 12px; padding: 8px 14px 32px; } .card { border-radius: 8px; background: var(--card-bg); box-shadow: var(--shadow); } .search-card, .coin-recharge-card, .auto-verify-card { display: grid; gap: 14px; padding: 16px; } .section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .section-title { color: #24282e; font-size: 16px; font-weight: 900; line-height: 1.2; } .section-subtitle { margin-top: 6px; color: #93959a; font-size: 12px; font-weight: 800; line-height: 1.2; } .icon-button { width: 34px; height: 34px; flex: 0 0 34px; background: #e7fbf8; color: #0aa397; } .icon-button svg { width: 21px; height: 21px; stroke-width: 2.2; } .search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; } .coin-recharge-form { display: grid; gap: 12px; } .auto-verify-toggle { min-width: 64px; min-height: 34px; padding: 0 12px; border-radius: 999px; background: #e7fbf8; color: #0aa397; font-size: 12px; font-weight: 950; } .auto-verify-form { display: grid; gap: 12px; } .auto-field { display: grid; gap: 7px; min-width: 0; } .auto-field span { color: #555b63; font-size: 12px; font-weight: 900; line-height: 1.2; } .auto-field input, .auto-field select { width: 100%; min-width: 0; height: 44px; border: 1px solid #e4eeee; border-radius: 8px; outline: 0; padding: 0 12px; background: #fbfdfd; color: #24282e; font-size: 14px; font-weight: 850; } .auto-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #7a7f87 50%), linear-gradient(135deg, #7a7f87 50%, transparent 50%); background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; } [dir="rtl"] .auto-field select { background-position: 18px 19px, 13px 19px; } .auto-field input:focus, .auto-field select:focus { border-color: rgba(21, 189, 169, 0.7); box-shadow: 0 0 0 3px rgba(21, 189, 169, 0.12); } .search-form input { width: 100%; min-width: 0; height: 44px; border: 1px solid #e4eeee; border-radius: 8px; outline: 0; padding: 0 12px; background: #fbfdfd; color: #24282e; font-size: 14px; font-weight: 800; } .search-form input:focus { border-color: rgba(21, 189, 169, 0.7); box-shadow: 0 0 0 3px rgba(21, 189, 169, 0.12); } .coin-input-shell { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 12px; border: 1px solid #e4eeee; border-radius: 8px; background: #fbfdfd; } .coin-input-shell:focus-within { border-color: rgba(21, 189, 169, 0.7); box-shadow: 0 0 0 3px rgba(21, 189, 169, 0.12); } .input-coin { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; } .coin-input-shell input { width: 100%; min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; color: #24282e; font-size: 16px; font-weight: 900; } .search-form button, .coin-recharge-form button, .auto-verify-form button, .package-button, .mini-action { min-height: 44px; border-radius: 8px; background: linear-gradient(135deg, #30dfb4, #15bda9); color: #fff; font-size: 14px; font-weight: 950; box-shadow: 0 8px 18px rgba(21, 189, 169, 0.24); } .search-form button { min-width: 88px; padding: 0 14px; } .coin-recharge-form button { width: 100%; padding: 0 14px; } .auto-verify-form button { width: 100%; padding: 0 14px; } .search-form button:disabled, .coin-recharge-form button:disabled, .auto-verify-form button:disabled, .package-button:disabled, .mini-action:disabled { opacity: 0.55; } .form-status, .payment-status { padding: 10px 12px; border-radius: 8px; background: #f1fbf9; color: #0b958a; font-size: 12px; font-weight: 850; line-height: 1.3; } .form-status.is-error, .payment-status.is-error { background: #fff3f3; color: var(--danger); } .profile-card { display: flex; align-items: center; min-height: 104px; padding: 16px; } .balance-card { display: grid; gap: 12px; padding: 16px; overflow: hidden; background: radial-gradient(circle at 88% 10%, rgba(75, 231, 216, 0.18), rgba(75, 231, 216, 0) 34%), linear-gradient(145deg, #ffffff 0%, #f8fffd 100%); } .balance-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .balance-label { color: #24282e; font-size: 15px; font-weight: 950; line-height: 1.2; } .balance-icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; } .history-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 10px; border-radius: 999px; background: #e7fbf8; color: #0aa397; font-size: 12px; font-weight: 950; } .history-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; } .gold-coin-icon { position: relative; overflow: hidden; border: 2px solid #f0ad17; background: radial-gradient(circle at 34% 28%, rgba(255, 255, 255, 0.72) 0 9%, rgba(255, 255, 255, 0) 25%), linear-gradient(145deg, #ffe88a 0%, #ffc928 47%, #f4a800 100%); box-shadow: inset 0 -3px 0 rgba(174, 111, 0, 0.16), inset 0 2px 0 rgba(255, 255, 255, 0.5); } .gold-coin-icon::before { content: ""; position: absolute; inset: 7px; border: 2px solid rgba(174, 111, 0, 0.24); border-radius: 50%; } .gold-coin-shine { position: absolute; top: 8px; left: 10px; width: 8px; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.72); transform: rotate(-28deg); } .balance-value { display: flex; align-items: center; gap: 9px; min-width: 0; color: #181d24; } .balance-coin { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; } .balance-value strong { min-width: 0; overflow-wrap: anywhere; font-size: 32px; font-weight: 950; line-height: 1.05; } .avatar-shell { display: flex; align-items: center; justify-content: center; overflow: hidden; width: 70px; height: 70px; flex: 0 0 70px; border-radius: 50%; background: linear-gradient(145deg, #d9fff5, #43e7d8); } .avatar-image { display: block; width: 100%; height: 100%; object-fit: cover; } .avatar-fallback { color: #0b5f56; font-size: 26px; font-weight: 950; } .profile-copy { min-width: 0; flex: 1; margin-left: 16px; } .role-pill { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 999px; background: #e7fbf8; color: #0b958a; font-size: 11px; font-weight: 900; } .name { margin-top: 7px; overflow: hidden; color: #25282e; font-size: 20px; font-weight: 900; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; } .self-profile-card .name { margin-top: 0; } .meta { margin-top: 6px; overflow: hidden; color: var(--muted); font-size: 13px; font-weight: 750; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .whatsapp-meta { display: flex; align-items: center; gap: 8px; } .whatsapp-meta span, .whatsapp-value-button { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .whatsapp-icon, .whatsapp-input-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: #e7fbf8; color: #0aa397; } .whatsapp-icon svg, .whatsapp-input-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; } .whatsapp-add-button { color: #0aa397; cursor: pointer; font-size: 13px; font-weight: 950; line-height: 1.2; } .whatsapp-value-button { max-width: 160px; color: var(--muted); cursor: pointer; font-size: 13px; font-weight: 750; line-height: 1.2; text-align: left; } .whatsapp-value-button:active, .whatsapp-add-button:active { color: #087f76; } .mini-action { min-width: 78px; min-height: 36px; margin-left: 10px; padding: 0 12px; font-size: 12px; } .mini-action-icon { width: 36px; min-width: 36px; padding: 0; font-size: 18px; line-height: 1; } .country-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; } .country-chip { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 46px; padding: 8px 10px; border: 1px solid #e4eeee; border-radius: 8px; background: #fbfdfd; } .country-chip.is-active { border-color: rgba(21, 189, 169, 0.6); background: #ecfffb; box-shadow: inset 0 0 0 1px rgba(21, 189, 169, 0.14); } .country-flag { display: flex; align-items: center; justify-content: center; overflow: hidden; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; background: #e7fbf8; color: #0b958a; font-size: 11px; font-weight: 950; } .country-flag img { width: 100%; height: 100%; object-fit: cover; } .country-name { min-width: 0; overflow: hidden; color: #464951; font-size: 13px; font-weight: 900; line-height: 1.2; text-align: left; text-overflow: ellipsis; white-space: nowrap; } .channel-list { display: grid; gap: 12px; } .channel-card { display: grid; gap: 12px; padding: 13px; border: 1px solid #eef0f2; border-radius: 8px; background: #fbfcfc; } .channel-head { display: flex; align-items: center; gap: 10px; min-width: 0; } .channel-icon { display: flex; align-items: center; justify-content: center; overflow: hidden; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 8px; background: #e9fbf4; color: #1f9d66; font-size: 14px; font-weight: 950; } .channel-icon img { width: 100%; height: 100%; object-fit: cover; } .channel-name { min-width: 0; overflow: hidden; color: #25282e; font-size: 15px; font-weight: 950; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; } .package-button { display: grid; justify-items: center; gap: 5px; min-width: 0; min-height: 92px; padding: 10px 6px; background: #fff; color: #25282e; border: 1px solid #eef0f2; box-shadow: none; } .coin-mark { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; } .package-content, .package-price { max-width: 100%; overflow-wrap: anywhere; text-align: center; line-height: 1.15; } .package-content { color: #4a4f58; font-size: 12px; font-weight: 850; } .package-price { color: #181d24; font-size: 14px; font-weight: 950; } .empty-state { padding: 14px; border-radius: 8px; background: #f7fbfa; color: #8b8d92; font-size: 13px; font-weight: 850; text-align: center; } .help-modal, .history-modal, .whatsapp-modal { position: fixed; inset: 0; z-index: 40; display: flex; align-items: center; justify-content: center; padding: 24px; } .modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.42); } .modal-dialog { position: relative; z-index: 1; display: grid; gap: 12px; width: min(100%, 360px); max-height: 80vh; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 20px 46px rgba(15, 23, 42, 0.22); } .modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 16px 0; } .modal-head h2 { margin: 0; color: #24282e; font-size: 18px; font-weight: 950; line-height: 1.2; } .modal-close { width: 30px; height: 30px; border-radius: 50%; background: #f2f6f6; color: #4b5563; font-size: 22px; line-height: 1; } .help-content { display: grid; gap: 8px; overflow-y: auto; padding: 0 16px 18px; -webkit-overflow-scrolling: touch; } .help-content h3, .help-content p { margin: 0; } .help-content h3 { color: #24282e; font-size: 15px; font-weight: 950; } .help-content p { color: #5d626b; font-size: 13px; font-weight: 750; line-height: 1.4; } .history-dialog { width: min(100%, 390px); } .whatsapp-dialog { width: min(100%, 360px); } .whatsapp-form { display: grid; gap: 12px; padding: 0 16px 18px; } .whatsapp-input-shell { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 44px; border: 1px solid #e4eeee; border-radius: 8px; padding: 0 12px; background: #fbfdfd; } .whatsapp-input-shell:focus-within { border-color: rgba(21, 189, 169, 0.7); box-shadow: 0 0 0 3px rgba(21, 189, 169, 0.12); } .whatsapp-form input { width: 100%; min-width: 0; height: 42px; border: 0; outline: 0; padding: 0; background: transparent; color: #24282e; font-size: 14px; font-weight: 850; } .whatsapp-form button { min-height: 44px; border-radius: 8px; background: linear-gradient(135deg, #30dfb4, #15bda9); color: #fff; font-size: 14px; font-weight: 950; box-shadow: 0 8px 18px rgba(21, 189, 169, 0.24); } .whatsapp-form button:disabled { opacity: 0.55; } .history-body { display: grid; gap: 12px; overflow-y: auto; padding: 0 16px 18px; -webkit-overflow-scrolling: touch; } .history-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; } .history-search-form input { min-width: 0; height: 40px; border: 1px solid #e4eeee; border-radius: 8px; outline: 0; padding: 0 10px; background: #fbfdfd; color: #24282e; font-size: 13px; font-weight: 800; } .history-search-form input:focus { border-color: rgba(21, 189, 169, 0.7); box-shadow: 0 0 0 3px rgba(21, 189, 169, 0.12); } .history-search-form button { min-width: 56px; min-height: 40px; padding: 0 10px; border-radius: 8px; background: #e7fbf8; color: #0aa397; font-size: 12px; font-weight: 950; } .history-search-form button[type="submit"] { background: linear-gradient(135deg, #30dfb4, #15bda9); color: #fff; box-shadow: 0 8px 18px rgba(21, 189, 169, 0.18); } .history-tabs { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 4px; border-radius: 8px; background: #f3f7f7; } .history-tab { min-height: 36px; border-radius: 7px; color: #7a7f87; font-size: 13px; font-weight: 950; } .history-tab.is-active { background: #fff; color: #0aa397; box-shadow: 0 5px 14px rgba(22, 31, 42, 0.07); } .history-status { padding: 10px 12px; border-radius: 8px; background: #f1fbf9; color: #0b958a; font-size: 12px; font-weight: 850; } .history-status.is-error { background: #fff3f3; color: var(--danger); } .history-list { display: grid; gap: 10px; } .history-record { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #eef0f2; border-radius: 8px; background: #fbfcfc; } .history-record-user { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; } .history-avatar { display: flex; align-items: center; justify-content: center; overflow: hidden; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: linear-gradient(145deg, #d9fff5, #43e7d8); color: #0b5f56; font-size: 16px; font-weight: 950; } .history-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; } .history-record-copy { min-width: 0; } .history-record-name, .history-record-account { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .history-record-name { color: #25282e; font-size: 14px; font-weight: 950; } .history-record-account { margin-top: 5px; color: var(--muted); font-size: 12px; font-weight: 800; } .history-record-side { display: grid; justify-items: end; gap: 5px; min-width: 88px; } .history-record-amount { color: #24282e; font-size: 13px; font-weight: 950; text-align: right; } .history-record-amount.is-income { color: #0aa397; } .history-record-amount.is-expense { color: #e09a00; } .history-record-time { color: var(--muted); direction: ltr; font-size: 11px; font-weight: 750; } .history-empty { display: grid; justify-items: center; gap: 6px; padding: 32px 14px; border-radius: 8px; background: #f7fbfa; color: #8b8d92; font-size: 13px; font-weight: 800; text-align: center; } .history-empty strong { color: #333840; font-size: 15px; font-weight: 950; } .history-load-more { min-height: 40px; border-radius: 8px; background: #e7fbf8; color: #0aa397; font-size: 13px; font-weight: 950; } .home-indicator { width: 134px; height: 5px; margin: 10px auto 8px; border-radius: 999px; background: #111; } .loading-mask { position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: rgba(246, 247, 247, 0.92); } .runner-stick { position: relative; width: 74px; height: 58px; color: #16b86d; } .runner-stick span { position: absolute; display: block; background: currentColor; } .runner-head { top: 0; left: 28px; width: 18px; height: 18px; border-radius: 50%; animation: runner-bob 0.5s linear infinite; } .runner-body { top: 18px; left: 36px; width: 5px; height: 23px; border-radius: 999px; transform-origin: top center; animation: runner-body 0.5s linear infinite; } .runner-arm, .runner-leg { left: 36px; width: 5px; border-radius: 999px; transform-origin: top center; } .runner-arm { top: 21px; height: 22px; } .runner-leg { top: 39px; height: 24px; } .runner-arm-front { animation: runner-arm-front 0.5s linear infinite; } .runner-arm-back { animation: runner-arm-back 0.5s linear infinite; } .runner-leg-front { animation: runner-leg-front 0.5s linear infinite; } .runner-leg-back { animation: runner-leg-back 0.5s linear infinite; } .runner-ground { left: 7px; bottom: 0; width: 58px; height: 4px; border-radius: 999px; opacity: 0.35; animation: runner-ground 0.5s linear infinite; } .loading-copy { color: #0b958a; font-size: 13px; font-weight: 950; letter-spacing: 0; } .toast { position: fixed; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom)); z-index: 70; max-width: min(330px, calc(100vw - 48px)); transform: translateX(-50%); padding: 10px 14px; border-radius: 999px; background: rgba(20, 27, 34, 0.92); color: #fff; font-size: 13px; font-weight: 850; line-height: 1.25; text-align: center; } body.modal-open { overflow: hidden; } [dir="rtl"] .language-menu { right: auto; left: 0; } [dir="rtl"] .profile-copy { margin-right: 16px; margin-left: 0; } [dir="rtl"] .mini-action { margin-right: 10px; margin-left: 0; } [dir="rtl"] .country-name { text-align: right; } [dir="rtl"] .history-record-side { justify-items: start; } [dir="rtl"] .history-record-amount { text-align: left; } @keyframes runner-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } } @keyframes runner-body { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } } @keyframes runner-arm-front { 0%, 100% { transform: rotate(60deg); } 50% { transform: rotate(-55deg); } } @keyframes runner-arm-back { 0%, 100% { transform: rotate(-55deg); } 50% { transform: rotate(60deg); } } @keyframes runner-leg-front { 0%, 100% { transform: rotate(-50deg); } 50% { transform: rotate(48deg); } } @keyframes runner-leg-back { 0%, 100% { transform: rotate(48deg); } 50% { transform: rotate(-50deg); } } @keyframes runner-ground { 0% { transform: translateX(7px) scaleX(0.75); } 100% { transform: translateX(-7px) scaleX(1); } } @media (max-width: 360px) { .title-bar { grid-template-columns: 40px minmax(0, 1fr) 50px; padding-right: 10px; padding-left: 10px; } .content { padding-right: 10px; padding-left: 10px; } .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }