.combo-group-block {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 18px;
    box-shadow: 0 2px 8px #00000014;
    padding: 0 0 8px;
    transition: background 0.3s;
}
.combo-group-header {
    font-size: 1.28rem;
    font-weight: 800;
    background: #f7f7f7;
    border-radius: 10px 10px 0 0;
    padding: 8px 20px 7px;
    border-bottom: 1px solid #eee;
    margin-bottom: 0;
    margin-top: 0;
    color: #222;
    transition:
    background 0.3s,
    color 0.3s;
    text-align: center;
}
.issue-no {
    font-size: 1.05rem;
    font-weight: 600;
    color: #333;
    vertical-align: middle;
}
.issue-number {
    color: #d90000;
    font-weight: 700;
}
.first-image-container {
    margin: 15px 0;
    padding: 12px;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #eee;
    text-align: center;
}
.first-image {
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px #0000001a;
    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
    cursor: pointer;
    display: block;
}
.first-image:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 16px #00000026;
}
.first-image-title {
    margin-top: 8px;
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
    line-height: 1.4;
}
.tab-banner {
    text-align: center;
    margin: 8px 0;
}
.tab-banner-img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}
@media (max-width: 768px) {
    .first-image {
        width: 100%;
        height: auto;
    }
    .first-image-container {
        padding: 8px;
        margin: 10px 0;
    }
    .first-image-title {
        font-size: 0.85rem;
    }
}
.panel-image-container {
    margin-top: 15px;
    padding: 12px;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #eee;
    text-align: center;
}
.combo-top-banner {
    text-align: center;
    margin: 8px 0;
}
.combo-top-banner-img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}
.panel-image {
    width: 100%;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px #0000001a;
    transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
    cursor: pointer;
    display: block;
}
.panel-image:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 16px #00000026;
}
.image-title {
    margin-top: 8px;
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
    line-height: 1.4;
}
@media (max-width: 768px) {
    .panel-image {
        width: 100%;
        height: auto;
    }
    .panel-image-container {
        padding: 8px;
        margin-top: 10px;
    }
    .image-title {
        font-size: 0.85rem;
    }
}
.jigong-nine-format {
    padding: 12px;
}
.jigong-item {
    background: #409eff;
    border-radius: 8px;
    padding: 8px;
    margin-bottom: 12px;
    border: 1px solid #e9ecef;
}
.jigong-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d9d9d9;
    background: #fff;
    font-size: 0.9rem;
}
.jigong-issue-header {
    text-align: center;
    font-weight: 700;
    color: #fff;
    font-size: 0.95rem;
    padding: 6px;
    border-bottom: 2px solid #d9d9d9;
    background: #409eff;
}
.jigong-line {
    display: table;
    width: 100%;
    margin-bottom: 2px;
    border: 1px solid #2c5aa0;
    border-radius: 4px;
    table-layout: fixed;
}
.jigong-label {
    display: table-cell;
    font-weight: 600;
    color: #fff;
    padding: 6px 4px;
    width: 55px;
    border-right: 2px solid #2c5aa0;
    font-size: 0.85rem;
    background: #409eff;
    vertical-align: middle;
}
.jigong-data {
    display: table-cell;
    color: #1890ff;
    padding: 6px 4px;
    text-align: center;
    font-size: 1rem;
    border-right: 2px solid #2c5aa0;
    background: #f8f9fa;
    vertical-align: middle;
}
.jigong-data.ten-codes {
    color: #722ed1;
    font-weight: 600;
    text-align: center !important;
    justify-content: center !important;
}
.jigong-data.ten-codes .zodiac-item {
    background: #f0f0f0;
    border-radius: 3px;
    padding: 1px 3px;
    margin: 0 1px;
    font-size: 0.9rem;
    display: inline-block;
}
.zodiac-item {
    display: inline;
    margin: 0;
    padding: 0;
}
.zodiac-hit {
    background-color: gold !important;
    color: #000 !important;
    font-weight: 700;
    padding: 0;
    margin: 0;
    border: none;
}
.ten-code-hit {
    background-color: #fffb8c !important;
    color: #000 !important;
    font-weight: 700;
    border: none;
}
.shuangbo-hit,
.jingzhun-hit {
    background-color: gold !important;
    color: #000 !important;
    font-weight: 700;
    padding: 0;
    margin: 0;
    border: none;
}
.jigong-status {
    display: table-cell;
    font-weight: 600;
    padding: 6px 4px;
    text-align: center;
    width: 80px;
    font-size: 0.85rem;
    background: #409eff;
    color: #fff;
    vertical-align: middle;
}
@media (min-width: 380px) {
    .jigong-data {
        font-size: 1.2rem;
    }
}
.jigong-issue-header .free-public {
    margin-left: 0;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #fff !important;
}
.jigong-issue-header .issue-number {
    color: #fff !important;
}
.six-tail-list {
    padding: 12px;
    background: #409eff;
    border-radius: 8px;
}
.six-tail-banner {
    text-align: center;
    margin-bottom: 8px;
    width: 100%;
}
.six-tail-banner-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
}
.six-tail-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
    transition: background 0.2s ease;
}
.six-tail-issue {
    font-size: 1.02rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
    text-align: center;
}
.six-tail-issue .issue-number {
    color: #d90000;
}
.six-tail-issue .six-tail-note {
    margin-left: 8px;
    font-size: 0.98rem;
    color: #333;
}
.combined-rules-block {
    padding: 10px 10px 4px;
}
.combined-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0 18px;
    background: #e6f0fa;
}
.combined-table th,
.combined-table td {
    border: 1px solid #bcd0ee;
    padding: 8px 6px;
    text-align: center;
}
.combined-table thead th {
    background: #2b7bd3;
    color: #fff;
}
.combined-table .col-issue-no,
.combined-table .issue-no {
    width: 70px;
    min-width: 70px;
    text-align: center;
    padding-left: 0;
}
.combined-table .issue-number {
    color: #d90000;
    font-weight: 700;
}
.combined-table td .hit-cell {
    background: #fffb8c;
    color: #000;
    border-radius: 4px;
    padding: 0 4px;
}
.matrix-img {
    text-align: center;
    margin-bottom: 8px;
}
.matrix-banner {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
.five-tail-list {
    background: #409eff;
    border-radius: 8px;
}
.five-tail-list .five-tail-issue {
    background: #409eff;
    color: #fff;
    border-radius: 6px;
    padding: 2px 6px;
}
.five-tail-list .five-tail-issue .issue-number,
.five-tail-list .five-tail-issue .five-tail-note {
    color: #fff;
}
.sm12-list {
    padding: 8px 10px 12px;
    background: #409eff;
    border-radius: 8px;
}
.sm12-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
}
.sm12-issue {
    text-align: center;
    font-size: 1.02rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 6px;
    background: #409eff;
    border-radius: 6px;
    padding: 4px 8px;
}
.sm12-issue .issue-prefix,
.sm12-issue .issue-number,
.sm12-issue .issue-suffix {
    color: #fff;
}
.sm12-rule-name {
    margin: 0 8px;
    color: #fff;
}
.sm12-status-text.hit,
.sm12-status-text.miss {
    color: #fff;
    margin-left: 8px;
}
.sm12-data {
    display: block;
    text-align: center;
}
.sm12-data .data-map-item {
    display: inline-block;
    margin-right: 6px;
    padding: 2px 6px;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 4px;
    font-size: 0.95rem;
}
.sm12-data .data-map-item.highlight {
    background: #d90000;
    color: #fff;
    font-weight: 700;
}
.sm12-numbers {
    margin-top: 6px;
}
.sm12-number-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 4px 0;
}
.sm12-num {
    display: inline-block;
    min-width: 28px;
    padding: 2px 6px;
    border-radius: 6px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
}
.sm12-num.hit {
    background: #fffb8c;
    color: #000;
    font-weight: 700;
}
.jgwx-list {
    padding: 8px 10px;
    background: #f22900;
    border-radius: 8px;
}
.jgwx-line {
    display: block;
    padding: 6px 8px;
    margin: 0;
    background: #f8f9fa;
    border: none;
    border-radius: 0;
    color: #333;
    text-align: center;
}
.jgwx-prefix {
    margin-right: 0;
    color: #409eff;
    font-weight: 700;
}
.jgwx-rule {
    margin: 0;
    color: #555;
    font-weight: 600;
}
.jgwx-map {
    display: inline-block;
    margin-right: 6px;
    padding: 0;
    border-radius: 4px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
}
.jgwx-map.hit {
    background: #fffb8c;
    color: #000;
}
.qizs-list {
    padding: 8px 10px;
    background: #07ee1f;
    border-radius: 8px;
}
.qizs-line {
    display: block;
    padding: 6px 8px;
    margin: 0;
    background: #f8f9fa;
    border: none;
    border-radius: 0;
    color: #333;
    text-align: center;
}
.qizs-prefix {
    margin-right: 0;
    color: #409eff;
    font-weight: 700;
}
.qizs-rule {
    margin: 0;
    color: #555;
    font-weight: 600;
}
.qizs-map {
    display: inline-block;
    margin-right: 6px;
    padding: 0;
    border-radius: 4px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
}
.qizs-map.hit {
    background: #fffb8c;
    color: #000;
}
.wssx-list {
    padding: 8px 10px;
    background: #07ee1f;
    border-radius: 8px;
}
.wssx-line {
    display: block;
    padding: 6px 8px;
    margin: 0;
    background: #f8f9fa;
    border: none;
    border-radius: 0;
    color: #333;
    text-align: center;
}
.wssx-prefix {
    margin-right: 0;
    color: #409eff;
    font-weight: 700;
}
.wssx-rule {
    margin: 0;
    color: #555;
    font-weight: 600;
}
.wssx-map {
    display: inline-block;
    margin-right: 6px;
    padding: 0;
    border-radius: 4px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
}
.wssx-map.hit {
    background: #fffb8c;
    color: #000;
}
.ptsx-list {
    padding: 8px 10px;
    background: #07ee1f;
    border-radius: 8px;
}
.ptsx-line {
    display: block;
    text-align: center;
    color: #333;
    background: #f8f9fa;
    border-radius: 0;
    padding: 0;
    font-size: 1.3rem;
}
.ptsx-text {
    font-weight: 700;
    color: #409eff;
}
.ptsx-rule {
    font-weight: 600;
    color: #555;
    margin-left: 2px;
}
.ptsx-map {
    display: inline-block;
    padding: 0 6px;
    margin: 0;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 0;
    font-weight: 600;
    font-size: 1.3rem;
}
.ptsx-map.hit {
    background: #fffb8c;
    color: #000;
}
.ptwy-list {
    padding: 8px 10px;
    background: #17e31a;
    border: 2px solid #17e31a;
    border-radius: 12px;
}
.ptwy-line {
    display: block;
    text-align: center;
    color: #333;
    background: #fff;
    border-radius: 0;
    padding: 2px 0;
    font-size: 1.32rem;
    line-height: 1.45;
}
.ptwy-text {
    font-weight: 700;
    color: #409eff;
}
.ptwy-rule {
    display: inline-block;
    margin: 0 4px;
    padding: 0 6px;
    background: #ededed;
    color: #555;
    font-weight: 600;
    border-radius: 2px;
}
.ptwy-map {
    display: inline-block;
    padding: 0 4px;
    margin: 0;
    background: transparent;
    color: #111;
    border-radius: 2px;
    font-weight: 600;
    font-size: 1.32rem;
}
.ptwy-map.hit {
    background: #fffb8c;
    color: #409eff;
}
.bzpt-list {
    padding: 8px 10px;
    background: #1890ff;
    border-radius: 8px;
}
.bzpt-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 10px;
    margin: 0 0 8px;
}
.bzpt-issue {
    text-align: center;
    color: #111;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.45;
    margin: 0 0 6px;
}
.bzpt-row {
    display: block;
    text-align: center;
    color: #333;
    background: #f8f9fa;
    border-radius: 0;
    padding: 2px 0;
    margin: 4px 0;
    font-size: 1.2rem;
}
.bzpt-row-1 .bzpt-tag {
    font-weight: 700;
    color: #d90000;
    margin-left: 6px;
}
.bzpt-row-2 .bzpt-tag,
.bzpt-row-3 .bzpt-tag,
.bzpt-row-4 .bzpt-tag {
    font-weight: 700;
    color: #409eff;
    margin-right: 6px;
}
.bzpt-map {
    display: inline-block;
    padding: 0 6px;
    margin: 0;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 0;
    font-weight: 600;
}
.bzpt-map.hit {
    background: #fffb8c;
    color: #000;
}
.jzqx-list {
    padding: 8px 10px;
    background: #1890ff;
    border-radius: 8px;
}
.jzqx-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 10px;
    margin: 0 0 8px;
}
.jzqx-row {
    display: block;
    text-align: left;
    color: #333;
    background: #f8f9fa;
    border-radius: 0;
    padding: 2px 0;
    margin: 4px 0;
    font-size: 1rem;
}
.jzqx-row-1 {
    text-align: center;
}
.jzqx-title {
    font-weight: 700;
    color: #409eff;
    margin-left: 6px;
}
.jzqx-status {
    display: inline-block;
    padding: 0 6px;
    border-radius: 12px;
    background: transparent;
    color: #333;
    font-weight: 700;
    margin-left: 6px;
}
.jzqx-status.hit {
    color: #fff;
    background: #d90000;
}
.jzqx-status.miss {
    color: #fff;
    background: #333;
}
.jzqx-tag {
    font-weight: 700;
    color: #409eff;
    margin-right: 6px;
}
.jzqx-map {
    display: inline-block;
    padding: 0;
    margin: 0;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 0;
    font-weight: 600;
}
.jzqx-map.hit {
    background: #fffb8c;
    color: #000;
}
.jzqx-num {
    display: inline-block;
    min-width: 28px;
    margin-left: 0;
    padding: 0;
    border-radius: 6px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 700;
}
.jzqx-num.hit {
    background: #fffb8c;
    color: #000;
}
.sjg-list {
    padding: 8px 10px;
    background: #1890ff;
    border-radius: 8px;
}
.sjg-line {
    display: block;
    text-align: center;
    color: #333;
    background: #f8f9fa;
    border-radius: 0;
    padding: 0;
    font-size: 1.3rem;
}
.sjg-text {
    font-weight: 700;
    color: #d90000;
    margin: 0 6px;
}
.sjg-map {
    display: inline-block;
    padding: 0 6px;
    margin: 0;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 0;
    font-weight: 600;
}
.sjg-map.hit {
    background: #fffb8c;
    color: #000;
}
.sjg-rule {
    margin-left: 6px;
    color: #d90000;
    font-weight: 600;
}
@media (max-width: 420px) {
    .tjlm-issue-row,
    .tjlm-map,
    .ptsx-line,
    .ptsx-map,
    .bzpt-issue,
    .bzpt-row,
    .sjg-line,
    .sjg-map,
    .sjg-rule {
        font-size: 0.9rem;
    }
}
.tjlm-list {
    padding: 8px 10px;
    background: #07ee1f;
    border-radius: 8px;
}
.tjlm-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 0;
    margin: 0 0 8px;
}
.tjlm-issue-row {
    display: block;
    text-align: center;
    color: #333;
    background: #f8f9fa;
    border-radius: 0;
    padding: 0;
    font-size: 1.5rem;
}
.tjlm-issue-row .tjlm-text,
.tjlm-issue-row .issue-prefix,
.tjlm-issue-row .issue-number,
.tjlm-issue-row .issue-suffix,
.tjlm-issue-row .tjlm-rule {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.tjlm-text {
    font-weight: 700;
    color: #409eff;
}
.tjlm-rule {
    font-weight: 600;
    color: #555;
    margin-left: 2px;
}
.tjlm-data-row {
    display: block;
    text-align: center;
}
.tjlm-map {
    display: inline-block;
    padding: 0 6px;
    margin: 0;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 0;
    font-weight: 600;
    font-size: 1.5rem;
}
.tjlm-map.hit {
    background: #fffb8c;
    color: #000;
}
.bpsx-list {
    padding: 8px 10px;
    background: #07ee1f;
    border-radius: 8px;
}
.bpsx-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
}
.bpsx-issue {
    text-align: center;
    font-size: 1.02rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 6px;
    background: #0b8718;
    border-radius: 6px;
    padding: 4px 8px;
}
.bpsx-issue .issue-prefix,
.bpsx-issue .issue-number,
.bpsx-issue .issue-suffix {
    color: #fff;
}
.bpsx-data {
    display: block;
    text-align: center;
}
.bpsx-map {
    display: inline-block;
    margin-right: 6px;
    padding: 2px 6px;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 4px;
    font-weight: 600;
}
.bpsx-map.hit {
    background: #fffb8c;
    color: #000;
}
.bpsx-issue {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.bpsx-left {
    white-space: nowrap;
    font-weight: 700;
}
.bpsx-center {
    flex: 1;
    text-align: center;
}
.bpsx-right {
    white-space: nowrap;
}
.bpsx-status {
    display: inline-block;
    padding: 0 6px;
    border-radius: 12px;
    background: transparent;
    color: #333;
    font-weight: 700;
}
.bpsx-status.hit {
    color: #fff;
    background: #d90000;
}
.bxjr-list {
    padding: 8px 10px;
    background: #f22900;
    border-radius: 8px;
}
.bxjr-item {
    background: #f8f9fa;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 10px;
    margin: 8px 0;
}
.bxjr-rule {
    margin-left: 8px;
    font-weight: 600;
}
.bxjr-table {
    width: 100%;
    border-collapse: collapse;
}
.bxjr-table th,
.bxjr-table td {
    border: 1px solid #bcd0ee;
}
.bxjr-issue-cell {
    background: #2b7bd3;
    color: #fff;
    text-align: center;
    padding: 6px 4px;
}
.bxjr-status-cell {
    background: #2b7bd3;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    padding: 6px 8px;
}
.bxjr-issue-cell .issue-prefix,
.bxjr-issue-cell .issue-number,
.bxjr-issue-cell .issue-suffix,
.bxjr-issue-cell .bxjr-rule {
    color: #fff;
}
.bxjr-cell {
    width: 33.33%;
    text-align: center;
    padding: 6px 4px;
}
.bxjr-name {
    color: #d90000;
    font-weight: 700;
    margin-right: 6px;
}
.bxjr-name.hit {
    background: #fffb8c;
    color: #000;
    border-radius: 4px;
    padding: 0;
}
.bxjr-num {
    display: inline-block;
    min-width: 28px;
    padding: 0;
    border-radius: 6px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
    margin-right: 4px;
}
.bxjr-num.hit {
    background: #fffb8c;
    color: #000;
}
.jgwx-banner {
    text-align: center;
    margin-bottom: 8px;
    width: 100%;
}
.jgwx-banner-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
}
.five-tail-issue .five-tail-note {
    margin-left: 8px;
    font-size: 0.98rem;
}
.five-tail-data {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}
.five-tail-data .data-map-item {
    display: inline-block;
    margin-right: 0;
    padding: 2px 6px;
    background: #e6f7ff;
    color: #1890ff;
    border-radius: 4px;
    font-size: 0.95rem;
}
.five-tail-data .data-map-item.highlight {
    background: #d90000;
    color: #fff;
    font-weight: 700;
}
.five-tail-numbers {
    margin-top: 6px;
}
.five-tail-number-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
}
.five-tail-num {
    display: inline-block;
    min-width: 28px;
    padding: 2px 6px;
    border-radius: 6px;
    background: #eef6ff;
    color: #1890ff;
    font-weight: 600;
}
.five-tail-num.five-tail-hit {
    background: #fffb8c;
    color: #000;
    font-weight: 700;
}
.five-tail-list {
    padding: 8px 10px 12px;
}
.five-tail-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
}
.five-tail-issue {
    text-align: center;
    font-size: 1.02rem;
    font-weight: 600;
    margin-bottom: 6px;
}
.site-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 16px 20px;
    max-width: 600px;
    margin: 0 auto;
}
.site-nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    background: #f8f9fa;
    color: #333;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border: 1px solid #e9ecef;
    transition: all 0.2s ease;
    min-height: 44px;
}
.site-nav-link:hover {
    background: #e9ecef;
    color: #000;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px #0000001a;
}

.legacy-modal {
    position: relative;
    width: var(--legacy-modal-width);
    max-width: var(--legacy-modal-max-width);
    max-height: var(--legacy-modal-max-height);
    overflow: visible;
    background: var(--legacy-modal-background);
    border-radius: var(--legacy-modal-border-radius);
    box-shadow: var(--legacy-modal-shadow);
    animation: legacyModalFadeIn-7f579c3f 0.3s ease-out;
}
@keyframes legacyModalFadeIn-7f579c3f {
    0% {
        opacity: 0;
        transform: scale(0.9) translateY(-20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}
.legacy-modal-topbar {
    min-height: var(--legacy-topbar-height);
    border-bottom: 1px solid var(--legacy-topbar-border-color);
    background: var(--legacy-topbar-background);
}
.legacy-close-btn {
    position: absolute;
    top: var(--legacy-close-top);
    right: var(--legacy-close-right);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--legacy-close-size);
    height: var(--legacy-close-size);
    padding: 0;
    color: var(--legacy-close-color);
    font-size: var(--legacy-close-font-size);
    cursor: pointer;
    background: var(--legacy-close-background);
    border: 0;
    border-radius: 50%;
    transform: var(--legacy-close-transform);
    transition: all 0.2s;
}
.legacy-close-btn:hover {
    color: var(--legacy-close-hover-color);
    background: var(--legacy-close-hover-background);
}
.legacy-title-badge {
    position: absolute;
    top: -18px;
    left: 50%;
    z-index: 2;
    width: 200px;
    min-height: 52px;
    transform: translate(-50%);
    pointer-events: none;
}
.legacy-title-badge-bg {
    display: block;
    width: 100%;
    height: 52px;
    background: var(--legacy-title-badge-fill);
    -webkit-mask-image: var(--legacy-title-badge-image);
    mask-image: var(--legacy-title-badge-image);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
.legacy-title-text {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    padding: 7px 22px 6px;
    box-sizing: border-box;
    color: #fff;
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
    text-shadow: var(--legacy-title-text-shadow);
}
.legacy-title-site,
.legacy-title-subtitle {
    display: block;
    max-width: 118px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.legacy-title-site {
    font-size: 13px;
}
.legacy-title-subtitle {
    font-size: 17px;
}
.legacy-modal-content {
    max-height: calc(
        var(--legacy-modal-max-height) - var(--legacy-topbar-height)
    );
    overflow-y: auto;
    background: var(--legacy-content-background);
}
@media (max-width: 480px) {
    .legacy-title-badge {
        top: -17px;
        width: 190px;
        min-height: 48px;
    }
    .legacy-title-badge-bg {
        height: 48px;
    }
    .legacy-title-text {
        padding: 6px 20px 5px;
    }
    .legacy-title-site,
    .legacy-title-subtitle {
        max-width: 108px;
    }
    .legacy-title-site {
        font-size: 12px;
    }
    .legacy-title-subtitle {
        font-size: 16px;
    }
}
.legacy-ball-card-body {
    padding: var(--legacy-body-padding);
}
.legacy-card-group {
    margin-bottom: 24px;
    padding: 16px;
    background: var(--legacy-group-background);
    border: 1px solid var(--legacy-group-border-color);
    border-radius: 8px;
}
.legacy-card-group:last-child {
    margin-bottom: 0;
}
.legacy-card-title {
    margin-bottom: 12px;
    color: var(--legacy-group-title-color);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}
.legacy-zodiac-row,
.legacy-number-row {
    display: flex;
    gap: 8px;
    justify-content: center;
}
.legacy-zodiac-row {
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.legacy-number-row {
    flex-wrap: nowrap;
}
.legacy-number-row {
    width: 100%;
    max-width: 376px;
    margin: 0 auto 8px;
    min-width: 0;
    gap: clamp(2px, 1.6vw, 8px);
}
.legacy-zodiac-ball {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(30px, 9vw, 42px);
    height: clamp(30px, 9vw, 42px);
    color: var(--legacy-zodiac-color);
    font-size: clamp(13px, 3.5vw, 16px);
    font-weight: 600;
    background: var(--legacy-zodiac-background);
    border: 2px solid var(--legacy-zodiac-border-color);
    border-radius: 50%;
    transition: transform 0.2s;
}
.legacy-zodiac-ball:hover {
    background: var(--legacy-zodiac-hover-background);
    transform: scale(1.08);
}
.legacy-number-ball {
    display: flex;
    flex: 0 0 min(40px, calc((100% - 56px) / 8));
    align-items: center;
    justify-content: center;
    width: min(40px, calc((100% - 56px) / 8));
    min-width: 0;
    height: auto;
    aspect-ratio: 1;
    box-sizing: border-box;
    font-size: clamp(9px, 3.2vw, 14px);
    font-weight: 600;
    border-radius: 50%;
}
.legacy-number-ball--image {
    color: #333;
    border: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.6);
}
.legacy-copy-section {
    margin-top: 16px;
    text-align: center;
}
.legacy-copy-btn {
    padding: 8px 16px;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    background: var(--legacy-copy-background);
    border: 0;
    border-radius: 6px;
    transition: background 0.2s;
}
.legacy-copy-btn:hover {
    background: var(--legacy-copy-hover-background);
}
@media (max-width: 600px) {
    .legacy-ball-card-body {
        padding: 16px;
    }
    .legacy-card-group {
        margin-bottom: 16px;
        padding: 12px;
    }
}
@media (max-width: 480px) {
    .legacy-ball-card-body {
        padding: 12px;
    }
    .legacy-card-group {
        margin-bottom: 12px;
        padding: 10px;
    }
    .legacy-card-title {
        margin-bottom: 10px;
        font-size: 14px;
    }
    .legacy-copy-btn {
        padding: 6px 12px;
        font-size: 12px;
    }
}
.sxbm-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    min-height: 100vh;
    padding: 20px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #00000080;
}
@media (max-width: 480px) {
    .sxbm-modal-overlay {
        padding: 12px;
    }
}

.rule-video-player {
    margin-top: 10px;
}
.logo-section {
    padding: 0;
    margin-bottom: 0;
    background: #409eff;
    box-shadow: none;
    transition: background 0.3s;
}
.logo-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: auto;
}
.logo-left,
.logo-center,
.logo-right {
    height: auto;
    max-height: 55px;
    width: auto;
    display: block;
    margin: 0;
    flex-shrink: 0;
}
.logo-left {
    text-align: left;
}
.logo-center {
    text-align: center;
    animation: rotate 3s linear infinite;
    filter: drop-shadow(0 0 10px rgba(1, 111, 255, 0.979))
    drop-shadow(0 0 20px rgb(44, 77, 138)) drop-shadow(0 0 30px rgb(15, 3, 0));
}
@keyframes rotate {
    0% {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
.lottery-result-block {
    background: transparent;
    margin: 0;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    border: none;
}
.lottery-result-header {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
}
.lottery-name {
    font-size: 1.1rem;
    font-weight: 900;
    color: #333;
    line-height: 1.2;
    text-align: center;
}
.lottery-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
    font-size: 1.1rem;
    font-weight: 400;
    color: #030303;
}
.issue-info {
    text-align: left;
    flex: 0 0 auto;
    letter-spacing: 0;
    word-spacing: 0;
    font-family: inherit;
    font-weight: 400;
    margin-right: 2px;
}
.issue-info span {
    letter-spacing: 0;
    word-spacing: 0;
    font-family: inherit;
    font-weight: 400;
}
.issue-number {
    font-weight: 700;
    color: #ff4d4f;
}
.history-link {
    flex-shrink: 0;
    text-align: right;
    font-size: 0.95rem;
}
.lottery-numbers-display {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    gap: 8px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    padding: 0;
    width: 100%;
    max-width: 100%;
}
.normal-numbers {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    margin: 0;
}
.number-ball {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    position: relative;
    border: none;
    margin: 0;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.ball-red,
.ball-green,
.ball-blue {
    border: none;
    box-shadow: none;
    background: none;
}
.special-ball {
    transform: scale(1.1);
    z-index: 2;
    width: 44px;
    height: 44px;
}
.ball-number {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2c3e50;
    margin: 0;
    z-index: 1;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.ball-zodiac {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%) translateY(8px);
    font-size: 0.7rem;
    box-shadow: 0 2px 6px #0000001a;
    white-space: nowrap;
    z-index: 3;
    min-width: 24px;
    text-align: center;
    border: 1px solid #e0e0e0;
}
.number-separator {
    font-size: 1.8rem;
    color: #7f8c8d;
    font-weight: 700;
    margin: 0 8px;
    flex-shrink: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.next-issue-info {
    text-align: center;
    position: relative;
    z-index: 5;
    margin: 30px 0;
    padding: 8px 0;
    border-top: 1px solid #eee;
}
.next-issue-text {
    font-size: 0.95rem;
    color: #666;
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 8px;
}
.next-issue-left {
    text-align: left;
    flex: 0 0 auto;
}
.countdown-time {
    color: #ff4d4f;
    font-family: monospace;
    font-weight: 700;
    text-align: right;
    flex-shrink: 0;
}
.text-announcement-section {
    margin-bottom: 12px;
    transition: background 0.3s;
    overflow: hidden;
}
.announcement-container {
    display: flex;
    align-items: center;
    gap: 8px;
}
.announcement-icon {
    font-size: 1.2rem;
    color: #ff4d4f;
    flex-shrink: 0;
}
.announcement-text-container {
    flex: 1;
    overflow: hidden;
    position: relative;
}
.announcement-text {
    white-space: nowrap;
    display: inline-block;
}
@keyframes scroll-text {
    0% {
        transform: translate(100%);
    }
    to {
        transform: translate(-100%);
    }
}
.ball-zodiac {
    color: #666;
    background: #f6f6f6;
    border-radius: 4px;
    padding: 0 4px;
    font-weight: 500;
}
.lottery-selector {
    display: flex;
    flex-direction: column;
}
.selector-buttons {
    flex-wrap: wrap;
}
.selector-buttons.capsule-style {
    background: transparent;
    padding: 0;
    border: 1px solid #e0e0e0;
    overflow: hidden;
}
.selector-btn.capsule-btn {
    flex: 1;
    border: none;
    font-weight: 700;
    transition: all 0.2s ease;
    cursor: pointer;
    text-align: center;
}
.selector-btn.capsule-btn.active {
    background: #409eff;
    color: #fff;
}
.selector-btn.capsule-btn:not(.active) {
    background: #f0f0f0;
    color: #666;
}
.selector-btn.capsule-btn:hover:not(.active) {
    background: #e8e8e8;
    color: #333;
}
.selector-btn:hover {
    background: #e0e0e0;
    color: #222;
}
.selector-btn.active {
    border-color: #409eff;
}
.selector-btn.active:hover {
    background: #337ab7;
    color: #fff;
}
.logo2-icon {
    flex: 1;
    min-width: 0;
}
.logo2-item {
    flex: 1;
    min-width: 0;
}
.logo2-text {
    font-weight: 900;
    line-height: 1;
    margin-top: 2px;
    text-shadow:
    2px 2px 4px #ffd700,
    -1px -1px 2px #ffd700,
    1px -1px 2px #ffd700,
    -1px 1px 2px #ffd700;
}
@media (max-width: 768px) {
    .logo2-section {
        padding: 0 8px;
    }
    .logo2-container {
        gap: 6px;
    }
    .logo2-icon {
        height: 60px;
        max-width: 60px;
        border-radius: 8px;
    }
}
@media (max-width: 480px) {
    .logo2-section {
        padding: 0;
    }
    .logo2-container {
        gap: 4px;
    }
    .logo2-icon {
        height: 70px;
        max-width: 70px;
        border-radius: 6px;
    }
}
@media (max-width: 360px) {
    .logo2-container {
        gap: 2px;
    }
    .logo2-icon {
        height: 45px;
        max-width: 45px;
        border-radius: 5px;
    }
}
.browser-tip-image {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
.tv-section {
    width: 100%;
    margin: 16px 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
.tv-screen {
    width: min(960px, 100%);
    aspect-ratio: 16/9;
    max-height: 60vh;
    border-radius: 12px;
    background: radial-gradient(circle at 20% 20%, #444 0, #222 40%, #111);
    box-shadow: 0 8px 24px #00000073;
    border: 1px solid #333;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tv-text {
    font-size: clamp(18px, 2.4vw, 26px);
    color: #f5f5f5;
    letter-spacing: 2px;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.lottery-selector {
    gap: 10px;
    margin: 16px 0;
}
.selector-buttons {
    display: flex;
}
.selector-buttons.capsule-style {
    border-radius: 6px;
    gap: 0;
}
.selector-btn {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    min-height: 36px;
}
.selector-btn.capsule-btn {
    font-size: 0.75rem;
    padding: 8px 10px;
}
.selector-btn.capsule-btn:first-child {
    border-radius: 4px 0 0 4px;
}
.selector-btn.capsule-btn:last-child {
    border-radius: 0 4px 4px 0;
}
* {
    word-wrap: break-word;
    overflow-wrap: break-word;
}
body {
    overflow-x: hidden;
}
.text-announcement-section {
    background: linear-gradient(90deg, #f8fafc 60%, #e6f0ff);
    border-radius: 10px;
    box-shadow: 0 2px 8px #409eff0f;
    margin: 0 16px 16px;
    padding: 0;
}
.announcement-container {
    padding: 12px 10px 12px 16px;
}
.announcement-text {
    color: #1a237e;
    font-size: 1rem;
    font-weight: 600;
    animation: scroll-text 60s linear infinite;
}
.number-ball:hover {
    transform: scale(1.13) rotate(-3deg);
    box-shadow: 0 4px 16px #409eff2e;
    z-index: 10;
}
.history-link {
    background: #f0f7ff;
    border-radius: 6px;
    padding: 2px 12px;
    color: #409eff;
    font-weight: 600;
    border: 1px solid #b3d8ff;
    transition:
    background 0.2s,
    color 0.2s;
    text-decoration: none;
    cursor: pointer;
    margin-left: 12px;
}
.history-link:hover {
    background: #409eff;
    color: #fff;
}
.refresh-container {
    background-color: red !important;
    padding: 0 !important;
    border-radius: 4px !important;
    display: inline-block !important;
    margin: 0 8px !important;
    border: 2px solid darkred !important;
}
@media (max-width: 600px) {
    .text-announcement-section {
        margin: 0 4px 12px;
        border-radius: 6px;
    }
}
@media (max-width: 380px) {
    .lottery-result-block .lottery-info-row {
        gap: 0 !important;
    }
}
@media (min-width: 381px) and (max-width: 430px) {
    .lottery-result-block .lottery-info-row {
        gap: 20px !important;
    }
}
@media (min-width: 431px) {
    .lottery-result-block .lottery-info-row {
        gap: 50px !important;
    }
}
.logo2-section {
    margin-bottom: 16px;
    padding: 0 12px;
}
.logo2-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.logo2-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.logo2-icon {
    width: auto;
    height: 80px;
    max-width: 100px;
    object-fit: contain;
    border-radius: 10px;
    transition: transform 0.2s ease;
}
.logo2-icon:hover {
    transform: scale(1.05);
}
.logo2-text {
    font-size: 0.9rem;
    color: #555;
    text-align: center;
}
.browser-tip-section {
    margin-bottom: 16px;
    padding: 0 12px;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family:
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    Roboto,
    Helvetica Neue,
    Arial,
    sans-serif;
    line-height: 1.6;
    color: #333;
    background: #fff;
    min-height: 100vh;
    transition: all 0.3s ease;
    max-width: 480px !important;
    width: 100% !important;
    margin: 0 auto !important;
}
@keyframes spin {
    0% {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
.data-map-item {
    border: 1px solid rgba(46, 204, 113, 0.3);
    gap: 0.5rem;
}
@keyframes slideIn {
    0% {
        transform: translate(100%);
        opacity: 0;
    }
    to {
        transform: translate(0);
        opacity: 1;
    }
}
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #0000001a;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb {
    background: #3498db80;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #3498dbb3;
}
.lottery-result-header {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 1.2rem;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 600px) {
    .lottery-result-header {
        font-size: 1.3rem;
    }
}


    @keyframes ballpop { 0%{transform:scale(0);opacity:0;} 60%{transform:scale(1.16);opacity:1;} 100%{transform:scale(1);opacity:1;} }
    body { margin:0; background:#fff; max-width:480px; margin-left:auto; margin-right:auto; border:2px solid #409eff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif; }
    #app { background:#fff; min-height:100vh; overflow:hidden; }
    .logo-section { background:#409eff; padding:0; }
    .logo-container { display:flex; align-items:center; justify-content:space-between; }
    .logo-left { width:66%; display:block; }
    .logo-center { width:14%; display:block; }
    .logo-right { width:20%; display:block; }
    .text-announcement-section { background:linear-gradient(90deg,#f8fafc 60%,#e6f0ff); border-radius:10px; box-shadow:0 2px 8px #409eff0f; margin:0 8px 12px; overflow:hidden; }
    .announcement-container { display:flex; align-items:center; gap:8px; padding:10px 10px 10px 14px; }
    .announcement-icon { flex-shrink:0; color:#ff4d4f; }
    .announcement-text-container { overflow:hidden; flex:1; }
    .announcement-text { white-space:nowrap; display:inline-block; color:#1a237e; font-weight:600; animation:scroll-text 60s linear infinite; }
    @keyframes scroll-text { 0%{transform:translateX(100%);} 100%{transform:translateX(-100%);} }
    .lottery-result-block { background:transparent; margin:0 0 8px; padding:0; border:none; box-shadow:none; }
    .lottery-result-header { margin:0 0 8px; color:#333; text-shadow:none; font-size:1rem; }
    .lottery-info-row { display:flex; align-items:center; justify-content:space-between; padding:0 8px; gap:12px!important; font-size:.95rem; }
    .lottery-name { font-weight:800; color:#333; }
    .history-link { background:#f0f7ff; border:1px solid #b3d8ff; border-radius:6px; padding:2px 10px; color:#409eff; text-decoration:none; font-weight:600; white-space:nowrap; }
    .lottery-numbers-display { display:flex; justify-content:center; align-items:center; gap:6px; margin:10px 0 18px; padding-bottom:20px; }
    .normal-numbers { display:flex; justify-content:center; gap:4px; flex-wrap:nowrap; }
    .number-ball { position:relative; width:42px; height:42px; background-position:center center; background-repeat:no-repeat; background-size:contain; flex-shrink:0; }
    .number-ball.placeholder-ball { background-image:url('img/4cafdc988e79.png'); filter:grayscale(1) saturate(0) brightness(.92); }
    .number-ball.pop { animation:ballpop .4s ease-out; }
    .ball-number { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#000; font-size:1.05rem; font-weight:800; line-height:1; }
    .ball-zodiac { position:absolute; left:50%; top:100%; transform:translateX(-50%) translateY(4px); min-width:24px; padding:0 3px; border:1px solid #e0e0e0; border-radius:4px; background:#f6f6f6; color:#666; font-size:.7rem; font-weight:500; text-align:center; white-space:nowrap; }
    .number-separator { color:#d90000; font-weight:900; font-size:20px; align-self:center; }
    .drawing-tip { display:block; width:100%; clear:both; color:#d90000; font-weight:700; text-align:center; padding:6px 0; }
    .next-issue-info { margin:18px 0 4px; padding:0; }
    .next-issue-text { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 8px; color:#666; font-size:.92rem; }
    .refresh-container span { background:red; border-radius:4px; color:#fff; cursor:pointer; padding:0 5px; }
    .countdown-time { color:#ff4d4f; font-weight:700; font-family:monospace; }
    .tv-section { width:100%; margin:12px 0; display:flex; justify-content:center; }
    .tv-screen { width:100%; aspect-ratio:16/9; background:radial-gradient(circle at 20% 20%,#444 0,#222 40%,#111); display:flex; align-items:center; justify-content:center; }
    .tv-text { color:#f5f5f5; letter-spacing:.15em; }
    .logo2-section { padding:8px 0; }
    .logo2-container { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; text-align:center; }
    .logo2-icon { width:36px; height:36px; object-fit:contain; display:block; margin:0 auto 2px; }
    .logo2-text { font-size:12px; color:#333; white-space:nowrap; }
    .browser-tip-image { width:100%; display:block; }
    .lottery-selector { padding:6px 8px; }
    .selector-buttons.capsule-style { display:flex; border:1px solid #e0e0e0; border-radius:6px; overflow:hidden; }
    .selector-btn.capsule-btn { flex:1; padding:8px 10px; text-align:center; background:#eef6ff; color:#666; font-size:.8rem; font-weight:700; cursor:pointer; }
    .selector-btn.capsule-btn.active { background:#409eff; color:#fff; }
    #playsContainer { padding:0 6px 12px; }
    .sites-navigation { padding:10px; }
    .sites-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
    .site-card { border:1px solid #bcd0ee; color:#333; text-align:center; padding:8px 4px; border-radius:6px; background:#f8f9fa; font-size:13px; text-decoration:none; }
    .site-card.active { background:#409eff; color:#fff; }
    .copyright { color:#777; font-size:13px; text-align:center; padding:18px; }
    @media (max-width:380px) { .number-ball{width:36px;height:36px}.ball-number{font-size:.95rem}.logo2-text{font-size:10px} }
    .popup-mask { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9998; display:flex; align-items:center; justify-content:center; }
    .popup-box { background:#fff; border-radius:8px; max-width:90%; width:360px; max-height:80%; overflow:auto; box-shadow:0 6px 30px rgba(0,0,0,.3); }
    .popup-box .popup-head { display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-bottom:1px solid #eee; font-weight:bold; color:#d90000; }
    .popup-box .popup-close { cursor:pointer; color:#999; font-size:20px; line-height:1; }
    .popup-box .popup-body { padding:14px; font-size:14px; line-height:1.6; }

    .lottery-result-block .lottery-countdown-line { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 10px 4px; }
    .lottery-result-block .lottery-countdown-row { margin:0; white-space:nowrap; }
    .lottery-result-block .drawing-tip { padding:4px 0 6px; }
    @media (max-width:380px) {
      .lottery-result-block .lottery-countdown-line { gap:4px; padding-left:6px; padding-right:6px; font-size:12px; }
    }
  
.lottery-countdown-line {
    box-sizing: border-box;
    width: calc(100% - 16px);
    clear: both;
    position: relative;
    z-index: 1;
    margin: 26px auto 10px;
    padding: 7px 10px;
    border: 1px solid rgba(220, 38, 38, .14);
    border-radius: 6px;
    background: #fffaf6;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.7;
}

.lottery-countdown-line .lottery-countdown-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.lottery-countdown-line .lottery-countdown-value {
    color: #d60000;
    font-weight: 800;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
}

.lottery-countdown-line .lottery-countdown-clock {
    color: #d60000;
    font-weight: 900;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    letter-spacing: 0;
}

#ballsRow .official-drawing-ball,
#ballsRow .official-drawing-ball .ball-image-container,
#ballsRow .official-drawing-ball .ball-content,
#ballsRow .official-drawing-ball b {
animation: none !important;
opacity: 1 !important;
border-radius: 50% !important;
filter: grayscale(1) saturate(0) brightness(.92) !important;
transform: none !important;
}

#ballsRow .official-drawing-ball img.ball-bg,
#ballsRow .official-drawing-ball img.ball-image {
animation: none !important;
opacity: 1 !important;
filter: grayscale(1) saturate(0) brightness(.92) !important;
}

#ballsRow .official-drawing-ball .ball-number,
#ballsRow .official-drawing-ball .ball-number-overlay,
#ballsRow .official-drawing-ball .b-num,
#ballsRow .official-drawing-ball b {
color: #111827 !important;
font-size: clamp(15px, 4.2vw, 20px) !important;
font-weight: 900 !important;
line-height: inherit !important;
text-align: center !important;
text-shadow: 0 1px 2px rgba(255,255,255,.75) !important;
letter-spacing: 0 !important;
}

#ballsRow .official-drawing-ball .ball-zodiac,
#ballsRow .official-drawing-ball small,
#ballsRow .official-drawing-ball .other {
display: none !important;
}

@media (max-width: 380px) {
    .lottery-countdown-line {
        width: calc(100% - 10px);
        margin-top: 28px;
        padding: 6px 5px;
        font-size: 12px;
    }
}

.zodiac-database-panel {
    width: min(100% - 20px, 480px);
    max-width: 480px;
    margin: 20px auto 18px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 10px;
    border: 2px solid #f2d5d5;
    box-sizing: border-box;
    overflow-x: hidden;
    clear: both;
}
.database-header {
    text-align: center;
    margin-bottom: 20px;
}
.database-header h3 {
    color: #333;
    font-size: 1.8rem;
    margin-bottom: 5px;
    font-weight: 700;
}
.database-header h4 {
    color: #666;
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.database-section {
    margin-bottom: 20px;
}
.database-section h4 {
    color: #333;
    font-size: 1.3rem;
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 2px solid #f2d5d5;
    font-weight: 700;
}
.section-title-center {
    text-align: center;
}
.zodiac-table {
    width: 100%;
    background: #fff;
    border: solid 1px #d8ccb4;
    padding: 15px;
    font:
    400 14px/1.5 微软雅黑,
    Helvetica;
    color: #000;
    line-height: 1.75;
    font-family: 微软雅黑;
    word-break: break-all;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    font-size: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow: hidden;
}
.zodiac-table-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
}
.zodiac-table-cell {
    background: #fff;
    border: solid 1px #d8ccb4;
    padding: 10px;
    text-align: center;
    border-radius: 4px;
    box-shadow: 0 1px 3px #0000001a;
}
.zodiac-cell-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.zodiac-image {
    width: 35px;
    height: 35px;
    object-fit: contain;
}
.zodiac-name {
    font-weight: 700;
    color: #000;
    font-size: 14px;
    font-family: 微软雅黑;
}
.zodiac-conflict {
    color: #666;
    font-size: 12px;
    font-family: 微软雅黑;
}
.zodiac-cell-numbers {
    display: flex;
    flex-wrap: nowrap;
    gap: 1px;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 100%;
}
.number-box {
    padding: 1px 2px;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    min-width: 14px;
    width: 18px;
    height: 18px;
    text-align: center;
    font-family: 微软雅黑;
    line-height: 1.1;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.color-red {
    background: red;
}
.color-blue {
    background: #36f;
}
.color-green {
    background: #093;
}
.elements-table,
.wave-colors-table,
.parity-table,
.zodiac-attributes-table {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}
.element-row,
.wave-row,
.parity-row,
.attribute-row {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
    min-height: 40px;
}
.element-row:last-child,
.wave-row:last-child,
.parity-row:last-child,
.attribute-row:last-child {
    border-bottom: none;
}
.element-name-cell,
.wave-name-cell,
.parity-name-cell {
    width: 60px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #eee;
}
.element-name,
.wave-name,
.parity-name {
    font-weight: 700;
    font-size: 16px;
    font-family: 微软雅黑;
}
.wave-name,
.parity-name {
    color: #333;
}
.element-metal {
    color: gold;
}
.element-wood {
    color: #228b22;
}
.element-water {
    color: #4169e1;
}
.element-fire {
    color: #dc143c;
}
.element-earth {
    color: #d2691e;
}
.element-numbers-cell,
.wave-numbers-cell,
.parity-numbers-cell {
    flex: 1;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}
.element-number-box,
.wave-number-box,
.parity-number-box {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    font-family: 微软雅黑;
}
.attribute-row {
    min-height: 35px;
}
.attribute-label-cell {
    width: 80px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #eee;
    background: #f8f9fa;
}
.attribute-label {
    font-weight: 700;
    color: #06c;
    font-size: 14px;
    font-family: 微软雅黑;
}
.attribute-value-cell {
    flex: 1;
    padding: 8px 10px;
    display: flex;
    align-items: center;
}
.attribute-value {
    color: #333;
    font-size: 14px;
    font-family: 微软雅黑;
    line-height: 1.4;
}
.sub-label {
    color: #06c;
    font-weight: 700;
}
@media (max-width: 768px) {
    .zodiac-table-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 5px;
    }
    .zodiac-table {
        padding: 10px;
    }
    .zodiac-table-cell {
        padding: 6px;
        min-width: 0;
    }
    .elements-table,
    .wave-colors-table,
    .parity-table,
    .zodiac-attributes-table {
        margin: 0 10px;
    }
    .element-name-cell,
    .wave-name-cell,
    .parity-name-cell {
        width: 50px;
        padding: 8px;
    }
    .element-numbers-cell,
    .wave-numbers-cell,
    .parity-numbers-cell {
        padding: 8px;
    }
    .element-number-box,
    .wave-number-box,
    .parity-number-box {
        width: 20px;
        height: 20px;
        font-size: 10px;
    }
    .attribute-label-cell {
        width: 70px;
        padding: 6px 8px;
    }
    .attribute-value-cell {
        padding: 6px 8px;
    }
    .attribute-label,
    .attribute-value,
    .sub-label {
        font-size: 12px;
    }
    .zodiac-database-panel {
        padding: 15px;
    }
    .zodiac-name {
        font-size: 12px;
    }
    .zodiac-conflict {
        font-size: 10px;
    }
    .number-box {
        padding: 1px;
        font-size: 8px;
        min-width: 12px;
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 420px) {
    .zodiac-database-panel {
        width: calc(100% - 12px);
        margin-top: 14px;
        margin-bottom: 16px;
        padding: 8px;
        border-radius: 8px;
    }

    .database-header {
        margin-bottom: 12px;
    }

    .database-header h3 {
        font-size: 1.25rem;
    }

    .database-header h4,
    .database-section h4 {
        font-size: 1rem;
    }

    .database-section {
        margin-bottom: 14px;
    }

    .zodiac-table {
        padding: 6px;
    }

    .zodiac-table-grid {
        gap: 4px;
    }

    .zodiac-table-cell {
        padding: 5px 3px;
    }

    .zodiac-cell-header {
        gap: 3px;
        margin-bottom: 6px;
    }

    .zodiac-image {
        width: 26px;
        height: 26px;
    }

    .zodiac-cell-numbers {
        gap: 1px;
    }

    .number-box {
        width: 14px;
        height: 14px;
        min-width: 14px;
        font-size: 7px;
    }

    .elements-table,
    .wave-colors-table,
    .parity-table,
    .zodiac-attributes-table {
        margin: 0;
    }

    .element-name-cell,
    .wave-name-cell,
    .parity-name-cell {
        width: 42px;
        padding: 6px 4px;
    }

    .element-numbers-cell,
    .wave-numbers-cell,
    .parity-numbers-cell {
        gap: 3px;
        padding: 6px 4px;
    }

    .element-number-box,
    .wave-number-box,
    .parity-number-box {
        width: 18px;
        height: 18px;
        font-size: 9px;
    }

    .attribute-label-cell {
        width: 56px;
        padding: 6px 4px;
    }

    .attribute-value-cell {
        padding: 6px;
    }
}


.cp-spacing-tongtian .custom-play-values { display:inline-flex !important; flex-wrap:wrap !important; justify-content:center; align-items:baseline; max-width:100%; min-width:0; white-space:normal !important; vertical-align:middle; }
.cp-spacing-tongtian .custom-play-token { display:inline-block !important; flex:0 0 auto; min-width:1.7em; margin:2px 3px !important; text-align:center; white-space:nowrap !important; word-break:normal; line-height:1.5; font-variant-numeric:tabular-nums; vertical-align:middle; }
.cp-spacing-tongtian .tjlm-data-row, .cp-spacing-tongtian .ptwy-line { flex-wrap:wrap !important; white-space:normal !important; min-width:0; max-width:100%; }

.pts-showcase{width:100%;max-width:760px;margin:10px auto;overflow:hidden;font-family:Arial,"Microsoft YaHei",sans-serif;line-height:1.25;box-sizing:border-box}.combo-group-block:has(.pts-showcase)>.combo-group-header,.combo-group-block:has(.pts-showcase)>.list-title{display:none!important}.pts-showcase *{box-sizing:border-box;letter-spacing:0}.pts-heading{text-align:center;font-weight:700}.pts-heading strong{display:block}.pts-heading span{display:block}.pts-table{width:100%}.pts-row{display:grid;grid-template-columns:minmax(70px,18%) minmax(0,62%) minmax(72px,20%);align-items:stretch}.pts-row>div{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;padding:10px 6px;font-size:28px;font-weight:700}.pts-value{white-space:normal}.pts-value b{font-weight:700}.pts-pick{display:inline-flex;gap:5px}.pts-zodiac{display:inline-block}.pts-pick.is-hit .pts-zodiac{color:#d71919;background:#fff600}.pts-number{color:#df2020}.pts-value em{margin-left:8px;color:#ef18d4;font-style:normal}.pts-tagline{text-align:center;padding:9px 5px;font-size:25px;font-weight:700}.pts-style-1{background:#000;color:#fff}.pts-style-1 .pts-heading{padding:8px;background:#061020}.pts-style-1 .pts-heading strong{font-size:52px}.pts-style-1 .pts-heading span{background:#fff;color:#000;font-size:31px}.pts-style-1 .pts-row>div{border:1px solid #fff}.pts-style-1 .pts-pick.is-hit .pts-zodiac{color:#df1e1e;background:#fff}.pts-style-2{background:#f500e9;color:#060006;border:4px solid #050005}.pts-style-2 .pts-heading{padding:10px 4px;color:#ffe100;background:#ed00dc;font-size:45px;text-shadow:1px 1px #000}.pts-style-2 .pts-row>div{border:3px solid #080008}.pts-style-2 .pts-status{color:#1535c4}.pts-style-3{background:#82c9e7;color:#050505}.pts-style-3 .pts-heading{padding:11px 4px;background:#10203e;color:#fff;font-size:40px;text-shadow:1px 1px #000}.pts-style-3 .pts-row>div{border:2px solid #eee}.pts-style-3 .pts-issue{color:#061ac0}.pts-style-4{background:#eee;color:#4f260f;border:5px solid #ffb4c5}.pts-style-4 .pts-heading{padding:10px 4px;background:#f10b0b;color:#ffd2dc;font-size:40px}.pts-style-4 .pts-row>div{border:5px solid #ffb4c5}.pts-style-4 .pts-issue{color:#158225}.pts-style-4 .pts-status{color:#e32828}.pts-style-5{background:#fff;color:#080808;border:2px solid #050505}.pts-style-5 .pts-heading{padding:10px 4px;background:#633415;color:#fff;font-size:45px}.pts-style-5 .pts-row>div{border:2px solid #050505}.pts-style-5 .pts-tagline{background:#eee;color:#623719;border:2px solid #050505}.pts-style-6{background:#fff;color:#df1d1d}.pts-style-6 .pts-heading{padding:10px 4px;background:#82cbea;color:#050505;font-size:38px}.pts-style-6 .pts-row>div{border:1px solid #e5e5e5}.pts-style-7{background:#0909ed;color:#ffff64;border:2px solid #ffff64}.pts-style-7 .pts-heading{padding:12px 4px;background:#0619a6;color:#fff85a;font-size:45px}.pts-style-7 .pts-row>div{border:1px solid #ffff64}.pts-style-7 .pts-value b{color:#ef3a55}.pts-style-8{background:#fff;color:#0716a1;border:1px solid #0716a1}.pts-style-8 .pts-heading{padding:12px 4px;background:#ffb6c4;font-size:43px}.pts-style-8 .pts-row>div{border:1px solid #0716a1}.pts-style-8 .pts-tagline{background:#ffb6c4;border:1px solid #0716a1}@media(max-width:480px){.pts-row{grid-template-columns:72px minmax(0,1fr) 75px}.pts-row>div{padding:8px 3px;font-size:16px}.pts-pick{gap:2px}.pts-value em{display:block;margin:3px 0 0}.pts-heading strong,.pts-style-1 .pts-heading strong{font-size:26px}.pts-heading span,.pts-style-1 .pts-heading span{font-size:18px}.pts-style-2 .pts-heading,.pts-style-3 .pts-heading,.pts-style-4 .pts-heading,.pts-style-5 .pts-heading,.pts-style-6 .pts-heading,.pts-style-7 .pts-heading,.pts-style-8 .pts-heading{font-size:24px}.pts-tagline{font-size:15px}}
.popup-box:has(.legacy-modal){width:auto!important;max-width:94vw!important;max-height:none!important;overflow:visible!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;}.popup-box:has(.legacy-modal) .popup-head{display:none!important;}.popup-box:has(.legacy-modal) .popup-body{padding:0!important;line-height:normal!important;background:transparent!important;}.legacy-modal,.legacy-modal *{box-sizing:border-box;}.legacy-modal{position:relative;width:var(--legacy-modal-width);max-width:var(--legacy-modal-max-width);max-height:var(--legacy-modal-max-height);overflow:visible;background:var(--legacy-modal-background);border-radius:var(--legacy-modal-border-radius);box-shadow:var(--legacy-modal-shadow);animation:legacyModalFadeIn-7f579c3f .3s ease-out;font-family:Arial,"Microsoft YaHei",sans-serif;}@keyframes legacyModalFadeIn-7f579c3f{0%{opacity:0;transform:scale(.9) translateY(-20px);}to{opacity:1;transform:scale(1) translateY(0);}}.legacy-close-btn{position:absolute;top:var(--legacy-close-top);right:var(--legacy-close-right);z-index:3;display:flex;align-items:center;justify-content:center;width:var(--legacy-close-size);height:var(--legacy-close-size);padding:0;color:var(--legacy-close-color);font-size:var(--legacy-close-font-size);cursor:pointer;background:var(--legacy-close-background);border:0;border-radius:50%;transform:var(--legacy-close-transform);transition:all .2s;}.legacy-close-btn:hover{color:var(--legacy-close-hover-color);background:var(--legacy-close-hover-background);}.legacy-title-badge{position:relative;z-index:2;width:148px;min-height:34px;margin:0 auto 10px;pointer-events:none;}.legacy-title-badge-bg{display:block;width:100%;height:34px;background:var(--legacy-title-badge-fill);border:1px solid rgba(255,255,255,.86);border-radius:999px;box-shadow:inset 0 1px 3px rgba(255,255,255,.45),inset 0 -2px 5px rgba(45,51,62,.22),0 2px 5px rgba(0,0,0,.14);}.legacy-title-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:4px 18px;color:#fff;font-weight:700;line-height:1.05;text-align:center;text-shadow:var(--legacy-title-text-shadow);}.legacy-title-site{display:block;max-width:106px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;}.legacy-modal-content{max-height:var(--legacy-modal-max-height);overflow-y:auto;background:var(--legacy-content-background);}.legacy-ball-card-body{padding:16px 20px 20px;}.legacy-card-group{margin-bottom:24px;padding:16px;background:var(--legacy-group-background);border:1px solid var(--legacy-group-border-color);border-radius:8px;}.legacy-card-group:last-child{margin-bottom:0;}.legacy-sixiaobama-heading{margin:-2px 0 8px;color:#d90000;font-size:22px;font-weight:800;line-height:1.2;text-align:center;}.legacy-card-title{margin-bottom:12px;color:var(--legacy-group-title-color);font-size:16px;font-weight:600;text-align:center;}.legacy-zodiac-row,.legacy-number-row{display:flex;gap:8px;justify-content:center;}.legacy-zodiac-row{margin-bottom:12px;flex-wrap:wrap;}.legacy-number-row{width:100%;max-width:376px;margin:0 auto 8px;min-width:0;flex-wrap:nowrap;gap:clamp(2px,1.6vw,8px);}.legacy-zodiac-ball{display:flex;align-items:center;justify-content:center;width:clamp(30px,9vw,42px);height:clamp(30px,9vw,42px);color:var(--legacy-zodiac-color);font-size:clamp(13px,3.5vw,16px);font-weight:600;background:var(--legacy-zodiac-background);border:2px solid var(--legacy-zodiac-border-color);border-radius:50%;transition:transform .2s;}.legacy-zodiac-ball:hover{background:var(--legacy-zodiac-hover-background);transform:scale(1.08);}.legacy-number-ball{display:flex;flex:0 0 min(40px,calc((100% - 56px)/8));align-items:center;justify-content:center;width:min(40px,calc((100% - 56px)/8));min-width:0;height:auto;aspect-ratio:1;font-size:clamp(9px,3.2vw,14px);font-weight:600;border-radius:50%;}.legacy-number-ball--image{color:#333;border:0;background-repeat:no-repeat;background-position:center;background-size:contain;text-shadow:0 0 1px rgba(255,255,255,.6);}.legacy-copy-section{margin-top:16px;text-align:center;}.legacy-copy-btn{padding:8px 16px;color:#fff;font-size:14px;cursor:pointer;background:var(--legacy-copy-background);border:0;border-radius:6px;transition:background .2s;}.legacy-copy-btn:hover{background:var(--legacy-copy-hover-background);}.legacy-empty{padding:18px 8px;text-align:center;color:var(--legacy-empty-color);background:#fff;border-radius:6px;}@media (max-width:600px){.legacy-ball-card-body{padding:16px 12px 12px;}.legacy-card-group{margin-bottom:16px;padding:12px;}}@media (max-width:480px){.legacy-title-badge{width:138px;min-height:32px;margin:0 auto 10px;}.legacy-title-badge-bg{height:32px;}.legacy-title-text{padding:4px 16px;}.legacy-title-site{max-width:98px;font-size:14px;}.legacy-card-group{margin-bottom:12px;padding:10px;}.legacy-sixiaobama-heading{font-size:21px;}.legacy-card-title{margin-bottom:10px;font-size:14px;}.legacy-copy-btn{padding:6px 12px;font-size:12px;}}