/* ============================================================ trend.css - Trend chart page styles (content only) Covers: ssq, cjdlt, fc3d, pl3, pl5, kl8, qlc, qxc Header/footer styles are in public.css (unified .topbar/.site-footer) ============================================================ */ /* ---------------------------------------------------------- 1. Breadcrumb Bar ---------------------------------------------------------- */ .breadcrumb-bigbox { margin: 0 auto; margin-top: 30px; width: 1380px; display: flex; align-items: center; justify-content: space-between; } .breadcrumb-bar { font-size: 13px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .breadcrumb-bar a { color: var(--primary); transition: color 0.2s; text-decoration: none; display: inline-flex; align-items: center; gap: 3px; } .breadcrumb-bar a:hover { text-decoration: underline; } .breadcrumb-bar span { color: #d1d5db; } /* ---------------------------------------------------------- 2. Page Title Bar & Period Selector ---------------------------------------------------------- */ .page-title-bar { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: nowrap; } .page-title { font-size: 22px; font-weight: 700; color: var(--primary); position: relative; padding-left: 14px; border-left: 4px solid var(--gold); } .qishu { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-shrink: 0; } .qishu-but { padding: 6px 18px; border-radius: 20px; font-size: 13px; font-weight: 500; color: #555; background: #fff; border: 1px solid var(--border-light); cursor: pointer; transition: all 0.25s; user-select: none; white-space: nowrap; line-height: 1.5; } .qishu-but:hover { color: var(--primary); border-color: var(--primary); background: var(--bg-light); } .qishu-but.active { color: #fff; background: var(--primary); border-color: var(--primary); box-shadow: 0 2px 8px rgba(16, 43, 106, 0.25); } /* ---------------------------------------------------------- 3. Table Wrapper & Horizontal Scroll ---------------------------------------------------------- */ .table-wrapper { max-width: 1420px; margin: 12px auto 40px; padding: 0 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-wrapper::-webkit-scrollbar { height: 8px; } .table-wrapper::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } .table-wrapper::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 4px; transition: background 0.2s; } .table-wrapper::-webkit-scrollbar-thumb:hover { background: #999; } /* ---------------------------------------------------------- 4. Trend Table - Base ---------------------------------------------------------- */ .trend-table { width: max-content; min-width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); font-size: 12px; table-layout: auto; } .trend-table thead { position: sticky; top: 0; z-index: 10; } .trend-table thead tr:first-child td { background: var(--primary); color: #fff; font-weight: 600; padding: 10px 6px; text-align: center; border-color: rgba(255, 255, 255, 0.12); white-space: nowrap; font-size: 13px; } .trend-table thead tr:nth-child(2) td { background: #e8edf6; color: var(--primary); font-weight: 600; padding: 8px 4px; text-align: center; border-color: rgba(16, 43, 106, 0.08); white-space: nowrap; font-size: 12px; } .trend-table td { padding: 5px 5px; text-align: center; border: 1px solid var(--border-light); vertical-align: middle; white-space: nowrap; line-height: 1.4; } .trend-table tbody tr { transition: background 0.15s; } .trend-table tbody tr:hover { background: rgba(16, 43, 106, 0.03); } .trend-table tbody tr:nth-child(even) { background: rgba(244, 246, 251, 0.45); } .trend-table tbody tr:nth-child(even):hover { background: rgba(16, 43, 106, 0.05); } .trend-table tbody tr.trend-period-separator td { border-top: 2px solid rgba(245, 95, 122, 0.82); } /* ---------------------------------------------------------- 5. Issue & Code Columns (sticky left) ---------------------------------------------------------- */ .col-issue { font-weight: 600; color: var(--primary); min-width: 72px; background: #f0f3fa; position: sticky; left: 0; z-index: 5; } .trend-table thead .col-issue { background: var(--primary); color: #fff; z-index: 15; } .col-code { font-weight: 600; color: var(--text-default); min-width: 120px; background: #f0f3fa; position: sticky; left: 72px; z-index: 5; } .trend-table thead .col-code { background: var(--primary); color: #fff; z-index: 15; } .col-issue::after, .col-code::after { content: ""; position: absolute; top: 0; right: -6px; width: 6px; height: 100%; background: linear-gradient(90deg, rgba(0, 0, 0, 0.06), transparent); pointer-events: none; } .trend-table thead .col-issue::after, .trend-table thead .col-code::after { background: none; } .trend-open-code { display: inline-flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 6px; white-space: nowrap; color: #999; } .trend-open-number { display: inline-flex; align-items: center; justify-content: center; min-width: 10px; height: 18px; padding: 0; border-radius: 0; font-size: 12px; font-weight: 700; line-height: 18px; background: transparent !important; box-shadow: none !important; text-shadow: none !important; } .trend-open-red, .trend-open-pos1, .trend-open-pos2, .trend-open-pos3, .trend-open-pos4, .trend-open-pos5 { color: rgb(245, 95, 122); } .trend-open-blue { color: rgb(64, 137, 226); } .trend-open-separator { color: var(--primary); font-weight: 800; margin: 0 2px; } .trend-open-empty { color: var(--text-muted); font-weight: 600; } /* ---------------------------------------------------------- 6. Zone Header Colors ---------------------------------------------------------- */ .zone-red-header { background: linear-gradient(135deg, #e74c3c, #f15a22) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-blue-header { background: linear-gradient(135deg, #102b6a, #3b6fd4) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-front-header { background: linear-gradient(135deg, #e74c3c, #f15a22) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-back-header { background: linear-gradient(135deg, #102b6a, #3b6fd4) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-type { background: var(--purple) !important; color: #fff !important; font-size: 14px !important; } .zone-hundred { background: linear-gradient(135deg, #f15a22, #e67e22) !important; color: #fff !important; font-size: 14px !important; } .zone-ten { background: linear-gradient(135deg, #27ae60, #2ecc71) !important; color: #fff !important; font-size: 14px !important; } .zone-unit { background: linear-gradient(135deg, #102b6a, #3b6fd4) !important; color: #fff !important; font-size: 14px !important; } .zone-p1 { background: #e74c3c !important; color: #fff !important; font-size: 14px !important; } .zone-p2 { background: #f39c12 !important; color: #fff !important; font-size: 14px !important; } .zone-p3 { background: #27ae60 !important; color: #fff !important; font-size: 14px !important; } .zone-p4 { background: #2980b9 !important; color: #fff !important; font-size: 14px !important; } .zone-p5 { background: #8e44ad !important; color: #fff !important; font-size: 14px !important; } .zone-g1 { background: linear-gradient(135deg, #e74c3c, #f15a22) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-g2 { background: linear-gradient(135deg, #102b6a, #3b6fd4) !important; color: #fff !important; font-size: 14px !important; letter-spacing: 1px; } .zone-z1 { background: #e74c3c !important; color: #fff !important; font-size: 14px !important; } .zone-z2 { background: #27ae60 !important; color: #fff !important; font-size: 14px !important; } .zone-z3 { background: #3b6fd4 !important; color: #fff !important; font-size: 14px !important; } .zone-sp { background: linear-gradient(135deg, #f5a623, #fdb933) !important; color: #fff !important; font-size: 14px !important; } .zone-0to9 { background: var(--primary-light) !important; color: #fff !important; font-size: 14px !important; } .zone-last { background: linear-gradient(135deg, #f15a22, #e67e22) !important; color: #fff !important; font-size: 14px !important; } /* ---------------------------------------------------------- 7. Hit & Miss Ball Styles ---------------------------------------------------------- */ .hit-red { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f15a22, #e74c3c); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(241, 90, 34, 0.35); } .NumberText { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: #c5c5c5; font-size: 11px; font-weight: 400; } .NumberText.redok, .typeText.redok { border-radius: 50%; background: linear-gradient(135deg, #f15a22, #e74c3c); color: #fff; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(241, 90, 34, 0.35); } .NumberText.blueok, .typeText.blueok { border-radius: 50%; background: linear-gradient(135deg, #102b6a, #3b6fd4); color: #fff; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(16, 43, 106, 0.35); } .trend-table .hit-hundred, .trend-table .hit-ten, .trend-table .hit-unit, .trend-table .hit-pos1, .trend-table .hit-pos2, .trend-table .hit-pos3, .trend-table .hit-pos4, .trend-table .hit-pos5, .trend-table .hit-p1, .trend-table .hit-p2, .trend-table .hit-p3, .trend-table .hit-p4, .trend-table .hit-p5, .trend-table .hit-p6, .trend-table .hit-p7, .trend-table .hit-num, .trend-table .hit-num.g2, .trend-table .hit-main { background: linear-gradient(135deg, #f15a22, #e74c3c); box-shadow: 0 2px 6px rgba(241, 90, 34, 0.35); } .trend-table .hit-blue, .trend-table .hit-special { background: linear-gradient(135deg, #102b6a, #3b6fd4); box-shadow: 0 2px 6px rgba(16, 43, 106, 0.35); } .hit-blue { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #102b6a, #3b6fd4); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(16, 43, 106, 0.35); } .miss-num { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: #c5c5c5; font-size: 11px; font-weight: 400; } .hit-hundred { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f15a22, #e74c3c); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(241, 90, 34, 0.35); } .hit-ten { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #27ae60, #2ecc71); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(39, 174, 96, 0.35); } .hit-unit { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #102b6a, #3b6fd4); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(16, 43, 106, 0.35); } .type-baozi { display: inline-block; padding: 2px 6px; border-radius: 4px; background: linear-gradient(135deg, #e74c3c, #c0392b); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; } .type-zu3 { display: inline-block; padding: 2px 6px; border-radius: 4px; background: linear-gradient(135deg, #f39c12, #e67e22); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; } .type-zu6 { display: inline-block; padding: 2px 6px; border-radius: 4px; background: linear-gradient(135deg, #3b6fd4, #2980b9); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; } .type-empty { display: inline-block; padding: 2px 6px; border-radius: 4px; color: #d0d0d0; font-size: 11px; font-weight: 400; } /* ---------------------------------------------------------- 8. PL5 Position Hit Balls ---------------------------------------------------------- */ .hit-pos1 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #e74c3c, #c0392b); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(231, 76, 60, 0.35); } .hit-pos2 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f39c12, #e67e22); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(243, 156, 18, 0.35); } .hit-pos3 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #27ae60, #2ecc71); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(39, 174, 96, 0.35); } .hit-pos4 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #2980b9, #3b6fd4); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(41, 128, 185, 0.35); } .hit-pos5 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #8e44ad, #9b59b6); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(142, 68, 173, 0.35); } /* ---------------------------------------------------------- 9. QXC Position Hit Balls ---------------------------------------------------------- */ .hit-p1 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #e74c3c, #c0392b); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(231, 76, 60, 0.35); } .hit-p2 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f39c12, #e67e22); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(243, 156, 18, 0.35); } .hit-p3 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #27ae60, #2ecc71); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(39, 174, 96, 0.35); } .hit-p4 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #2980b9, #3b6fd4); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(41, 128, 185, 0.35); } .hit-p5 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #8e44ad, #9b59b6); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(142, 68, 173, 0.35); } .hit-p6 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #16a085, #1abc9c); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(22, 160, 133, 0.35); } .hit-p7 { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f15a22, #e67e22); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(241, 90, 34, 0.35); } /* ---------------------------------------------------------- 10. KL8 Hit Balls ---------------------------------------------------------- */ .hit-num { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #e74c3c, #f15a22); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(231, 76, 60, 0.35); } .hit-num.g2 { background: linear-gradient(135deg, #102b6a, #3b6fd4); box-shadow: 0 2px 6px rgba(16, 43, 106, 0.35); } /* ---------------------------------------------------------- 11. QLC Hit Balls ---------------------------------------------------------- */ .hit-main { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #e74c3c, #f15a22); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(231, 76, 60, 0.35); } .hit-special { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #f5a623, #fdb933); color: #fff; font-size: 11px; font-weight: 700; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18); box-shadow: 0 2px 6px rgba(253, 185, 51, 0.4); } /* ---------------------------------------------------------- 12. Statistics Rows ---------------------------------------------------------- */ .stat-row td { font-size: 12px; font-weight: 500; color: var(--text-muted); padding: 5px 5px; border-top: 1px solid var(--border-light); background: #f0f3fa; } .stat-row:first-child td { border-top: 3px solid var(--primary); } .stat-row.alt td { background: #e8edf6; } .stat-label { text-align: left !important; font-weight: 700 !important; color: #fff !important; background: var(--primary) !important; padding-left: 10px !important; } /* ---------------------------------------------------------- 13. Responsive - Tablet (max-width: 1024px) ---------------------------------------------------------- */ @media (max-width: 1024px) { .breadcrumb-bar { padding: 10px 16px 0; font-size: 12px; } .page-title-bar { padding: 8px 16px 12px; } .page-title { font-size: 19px; } .qishu-but { padding: 5px 14px; font-size: 12px; } .table-wrapper { padding: 0 12px; margin-bottom: 30px; } .trend-table { font-size: 11px; } .trend-table thead tr:first-child td { padding: 8px 4px; font-size: 12px; } .trend-table thead tr:nth-child(2) td { padding: 6px 3px; font-size: 11px; } .trend-table td { padding: 4px 3px; } .col-issue { min-width: 62px; } .col-code { min-width: 100px; left: 62px; } .hit-red, .hit-blue, .hit-hundred, .hit-ten, .hit-unit, .hit-pos1, .hit-pos2, .hit-pos3, .hit-pos4, .hit-pos5, .hit-p1, .hit-p2, .hit-p3, .hit-p4, .hit-p5, .hit-p6, .hit-p7, .hit-num, .hit-main, .hit-special, .miss-num { width: 20px; height: 20px; font-size: 10px; } } /* ---------------------------------------------------------- 14. Responsive - Mobile (max-width: 768px) ---------------------------------------------------------- */ @media (max-width: 768px) { .breadcrumb-bar { padding: 8px 12px 0; font-size: 12px; } .page-title-bar { padding: 6px 12px 10px; flex-direction: column; align-items: flex-start; gap: 10px; } .qishu { margin-left: 0; flex-shrink: 1; } .page-title { font-size: 17px; } .qishu-but { padding: 4px 12px; font-size: 12px; } .table-wrapper { padding: 0 8px; margin-bottom: 24px; } .trend-table { font-size: 10px; } .trend-table thead tr:first-child td { padding: 7px 3px; font-size: 11px; } .trend-table thead tr:nth-child(2) td { padding: 5px 2px; font-size: 10px; } .trend-table td { padding: 3px 2px; } .col-issue { min-width: 54px; font-size: 10px; left: 0; } .col-code { min-width: 80px; font-size: 10px; left: 54px; } .hit-red, .hit-blue, .hit-hundred, .hit-ten, .hit-unit, .hit-pos1, .hit-pos2, .hit-pos3, .hit-pos4, .hit-pos5, .hit-p1, .hit-p2, .hit-p3, .hit-p4, .hit-p5, .hit-p6, .hit-p7, .hit-num, .hit-main, .hit-special, .miss-num { width: 18px; height: 18px; font-size: 9px; } .type-baozi, .type-zu3, .type-zu6, .type-empty { font-size: 9px; padding: 1px 4px; } .stat-row td { font-size: 10px; padding: 3px 2px; } .stat-label { font-size: 10px !important; padding-left: 6px !important; } } /* ---------------------------------------------------------- 15. Responsive - Small Mobile (max-width: 480px) ---------------------------------------------------------- */ @media (max-width: 480px) { .page-title { font-size: 15px; } .qishu-but { padding: 3px 10px; font-size: 11px; } .trend-table { font-size: 9px; } .trend-table thead tr:first-child td { padding: 6px 2px; font-size: 10px; } .trend-table thead tr:nth-child(2) td { padding: 4px 1px; font-size: 9px; } .trend-table td { padding: 2px 1px; } .col-issue { min-width: 46px; left: 0; } .col-code { min-width: 68px; left: 46px; } .hit-red, .hit-blue, .hit-hundred, .hit-ten, .hit-unit, .hit-pos1, .hit-pos2, .hit-pos3, .hit-pos4, .hit-pos5, .hit-p1, .hit-p2, .hit-p3, .hit-p4, .hit-p5, .hit-p6, .hit-p7, .hit-num, .hit-main, .hit-special, .miss-num { width: 16px; height: 16px; font-size: 8px; } .type-baozi, .type-zu3, .type-zu6, .type-empty { font-size: 8px; padding: 1px 3px; } .stat-row td { font-size: 9px; padding: 2px 1px; } .stat-label { font-size: 9px !important; padding-left: 4px !important; } }