﻿body { background-color: #060709; color: #f1f5f9; font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
        input, select, option { background-color: #000000 !important; color: #ffffff !important; color-scheme: dark !important; border: 1px solid #374151 !important; border-radius: 0.75rem; }
        input:focus, select:focus { border-color: #fbbf24 !important; outline: none !important; box-shadow: 0 0 0 2px rgba(251, 191, 36, 0.3); }
        /* 紫微网格精致样式 */
        .ziwei-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; background: #0f172a; padding: 20px; border-radius: 24px; }
        .ziwei-palace { background: #1e293b; border-radius: 16px; padding: 12px 8px; text-align: center; border: 1px solid #334155; transition: all 0.2s; }
        .ziwei-palace.key-palace { border-color: rgba(250, 204, 21, 0.5); background: linear-gradient(180deg, rgba(250, 204, 21, 0.12), #1e293b 58%); }
        .ziwei-palace:hover { background: #2d3a5e; border-color: #fbbf24; }
        .palace-name { font-size: 0.95rem; font-weight: bold; color: #c084fc; border-bottom: 1px solid #475569; margin-bottom: 6px; padding-bottom: 4px; }
        .main-star { font-size: 1.1rem; font-weight: bold; color: #facc15; }
        .minor-star { font-size: 0.8rem; color: #94a3b8; margin-top: 4px; }
        .fourhua { font-size: 0.8rem; color: #f97316; margin-top: 2px; }
        .ziwei-summary-panel { background: #0b1120; border: 1px solid rgba(192, 132, 252, 0.22); border-radius: 20px; padding: 20px; box-shadow: 0 18px 40px rgba(0,0,0,0.24); }
        .ziwei-summary-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 1px solid rgba(148, 163, 184, 0.16); padding-bottom: 16px; margin-bottom: 16px; }
        .ziwei-summary-head .eyebrow { display: inline-flex; color: #f5f3ff; background: rgba(168, 85, 247, 0.22); border: 1px solid rgba(192, 132, 252, 0.28); border-radius: 999px; padding: 4px 10px; font-size: 0.72rem; font-weight: 950; margin-bottom: 10px; }
        .ziwei-summary-head h3 { color: #f8fafc; font-size: 1.2rem; font-weight: 950; letter-spacing: 0; }
        .ziwei-summary-head p { color: #cbd5e1; line-height: 1.7; margin-top: 8px; }
        .ziwei-focus-badge { color: #020617; background: #c084fc; border-radius: 14px; padding: 10px 12px; font-weight: 950; white-space: nowrap; }
        .ziwei-summary-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 900px) { .ziwei-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .ziwei-summary-grid > div { background: #111827; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 14px; padding: 14px; }
        .ziwei-summary-grid span { display: block; color: #94a3b8; font-size: 0.76rem; font-weight: 900; margin-bottom: 6px; }
        .ziwei-summary-grid strong { display: block; color: #facc15; font-size: 0.98rem; font-weight: 950; margin-bottom: 8px; }
        .ziwei-summary-grid p { color: #cbd5e1; line-height: 1.58; font-size: 0.86rem; }
        .ziwei-priority-strip { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
        @media (min-width: 900px) { .ziwei-priority-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .ziwei-priority-card { border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 14px; padding: 13px; background: #111827; }
        .ziwei-priority-card span { display: block; color: #c4b5fd; font-size: 0.75rem; font-weight: 950; margin-bottom: 7px; }
        .ziwei-priority-card strong { display: block; color: #facc15; font-size: 1rem; font-weight: 950; margin-bottom: 7px; }
        .ziwei-priority-card p { color: #dbeafe; font-size: 0.84rem; line-height: 1.45; }
        .ziwei-priority-card.good { border-color: rgba(52, 211, 153, 0.32); background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), #111827 56%); }
        .ziwei-priority-card.key { border-color: rgba(250, 204, 21, 0.32); background: linear-gradient(135deg, rgba(250, 204, 21, 0.13), #111827 56%); }
        .ziwei-priority-card.risk { border-color: rgba(251, 113, 133, 0.32); background: linear-gradient(135deg, rgba(251, 113, 133, 0.12), #111827 56%); }
        .ziwei-watch-list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #e2e8f0; font-size: 0.88rem; }
        .ziwei-watch-list b { color: #fb7185; }
        .ziwei-watch-list span { display: inline-flex; border: 1px solid rgba(251, 113, 133, 0.22); background: rgba(251, 113, 133, 0.12); color: #fecdd3; border-radius: 999px; padding: 4px 9px; font-weight: 900; }
        .ziwei-section-title { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 12px; align-items: flex-end; padding: 12px 4px 2px; border-bottom: 1px solid rgba(250, 204, 21, 0.22); }
        .ziwei-section-title span { color: #facc15; font-weight: 950; font-size: 1rem; }
        .ziwei-section-title strong { color: #94a3b8; font-size: 0.82rem; font-weight: 850; text-align: right; }
        .ziwei-section-title.support { border-bottom-color: rgba(192, 132, 252, 0.22); }
        .ziwei-section-title.support span { color: #c084fc; }
        .ziwei-palace-cards { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 14px; }
        @media (min-width: 900px) { .ziwei-palace-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
        .ziwei-detail-card { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-left: 5px solid #8b5cf6; border-radius: 18px; padding: 18px; display: grid; gap: 12px; min-height: 280px; }
        .ziwei-detail-card.key { border-left-color: #facc15; }
        .ziwei-detail-card.good { border-left-color: #34d399; background: linear-gradient(135deg, rgba(52, 211, 153, 0.1), #0f172a 46%); }
        .ziwei-detail-card.risk { border-left-color: #fb7185; background: linear-gradient(135deg, rgba(251, 113, 133, 0.1), #0f172a 46%); }
        .ziwei-detail-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
        .ziwei-detail-head h4 { color: #f8fafc; font-size: 1.08rem; font-weight: 950; }
        .ziwei-detail-head p { color: #c084fc; font-size: 0.8rem; font-weight: 850; margin-top: 3px; }
        .ziwei-hua { color: #cbd5e1; background: rgba(148, 163, 184, 0.14); border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 999px; padding: 4px 9px; font-size: 0.74rem; font-weight: 900; white-space: nowrap; }
        .ziwei-hua.good { color: #bbf7d0; background: rgba(34, 197, 94, 0.16); border-color: rgba(34, 197, 94, 0.22); }
        .ziwei-hua.bad { color: #fecdd3; background: rgba(244, 63, 94, 0.16); border-color: rgba(244, 63, 94, 0.22); }
        .ziwei-stars { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
        .ziwei-stars strong { color: #facc15; background: rgba(250, 204, 21, 0.12); border: 1px solid rgba(250, 204, 21, 0.2); border-radius: 999px; padding: 5px 11px; }
        .ziwei-stars span { color: #ddd6fe; background: rgba(168, 85, 247, 0.12); border: 1px solid rgba(168, 85, 247, 0.18); border-radius: 999px; padding: 5px 11px; font-size: 0.84rem; font-weight: 850; }
        .ziwei-detail-card p { color: #cbd5e1; line-height: 1.68; font-size: 0.92rem; }
        .ziwei-meta-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; }
        @media (min-width: 720px) { .ziwei-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
        .ziwei-meta-grid > div { border: 1px solid rgba(148, 163, 184, 0.14); background: rgba(2, 6, 23, 0.34); border-radius: 12px; padding: 10px; }
        .ziwei-meta-grid b { display: block; color: #facc15; font-size: 0.78rem; font-weight: 950; margin-bottom: 5px; }
        .ziwei-meta-grid p { font-size: 0.84rem; line-height: 1.55; }
        .ziwei-reality-note { color: #e2e8f0; background: rgba(2, 6, 23, 0.55); border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 12px; padding: 10px 12px; font-size: 0.88rem; line-height: 1.6; margin-top: auto; }
        /* 人生时间卡片 */
        .timeline-card { background: #0f172a; border-left: 4px solid #fbbf24; margin-bottom: 20px; padding: 18px; border-radius: 20px; }
        .reaction-badge { display: inline-block; background: #1e293b; padding: 4px 14px; border-radius: 40px; font-size: 0.75rem; margin-right: 8px; margin-top: 8px; cursor: pointer; }
        .zodiac-naming-box { background: #0f172a; border-radius: 20px; border-left: 5px solid #f59e0b; margin-top: 24px; }
        /* 太岁标签样式 */
        .offense-tag { display: inline-block; text-align: center; padding: 4px 10px; border-radius: 32px; font-size: 0.7rem; font-weight: 800; min-width: 48px; box-shadow: 0 1px 2px rgba(0,0,0,0.3); margin: 2px 3px; }
        .value-tag { background: #b45309; color: #fff7ed; }
        .chong-tag { background: #dc2626; color: #fef2f2; }
        .xing-tag { background: #9333ea; color: #faf5ff; }
        .hai-tag { background: #0891b2; color: #ecfeff; }
        .po-liupo { background: #eab308; color: #2d2a0e; }
        .po-sanhepo { background: #d97706; color: #fffbeb; }
        .personal-taisui-table { width: 100%; border-collapse: collapse; font-size: 0.75rem; }
        .personal-taisui-table th { background: #1e293b; color: #facc15; padding: 10px 6px; border-bottom: 1px solid #334155; text-align: center; }
        .personal-taisui-table td { background: #0f172a; padding: 10px 6px; text-align: center; border-bottom: 1px solid #1e293b; }
        .personal-taisui-table tr:hover td { background-color: #1e2a44; }
        /* 五行彩色字体 */
        .text-metal { color: #fbbf24; }
        .text-wood { color: #4ade80; }
        .text-water { color: #60a5fa; }
        .text-fire { color: #f87171; }
        .text-earth { color: #a78bfa; }
        /* 报告重点染色 */
        .insight-key { color: #facc15; font-weight: 800; }
        .good-key { color: #34d399; font-weight: 800; }
        .risk-key { color: #fb7185; font-weight: 800; }
        .rose-key { color: #f9a8d4; font-weight: 800; }
        .focus-color { display: inline; font-weight: 950; border-radius: 0.35em; padding: 0.02em 0.18em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
        .focus-good { color: #34d399 !important; background: rgba(52, 211, 153, 0.14); }
        .focus-risk { color: #fb7185 !important; background: rgba(251, 113, 133, 0.14); }
        .focus-action { color: #facc15 !important; background: rgba(250, 204, 21, 0.16); }
        .focus-love { color: #f9a8d4 !important; background: rgba(249, 168, 212, 0.14); }
        .focus-culture { color: #c084fc !important; background: rgba(192, 132, 252, 0.14); }
        .element-pill { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: rgba(15, 23, 42, 0.88); border: 1px solid rgba(148, 163, 184, 0.18); white-space: nowrap; }
        .bazi-pillar { display: grid; grid-template-columns: 44px 46px 1fr; gap: 8px; align-items: center; padding: 7px 0; border-bottom: 1px solid rgba(148, 163, 184, 0.16); }
        .bazi-pillar:last-child { border-bottom: 0; }
        .pillar-label { color: #94a3b8; font-size: 0.78rem; }
        .pillar-gz { color: #f8fafc; font-weight: 900; letter-spacing: 0; }
        .pillar-meta { color: #cbd5e1; font-size: 0.78rem; line-height: 1.8; }
        .insight-summary { display: grid; gap: 10px; }
        .insight-summary p { line-height: 1.8; }
        #basic-info-area {
            grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
            align-items: stretch;
        }
        .basic-info-item {
            min-width: 0;
            padding: 13px 14px;
            border: 1px solid rgba(217, 154, 33, 0.2);
            border-radius: 14px;
            background: rgba(255, 250, 240, 0.72);
            color: #2b2118;
        }
        .basic-info-item span {
            display: block;
            margin-bottom: 5px;
            color: #7a5a26;
            font-size: 0.78rem;
            font-weight: 900;
        }
        .basic-info-item strong {
            display: block;
            max-width: 100%;
            color: #15110c;
            font-size: 1rem;
            font-weight: 950;
            line-height: 1.45;
            overflow-wrap: anywhere;
            word-break: break-word;
        }
        .basic-info-item strong.gold,
        .basic-info-item small {
            color: #a7640b;
        }
        .basic-info-item small {
            display: block;
            margin-top: 6px;
            font-size: 0.88rem;
            font-weight: 900;
            line-height: 1.45;
        }
        .basic-info-date {
            grid-column: span 2;
        }
        .precision-report-panel:empty {
            display: none;
        }
        .precision-report {
            border: 1px solid rgba(217, 154, 33, 0.22);
            border-radius: 18px;
            background: linear-gradient(135deg, rgba(255, 249, 238, 0.96), rgba(255, 255, 255, 0.92));
            padding: 18px;
            box-shadow: 0 16px 38px rgba(92, 56, 8, 0.08);
        }
        .precision-report-head {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            align-items: flex-start;
            padding-bottom: 14px;
            margin-bottom: 14px;
            border-bottom: 1px solid rgba(217, 154, 33, 0.18);
        }
        .precision-report-head span {
            display: inline-flex;
            width: fit-content;
            margin-bottom: 7px;
            padding: 4px 10px;
            border-radius: 999px;
            background: #fff1bd;
            color: #7a4a08;
            font-size: 0.72rem;
            font-weight: 950;
        }
        .precision-report-head h3 {
            color: #9a5f09;
            font-size: 1.12rem;
            font-weight: 950;
        }
        .precision-report-head p,
        .precision-card p {
            color: #4b3a29;
            line-height: 1.65;
        }
        .precision-badge {
            flex: 0 0 auto;
            border-radius: 999px;
            padding: 8px 12px;
            background: #16a34a;
            color: #fff;
            font-size: 0.78rem;
            font-weight: 950;
            white-space: nowrap;
        }
        .precision-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
        }
        .precision-card {
            min-width: 0;
            border: 1px solid rgba(217, 154, 33, 0.18);
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.72);
            padding: 13px;
        }
        .precision-card b {
            display: block;
            margin-bottom: 6px;
            color: #1f1a12;
            font-size: 0.92rem;
            font-weight: 950;
        }
        .precision-card strong {
            color: #b45309;
            font-weight: 950;
        }
        .precision-card.attention {
            background: #fff7ed;
            border-color: rgba(234, 88, 12, 0.24);
        }
        @media (max-width: 760px) {
            .basic-info-date,
            .basic-info-wide {
                grid-column: span 1;
            }
            .precision-report-head {
                display: block;
            }
            .precision-badge {
                margin-top: 10px;
                display: inline-flex;
            }
            .precision-grid {
                grid-template-columns: 1fr;
            }
        }
        .insight-label { display: inline-block; color: #94a3b8; font-size: 0.8rem; margin-right: 10px; }
        .month-card { background: #0f172a; border: 1px solid #1f2937; border-left-width: 5px; border-radius: 18px; padding: 18px; min-height: 250px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 12px 30px rgba(0,0,0,0.18); }
        .month-card.month-good { border-left-color: #34d399; }
        .month-card.month-best { border-left-color: #facc15; background: linear-gradient(135deg, rgba(250,204,21,0.12), rgba(15,23,42,1) 42%); }
        .month-card.month-neutral { border-left-color: #60a5fa; }
        .month-card.month-risk { border-left-color: #fb7185; }
        .month-card.month-danger { border-left-color: #ef4444; background: linear-gradient(135deg, rgba(239,68,68,0.13), rgba(15,23,42,1) 45%); }
        .month-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; border-bottom: 1px solid rgba(148, 163, 184, 0.18); padding-bottom: 12px; }
        .month-name { color: #f8fafc; font-weight: 900; font-size: 1.05rem; }
        .month-date { color: #94a3b8; font-size: 0.78rem; margin-top: 4px; line-height: 1.45; }
        .month-state { color: #facc15; background: rgba(250, 204, 21, 0.12); border: 1px solid rgba(250, 204, 21, 0.22); border-radius: 999px; padding: 5px 10px; font-size: 0.78rem; font-weight: 900; white-space: nowrap; }
        .month-lines { display: grid; gap: 8px; }
        .month-lines p { color: #cbd5e1; line-height: 1.65; font-size: 0.92rem; }
        .month-label { display: inline-block; min-width: 42px; text-align: center; margin-right: 8px; padding: 2px 8px; border-radius: 999px; font-size: 0.75rem; font-weight: 900; }
        .month-label.career { color: #fef3c7; background: rgba(245, 158, 11, 0.18); }
        .month-label.wealth { color: #bbf7d0; background: rgba(34, 197, 94, 0.18); }
        .month-label.relation { color: #fbcfe8; background: rgba(244, 114, 182, 0.16); }
        .month-label.health { color: #bfdbfe; background: rgba(96, 165, 250, 0.16); }
        .month-focus { color: #f8fafc; background: rgba(250, 204, 21, 0.09); border: 1px solid rgba(250, 204, 21, 0.16); border-radius: 12px; padding: 10px 12px; font-size: 0.9rem; line-height: 1.55; font-weight: 800; }
        .month-extra { font-size: 0.86rem; line-height: 1.55; background: rgba(15, 23, 42, 0.82); border: 1px solid rgba(148, 163, 184, 0.18); border-radius: 12px; padding: 9px 10px; }
        .month-do-dont { margin-top: auto; display: grid; gap: 8px; background: rgba(2, 6, 23, 0.55); border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 12px; padding: 11px 12px; }
        .month-do-dont p { color: #e2e8f0; font-size: 0.9rem; line-height: 1.6; }
        .monthly-annual-v12 { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; color: #2b2118; background: linear-gradient(135deg, #fffaf2, #fffdf8); border: 1px solid rgba(217, 154, 33, 0.24); border-radius: 16px; padding: 16px; }
        .monthly-annual-v12 span { display: inline-flex; color: #5c3808; background: #fff1bd; border: 1px solid rgba(217, 154, 33, 0.34); border-radius: 999px; padding: 4px 10px; font-size: 0.72rem; font-weight: 950; margin-bottom: 8px; }
        .monthly-annual-v12 h3 { color: #9a5f09; font-size: 1.12rem; font-weight: 950; margin-bottom: 6px; }
        .monthly-annual-v12 p { color: #4b3a29; line-height: 1.65; }
        .monthly-annual-tags { flex: 0 0 auto; display: grid; gap: 8px; min-width: 190px; }
        .monthly-annual-tags b { display: block; color: #065f46; background: #ecfdf5; border: 1px solid rgba(34, 197, 94, 0.24); border-radius: 999px; padding: 7px 10px; font-size: 0.82rem; font-weight: 950; text-align: center; }
        .monthly-annual-tags .warn { color: #9f1239; background: #fff1f2; border-color: rgba(244, 63, 94, 0.24); }
        .month-card-v12 { background: linear-gradient(135deg, #fffdf8, #fffaf2) !important; border-color: rgba(217, 154, 33, 0.22) !important; box-shadow: 0 14px 30px rgba(92, 56, 8, 0.08) !important; }
        .month-card-v12.month-best { background: linear-gradient(135deg, #fff7df, #fffdf8 58%) !important; border-left-color: #d99a21 !important; }
        .month-card-v12.month-good { border-left-color: #22c55e !important; }
        .month-card-v12.month-neutral { border-left-color: #3b82f6 !important; }
        .month-card-v12.month-risk { background: linear-gradient(135deg, #fff7ed, #fffdf8 58%) !important; border-left-color: #f97316 !important; }
        .month-card-v12.month-danger { background: linear-gradient(135deg, #fff1f2, #fffdf8 58%) !important; border-left-color: #ef4444 !important; }
        .month-card-v12 .month-card-head { border-bottom-color: rgba(217, 154, 33, 0.18) !important; }
        .month-card-v12 .month-name { color: #2b2118 !important; }
        .month-card-v12 .month-date { color: #7a5a26 !important; }
        .month-card-v12 .month-state { color: #2b2118 !important; background: #facc15 !important; border-color: rgba(217, 154, 33, 0.35) !important; }
        .month-v12-headline { display: grid; gap: 5px; background: rgba(255, 241, 189, 0.58); border: 1px solid rgba(217, 154, 33, 0.18); border-radius: 12px; padding: 10px 12px; }
        .month-v12-headline span { color: #a7640b; font-size: 0.78rem; font-weight: 950; }
        .month-v12-headline strong { color: #2b2118; font-size: 0.94rem; line-height: 1.45; }
        .month-card-v12 .month-lines p { color: #4b3a29 !important; }
        .month-card-v12 .month-do-dont { background: #fffaf2 !important; border-color: rgba(217, 154, 33, 0.18) !important; }
        .month-card-v12 .month-do-dont p { color: #4b3a29 !important; }
        @media (max-width: 760px) {
            .monthly-annual-v12 { display: block; }
            .monthly-annual-tags { margin-top: 12px; min-width: 0; }
        }
        .report-info-card { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-left: 4px solid #a78bfa; border-radius: 16px; padding: 16px; min-height: 150px; }
        .mini-advice-card { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 14px; padding: 14px; }
        .mini-advice-title { font-size: 0.9rem; margin-bottom: 6px; }
        .mini-advice-card p { color: #cbd5e1; font-size: 0.9rem; line-height: 1.65; }
        .wuge-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 768px) { .wuge-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
        .wuge-card { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 14px; padding: 14px; min-height: 118px; }
        .wuge-card.good { border-color: rgba(52, 211, 153, 0.28); background: linear-gradient(135deg, rgba(52, 211, 153, 0.09), #0f172a 48%); }
        .wuge-card.risk { border-color: rgba(251, 113, 133, 0.28); background: linear-gradient(135deg, rgba(251, 113, 133, 0.09), #0f172a 48%); }
        .wuge-card p { color: #94a3b8; font-size: 0.82rem; line-height: 1.55; margin-top: 8px; }
        .wuge-card .wuge-detail { color: #cbd5e1; border-top: 1px solid rgba(148, 163, 184, 0.12); padding-top: 8px; }
        .name-panel { border-color: rgba(250, 204, 21, 0.2); }
        .chenggu-panel { border-color: rgba(250, 204, 21, 0.22); }
        .name-panel .practical-head .eyebrow,
        .chenggu-panel .practical-head .eyebrow { color: #451a03; background: #facc15; }
        .name-v14,
        .chenggu-v14 {
            background: linear-gradient(180deg, #fffdf8, #fff7e8) !important;
            border-color: rgba(217, 154, 33, 0.28) !important;
            color: #2b2118 !important;
        }
        .name-v14 .practical-head,
        .chenggu-v14 .practical-head {
            border-bottom-color: rgba(217, 154, 33, 0.2) !important;
        }
        .name-v14 .practical-head h3,
        .chenggu-v14 .practical-head h3 {
            color: #8a4f00 !important;
        }
        .name-v14 .practical-head p,
        .chenggu-v14 .practical-head p {
            color: #4b3a29 !important;
        }
        .name-v14-summary,
        .chenggu-v14-summary,
        .chenggu-stage-grid,
        .chenggu-action-grid,
        .wuge-grid-v14 {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 12px;
            margin-top: 14px;
        }
        @media (min-width: 860px) {
            .name-v14-summary,
            .chenggu-v14-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .wuge-grid-v14 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
            .chenggu-stage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .chenggu-action-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        }
        .name-v14-summary > div,
        .chenggu-v14-summary > div,
        .wuge-card-v14,
        .chenggu-stage-card,
        .chenggu-action-grid > div {
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.22);
            border-radius: 14px;
            padding: 14px;
            box-shadow: 0 10px 24px rgba(128, 74, 12, 0.08);
        }
        .name-v14-summary span,
        .chenggu-v14-summary span,
        .wuge-card-head span {
            display: block;
            color: #a7640b;
            font-size: 0.78rem;
            font-weight: 950;
            margin-bottom: 6px;
        }
        .name-v14-summary strong,
        .chenggu-v14-summary strong,
        .wuge-card-head strong,
        .chenggu-stage-card b,
        .chenggu-action-grid b {
            display: block;
            color: #2b2118;
            font-weight: 950;
            line-height: 1.35;
        }
        .name-v14-summary p,
        .chenggu-v14-summary p,
        .wuge-card-v14 p,
        .chenggu-stage-card p,
        .chenggu-action-grid p {
            color: #4b3a29 !important;
            line-height: 1.65;
            font-size: 0.9rem;
            margin-top: 6px;
        }
        .wuge-card-v14.good { border-left: 5px solid #16a34a; }
        .wuge-card-v14.neutral { border-left: 5px solid #d99a21; }
        .wuge-card-v14.risk { border-left: 5px solid #f97316; }
        .wuge-action {
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px dashed rgba(217, 154, 33, 0.28);
        }
        .wuge-action b { color: #047857; font-weight: 950; }
        .name-action { margin-top: 14px; }
        .chenggu-poem { background: rgba(250, 204, 21, 0.08); border: 1px solid rgba(250, 204, 21, 0.18); border-radius: 16px; padding: 16px; margin-bottom: 16px; text-align: center; }
        .chenggu-poem span { display: block; color: #facc15; font-size: 0.78rem; font-weight: 950; margin-bottom: 8px; }
        .chenggu-poem strong { display: block; color: #fde68a; font-size: 1.08rem; font-style: italic; margin-bottom: 8px; }
        .chenggu-poem p { color: #cbd5e1; line-height: 1.65; font-size: 0.92rem; }
        .fortune-row { display: grid; gap: 6px; padding: 12px 0; border-bottom: 1px solid rgba(148, 163, 184, 0.16); }
        .fortune-row:last-child { border-bottom: 0; }
        .fortune-gz { display: inline-block; margin-left: 10px; color: #f8fafc; font-weight: 900; }
        .fortune-row p { color: #cbd5e1; line-height: 1.65; }
        .health-season-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 768px) { .health-season-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .practical-panel { background: #0b1120; border: 1px solid rgba(52, 211, 153, 0.18); border-radius: 20px; padding: 20px; box-shadow: 0 18px 40px rgba(0,0,0,0.24); }
        .practical-panel.feng-panel { border-color: rgba(250, 204, 21, 0.2); }
        .practical-panel.relation-panel { border-color: rgba(168, 85, 247, 0.22); }
        .practical-panel.love-panel { border-color: rgba(244, 114, 182, 0.25); }
        .practical-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 1px solid rgba(148, 163, 184, 0.16); padding-bottom: 16px; margin-bottom: 16px; }
        .practical-head > div:first-child { min-width: 0; }
        .practical-head .eyebrow { display: inline-flex; color: #052e16; background: #34d399; border-radius: 999px; padding: 4px 10px; font-size: 0.72rem; font-weight: 950; margin-bottom: 10px; }
        .feng-panel .practical-head .eyebrow { color: #451a03; background: #facc15; }
        .practical-head h3 { color: #f8fafc; font-size: 1.22rem; font-weight: 950; letter-spacing: 0; }
        .practical-head p { color: #cbd5e1; line-height: 1.7; margin-top: 8px; }
        .risk-meter { min-width: 86px; max-width: 210px; text-align: center; color: #020617; background: #facc15; border-radius: 14px; padding: 10px 12px; font-weight: 950; white-space: normal; line-height: 1.35; overflow-wrap: anywhere; flex: 0 1 auto; }
        .risk-meter.warn { background: #fb7185; color: #fff; }
        .risk-meter.good { background: #34d399; color: #052e16; }
        .risk-meter.love { background: #f9a8d4; color: #500724; }
        .three-life-panel .risk-meter.good,
        .yin-debt-panel .risk-meter {
            min-width: 118px;
            max-width: 100%;
            background: linear-gradient(135deg, #facc15, #f59e0b);
            color: #2b2118;
            border: 1px solid rgba(180, 119, 27, 0.28);
            margin: 8px 0 0;
            word-break: keep-all;
            overflow-wrap: normal;
            text-align: left;
            font-size: 0.92rem;
            padding: 8px 12px;
        }
        @media (min-width: 761px) {
            .three-life-panel .practical-head,
            .yin-debt-panel .practical-head {
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
            }

            .three-life-panel .risk-meter.good,
            .yin-debt-panel .risk-meter {
                display: inline-flex;
                align-items: center;
                width: auto;
                white-space: nowrap;
            }
        }
        .culture-v13 {
            background: linear-gradient(135deg, #fffaf2, #fffdf8) !important;
            border-color: rgba(217, 154, 33, 0.24) !important;
            box-shadow: 0 16px 34px rgba(92, 56, 8, 0.08) !important;
        }
        .culture-v13 .practical-head {
            border-bottom-color: rgba(217, 154, 33, 0.2) !important;
        }
        .culture-v13 .practical-head .eyebrow {
            color: #5c3808 !important;
            background: #fff1bd !important;
            border: 1px solid rgba(217, 154, 33, 0.34) !important;
        }
        .culture-v13 .practical-head h3 {
            color: #2b2118 !important;
        }
        .culture-v13 .practical-head p {
            color: #4b3a29 !important;
        }
        .culture-summary {
            border: 1px solid rgba(217, 154, 33, 0.2);
            border-radius: 14px;
            background: #fff7df;
            padding: 14px;
            margin-bottom: 14px;
        }
        .culture-summary strong {
            display: block;
            color: #9a5f09;
            font-size: 1rem;
            font-weight: 950;
            margin-bottom: 6px;
        }
        .culture-summary p {
            color: #4b3a29;
            line-height: 1.65;
        }
        .culture-grid {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 12px;
        }
        @media (min-width: 900px) {
            .culture-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }
        .culture-card {
            border: 1px solid rgba(217, 154, 33, 0.18);
            border-radius: 14px;
            background: #fffdf8;
            padding: 13px;
        }
        .culture-card span {
            display: block;
            color: #b45309;
            font-size: 0.78rem;
            font-weight: 950;
            margin-bottom: 7px;
        }
        .culture-card p {
            color: #4b3a29;
            line-height: 1.6;
            font-size: 0.9rem;
        }
        .culture-action-strip {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-top: 14px;
            padding: 12px;
            border-radius: 14px;
            border: 1px solid rgba(217, 154, 33, 0.2);
            background: #fff1bd;
            color: #5c3808;
        }
        .culture-action-strip b {
            font-weight: 950;
        }
        .culture-action-strip span {
            display: inline-flex;
            border-radius: 999px;
            background: #fffdf8;
            border: 1px solid rgba(217, 154, 33, 0.22);
            padding: 4px 9px;
            font-size: 0.8rem;
            font-weight: 900;
        }
        .culture-table {
            margin-bottom: 14px;
        }
        .culture-amount {
            color: #b45309;
            font-weight: 950;
        }
        .debt-grid {
            margin-top: 14px;
        }
        .relation-panel .practical-head .eyebrow { color: #f5f3ff; background: #8b5cf6; }
        .love-panel .practical-head .eyebrow { color: #500724; background: #f9a8d4; }
        .relation-risk-section h4 { color: #fca5a5; }
        .love-flow-section h4 { color: #f9a8d4; }
        .practical-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 900px) { .practical-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .practical-grid > div { background: #111827; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 14px; padding: 14px; }
        .practical-grid span { display: block; color: #94a3b8; font-size: 0.76rem; font-weight: 900; margin-bottom: 6px; }
        .practical-grid strong { display: block; color: #facc15; font-size: 0.98rem; font-weight: 950; margin-bottom: 8px; }
        .practical-grid p { color: #cbd5e1; line-height: 1.58; font-size: 0.86rem; }
        .practical-section { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 18px; padding: 18px; }
        .practical-section h4 { color: #f8fafc; font-size: 1rem; font-weight: 950; margin-bottom: 14px; }
        @media (max-width: 760px) {
            .practical-head {
                flex-direction: column;
                align-items: flex-start;
            }

            .risk-meter {
                max-width: 100%;
                text-align: left;
            }
        }
        .do-dont-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 768px) { .do-dont-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
        .do-card, .dont-card { border-radius: 14px; padding: 14px; border: 1px solid rgba(148, 163, 184, 0.16); background: rgba(2, 6, 23, 0.5); }
        .do-card { border-left: 4px solid #34d399; }
        .dont-card { border-left: 4px solid #fb7185; }
        .do-card strong, .dont-card strong { display: block; color: #f8fafc; font-size: 0.94rem; margin-bottom: 7px; }
        .do-card p, .dont-card p { color: #cbd5e1; line-height: 1.62; font-size: 0.9rem; }
        .action-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
        .action-strip span { color: #e2e8f0; background: rgba(250, 204, 21, 0.1); border: 1px solid rgba(250, 204, 21, 0.16); border-radius: 999px; padding: 6px 10px; font-size: 0.82rem; font-weight: 800; }
        .unknown-hour-link { color: #93c5fd; font-size: 0.78rem; font-weight: 800; text-align: left; }
        .unknown-hour-link:hover { color: #facc15; }
        .unknown-hour-summary { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; background: #020617; border: 1px solid rgba(147, 197, 253, 0.18); border-radius: 16px; padding: 14px; }
        @media (min-width: 768px) { .unknown-hour-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
        .unknown-hour-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 14px; }
        @media (min-width: 900px) { .unknown-hour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
        .unknown-hour-card { background: #0f172a; border: 1px solid rgba(148, 163, 184, 0.16); border-left: 5px solid #60a5fa; border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 12px; min-height: 285px; }
        .unknown-hour-card.best { border-left-color: #facc15; background: linear-gradient(135deg, rgba(250, 204, 21, 0.13), #0f172a 48%); }
        .unknown-hour-card.good { border-left-color: #34d399; }
        .unknown-hour-card.neutral { border-left-color: #60a5fa; }
        .unknown-hour-card.risk { border-left-color: #fb7185; }
        .unknown-hour-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
        .unknown-hour-title { color: #f8fafc; font-weight: 900; font-size: 1.06rem; }
        .unknown-hour-sub { color: #93c5fd; font-size: 0.78rem; margin-top: 4px; font-weight: 700; }
        .unknown-score { min-width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: #facc15; color: #020617; font-weight: 950; font-size: 1.25rem; }
        .unknown-hour-card.good .unknown-score { background: #34d399; }
        .unknown-hour-card.risk .unknown-score { background: #fb7185; color: #fff; }
        .unknown-tags { display: flex; flex-wrap: wrap; gap: 6px; }
        .unknown-tags span { color: #e2e8f0; background: rgba(148, 163, 184, 0.12); border: 1px solid rgba(148, 163, 184, 0.13); border-radius: 999px; padding: 3px 9px; font-size: 0.7rem; font-weight: 800; }
        .unknown-tags .unknown-rank { color: #020617; background: #facc15; border-color: #facc15; }
        .unknown-hour-card p { color: #cbd5e1; line-height: 1.62; font-size: 0.9rem; }
        .unknown-apply-btn { margin-top: auto; color: #020617; background: #facc15; border-radius: 12px; padding: 0.72rem 1rem; font-size: 0.88rem; font-weight: 900; transition: opacity 0.2s, transform 0.2s; }
        .unknown-apply-btn:hover { opacity: 0.9; transform: translateY(-1px); }
        .report-tab-groups { display: grid; gap: 12px; border-top: 1px solid rgba(185, 127, 46, 0.2); border-bottom: 1px solid rgba(185, 127, 46, 0.2); padding: 14px 0; }
        .tab-group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
        .tab-group-label { display: inline-flex; align-items: center; justify-content: flex-start; min-width: 76px; color: #a7640b; border-left: 3px solid #d99a21; padding: 3px 0 3px 9px; font-size: 0.74rem; font-weight: 950; }
        .report-reading-guide {
            background: linear-gradient(135deg, #fffdf8, #fff4d5);
            border: 1px solid rgba(217, 154, 33, 0.32);
            border-radius: 18px;
            padding: 14px;
            margin: 14px 0;
            box-shadow: 0 16px 38px rgba(128, 74, 12, 0.09);
        }
        .reading-guide-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 12px;
        }
        .reading-guide-head span {
            display: block;
            color: #a7640b;
            font-size: 0.72rem;
            font-weight: 950;
            letter-spacing: 0.05em;
        }
        .reading-guide-head strong {
            display: block;
            color: #2b2118;
            font-size: 1rem;
            font-weight: 950;
            margin-top: 2px;
        }
        .reading-guide-head button {
            color: #7c3f00;
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 999px;
            padding: 7px 13px;
            font-size: 0.78rem;
            font-weight: 950;
        }
        .reading-guide-steps {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 10px;
        }
        @media (min-width: 840px) {
            .reading-guide-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }
        .reading-guide-steps button {
            text-align: left;
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.24);
            border-left: 4px solid #d99a21;
            border-radius: 14px;
            padding: 12px 13px;
        }
        .reading-guide-steps button:hover {
            border-color: rgba(217, 154, 33, 0.5);
            transform: translateY(-1px);
        }
        .reading-guide-steps span,
        .reading-guide-steps strong,
        .reading-guide-steps small {
            display: block;
        }
        .reading-guide-steps span {
            color: #a7640b;
            font-size: 0.72rem;
            font-weight: 950;
            margin-bottom: 5px;
        }
        .reading-guide-steps strong {
            color: #2b2118;
            font-size: 0.94rem;
            font-weight: 950;
        }
        .reading-guide-steps small {
            color: #5b4632;
            font-size: 0.78rem;
            line-height: 1.45;
            margin-top: 5px;
        }
        .report-search-panel {
            background: linear-gradient(135deg, rgba(255, 253, 248, 0.98), rgba(255, 247, 232, 0.96));
            border: 1px solid rgba(217, 154, 33, 0.28);
            border-radius: 18px;
            padding: 14px;
            margin: 14px 0 18px;
            box-shadow: 0 14px 34px rgba(128, 74, 12, 0.08);
        }
        .report-search-head,
        .report-search-box {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }
        .report-search-head { margin-bottom: 10px; }
        .report-search-head span {
            display: block;
            color: #a7640b;
            font-size: 0.72rem;
            font-weight: 950;
            letter-spacing: 0.05em;
        }
        .report-search-head strong {
            display: block;
            color: #2b2118;
            font-size: 1rem;
            font-weight: 950;
            margin-top: 2px;
        }
        .report-search-head button {
            color: #7c3f00;
            background: #fff7df;
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 999px;
            padding: 7px 13px;
            font-size: 0.78rem;
            font-weight: 950;
        }
        .report-search-box input {
            width: 100%;
            min-width: 0;
            color: #2b2118;
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 999px;
            padding: 11px 15px;
            font-size: 0.92rem;
            font-weight: 800;
            outline: none;
        }
        .report-search-box input:focus {
            border-color: #d99a21;
            box-shadow: 0 0 0 4px rgba(250, 204, 21, 0.16);
        }
        .report-search-box span {
            flex: 0 0 auto;
            color: #a7640b;
            background: #fff1bd;
            border: 1px solid rgba(217, 154, 33, 0.26);
            border-radius: 999px;
            padding: 8px 11px;
            font-size: 0.78rem;
            font-weight: 950;
            white-space: nowrap;
        }
        .report-search-results {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 8px;
            margin-top: 10px;
        }
        .report-bookmark-panel {
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.24);
            border-radius: 14px;
            padding: 12px;
            margin-top: 12px;
        }
        .report-bookmark-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 9px;
        }
        .report-bookmark-head strong {
            color: #2b2118;
            font-size: 0.92rem;
            font-weight: 950;
        }
        .report-bookmark-head span {
            color: #a7640b;
            background: #fff1bd;
            border: 1px solid rgba(217, 154, 33, 0.28);
            border-radius: 999px;
            padding: 4px 9px;
            font-size: 0.72rem;
            font-weight: 950;
        }
        .report-bookmark-list {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
            gap: 8px;
        }
        .report-tool-actions,
        .action-export-buttons {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 8px;
        }
        .report-tool-actions button,
        .action-export-buttons button {
            color: #7c3f00;
            background: #fff7df;
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 999px;
            padding: 7px 13px;
            font-size: 0.78rem;
            font-weight: 950;
        }
        .report-tool-actions button:hover,
        .action-export-buttons button:hover {
            background: #fff1bd;
            border-color: rgba(217, 154, 33, 0.5);
        }
        .report-tool-actions #reading-guide-reopen {
            color: #052e16;
            background: #dcfce7;
            border-color: rgba(22, 163, 74, 0.28);
        }
        .report-action-export {
            background: #fffdf8;
            border: 1px solid rgba(217, 154, 33, 0.24);
            border-radius: 14px;
            padding: 12px;
            margin-top: 12px;
        }
        .action-export-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 10px;
        }
        .action-export-head strong,
        .action-export-head span {
            display: block;
        }
        .action-export-head strong {
            color: #2b2118;
            font-size: 0.92rem;
            font-weight: 950;
        }
        .action-export-head span {
            color: #73573d;
            font-size: 0.78rem;
            line-height: 1.45;
            margin-top: 2px;
        }
        .report-action-export pre {
            white-space: pre-wrap;
            color: #2b2118;
            background: #fffaf2;
            border: 1px solid rgba(217, 154, 33, 0.2);
            border-radius: 12px;
            padding: 12px;
            max-height: 260px;
            overflow: auto;
            font-size: 0.82rem;
            line-height: 1.65;
            font-family: inherit;
        }
        @media (min-width: 900px) {
            .report-bookmark-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        .bookmark-empty {
            color: #73573d;
            font-size: 0.82rem;
            line-height: 1.5;
        }
        .bookmark-item {
            text-align: left;
            background: #fffdf8;
            border: 1px solid rgba(217, 154, 33, 0.24);
            border-left: 4px solid #16a34a;
            border-radius: 12px;
            padding: 9px 11px;
        }
        .bookmark-item:hover {
            border-color: rgba(22, 163, 74, 0.42);
            transform: translateY(-1px);
        }
        .bookmark-item span,
        .bookmark-item small {
            display: block;
        }
        .bookmark-item span {
            color: #047857;
            font-size: 0.82rem;
            font-weight: 950;
        }
        .bookmark-item small {
            color: #5b4632;
            font-size: 0.76rem;
            line-height: 1.42;
            margin-top: 4px;
        }
        @media (min-width: 900px) {
            .report-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        .report-search-result {
            text-align: left;
            background: #fffdf8;
            border: 1px solid rgba(217, 154, 33, 0.24);
            border-left: 4px solid #d99a21;
            border-radius: 13px;
            padding: 10px 12px;
        }
        .report-search-result:hover {
            border-color: rgba(217, 154, 33, 0.5);
            transform: translateY(-1px);
        }
        .report-search-result span,
        .report-search-result strong,
        .report-search-result small {
            display: block;
        }
        .report-search-result span {
            color: #a7640b;
            font-size: 0.78rem;
            font-weight: 950;
            margin-bottom: 3px;
        }
        .report-search-result strong {
            color: #2b2118;
            font-size: 0.9rem;
            font-weight: 950;
        }
        .report-search-result small,
        .report-search-empty {
            color: #5b4632;
            font-size: 0.8rem;
            line-height: 1.48;
            margin-top: 5px;
        }
        .report-search-empty {
            background: #fffaf2;
            border: 1px dashed rgba(217, 154, 33, 0.34);
            border-radius: 12px;
            padding: 10px 12px;
        }
        .report-search-hit {
            border-color: rgba(217, 154, 33, 0.54) !important;
            box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.13), 0 18px 42px rgba(128, 74, 12, 0.08) !important;
        }
        .report-search-mark {
            color: #451a03;
            background: linear-gradient(135deg, #facc15, #f59e0b);
            border-radius: 5px;
            padding: 0 3px;
            font-weight: 950;
        }
        .is-bookmarked-section {
            border-color: rgba(22, 163, 74, 0.5) !important;
            box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12), 0 18px 42px rgba(128, 74, 12, 0.08) !important;
        }
        @media (max-width: 760px) {
            .report-search-head,
            .report-search-box {
                align-items: stretch;
                flex-direction: column;
            }
            .report-tool-actions,
            .action-export-head,
            .action-export-buttons {
                align-items: stretch;
                flex-direction: column;
            }
            .report-search-box span { align-self: flex-start; }
        }
        .report-section { position: relative; }
        .continuous-reading .report-section { scroll-margin-top: 92px; }
        .report-section[data-module-no] { padding-top: 3.2rem !important; }
        .report-section[data-module-no]::before {
            content: attr(data-module-no) " · " attr(data-module-group);
            position: absolute;
            top: 16px;
            right: 18px;
            color: #451a03;
            background: linear-gradient(135deg, #facc15, #f59e0b);
            border: 1px solid rgba(180, 119, 27, 0.28);
            border-radius: 999px;
            padding: 5px 10px;
            font-size: 0.72rem;
            font-weight: 950;
            line-height: 1.2;
            box-shadow: 0 8px 18px rgba(156, 93, 8, 0.12);
        }
        .chapter-brief {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 8px;
            align-items: start;
            color: #451a03;
            background: linear-gradient(135deg, #fff7df, #fffaf2);
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-left: 4px solid #d99a21;
            border-radius: 12px;
            padding: 10px 12px;
            margin: 8px 0 18px;
            font-size: 0.88rem;
            font-weight: 850;
            line-height: 1.65;
            letter-spacing: 0;
        }
        .chapter-anchors {
            grid-column: 1 / -1;
            display: flex;
            flex-wrap: wrap;
            gap: 7px;
            padding-top: 3px;
        }
        .chapter-anchors em {
            display: inline-flex;
            align-items: center;
            color: #7c3f00;
            background: rgba(250, 204, 21, 0.24);
            border: 1px solid rgba(217, 154, 33, 0.3);
            border-radius: 999px;
            padding: 3px 9px;
            font-size: 0.76rem;
            font-style: normal;
            font-weight: 950;
            line-height: 1.2;
        }
        .chapter-bookmark-btn {
            grid-column: 1 / -1;
            justify-self: start;
            color: #451a03;
            background: linear-gradient(135deg, #fff7df, #facc15);
            border: 1px solid rgba(217, 154, 33, 0.36);
            border-radius: 999px;
            padding: 6px 11px;
            font-size: 0.78rem;
            font-weight: 950;
            line-height: 1.2;
        }
        .chapter-bookmark-btn.active {
            color: #052e16;
            background: linear-gradient(135deg, #bbf7d0, #34d399);
            border-color: rgba(22, 163, 74, 0.36);
        }
        .chapter-brief strong {
            color: #a7640b;
            font-weight: 950;
            white-space: nowrap;
        }
        .chapter-brief span {
            color: #451a03;
            font-weight: 800;
        }
        .report-scroll-tip {
            position: fixed;
            right: 18px;
            top: 118px;
            z-index: 60;
            width: min(260px, calc(100vw - 32px));
            transform: translateX(18px);
            opacity: 0;
            pointer-events: none;
            color: #2b2118;
            background: rgba(255, 253, 248, 0.96);
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 18px;
            padding: 14px;
            box-shadow: 0 18px 45px rgba(128, 74, 12, 0.18);
            backdrop-filter: blur(12px);
            transition: opacity 0.2s ease, transform 0.2s ease;
        }
        .report-scroll-tip.active {
            opacity: 1;
            pointer-events: auto;
            transform: translateX(0);
        }
        .reading-tip-kicker {
            color: #a7640b;
            font-size: 0.72rem;
            font-weight: 950;
            letter-spacing: 0.05em;
            margin-bottom: 6px;
        }
        .reading-tip-title {
            display: block;
            width: 100%;
            color: #2b2118;
            text-align: left;
            font-size: 1rem;
            line-height: 1.35;
            font-weight: 950;
        }
        .reading-tip-title:hover { color: #a7640b; }
        .report-scroll-tip p {
            color: #5b4632;
            font-size: 0.82rem;
            line-height: 1.55;
            margin: 8px 0 10px;
        }
        .reading-tip-progress {
            height: 6px;
            overflow: hidden;
            background: #f4e4ca;
            border-radius: 999px;
            margin-bottom: 8px;
        }
        .reading-tip-progress span {
            display: block;
            width: 0%;
            height: 100%;
            background: linear-gradient(90deg, #facc15, #f59e0b, #16a34a);
            border-radius: inherit;
            transition: width 0.2s ease;
        }
        .reading-tip-meta {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
            color: #a7640b;
            font-size: 0.74rem;
            font-weight: 900;
            margin-bottom: 10px;
        }
        .reading-tip-meta span:last-child {
            color: #047857;
        }
        .reading-resume-btn,
        .reading-reset-btn {
            display: block;
            width: 100%;
            border-radius: 999px;
            padding: 7px 10px;
            font-size: 0.76rem;
            font-weight: 950;
            line-height: 1.25;
            margin-bottom: 8px;
        }
        .reading-resume-btn {
            color: #052e16;
            background: linear-gradient(135deg, #bbf7d0, #34d399);
            border: 1px solid rgba(22, 163, 74, 0.32);
        }
        .reading-reset-btn {
            color: #7c3f00;
            background: #fff7df;
            border: 1px solid rgba(217, 154, 33, 0.28);
        }
        .reading-resume-btn[hidden] {
            display: none !important;
        }
        .reading-tip-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
        }
        .reading-tip-actions button {
            color: #451a03;
            background: linear-gradient(135deg, #fff7df, #facc15);
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 999px;
            padding: 7px 9px;
            font-size: 0.78rem;
            font-weight: 950;
        }
        .reading-tip-actions button:disabled {
            opacity: 0.45;
            cursor: not-allowed;
        }
        @media (max-width: 1100px) {
            .report-scroll-tip {
                right: 10px;
                top: 96px;
                width: 220px;
                padding: 12px;
            }
            .report-scroll-tip p { font-size: 0.76rem; }
            .reading-tip-title { font-size: 0.92rem; }
        }
        @media (max-width: 820px) {
            .report-scroll-tip { display: none !important; }
        }
        .print-cover { display: none; }
        .print-cover-brand { color: #a7640b; font-size: 0.9rem; font-weight: 950; letter-spacing: 0.08em; text-align: center; margin-bottom: 28px; }
        .print-cover h1 { color: #2b2118; font-size: 2.1rem; font-weight: 950; text-align: center; margin: 0 0 12px; }
        .print-cover-subtitle { color: #73573d; text-align: center; font-size: 0.98rem; margin-bottom: 34px; }
        .print-cover-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 auto 28px; max-width: 680px; }
        .print-cover-meta div { border: 1px solid rgba(185, 127, 46, 0.28); border-radius: 14px; padding: 14px 16px; background: #fffaf2; }
        .print-cover-meta span { display: block; color: #73573d; font-size: 0.76rem; font-weight: 850; margin-bottom: 6px; }
        .print-cover-meta strong { display: block; color: #2b2118; font-size: 1rem; font-weight: 950; }
        .print-cover-sections { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 24px auto 34px; max-width: 720px; }
        .print-cover-sections span { color: #451a03; background: #fff1bd; border: 1px solid rgba(217, 154, 33, 0.38); border-radius: 999px; padding: 8px 14px; font-weight: 950; font-size: 0.82rem; }
        .print-cover-note { color: #73573d; border-top: 1px solid rgba(185, 127, 46, 0.22); padding-top: 14px; text-align: center; font-size: 0.82rem; max-width: 720px; margin: 0 auto; }
        .print-toc { display: none; }
        .print-toc-head { text-align: center; margin-bottom: 28px; }
        .print-toc-head span { color: #a7640b; font-size: 0.84rem; font-weight: 950; letter-spacing: 0.08em; }
        .print-toc-head h2 { color: #2b2118; font-size: 1.8rem; font-weight: 950; margin-top: 8px; }
        .print-toc-head p { color: #73573d; margin-top: 8px; }
        .print-toc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 760px; margin: 0 auto; }
        .print-toc-grid > div { background: #fffaf2; border: 1px solid rgba(185, 127, 46, 0.28); border-radius: 16px; padding: 16px 18px; }
        .print-toc-grid strong { display: block; color: #a7640b; font-size: 1rem; font-weight: 950; border-bottom: 1px solid rgba(185, 127, 46, 0.2); padding-bottom: 8px; margin-bottom: 10px; }
        .print-toc-grid ol { color: #2b2118; display: grid; gap: 6px; font-size: 0.92rem; line-height: 1.5; }
        .print-toc-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 760px; margin: 24px auto 0; padding-top: 16px; border-top: 1px solid rgba(185, 127, 46, 0.22); }
        .print-toc-legend span { color: #451a03; background: #fff1bd; border: 1px solid rgba(217, 154, 33, 0.38); border-radius: 999px; padding: 6px 11px; font-size: 0.78rem; font-weight: 950; }
        .final-action-summary {
            background: linear-gradient(180deg, #fffaf2 0%, #ffffff 100%);
            border: 1px solid rgba(185, 127, 46, 0.26);
            border-radius: 20px;
            padding: 22px;
            color: #2b2118;
            box-shadow: 0 20px 48px rgba(95, 58, 22, 0.08);
        }
        .final-summary-head {
            text-align: center;
            border-bottom: 1px solid rgba(185, 127, 46, 0.2);
            padding-bottom: 16px;
            margin-bottom: 16px;
        }
        .final-summary-head span,
        .final-footer-card span {
            color: #a7640b;
            font-size: 0.78rem;
            font-weight: 950;
            letter-spacing: 0.08em;
        }
        .final-summary-head h2 {
            color: #a7640b;
            font-size: 1.55rem;
            font-weight: 950;
            margin-top: 6px;
        }
        .final-summary-head p {
            color: #73573d;
            margin-top: 7px;
            line-height: 1.65;
        }
        .final-summary-hero {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr;
            gap: 14px;
            align-items: stretch;
            margin-bottom: 14px;
        }
        .final-summary-hero > div:first-child,
        .final-panel,
        .final-footer-card {
            background: #fffaf2;
            border: 1px solid rgba(185, 127, 46, 0.22);
            border-radius: 14px;
            padding: 16px;
        }
        .final-summary-hero span {
            color: #a7640b;
            font-size: 0.78rem;
            font-weight: 950;
        }
        .final-summary-hero strong {
            display: block;
            color: #2b2118;
            font-size: 1.3rem;
            font-weight: 950;
            margin: 5px 0 8px;
        }
        .final-summary-hero p,
        .final-panel li,
        .final-month p,
        .final-footer-card p {
            color: #3f3022;
            line-height: 1.65;
        }
        .final-score-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
        }
        .final-score {
            background: #fff1bd;
            border: 1px solid rgba(217, 154, 33, 0.34);
            border-radius: 12px;
            padding: 12px;
        }
        .final-score span {
            display: block;
            color: #73573d;
            font-size: 0.78rem;
            font-weight: 900;
        }
        .final-score strong {
            color: #a7640b;
            font-size: 1.4rem;
            font-weight: 950;
        }
        .final-summary-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
            margin-top: 14px;
        }
        .final-panel h3 {
            color: #a7640b;
            font-size: 1rem;
            font-weight: 950;
            margin-bottom: 10px;
        }
        .final-panel.risk h3 {
            color: #b91c1c;
        }
        .final-panel ol {
            display: grid;
            gap: 8px;
            list-style: decimal;
            padding-left: 1.25rem;
        }
        .final-month-grid {
            display: grid;
            gap: 9px;
        }
        .final-month {
            border-left: 4px solid #22c55e;
            background: #f0fdf4;
            padding: 9px 11px;
            border-radius: 10px;
        }
        .final-month.risk {
            border-left-color: #ef4444;
            background: #fef2f2;
        }
        .final-month span {
            color: #73573d;
            font-size: 0.76rem;
            font-weight: 900;
        }
        .final-month strong {
            display: inline-block;
            color: #15803d;
            font-weight: 950;
            margin-left: 8px;
        }
        .final-month.risk strong {
            color: #b91c1c;
        }
        .final-footer-card {
            display: grid;
            grid-template-columns: 1fr 156px;
            gap: 16px;
            align-items: center;
            margin-top: 14px;
        }
        .final-footer-card img {
            width: 156px;
            height: auto;
            justify-self: end;
            border-radius: 14px;
            box-shadow: 0 10px 24px rgba(95, 58, 22, 0.08);
        }
        .report-quality-check {
            color: #2b2118;
            background: #f0fdf4;
            border: 1px solid rgba(34, 197, 94, 0.35);
            border-left: 4px solid #22c55e;
            border-radius: 14px;
            padding: 12px 14px;
            font-size: 0.82rem;
            box-shadow: 0 12px 28px rgba(21, 128, 61, 0.08);
            display: none;
        }
        .report-quality-check.has-issues {
            display: block;
            background: #fef2f2;
            border-color: rgba(239, 68, 68, 0.35);
            border-left-color: #ef4444;
            box-shadow: 0 12px 28px rgba(185, 28, 28, 0.08);
        }
        .quality-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }
        .quality-head strong {
            color: #166534;
            font-weight: 950;
        }
        .report-quality-check.has-issues .quality-head strong {
            color: #b91c1c;
        }
        .quality-head span {
            color: #73573d;
            font-size: 0.76rem;
            font-weight: 800;
        }
        .report-quality-check ul {
            display: grid;
            gap: 5px;
            list-style: disc;
            padding-left: 1.1rem;
            margin-top: 9px;
        }
        .report-quality-check li {
            color: #7f1d1d;
            line-height: 1.45;
        }
        @media (max-width: 760px) {
            .final-summary-hero,
            .final-summary-grid,
            .final-footer-card {
                grid-template-columns: 1fr;
            }
            .final-footer-card img {
                justify-self: center;
                width: min(150px, 42vw);
            }
            .final-action-summary {
                padding: 16px;
                border-radius: 16px;
            }
            .final-summary-head {
                text-align: left;
            }
            .final-summary-head h2 {
                font-size: 1.28rem;
            }
            .final-score-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
            }
            .final-score {
                padding: 10px;
            }
            .final-score strong {
                font-size: 1.16rem;
            }
        }
        @media (max-width: 760px) {
            main.max-w-7xl {
                padding-left: 0.85rem !important;
                padding-right: 0.85rem !important;
            }
            #input-card,
            #unknown-hour-card,
            #report-card > .print-card,
            .report-section {
                border-radius: 18px !important;
                padding-left: 14px !important;
                padding-right: 14px !important;
            }
            #input-card {
                padding-top: 20px !important;
                padding-bottom: 20px !important;
            }
            #basic-info-area {
                grid-template-columns: 1fr !important;
            }
            #summary-cards {
                gap: 12px !important;
            }
            .report-tab-groups {
                display: flex;
                gap: 8px;
                overflow-x: auto;
                padding: 10px 0 12px;
                scroll-snap-type: x proximity;
                scrollbar-width: none;
                border-top-style: solid;
                border-bottom-style: solid;
            }
            .report-tab-groups::-webkit-scrollbar {
                display: none;
            }
            .tab-group {
                flex: 0 0 auto;
                align-items: stretch;
                flex-wrap: nowrap;
                gap: 6px;
                scroll-snap-align: start;
            }
            .tab-group-label {
                min-width: auto;
                width: auto;
                align-self: center;
                white-space: nowrap;
                border-left: 0;
                border-radius: 999px;
                background: #fff1bd !important;
                border: 1px solid rgba(217, 154, 33, 0.38) !important;
                padding: 6px 9px !important;
                font-size: 0.7rem !important;
            }
            .tab-btn {
                flex: 0 0 auto;
                min-height: 36px;
                padding: 0.48rem 0.72rem !important;
                font-size: 0.78rem !important;
                margin: 0 !important;
                scroll-snap-align: start;
            }
            .report-section[data-module-no]::before {
                position: static;
                display: inline-flex;
                margin-bottom: 12px;
            }
            .report-section h2 {
                font-size: 1.12rem !important;
                line-height: 1.35;
            }
            .chapter-brief {
                grid-template-columns: 1fr;
                gap: 4px;
                padding: 10px;
                margin-bottom: 14px;
                font-size: 0.82rem;
            }
            .chapter-anchors {
                gap: 5px;
            }
            .chapter-anchors em {
                padding: 2px 8px;
                font-size: 0.72rem;
            }
            .front-summary,
            .module-guide,
            .report-info-card,
            .mini-advice-card,
            .practical-panel,
            .timeline-card,
            .month-card,
            .unknown-hour-card {
                border-radius: 14px !important;
                padding: 14px !important;
            }
            .front-summary-head {
                flex-direction: column;
            }
            .front-year-badge {
                width: 100%;
                min-width: 0;
            }
            .module-guide-head {
                flex-direction: column;
                align-items: flex-start;
            }
            .month-card {
                min-height: 0;
                gap: 10px;
            }
            .month-card-head,
            .unknown-hour-head {
                gap: 10px;
            }
            .month-state {
                padding: 4px 8px;
                font-size: 0.72rem;
            }
            .month-lines p {
                display: grid;
                grid-template-columns: 48px 1fr;
                gap: 8px;
                align-items: start;
            }
            .month-label {
                margin-right: 0;
            }
            .unknown-score {
                min-width: 46px;
                height: 46px;
                font-size: 1.08rem;
            }
            .ziwei-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                padding: 12px;
                border-radius: 14px;
            }
            .ziwei-palace-cards,
            .ziwei-summary-grid {
                grid-template-columns: 1fr !important;
            }
            .personal-taisui-table th,
            .personal-taisui-table td {
                font-size: 0.68rem;
                padding: 7px 5px;
            }
            .report-quality-check {
                font-size: 0.76rem;
                padding: 10px 12px;
            }
            .quality-head {
                flex-direction: column;
                align-items: flex-start;
                gap: 4px;
            }
        }
        .front-summary { background: #0b1120; border: 1px solid rgba(250, 204, 21, 0.18); border-radius: 20px; padding: 20px; box-shadow: 0 18px 42px rgba(0,0,0,0.28); }
        .front-summary-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 1px solid rgba(148, 163, 184, 0.16); padding-bottom: 16px; margin-bottom: 16px; }
        .front-summary-head .eyebrow { display: inline-flex; color: #0f172a; background: #facc15; border-radius: 999px; padding: 4px 10px; font-size: 0.72rem; font-weight: 950; margin-bottom: 10px; }
        .front-summary-head h3 { color: #f8fafc; font-size: 1.3rem; font-weight: 950; letter-spacing: 0; }
        .front-summary-head p { color: #cbd5e1; line-height: 1.7; margin-top: 8px; }
        .front-year-badge { min-width: 82px; text-align: center; color: #020617; background: linear-gradient(135deg, #facc15, #f97316); border-radius: 16px; padding: 12px 10px; font-size: 1.25rem; font-weight: 950; box-shadow: 0 12px 24px rgba(249, 115, 22, 0.18); }
        .front-year-badge span { display: block; color: #451a03; font-size: 0.75rem; margin-top: 2px; font-weight: 900; }
        .front-read-path { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
        @media (min-width: 768px) { .front-read-path { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
        .front-path-btn { text-align: left; color: #e2e8f0; background: #111827; border: 1px solid rgba(250, 204, 21, 0.18); border-radius: 14px; padding: 12px 14px; cursor: pointer; transition: transform 0.18s ease, border-color 0.18s ease; }
        .front-path-btn:hover { transform: translateY(-1px); border-color: rgba(250, 204, 21, 0.42); }
        .front-path-btn span { display: block; color: #facc15; font-size: 0.76rem; font-weight: 950; margin-bottom: 5px; }
        .front-path-btn strong { display: block; color: #f8fafc; font-size: 0.95rem; font-weight: 950; }
        .front-path-btn small { display: block; color: #94a3b8; font-size: 0.78rem; line-height: 1.45; margin-top: 5px; }
        .module-guide { background: rgba(15, 23, 42, 0.78); border: 1px solid rgba(250, 204, 21, 0.16); border-radius: 20px; padding: 18px; }
        .module-guide-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
        .module-guide-head span { color: #facc15; font-size: 0.78rem; font-weight: 950; letter-spacing: 0.04em; }
        .module-guide-head strong { color: #f8fafc; font-size: 1rem; font-weight: 950; }
        .module-guide-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; }
        @media (min-width: 900px) { .module-guide-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .module-guide-card { text-align: left; background: #111827; border: 1px solid rgba(148, 163, 184, 0.16); border-left: 4px solid #d99a21; border-radius: 14px; padding: 13px 14px; cursor: pointer; min-height: 124px; }
        .module-guide-card:hover { border-color: rgba(250, 204, 21, 0.42); transform: translateY(-1px); }
        .module-guide-card span { display: block; color: #facc15; font-size: 0.76rem; font-weight: 950; margin-bottom: 7px; }
        .module-guide-card strong { display: block; color: #f8fafc; font-size: 0.9rem; line-height: 1.38; font-weight: 950; }
        .module-guide-card small { display: block; color: #94a3b8; font-size: 0.78rem; line-height: 1.5; margin-top: 7px; }
        .report-color-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(148, 163, 184, 0.14); }
        .legend-item { display: inline-flex; align-items: center; gap: 6px; color: #cbd5e1; background: rgba(15, 23, 42, 0.55); border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 999px; padding: 5px 9px; font-size: 0.74rem; font-weight: 900; }
        .legend-item::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: currentColor; }
        .legend-gold { color: #facc15; }
        .legend-green { color: #34d399; }
        .legend-red { color: #fb7185; }
        .legend-blue { color: #60a5fa; }
        .legend-purple { color: #a78bfa; }
        .front-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 12px; }
        @media (min-width: 900px) { .front-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
        .front-card { background: #111827; border: 1px solid rgba(148, 163, 184, 0.16); border-left: 4px solid #60a5fa; border-radius: 16px; padding: 15px; min-height: 132px; }
        .front-card.good { border-left-color: #34d399; }
        .front-card.risk { border-left-color: #fb7185; }
        .front-card span { display: block; color: #94a3b8; font-size: 0.78rem; font-weight: 900; margin-bottom: 8px; }
        .front-card p { color: #e2e8f0; line-height: 1.65; font-size: 0.92rem; }
        .front-score-grid { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
        @media (min-width: 768px) { .front-score-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
        .front-score { background: #020617; border: 1px solid rgba(148, 163, 184, 0.14); border-radius: 14px; padding: 12px; overflow: hidden; }
        .front-score div { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
        .front-score span { color: #cbd5e1; font-weight: 850; font-size: 0.86rem; }
        .front-score strong { color: #facc15; font-size: 1.05rem; font-weight: 950; }
        .front-score i { display: block; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #34d399, #facc15); max-width: 100%; }
        .front-actions { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
        @media (min-width: 900px) { .front-actions { grid-template-columns: 1.15fr 0.85fr; } }
        .front-actions > div { background: rgba(15, 23, 42, 0.78); border: 1px solid rgba(148, 163, 184, 0.14); border-radius: 16px; padding: 16px; }
        .front-actions h4 { color: #f8fafc; font-size: 0.96rem; font-weight: 950; margin-bottom: 10px; }
        .front-actions ol { color: #e2e8f0; list-style: decimal; padding-left: 1.2rem; display: grid; gap: 8px; }
        .front-actions li, .front-actions p { color: #cbd5e1; line-height: 1.65; font-size: 0.92rem; }
        @media print {
            * { box-shadow: none !important; text-shadow: none !important; }
            body { background: white !important; color: #000 !important; }
            body::before {
                content: "問師傅 · 終身命書";
                position: fixed;
                top: 6mm;
                left: 10mm;
                right: 10mm;
                z-index: 9999;
                color: #a7640b !important;
                border-bottom: 1px solid rgba(185, 127, 46, 0.28);
                padding-bottom: 2mm;
                font-size: 8pt;
                font-weight: 950;
                letter-spacing: 0.04em;
                text-align: left;
            }
            body::after {
                content: "內容僅供文化娛樂與自我參考 · 問師傅 - 終身命書";
                position: fixed;
                left: 10mm;
                right: 10mm;
                bottom: 5mm;
                z-index: 9999;
                color: #73573d !important;
                border-top: 1px solid rgba(185, 127, 46, 0.24);
                padding-top: 2mm;
                font-size: 7.5pt;
                font-weight: 750;
                text-align: center;
            }
            .no-print { display: none !important; }
            .print-cover {
                display: block !important;
                min-height: 250mm;
                padding: 34mm 12mm 18mm !important;
                break-after: page;
                page-break-after: always;
                background:
                    radial-gradient(circle at 50% 0%, rgba(250, 204, 21, 0.28), transparent 34%),
                    linear-gradient(180deg, #fff7df 0%, #fffaf2 58%, #ffffff 100%) !important;
                color: #2b2118 !important;
                border: 0 !important;
            }
            .print-cover h1 {
                color: #a7640b !important;
                background: linear-gradient(90deg, #7c2d12, #d99a21, #15803d) !important;
                background-image: linear-gradient(90deg, #7c2d12, #d99a21, #15803d) !important;
                -webkit-background-clip: text !important;
                background-clip: text !important;
                -webkit-text-fill-color: transparent !important;
                font-size: 26pt !important;
                margin-bottom: 8mm !important;
            }
            .print-cover-brand,
            .print-cover-subtitle,
            .print-cover-note,
            .print-cover-meta span {
                color: #73573d !important;
            }
            .print-cover-meta div,
            .print-cover-sections span {
                background: rgba(255, 255, 255, 0.82) !important;
                color: #451a03 !important;
                border: 1px solid rgba(185, 127, 46, 0.42) !important;
            }
            .print-toc {
                display: block !important;
                min-height: 250mm;
                padding: 18mm 10mm !important;
                break-after: page;
                page-break-after: always;
                background:
                    radial-gradient(circle at 18% 8%, rgba(217, 154, 33, 0.18), transparent 30%),
                    linear-gradient(180deg, #fffaf2 0%, #ffffff 72%) !important;
                color: #2b2118 !important;
                border: 0 !important;
            }
            .print-toc h2,
            .print-toc strong {
                color: #a7640b !important;
                background: none !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .print-toc-head span,
            .print-toc-head p,
            .print-toc-grid li,
            .print-toc-legend span {
                color: #451a03 !important;
            }
            .print-toc-grid > div,
            .print-toc-legend span {
                background: rgba(255, 255, 255, 0.88) !important;
                border: 1px solid rgba(185, 127, 46, 0.38) !important;
            }
            #report-module-guide {
                display: none !important;
            }
            #report-card.hidden, .report-section.hidden { display: block !important; }
            .print-card { border: 1px solid #aaa !important; background: #fff !important; color: #000 !important; }
            .report-section { display: block !important; break-inside: auto !important; page-break-inside: auto !important; border: 1px solid #ccc !important; background: #fff !important; background-image: none !important; color: #000 !important; margin-bottom: 18px; padding: 50px 14px 20px !important; }
            .report-section > h2, .report-section > div:first-child { break-after: avoid; page-break-after: avoid; }
            .report-section {
                break-before: page;
                page-break-before: always;
            }
            .final-action-summary {
                break-before: page;
                page-break-before: always;
                display: block !important;
                min-height: 0;
                padding: 10mm 9mm 12mm !important;
                background:
                    radial-gradient(circle at 50% 0%, rgba(250, 204, 21, 0.2), transparent 30%),
                    linear-gradient(180deg, #fffaf2 0%, #ffffff 76%) !important;
                border: 0 !important;
                color: #000 !important;
            }
            .front-summary, .front-card, .front-score, .front-actions > div, .module-guide, .module-guide-card, .legend-item,
            .ziwei-summary-panel, .ziwei-summary-grid > div, .ziwei-grid, .ziwei-palace, .ziwei-detail-card,
            .ziwei-reality-note, .wuge-card, .zodiac-naming-box, .timeline-card, .fortune-row,
            .month-card, .month-extra, .report-info-card, .mini-advice-card, .practical-panel,
            .practical-grid > div, .practical-section, .do-card, .dont-card, .score-card,
            .chenggu-poem, .unknown-hour-summary, .unknown-hour-card, .health-season-grid > div,
            #basic-info-area, #system-data-area > div, #wuxing-counters > div,
            #tab-destiny .bg-gray-950, #tab-reality .bg-gray-950, #tab-career .bg-gray-950,
            #tab-action .bg-gray-950, #tab-blueprint .bg-gray-950, #tab-year .bg-gray-950 {
                break-inside: avoid;
                page-break-inside: avoid;
                background: #fff !important;
                background-image: none !important;
                color: #000 !important;
                border-color: #aaa !important;
            }
            #personal-taisui-table-container { max-height: none !important; overflow: visible !important; }
            .personal-taisui-table {
                width: 100% !important;
                table-layout: fixed !important;
                border-collapse: collapse !important;
                font-size: 6.7pt !important;
                page-break-inside: auto !important;
            }
            .personal-taisui-table thead {
                display: table-header-group !important;
            }
            .personal-taisui-table tbody {
                display: table-row-group !important;
            }
            .personal-taisui-table tr {
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }
            .personal-taisui-table th,
            .personal-taisui-table td {
                white-space: normal !important;
                word-break: break-word !important;
                font-size: 6.7pt !important;
                line-height: 1.22 !important;
                padding: 2.3px 3px !important;
            }
            .personal-taisui-table th:nth-child(1),
            .personal-taisui-table td:nth-child(1) { width: 14% !important; }
            .personal-taisui-table th:nth-child(2),
            .personal-taisui-table td:nth-child(2) { width: 19% !important; }
            .personal-taisui-table th:nth-child(3),
            .personal-taisui-table td:nth-child(3) { width: 28% !important; }
            .personal-taisui-table th:nth-child(4),
            .personal-taisui-table td:nth-child(4) { width: 39% !important; }
            .bg-gray-900, .bg-gray-950, .bg-gray-800, .bg-slate-900, .bg-slate-950, .bg-slate-800 {
                background: #fff !important;
                background-image: none !important;
                border-color: #bbb !important;
            }
            .front-year-badge, .risk-meter, .ziwei-focus-badge, .ziwei-hua,
            .ziwei-stars strong, .ziwei-stars span, .month-label, .month-state,
            .offense-tag, .reaction-badge, .element-pill, .nayin-badge,
            .inline-block.bg-gray-900 {
                background: #fff !important;
                background-image: none !important;
                color: #000 !important;
                border: 1px solid #999 !important;
            }
            .report-section[data-module-no]::before {
                content: attr(data-module-no) " " attr(data-module-group) "｜" attr(data-module-title) !important;
                position: absolute !important;
                display: inline-flex !important;
                align-items: center !important;
                top: 14px !important;
                left: 14px !important;
                right: auto !important;
                margin: 0 !important;
                background: #fff7ed !important;
                background-image: none !important;
                color: #92400e !important;
                border: 1px solid #f59e0b !important;
                border-left: 4px solid #d97706 !important;
                border-radius: 0 999px 999px 0 !important;
                box-shadow: none !important;
                break-after: avoid !important;
                page-break-after: avoid !important;
            }
            .chapter-brief {
                display: grid !important;
                grid-template-columns: auto 1fr !important;
                color: #451a03 !important;
                background: #fff7ed !important;
                background-image: none !important;
                border: 1px solid #f59e0b !important;
                border-left: 4px solid #d97706 !important;
                border-radius: 0 !important;
                padding: 8px 10px !important;
                margin: 8px 0 12px !important;
                font-size: 9.2pt !important;
                font-weight: 850 !important;
                line-height: 1.55 !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .chapter-brief strong {
                color: #92400e !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .chapter-brief span {
                color: #451a03 !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .chapter-anchors {
                display: flex !important;
                flex-wrap: wrap !important;
                gap: 3px !important;
                padding-top: 2px !important;
            }
            .chapter-anchors em {
                color: #7c3f00 !important;
                background: #fff1bd !important;
                border: 1px solid rgba(217, 154, 33, 0.32) !important;
                border-radius: 999px !important;
                padding: 1px 6px !important;
                font-size: 7pt !important;
                font-style: normal !important;
                font-weight: 900 !important;
                line-height: 1.25 !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .chapter-bookmark-btn {
                display: none !important;
            }
            .front-score i, .h-full.bg-yellow-500 {
                background: linear-gradient(90deg, #16a34a, #d97706) !important;
                background-image: linear-gradient(90deg, #16a34a, #d97706) !important;
            }
            p, span, h1, h2, h3, h4, h5, div, strong, small, li, ol, em, b, label, td, th {
                color: #000 !important;
            }
            .text-gray-300, .text-gray-400, .text-gray-500 { color: #374151 !important; }
            .text-yellow-500, .text-yellow-400, .text-yellow-500\/70, .insight-key, .text-metal { color: #b45309 !important; }
            .text-green-400, .good-key, .text-wood { color: #15803d !important; }
            .text-red-400, .text-red-500, .risk-key, .text-fire { color: #b91c1c !important; }
            .text-blue-400, .text-blue-300, .text-water { color: #1d4ed8 !important; }
            .text-purple-400, .text-purple-300, .text-earth { color: #7e22ce !important; }
            .text-rose-400 { color: #be185d !important; }
            h1.text-yellow-500, h2.text-yellow-500, h3.text-yellow-500, h4.text-yellow-500 {
                color: #92400e !important;
            }
            .front-year-badge, .risk-meter, .ziwei-focus-badge {
                background: #fef3c7 !important;
                color: #92400e !important;
                border-color: #f59e0b !important;
            }
            .risk-meter.warn {
                background: #fee2e2 !important;
                color: #991b1b !important;
                border-color: #ef4444 !important;
            }
            .risk-meter.good {
                background: #dcfce7 !important;
                color: #166534 !important;
                border-color: #22c55e !important;
            }
            .risk-meter.love {
                background: #fce7f3 !important;
                color: #9d174d !important;
                border-color: #f472b6 !important;
            }
            .month-label.career, .ziwei-stars strong, .reaction-badge, .element-pill, .nayin-badge {
                background: #fff7ed !important;
                color: #b45309 !important;
                border-color: #f59e0b !important;
            }
            .month-label.wealth, .ziwei-hua.good {
                background: #ecfdf5 !important;
                color: #15803d !important;
                border-color: #22c55e !important;
            }
            .month-label.relation, .ziwei-stars span {
                background: #faf5ff !important;
                color: #7e22ce !important;
                border-color: #a855f7 !important;
            }
            .month-label.health {
                background: #eff6ff !important;
                color: #1d4ed8 !important;
                border-color: #60a5fa !important;
            }
            .ziwei-hua.bad {
                background: #fef2f2 !important;
                color: #b91c1c !important;
                border-color: #ef4444 !important;
            }
            .offense-tag, .month-state {
                background: #f8fafc !important;
                color: #334155 !important;
                border-color: #94a3b8 !important;
            }
            .ziwei-grid { background: #fff !important; background-image: none !important; }
            .personal-taisui-table td { background: #f8fafc !important; color: #000 !important; }
            .personal-taisui-table th { background: #e5e7eb !important; color: #000 !important; }
            .print-cover {
                background:
                    radial-gradient(circle at 50% 0%, rgba(250, 204, 21, 0.28), transparent 34%),
                    linear-gradient(180deg, #fff7df 0%, #fffaf2 58%, #ffffff 100%) !important;
                color: #2b2118 !important;
            }
            .print-cover h1 {
                color: #a7640b !important;
                background: linear-gradient(90deg, #7c2d12, #d99a21, #15803d) !important;
                background-image: linear-gradient(90deg, #7c2d12, #d99a21, #15803d) !important;
                -webkit-background-clip: text !important;
                background-clip: text !important;
                -webkit-text-fill-color: transparent !important;
            }
            .print-cover-brand { color: #a7640b !important; }
            .print-cover-subtitle,
            .print-cover-note,
            .print-cover-meta span { color: #73573d !important; }
            .print-cover-meta strong { color: #2b2118 !important; }
            .print-cover-meta div {
                background: rgba(255, 255, 255, 0.82) !important;
                border-color: rgba(185, 127, 46, 0.42) !important;
            }
            .print-cover-sections span {
                background: #fff1bd !important;
                color: #451a03 !important;
                border-color: rgba(217, 154, 33, 0.5) !important;
            }
            .print-toc {
                background:
                    radial-gradient(circle at 18% 8%, rgba(217, 154, 33, 0.18), transparent 30%),
                    linear-gradient(180deg, #fffaf2 0%, #ffffff 72%) !important;
                color: #2b2118 !important;
            }
            .print-toc-head span,
            .print-toc-head h2,
            .print-toc-grid strong {
                color: #a7640b !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .print-toc-head p,
            .print-toc-grid li,
            .print-toc-legend span {
                color: #451a03 !important;
            }
            .print-toc-grid > div {
                background: rgba(255, 255, 255, 0.88) !important;
                border-color: rgba(185, 127, 46, 0.38) !important;
            }
            .print-toc-legend span {
                background: #fff1bd !important;
                border-color: rgba(217, 154, 33, 0.5) !important;
            }
            .final-summary-head h2,
            .final-panel h3,
            .final-summary-hero strong,
            .final-score strong {
                color: #a7640b !important;
                -webkit-text-fill-color: currentColor !important;
            }
            .final-panel.risk h3,
            .final-month.risk strong {
                color: #b91c1c !important;
            }
            .final-month strong {
                color: #15803d !important;
            }
            .final-summary-head p,
            .final-summary-hero p,
            .final-panel li,
            .final-month p,
            .final-footer-card p,
            .final-contact {
                color: #3f3022 !important;
            }
            .final-summary-hero > div:first-child,
            .final-panel,
            .final-footer-card,
            .final-score {
                background: rgba(255, 255, 255, 0.88) !important;
                border: 1px solid rgba(185, 127, 46, 0.36) !important;
            }
            .final-summary-head {
                padding-bottom: 8px !important;
                margin-bottom: 8px !important;
            }
            .final-summary-head h2 {
                font-size: 17pt !important;
                margin-top: 3px !important;
            }
            .final-summary-head p,
            .final-summary-hero p,
            .final-panel li,
            .final-month p,
            .final-footer-card p {
                font-size: 8pt !important;
                line-height: 1.35 !important;
            }
            .final-summary-hero,
            .final-summary-grid {
                gap: 8px !important;
                margin-top: 8px !important;
                margin-bottom: 8px !important;
            }
            .final-summary-hero > div:first-child,
            .final-panel,
            .final-footer-card,
            .final-score {
                border-radius: 8px !important;
                padding: 8px 10px !important;
            }
            .final-panel h3 {
                font-size: 9.4pt !important;
                margin-bottom: 5px !important;
            }
            .final-panel ol {
                gap: 3px !important;
                padding-left: 1rem !important;
            }
            .final-score-grid {
                gap: 6px !important;
            }
            .final-score span {
                font-size: 7.2pt !important;
            }
            .final-score strong {
                font-size: 13pt !important;
                margin: 0 !important;
            }
            .final-month-grid {
                gap: 5px !important;
            }
            .final-month {
                border-radius: 6px !important;
                padding: 5px 7px !important;
            }
            .final-month span {
                font-size: 7.2pt !important;
            }
            .final-month strong {
                font-size: 8pt !important;
                margin-left: 4px !important;
            }
            .final-month.good {
                background: #f0fdf4 !important;
                border-left-color: #22c55e !important;
            }
            .final-month.risk {
                background: #fef2f2 !important;
                border-left-color: #ef4444 !important;
            }
            .final-footer-card img {
                width: 22mm !important;
                max-width: 22mm !important;
            }
            .final-footer-card {
                grid-template-columns: 1fr 22mm !important;
                margin-top: 8px !important;
                gap: 8px !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }
            .final-contact {
                font-size: 7.2pt !important;
                margin-top: 3px !important;
            }
            #tab-ziwei .chapter-brief,
            #tab-year .chapter-brief,
            #tab-taisui .chapter-brief {
                margin-bottom: 8px !important;
            }
            #ziwei-summary {
                margin-bottom: 8px !important;
            }
            .ziwei-summary-panel,
            .ziwei-summary-grid > div,
            .ziwei-detail-card {
                padding: 8px 10px !important;
                border-radius: 8px !important;
            }
            .ziwei-summary-grid,
            .ziwei-priority-strip,
            .ziwei-palace-cards {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 7px !important;
            }
            .ziwei-priority-card,
            .ziwei-section-title,
            .ziwei-meta-grid > div {
                padding: 6px 8px !important;
                border-radius: 7px !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }
            .ziwei-priority-card span,
            .ziwei-priority-card strong,
            .ziwei-priority-card p,
            .ziwei-watch-list,
            .ziwei-section-title span,
            .ziwei-section-title strong,
            .ziwei-meta-grid b,
            .ziwei-meta-grid p {
                font-size: 7.2pt !important;
                line-height: 1.35 !important;
            }
            .ziwei-meta-grid {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 5px !important;
            }
            .ziwei-grid {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 4px !important;
                padding: 8px !important;
                border-radius: 8px !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }
            .ziwei-palace {
                padding: 5px 4px !important;
                border-radius: 6px !important;
                min-height: 0 !important;
            }
            .palace-name,
            .main-star,
            .minor-star,
            .fourhua {
                font-size: 6.8pt !important;
                line-height: 1.2 !important;
            }
            .ziwei-detail-head h4,
            .ziwei-detail-card h4 {
                font-size: 9pt !important;
                margin-bottom: 4px !important;
            }
            .ziwei-detail-card p,
            .ziwei-detail-card li,
            .ziwei-summary-panel p {
                font-size: 7.6pt !important;
                line-height: 1.42 !important;
            }
            #tab-ziwei .ziwei-detail-card::after {
                content: attr(data-print-module);
                display: block !important;
                margin-top: 3mm !important;
                padding-top: 1.5mm !important;
                border-top: 1px dashed rgba(185, 127, 46, 0.28) !important;
                color: #a7640b !important;
                font-size: 6.8pt !important;
                font-weight: 900 !important;
                text-align: right !important;
            }
            #monthly-predictions {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 7px !important;
            }
            .month-card {
                min-height: 0 !important;
                padding: 8px !important;
                gap: 5px !important;
                border-left-width: 3px !important;
                border-radius: 8px !important;
            }
            .monthly-annual-v12 {
                padding: 8px !important;
                border-radius: 8px !important;
                gap: 8px !important;
                break-inside: avoid !important;
                page-break-inside: avoid !important;
            }
            .monthly-annual-v12 h3 {
                font-size: 10pt !important;
                line-height: 1.25 !important;
            }
            .monthly-annual-v12 p,
            .monthly-annual-v12 b,
            .monthly-annual-v12 span {
                font-size: 7.3pt !important;
                line-height: 1.35 !important;
            }
            .month-v12-headline {
                padding: 5px 6px !important;
                border-radius: 6px !important;
            }
            .month-card-head {
                gap: 6px !important;
                padding-bottom: 5px !important;
            }
            .month-name,
            .month-state {
                font-size: 8pt !important;
                line-height: 1.2 !important;
            }
            .month-date {
                font-size: 6.8pt !important;
                line-height: 1.2 !important;
            }
            .month-label,
            .month-extra,
            .month-do-dont,
            .month-card p,
            .month-card li {
                font-size: 7pt !important;
                line-height: 1.32 !important;
            }
            .month-lines {
                display: grid !important;
                gap: 3px !important;
            }
            .month-lines p {
                display: grid !important;
                grid-template-columns: 34px 1fr !important;
                align-items: start !important;
                gap: 5px !important;
                margin: 0 !important;
            }
            .month-label {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                min-width: 34px !important;
                margin-right: 0 !important;
                padding: 1px 5px !important;
                border-radius: 999px !important;
            }
            .month-focus,
            .month-extra {
                padding: 5px 6px !important;
                border-radius: 6px !important;
            }
            .month-do-dont,
            .do-card,
            .dont-card {
                padding: 5px 6px !important;
                border-radius: 6px !important;
            }
            .month-do-dont {
                background: #fffaf2 !important;
                border-color: rgba(185, 127, 46, 0.32) !important;
            }
            .month-do-dont p {
                color: #2b2118 !important;
                margin: 0 !important;
            }
            #tab-year .month-card-v12::after {
                content: attr(data-print-module);
                display: block !important;
                margin-top: 3mm !important;
                padding-top: 1.5mm !important;
                border-top: 1px dashed rgba(185, 127, 46, 0.28) !important;
                color: #a7640b !important;
                font-size: 6.8pt !important;
                font-weight: 900 !important;
                text-align: right !important;
            }
            .timeline-card,
            .fortune-row {
                padding: 8px 10px !important;
                margin-bottom: 8px !important;
                border-radius: 8px !important;
            }
            .timeline-card p,
            .fortune-row p {
                font-size: 7.6pt !important;
                line-height: 1.42 !important;
            }
        }

@media screen {
    body {
        background:
            radial-gradient(circle at 16% 8%, rgba(255, 255, 255, 0.92), transparent 34%),
            linear-gradient(180deg, #f9eee4 0%, #fffaf2 54%, #f9eee4 100%) !important;
        color: #2b2118 !important;
    }

    #input-card,
    #unknown-hour-card,
    #basic-info-area,
    .report-section,
    .bg-gray-900,
    .bg-gray-950,
    .bg-gray-800,
    .front-summary,
    .ziwei-summary-panel,
    .practical-panel,
    .timeline-card,
    .zodiac-naming-box,
    .name-panel,
    .chenggu-panel {
        background: rgba(255, 255, 255, 0.84) !important;
        color: #2b2118 !important;
        border-color: rgba(185, 127, 46, 0.22) !important;
        box-shadow: 0 20px 48px rgba(95, 58, 22, 0.1) !important;
    }

    .tab-btn {
        color: #5c4631 !important;
        background: #fffaf2 !important;
        border: 1px solid rgba(185, 127, 46, 0.22) !important;
        border-radius: 999px !important;
        margin: 0 6px 8px 0;
        white-space: nowrap;
    }

    .tab-btn:hover,
    .tab-btn.text-yellow-500,
    .tab-btn.border-yellow-500 {
        color: #2b2118 !important;
        background: #fae5a6 !important;
        border-color: #d99a21 !important;
        box-shadow: 0 8px 18px rgba(156, 93, 8, 0.12);
    }

    .report-tab-groups {
        border-color: rgba(185, 127, 46, 0.24) !important;
    }

    .tab-group-label {
        background: transparent !important;
        color: #a7640b !important;
        border-color: #d99a21 !important;
    }

    .report-section[data-module-no]::before {
        color: #451a03 !important;
        background: linear-gradient(135deg, #facc15, #f59e0b) !important;
        border-color: rgba(180, 119, 27, 0.28) !important;
    }

    .front-path-btn {
        background: #fffaf2 !important;
        color: #2b2118 !important;
        border-color: rgba(185, 127, 46, 0.22) !important;
        box-shadow: 0 10px 22px rgba(95, 58, 22, 0.06) !important;
    }

    .front-path-btn span {
        color: #a7640b !important;
    }

    .front-path-btn strong {
        color: #2b2118 !important;
    }

    .front-path-btn small {
        color: #73573d !important;
    }

    .module-guide {
        background: #fffaf2 !important;
        color: #2b2118 !important;
        border-color: rgba(185, 127, 46, 0.22) !important;
        box-shadow: 0 12px 26px rgba(95, 58, 22, 0.07) !important;
    }

    .module-guide-head span,
    .module-guide-card span {
        color: #a7640b !important;
    }

    .module-guide-head strong,
    .module-guide-card strong {
        color: #2b2118 !important;
    }

    .module-guide-card {
        background: rgba(255, 255, 255, 0.82) !important;
        border-color: rgba(185, 127, 46, 0.2) !important;
        border-left-color: #d99a21 !important;
        box-shadow: none !important;
    }

    .module-guide-card small {
        color: #73573d !important;
    }

    .report-color-legend {
        border-top-color: rgba(185, 127, 46, 0.18) !important;
    }

    .legend-item {
        background: #fffaf2 !important;
        border-color: rgba(185, 127, 46, 0.22) !important;
    }

    .legend-gold { color: #a7640b !important; }
    .legend-green { color: #15803d !important; }
    .legend-red { color: #b91c1c !important; }
    .legend-blue { color: #1d4ed8 !important; }
    .legend-purple { color: #7e22ce !important; }

    input,
    select,
    option,
    textarea {
        background: #fffaf2 !important;
        color: #2b2118 !important;
        color-scheme: light !important;
        border: 1px solid rgba(185, 127, 46, 0.28) !important;
        box-shadow: none !important;
    }

    input:focus,
    select:focus,
    textarea:focus {
        border-color: #d99a21 !important;
        box-shadow: 0 0 0 3px rgba(217, 154, 33, 0.18) !important;
    }

    .text-gray-300,
    .text-gray-400,
    .text-gray-500,
    label,
    .pillar-label,
    .month-date,
    .insight-label,
    .minor-star {
        color: #73573d !important;
    }

    .text-gray-100,
    .text-gray-200,
    .text-gray-300,
    .text-gray-400,
    .text-gray-500,
    .text-white,
    .pillar-gz,
    .month-name,
    .ziwei-detail-head h4,
    .practical-head h3,
    .practical-section h4,
    .do-card strong,
    .dont-card strong {
        color: #2b2118 !important;
    }

    .text-yellow-500,
    .text-yellow-400,
    .insight-key,
    .main-star,
    .fourhua,
    .chenggu-poem span,
    .chenggu-poem strong,
    .month-state,
    .section-title {
        color: #a7640b !important;
    }

    .good-key,
    .text-green-400,
    .text-wood {
        color: #15803d !important;
    }

    .risk-key,
    .text-red-400,
    .text-red-500,
    .text-fire {
        color: #b91c1c !important;
    }

    .rose-key,
    .text-rose-400 {
        color: #be185d !important;
    }

    .text-blue-300,
    .text-blue-400,
    .text-water {
        color: #1d4ed8 !important;
    }

    .text-purple-300,
    .text-purple-400,
    .text-earth {
        color: #7e22ce !important;
    }

    .ziwei-grid,
    .ziwei-palace,
    .front-card,
    .front-score,
    .front-actions > div,
    .inline-block.bg-gray-900,
    #wuxing-counters .bg-gray-900,
    #bazi-chart-area .bg-gray-950,
    #basic-info-area.bg-gray-950,
    .report-section .bg-gray-950,
    .report-section .bg-gray-900,
    .report-section .bg-gray-800,
    .report-section .bg-slate-950,
    .report-section .bg-slate-900,
    .report-section .bg-slate-800,
    .ziwei-summary-grid > div,
    .ziwei-detail-card,
    .report-info-card,
    .mini-advice-card,
    .wuge-card,
    .health-season-grid > div,
    .practical-grid > div,
    .practical-section,
    .month-card,
    .month-extra,
    .month-do-dont,
    .do-card,
    .dont-card,
    .unknown-hour-summary,
    .unknown-hour-card,
    .personal-taisui-table td {
        background: #fffaf2 !important;
        background-image: none !important;
        color: #2b2118 !important;
        border-color: rgba(185, 127, 46, 0.22) !important;
        box-shadow: 0 12px 26px rgba(95, 58, 22, 0.07) !important;
    }

    .inline-block.bg-gray-900,
    .reaction-badge {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border-color: rgba(217, 154, 33, 0.38) !important;
    }

    .report-section h2,
    .report-section h3,
    .report-section h4,
    .report-section strong,
    #basic-info-area strong,
    #basic-info-area .font-bold,
    #bazi-chart-area h3 {
        color: #2b2118 !important;
    }

    .report-section p,
    .report-section div,
    .report-section li,
    .report-section td,
    .report-section th,
    #basic-info-area,
    #basic-info-area span {
        color: #3f3022 !important;
    }

    .report-section .text-yellow-500,
    .report-section .text-yellow-400,
    .report-section .insight-key,
    #basic-info-area .text-yellow-500,
    #basic-info-area .text-yellow-400 {
        color: #a7640b !important;
    }

    .report-section .text-green-400,
    .report-section .good-key {
        color: #15803d !important;
    }

    .report-section .text-red-400,
    .report-section .text-red-500,
    .report-section .risk-key {
        color: #b91c1c !important;
    }

    .report-section .focus-good {
        color: #15803d !important;
        background: rgba(34, 197, 94, 0.12) !important;
    }

    .report-section .focus-risk {
        color: #b91c1c !important;
        background: rgba(239, 68, 68, 0.12) !important;
    }

    .report-section .focus-action {
        color: #a7640b !important;
        background: rgba(250, 204, 21, 0.2) !important;
    }

    .report-section .focus-love {
        color: #be185d !important;
        background: rgba(244, 114, 182, 0.14) !important;
    }

    .report-section .focus-culture {
        color: #7e22ce !important;
        background: rgba(168, 85, 247, 0.12) !important;
    }

    .report-section .text-blue-400,
    .report-section .text-blue-300 {
        color: #1d4ed8 !important;
    }

    .report-section .text-purple-400,
    .report-section .text-purple-300 {
        color: #7e22ce !important;
    }

    .h-2.bg-gray-800,
    .h-full.bg-yellow-500 {
        background: #f3dfc8 !important;
    }

    .h-full.bg-yellow-500,
    .front-score i {
        background: linear-gradient(90deg, #22c55e, #eab308) !important;
    }

    .month-card.month-best,
    .ziwei-palace.key-palace,
    .wuge-card.good,
    .ziwei-detail-card.good {
        background: linear-gradient(135deg, #fff7df, #fffaf2 62%) !important;
    }

    .month-card.month-risk,
    .month-card.month-danger,
    .wuge-card.risk,
    .ziwei-detail-card.risk {
        background: linear-gradient(135deg, #fff1f2, #fffaf2 62%) !important;
    }

    .month-lines p,
    .front-card p,
    .front-actions li,
    .front-actions p,
    .mini-advice-card p,
    .ziwei-detail-card p,
    .practical-grid p,
    .practical-head p,
    .practical-section p,
    .do-card p,
    .dont-card p,
    .pillar-meta,
    .unknown-hour-card p,
    .chenggu-poem p,
    .fortune-row p {
        color: #5f4934 !important;
    }

    .front-summary-head h3,
    .front-actions h4,
    .front-score span {
        color: #2b2118 !important;
    }

    .front-card span,
    .front-summary-head p {
        color: #654b34 !important;
    }

    .front-score strong,
    .front-year-badge {
        color: #a7640b !important;
    }

    .element-pill,
    .month-label,
    .month-state,
    .risk-meter,
    .ziwei-focus-badge,
    .ziwei-hua,
    .ziwei-stars strong,
    .ziwei-stars span,
    .reaction-badge,
    .offense-tag,
    .nayin-badge,
    .unknown-score,
    .unknown-tags span {
        border: 1px solid rgba(185, 127, 46, 0.24) !important;
        box-shadow: none !important;
    }

    .element-pill {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border-color: rgba(217, 154, 33, 0.38) !important;
    }

    .element-pill.text-metal,
    .element-pill.text-yellow-400 {
        background: #fff7ed !important;
        color: #b45309 !important;
        border-color: #f59e0b !important;
    }

    .element-pill.text-wood,
    .element-pill.text-green-400 {
        background: #ecfdf5 !important;
        color: #166534 !important;
        border-color: #22c55e !important;
    }

    .element-pill.text-water,
    .element-pill.text-blue-400 {
        background: #eff6ff !important;
        color: #1d4ed8 !important;
        border-color: #60a5fa !important;
    }

    .element-pill.text-fire,
    .element-pill.text-red-500 {
        background: #fef2f2 !important;
        color: #991b1b !important;
        border-color: #ef4444 !important;
    }

    .element-pill.text-earth,
    .element-pill.text-yellow-600,
    .element-pill.text-purple-400 {
        background: #faf5ff !important;
        color: #6b21a8 !important;
        border-color: #a855f7 !important;
    }

    .personal-taisui-table th {
        background: #fae5a6 !important;
        color: #5c3808 !important;
    }

    .personal-taisui-table td {
        border-bottom-color: rgba(185, 127, 46, 0.16) !important;
    }

    .practical-head .eyebrow,
    .ziwei-summary-head .eyebrow,
    .name-panel .practical-head .eyebrow,
    .chenggu-panel .practical-head .eyebrow,
    .feng-panel .practical-head .eyebrow,
    .relation-panel .practical-head .eyebrow,
    .love-panel .practical-head .eyebrow {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border: 1px solid rgba(217, 154, 33, 0.38) !important;
    }

    .ziwei-stars span,
    .ziwei-stars strong,
    .ziwei-hua,
    .ziwei-hua.good,
    .ziwei-hua.bad,
    .action-strip span,
    .month-label,
    .month-label.career,
    .month-label.wealth,
    .month-label.relation,
    .month-label.health {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border-color: rgba(217, 154, 33, 0.38) !important;
    }

    .month-label.wealth,
    .ziwei-hua.good {
        background: #ecfdf5 !important;
        color: #166534 !important;
        border-color: #22c55e !important;
    }

    .month-label.relation {
        background: #fdf2f8 !important;
        color: #9d174d !important;
        border-color: #f472b6 !important;
    }

    .month-label.health {
        background: #eff6ff !important;
        color: #1d4ed8 !important;
        border-color: #60a5fa !important;
    }

    .ziwei-hua.bad {
        background: #fef2f2 !important;
        color: #991b1b !important;
        border-color: #ef4444 !important;
    }

    .unknown-hour-title {
        color: #2b2118 !important;
    }

    .unknown-hour-sub {
        color: #1d4ed8 !important;
    }

    .unknown-hour-card.best {
        background: linear-gradient(135deg, #fff7df, #fffaf2 62%) !important;
        border-left-color: #d99a21 !important;
    }

    .unknown-hour-card.good {
        background: linear-gradient(135deg, #ecfdf5, #fffaf2 62%) !important;
        border-left-color: #22c55e !important;
    }

    .unknown-hour-card.neutral {
        border-left-color: #3b82f6 !important;
    }

    .unknown-hour-card.risk {
        background: linear-gradient(135deg, #fff1f2, #fffaf2 62%) !important;
        border-left-color: #ef4444 !important;
    }

    .unknown-tags span {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border-color: rgba(217, 154, 33, 0.38) !important;
    }

    .unknown-tags .unknown-rank {
        background: #facc15 !important;
        color: #2b2118 !important;
        border-color: #facc15 !important;
    }

    .unknown-score {
        background: #d99a21 !important;
        color: #2b2118 !important;
    }

    .unknown-hour-card.good .unknown-score {
        background: #22c55e !important;
        color: #052e16 !important;
    }

    .unknown-hour-card.risk .unknown-score {
        background: #ef4444 !important;
        color: #fff !important;
    }

    .offense-tag,
    .value-tag,
    .chong-tag,
    .xing-tag,
    .hai-tag,
    .po-liupo,
    .po-sanhepo {
        background: #fff1bd !important;
        color: #5c3808 !important;
        border-color: rgba(217, 154, 33, 0.38) !important;
    }

    .chong-tag {
        background: #fef2f2 !important;
        color: #991b1b !important;
        border-color: #ef4444 !important;
    }

    .xing-tag {
        background: #faf5ff !important;
        color: #6b21a8 !important;
        border-color: #a855f7 !important;
    }

    .hai-tag {
        background: #ecfeff !important;
        color: #0e7490 !important;
        border-color: #06b6d4 !important;
    }
}

@media screen and (max-width: 760px) {
    .report-tab-groups {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        padding: 10px 0 12px !important;
    }

    .report-tab-groups::-webkit-scrollbar {
        display: none;
    }

    .tab-group {
        flex: 0 0 auto !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 6px !important;
        scroll-snap-align: start;
    }

    .tab-group-label {
        width: auto !important;
        min-width: auto !important;
        align-self: center !important;
        white-space: nowrap !important;
        border-left: 0 !important;
        border-radius: 999px !important;
        background: #fff1bd !important;
        padding: 6px 9px !important;
        font-size: 0.7rem !important;
    }

    .tab-btn {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        padding: 0.48rem 0.72rem !important;
        font-size: 0.78rem !important;
        margin: 0 !important;
        scroll-snap-align: start;
    }

    .front-summary,
    .module-guide,
    .report-info-card,
    .mini-advice-card,
    .practical-panel,
    .timeline-card,
    .month-card,
    .unknown-hour-card {
        border-radius: 14px !important;
        padding: 14px !important;
    }
}

.ziwei-v11 {
    background: #fffaf2 !important;
    border-color: rgba(217, 154, 33, 0.28) !important;
    box-shadow: 0 18px 42px rgba(92, 56, 8, 0.08) !important;
}

.ziwei-v11 .ziwei-summary-head {
    border-bottom-color: rgba(217, 154, 33, 0.2) !important;
}

.ziwei-v11 .ziwei-summary-head h3 {
    color: #2b2118 !important;
}

.ziwei-v11 .ziwei-summary-head p {
    color: #4b3a29 !important;
}

.ziwei-v11 .ziwei-summary-head .eyebrow {
    color: #5c3808 !important;
    background: #fff1bd !important;
    border-color: rgba(217, 154, 33, 0.34) !important;
}

.ziwei-v11 .ziwei-focus-badge {
    background: linear-gradient(135deg, #facc15, #d99a21) !important;
    color: #2b2118 !important;
}

.ziwei-v11 .ziwei-priority-card {
    background: #fffdf8 !important;
    border-color: rgba(217, 154, 33, 0.25) !important;
    box-shadow: 0 10px 22px rgba(92, 56, 8, 0.08) !important;
}

.ziwei-v11 .ziwei-priority-card.good {
    background: linear-gradient(135deg, #ecfdf5, #fffdf8 60%) !important;
    border-color: rgba(34, 197, 94, 0.34) !important;
}

.ziwei-v11 .ziwei-priority-card.key {
    background: linear-gradient(135deg, #fff7df, #fffdf8 60%) !important;
    border-color: rgba(217, 154, 33, 0.38) !important;
}

.ziwei-v11 .ziwei-priority-card.risk {
    background: linear-gradient(135deg, #fff1f2, #fffdf8 60%) !important;
    border-color: rgba(244, 63, 94, 0.32) !important;
}

.ziwei-v11 .ziwei-priority-card span {
    color: #7a4a08 !important;
}

.ziwei-v11 .ziwei-priority-card strong {
    color: #111827 !important;
}

.ziwei-v11 .ziwei-priority-card p {
    color: #5c3808 !important;
    font-weight: 900 !important;
}

.ziwei-v11 .ziwei-watch-list {
    color: #4b3a29 !important;
}

.ziwei-v11 .ziwei-watch-list span {
    background: #fff1f2 !important;
    color: #9f1239 !important;
    border-color: rgba(244, 63, 94, 0.28) !important;
}

.ziwei-section-title {
    color: #2b2118 !important;
}

.ziwei-section-title strong {
    color: #7a5a26 !important;
}

#tab-ziwei .ziwei-detail-card {
    background: linear-gradient(135deg, #fffdf8, #fffaf2) !important;
    border-color: rgba(217, 154, 33, 0.22) !important;
    box-shadow: 0 12px 26px rgba(92, 56, 8, 0.08) !important;
}

#tab-ziwei .ziwei-detail-head h4 {
    color: #2b2118 !important;
}

#tab-ziwei .ziwei-detail-head p,
#tab-ziwei .ziwei-detail-card p {
    color: #4b3a29 !important;
}

#tab-ziwei .ziwei-meta-grid > div {
    background: #fffaf2 !important;
    border-color: rgba(217, 154, 33, 0.2) !important;
}

#tab-ziwei .ziwei-meta-grid b {
    color: #b45309 !important;
}

#tab-ziwei .ziwei-hua {
    background: #fff1bd !important;
    color: #5c3808 !important;
    border-color: rgba(217, 154, 33, 0.34) !important;
}

@media print {
    @page {
        size: A4;
        margin: 17mm 10mm 15mm;
    }

    body::before {
        display: none !important;
        content: none !important;
        top: 5mm !important;
        left: 10mm !important;
        right: 10mm !important;
        padding-bottom: 2.5mm !important;
        background: transparent !important;
    }

    body::after {
        display: none !important;
        content: none !important;
        bottom: 4.5mm !important;
        background: transparent !important;
    }

    .print-cover {
        min-height: 265mm !important;
        padding: 42mm 12mm 20mm !important;
        position: relative !important;
    }

    .print-cover::after {
        content: "專屬命書 · 年度策略 · 關係健康 · 傳統文化";
        display: block !important;
        width: fit-content !important;
        margin: 28mm auto 0 !important;
        padding: 7px 14px !important;
        border: 1px solid rgba(185, 127, 46, 0.36) !important;
        border-radius: 999px !important;
        color: #a7640b !important;
        background: rgba(255, 255, 255, 0.72) !important;
        font-size: 8pt !important;
        font-weight: 950 !important;
        letter-spacing: 0.04em !important;
    }

    .print-cover-brand {
        margin-bottom: 32px !important;
    }

    .print-cover h1 {
        font-size: 28pt !important;
        line-height: 1.12 !important;
        margin-bottom: 10mm !important;
    }

    .print-cover-meta {
        margin-top: 4mm !important;
    }

    .print-toc {
        min-height: 265mm !important;
        padding: 30mm 10mm 20mm !important;
    }

    .print-toc-head {
        margin-bottom: 22px !important;
    }

    .print-toc-grid > div {
        padding: 15px 18px !important;
    }

    #report-card > .print-card {
        border-radius: 12px !important;
        border-color: #d6c2a5 !important;
        padding: 10mm 7mm 9mm !important;
    }

    #basic-info-area {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px 12px !important;
        padding: 10px 12px !important;
    }

    #basic-info-area > div {
        min-width: 0 !important;
    }

    #basic-info-area span {
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    #basic-info-area .md\:col-span-2 {
        grid-column: span 1 / span 1 !important;
    }

    #basic-info-area .basic-info-date,
    #basic-info-area .basic-info-wide {
        grid-column: span 1 !important;
    }

    .basic-info-item {
        padding: 7px 9px !important;
        border-radius: 9px !important;
        break-inside: avoid !important;
    }

    .basic-info-item span {
        font-size: 7pt !important;
        margin-bottom: 2px !important;
    }

    .basic-info-item strong,
    .basic-info-item small {
        font-size: 8.6pt !important;
        line-height: 1.3 !important;
    }

    .precision-report {
        padding: 8mm 7mm !important;
        border-radius: 12px !important;
        break-inside: avoid !important;
        box-shadow: none !important;
    }

    .precision-report-head {
        gap: 8px !important;
        padding-bottom: 8px !important;
        margin-bottom: 8px !important;
    }

    .precision-report-head h3 {
        font-size: 13pt !important;
    }

    .precision-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .precision-card {
        padding: 8px !important;
        border-radius: 9px !important;
    }

    .precision-card b,
    .precision-card p,
    .precision-report-head p {
        font-size: 8.2pt !important;
        line-height: 1.45 !important;
    }

    .report-section {
        padding: 15mm 7mm 9mm !important;
        margin-bottom: 0 !important;
        border-radius: 12px !important;
        border-color: #d6c2a5 !important;
        min-height: 0 !important;
        position: relative !important;
    }

    .report-section[data-module-no]::before {
        top: 6mm !important;
        left: 7mm !important;
        max-width: calc(100% - 14mm) !important;
        padding: 2px 9px 2px 8px !important;
        border-radius: 999px !important;
        border-left-width: 3px !important;
        font-size: 7.4pt !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .chapter-brief {
        margin-top: 2mm !important;
        margin-bottom: 5mm !important;
        padding: 6px 9px !important;
        font-size: 8.6pt !important;
        line-height: 1.45 !important;
    }

    .report-section > h2 {
        margin-top: 0 !important;
        margin-bottom: 5mm !important;
        line-height: 1.25 !important;
    }

    .front-summary-head .eyebrow,
    .final-summary-head span,
    .practical-head .eyebrow {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 0 !important;
        line-height: 1.2 !important;
        padding: 3px 8px !important;
        margin-bottom: 5px !important;
        white-space: normal !important;
    }

    .front-summary-head,
    .practical-head {
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .front-summary-head h3,
    .practical-head h3 {
        line-height: 1.25 !important;
        margin-top: 0 !important;
    }

    .front-year-badge,
    .risk-meter {
        flex: 0 0 auto !important;
        min-width: 22mm !important;
    }

    .practical-panel,
    .front-summary,
    .ziwei-summary-panel,
    .chenggu-panel,
    .name-panel {
        overflow: visible !important;
    }

    #tab-threelife .practical-panel,
    #tab-threelife .practical-section,
    #tab-yindebt .practical-panel,
    #tab-yindebt .practical-section,
    #tab-blueprint .bg-gray-950,
    #tab-blueprint .timeline-card {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #tab-threelife,
    #tab-yindebt,
    #tab-blueprint {
        padding-bottom: 12mm !important;
    }

    #tab-threelife::after,
    #tab-yindebt::after,
    #tab-blueprint::after,
    .report-section:not(#tab-threelife):not(#tab-yindebt):not(#tab-blueprint)::after {
        content: attr(data-module-no) " " attr(data-module-group) "｜" attr(data-module-title);
        position: absolute !important;
        left: 7mm !important;
        right: 7mm !important;
        bottom: 4mm !important;
        display: block !important;
        padding-top: 2mm !important;
        border-top: 1px solid rgba(185, 127, 46, 0.32) !important;
        color: #a7640b !important;
        font-size: 7.4pt !important;
        font-weight: 950 !important;
        text-align: right !important;
        letter-spacing: 0.02em !important;
    }

    #tab-threelife .practical-section::after,
    #tab-yindebt .practical-section::after,
    #tab-blueprint .timeline-card::after {
        content: attr(data-print-module);
        display: block !important;
        margin-top: 5mm !important;
        padding-top: 2mm !important;
        border-top: 1px dashed rgba(185, 127, 46, 0.32) !important;
        color: #a7640b !important;
        font-size: 7.1pt !important;
        font-weight: 900 !important;
        text-align: right !important;
    }

    #tab-threelife .practical-section::after {
        content: "09 傳統文化｜三世因緣";
    }

    #tab-yindebt .practical-section::after {
        content: "10 傳統文化｜受生債";
    }

    .culture-v13 {
        padding: 9mm 7mm !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .culture-summary,
    .culture-card,
    .culture-action-strip {
        padding: 7px 8px !important;
        border-radius: 8px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .name-v14-summary,
    .chenggu-v14-summary,
    .wuge-grid-v14,
    .chenggu-stage-grid,
    .chenggu-action-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-top: 6px !important;
    }

    .name-v14-summary > div,
    .chenggu-v14-summary > div,
    .wuge-card-v14,
    .chenggu-stage-card,
    .chenggu-action-grid > div {
        padding: 6px 7px !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .name-v14-summary span,
    .chenggu-v14-summary span,
    .wuge-card-head span,
    .wuge-action b,
    .chenggu-stage-card b,
    .chenggu-action-grid b {
        font-size: 7.1pt !important;
        line-height: 1.25 !important;
        margin-bottom: 2px !important;
    }

    .name-v14-summary strong,
    .chenggu-v14-summary strong,
    .wuge-card-head strong {
        font-size: 7.8pt !important;
        line-height: 1.25 !important;
    }

    .name-v14-summary p,
    .chenggu-v14-summary p,
    .wuge-card-v14 p,
    .chenggu-stage-card p,
    .chenggu-action-grid p {
        font-size: 7.1pt !important;
        line-height: 1.34 !important;
        margin-top: 2px !important;
    }

    #tab-wuge .wuge-card-v14::after,
    #tab-chenggu .chenggu-stage-card::after {
        content: attr(data-print-module);
        display: block !important;
        margin-top: 3mm !important;
        padding-top: 1.5mm !important;
        border-top: 1px dashed rgba(185, 127, 46, 0.28) !important;
        color: #a7640b !important;
        font-size: 6.8pt !important;
        font-weight: 900 !important;
        text-align: right !important;
    }

    .culture-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .culture-summary strong,
    .culture-summary p,
    .culture-card span,
    .culture-card p,
    .culture-action-strip,
    .culture-action-strip span,
    .culture-table td,
    .culture-table th {
        font-size: 7.4pt !important;
        line-height: 1.38 !important;
    }

    #tab-blueprint .timeline-card::after {
        content: "11 年度策略｜十年大運+時間表";
    }

    .final-action-summary {
        padding: 15mm 8mm 12mm !important;
    }

    .final-footer-card img {
        width: 26mm !important;
        max-width: 26mm !important;
    }

    .final-footer-card {
        grid-template-columns: 1fr 26mm !important;
    }
}
