@charset "UTF-8";

    :root {
      /* 黛蓝牙白·清雅调色板 */
      --paper: #0e1622;          /* 深黛蓝底 */
      --paper-dark: #16202e;     /* 卡片面 */
      --paper-darker: #1e2b3c;   /* 更深层 */
      --ink: #f2efe6;            /* 牙白主文字 */
      --ink-light: #d2d8d8;      /* 次级文字(微青) */
      --ink-faint: #93a0a8;      /* 弱化文字 */
      --vermilion: #c75b54;      /* 黛红(柔化朱砂) */
      --vermilion-light: #ff9d92;
      --vermilion-dim: rgba(199,91,84,0.14);
      --gold: #c7a96b;           /* 淡金(柔和) */
      --gold-light: #e6cf97;
      --gold-dim: rgba(199,169,107,0.16);
      --jade: #5fb4c4;           /* 黛青(偏蓝) */
      --jade-light: #84cfdc;
      --jade-dim: rgba(95,180,196,0.12);
      /* 字体: 正文用高清黑体, 标题用衬线(国潮) */
      --font-sans: "Microsoft YaHei", "微软雅黑", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      --font-serif: "Source Han Serif SC", "Songti SC", STSong, "SimSun", serif;
      --line: rgba(180,200,220,0.18);  /* 月白银发丝描边 */
      --line-soft: rgba(220,232,240,0.10);
      --mu-color: #6cc08a;
      --huo-color: #e0796a;
      --tu-color: #cbab6a;
      --jin-color: #c8d2e0;
      --shui-color: #6ea8d8;
      /* 主题相关复合变量 (黛蓝默认) */
      --panel-bg: linear-gradient(160deg, rgba(30,43,60,0.9), rgba(14,22,34,0.95));
      --input-bg: rgba(14,22,34,0.7);
      --title-bg: linear-gradient(160deg, rgba(22,34,50,0.96), rgba(12,18,28,0.96));
      --bg-core1: #142031; --bg-core2: #0e1622;
      --bg-glow1: rgba(95,180,196,0.10); --bg-glow2: rgba(199,169,107,0.06); --bg-glow3: rgba(110,168,216,0.06);
    }

    /* ===== 主题：玄黑赤金 ===== */
    body[data-theme="dark"] {
      --paper:#0d0a12; --paper-dark:#181320; --paper-darker:#221b2e;
      --ink:#f5efe3; --ink-light:#ddd2bf; --ink-faint:#a99c86;
      --vermilion:#e0533a; --vermilion-light:#ff9d92; --vermilion-dim:rgba(224,83,58,0.14);
      --gold:#d4af37; --gold-light:#f5d889; --gold-dim:rgba(212,175,55,0.18);
      --jade:#58c79a; --jade-light:#79e0b6; --jade-dim:rgba(88,199,154,0.12);
      --line:rgba(212,175,55,0.22); --line-soft:rgba(240,233,218,0.12);
      --mu-color:#5ec27a; --huo-color:#f0604a; --tu-color:#d4a849; --jin-color:#aeb8d8; --shui-color:#5a9be0;
      --panel-bg: linear-gradient(160deg, rgba(40,32,54,0.9), rgba(18,15,28,0.95));
      --input-bg: rgba(13,10,18,0.8);
      --title-bg: linear-gradient(160deg, rgba(30,22,14,0.95), rgba(13,10,18,0.95));
      --bg-core1:#14101c; --bg-core2:#0d0a12;
      --bg-glow1:rgba(224,83,58,0.10); --bg-glow2:rgba(212,175,55,0.07); --bg-glow3:rgba(88,199,154,0.05);
    }

    /* ===== 主题：暖宣纸(浅色日间) ===== */
    body[data-theme="paper"] {
      --paper:#f3ecd9; --paper-dark:#fbf6ea; --paper-darker:#efe6d2;
      --ink:#3a2e22; --ink-light:#5a4a38; --ink-faint:#8a7860;
      --vermilion:#b5302a; --vermilion-light:#6a120e; --vermilion-dim:rgba(181,48,42,0.10);
      --gold:#9a7a30; --gold-light:#473304; --gold-dim:rgba(154,122,48,0.14);
      --jade:#3a8a6a; --jade-light:#4a9a78; --jade-dim:rgba(58,138,106,0.12);
      --line:rgba(154,122,48,0.28); --line-soft:rgba(120,90,40,0.16);
      --mu-color:#3f8a52; --huo-color:#c0432f; --tu-color:#a07a28; --jin-color:#6a7488; --shui-color:#3a6a9a;
      --panel-bg: linear-gradient(160deg, #fdf8ee, #f5ecd8);
      --input-bg: #fffdf6;
      --title-bg: linear-gradient(160deg, #fdf8ee, #f3e8d0);
      --bg-core1:#f7f0e0; --bg-core2:#efe4ce;
      --bg-glow1:rgba(181,48,42,0.05); --bg-glow2:rgba(154,122,48,0.06); --bg-glow3:rgba(58,138,106,0.04);
    }

    /* ===== 主题：神秘星紫(占星暗夜) ===== */
    body[data-theme="mystic"] {
      --paper:#0b0a1e; --paper-dark:#15123a; --paper-darker:#1f1a4d;
      --ink:#ece8ff; --ink-light:#cdc6f0; --ink-faint:#9a93c8;
      --vermilion:#c77dff; --vermilion-light:#e6b8ff; --vermilion-dim:rgba(199,125,255,0.16);
      --gold:#ffd56b; --gold-light:#ffe9a8; --gold-dim:rgba(255,213,107,0.18);
      --jade:#7ad7f0; --jade-light:#a9e8f7; --jade-dim:rgba(122,215,240,0.14);
      --line:rgba(199,125,255,0.26); --line-soft:rgba(236,232,255,0.12);
      --mu-color:#7ad7a0; --huo-color:#ff8fb0; --tu-color:#ffd56b; --jin-color:#c5cdf0; --shui-color:#7aa8ff;
      --panel-bg: linear-gradient(160deg, rgba(38,30,80,0.9), rgba(15,12,40,0.95));
      --input-bg: rgba(12,10,32,0.8);
      --title-bg: linear-gradient(160deg, rgba(46,34,92,0.95), rgba(15,12,40,0.95));
      --bg-core1:#15123a; --bg-core2:#0b0a1e;
      --bg-glow1:rgba(199,125,255,0.14); --bg-glow2:rgba(122,168,255,0.10); --bg-glow3:rgba(255,213,107,0.06);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      font-family: var(--font-sans);
      background: var(--paper);
      color: var(--ink);
      min-height: 100vh;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      line-height: 1.7;
    }

    /* 标题/展示元素保留衬线(国潮气质), 正文用黑体保证清晰 */
    h1, h2, h3, h4, h5, h6,
    header h1, .panel-title, .hero-tagline, .section-title,
    .tc-name, .tw-title, .gs-lead, .gs-h, .ptoc-title, .verdict-tag {
      font-family: var(--font-serif);
    }

    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background:
        radial-gradient(ellipse 70% 50% at 50% -10%, var(--bg-glow1) 0%, transparent 60%),
        radial-gradient(ellipse at 15% 30%, var(--bg-glow2) 0%, transparent 45%),
        radial-gradient(ellipse at 85% 75%, var(--bg-glow3) 0%, transparent 45%),
        radial-gradient(circle at 50% 50%, var(--bg-core1) 0%, var(--bg-core2) 70%);
      pointer-events: none;
      z-index: 0;
    }

    /* 星点 / 鎏金颗粒 */
    body::after {
      content: '';
      position: fixed;
      inset: 0;
      background-image:
        radial-gradient(1px 1px at 20% 30%, rgba(200,210,224,0.5), transparent),
        radial-gradient(1px 1px at 60% 70%, rgba(230,240,245,0.35), transparent),
        radial-gradient(1px 1px at 80% 20%, rgba(132,207,220,0.4), transparent),
        radial-gradient(1px 1px at 35% 85%, rgba(230,240,245,0.25), transparent),
        radial-gradient(1.5px 1.5px at 90% 55%, rgba(200,210,224,0.35), transparent),
        radial-gradient(1px 1px at 10% 65%, rgba(230,240,245,0.3), transparent);
      background-repeat: repeat;
      background-size: 100% 100%;
      pointer-events: none;
      z-index: 0;
      animation: twinkle 6s ease-in-out infinite;
    }

    @keyframes twinkle {
      0%, 100% { opacity: 0.5; }
      50% { opacity: 0.9; }
    }

    .container {
      max-width: 1080px;
      margin: 0 auto;
      padding: 0 32px 80px;
      padding-left: max(32px, env(safe-area-inset-left));
      padding-right: max(32px, env(safe-area-inset-right));
      padding-bottom: max(80px, env(safe-area-inset-bottom));
      position: relative;
      z-index: 1;
    }

    header {
      text-align: center;
      padding: 56px 0 36px;
    }

    .header-ornament {
      width: 60px;
      height: 2px;
      background: var(--vermilion);
      margin: 0 auto 20px;
      position: relative;
    }

    .header-ornament::before,
    .header-ornament::after {
      content: '\25C6';
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 0.4rem;
      color: var(--vermilion);
    }

    .header-ornament::before { right: -16px; }
    .header-ornament::after { left: -16px; }

    h1 {
      font-size: 2.6rem;
      font-weight: 700;
      color: var(--ink);
      letter-spacing: 0.5em;
      text-indent: 0.5em;
      margin-bottom: 10px;
    }

    .subtitle {
      font-size: 0.74rem;
      color: var(--ink-light);
      letter-spacing: 0.4em;
      font-weight: 400;
    }

    .ink-line {
      width: 1px;
      height: 40px;
      background: linear-gradient(to bottom, transparent, var(--ink-faint), transparent);
      margin: 0 auto;
    }

    .input-panel {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.1);
      border-radius: 4px;
      padding: 32px 40px;
      margin: 32px 0;
      box-shadow: 0 2px 16px rgba(44,32,24,0.06);
      position: relative;
      z-index: 1;
    }

    .panel-title {
      font-size: 0.7rem;
      color: var(--vermilion);
      letter-spacing: 0.4em;
      text-align: center;
      margin-bottom: 24px;
      font-weight: 400;
    }

    .input-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
    }

    .input-group {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .input-group label {
      font-size: 0.8rem;
      color: var(--ink-light);
      letter-spacing: 0.1em;
      white-space: nowrap;
    }

    .input-group input,
    .input-group select {
      background: var(--paper);
      border: 1px solid rgba(44,32,24,0.15);
      border-radius: 2px;
      padding: 10px 14px;
      color: var(--ink);
      font-family: inherit;
      font-size: 0.9rem;
      width: 100px;
      transition: border-color 0.2s, box-shadow 0.2s;
    }

    .input-group input:focus,
    .input-group select:focus {
      outline: none;
      border-color: var(--vermilion);
      box-shadow: 0 0 0 2px var(--vermilion-dim);
    }

    .input-group input[type="number"] { width: 80px; }

    .input-group select {
      width: 90px;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%234a3828'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 10px center;
      padding-right: 28px;
      cursor: pointer;
    }

    .btn-calculate {
      padding: 10px 32px;
      background: var(--vermilion);
      border: none;
      border-radius: 2px;
      color: #fff;
      font-family: inherit;
      font-size: 0.85rem;
      letter-spacing: 0.2em;
      cursor: pointer;
      transition: all 0.25s;
      margin-left: 12px;
      min-width: 80px;
      position: relative;
      z-index: 10;
    }

    .btn-calculate:hover {
      background: var(--vermilion-light);
      box-shadow: 0 4px 16px rgba(192,58,32,0.2);
    }

    .btn-calculate:active {
      transform: scale(0.97);
    }

    .today-btn {
      padding: 10px 16px;
      background: transparent;
      border: 1px solid rgba(44,32,24,0.2);
      border-radius: 2px;
      color: var(--ink-light);
      font-family: inherit;
      font-size: 0.8rem;
      letter-spacing: 0.1em;
      cursor: pointer;
      transition: all 0.2s;
      margin-left: 8px;
    }

    .today-btn:hover {
      border-color: var(--jade);
      color: var(--jade);
      background: var(--jade-dim);
    }

    .result { display: none; margin-top: 40px; }
    .result.show { display: block; animation: fadeIn 0.5s ease; }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .result-header {
      text-align: center;
      margin-bottom: 36px;
    }

    .result-name {
      font-size: 1.6rem;
      color: var(--ink);
      letter-spacing: 0.3em;
      font-weight: 600;
    }

    .result-date {
      font-size: 0.72rem;
      color: var(--ink-faint);
      letter-spacing: 0.2em;
      margin-top: 6px;
    }

    .four-pillars {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-bottom: 24px;
    }

    @media (max-width: 768px) {
      .four-pillars { grid-template-columns: repeat(2, 1fr); }
    }

    .pillar-card {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.1);
      border-radius: 3px;
      padding: 20px 16px;
      text-align: center;
      position: relative;
      transition: box-shadow 0.3s;
      box-shadow: 0 1px 4px rgba(44,32,24,0.04);
    }

    .pillar-card:hover { box-shadow: 0 4px 20px rgba(44,32,24,0.08); }

    .pillar-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 3px;
      border-radius: 3px 3px 0 0;
      opacity: 0.5;
    }

    .pillar-card.nian::before { background: var(--vermilion); }
    .pillar-card.yue::before { background: var(--gold); }
    .pillar-card.ri::before { background: var(--jade); }
    .pillar-card.shi::before { background: var(--ink-faint); }

    .pillar-label {
      font-size: 0.6rem;
      color: var(--ink-faint);
      letter-spacing: 0.3em;
      margin-bottom: 12px;
      text-transform: uppercase;
    }

    .pillar-gan {
      font-size: 2rem;
      font-weight: 700;
      color: var(--ink);
      line-height: 1;
      margin-bottom: 4px;
    }

    .pillar-zhi {
      font-size: 1.6rem;
      color: var(--ink-light);
      line-height: 1;
      margin-bottom: 10px;
      position: relative;
    }

    .pillar-zhi::after {
      content: '';
      display: block;
      width: 20px;
      height: 1px;
      background: rgba(44,32,24,0.1);
      margin: 8px auto;
    }

    .pillar-hidden {
      font-size: 0.72rem;
      color: var(--ink-faint);
      letter-spacing: 0.1em;
      line-height: 1.8;
    }

    .pillar-hidden span { display: inline-block; padding: 0 4px; }

    .pillar-zodiac {
      font-size: 0.7rem;
      color: var(--gold);
      margin-top: 8px;
      letter-spacing: 0.1em;
    }

    .ten-gods {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 24px 32px;
      margin-bottom: 24px;
    }

    .ten-gods-full {
      display: flex;
      justify-content: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .ten-god-item {
      padding: 6px 14px;
      border: 1px solid rgba(44,32,24,0.1);
      border-radius: 2px;
      font-size: 0.78rem;
      color: var(--ink-light);
      letter-spacing: 0.05em;
      display: flex;
      flex-direction: column;
      align-items: center;
      min-width: 42px;
    }

    .ten-god-item .tg-name {
      font-weight: bold;
    }

    .ten-god-item .tg-tag {
      font-size: 0.74rem;
      color: var(--vermilion-light);
      font-weight: 600;
      margin-top: 3px;
    }

    .ten-god-item.self {
      background: var(--vermilion-dim);
      border-color: var(--vermilion);
      color: var(--vermilion);
    }

    .analysis-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 24px;
    }

    @media (max-width: 600px) {
      .analysis-grid { grid-template-columns: 1fr; }
    }

    .analysis-card {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 24px;
    }

    .analysis-card h4 {
      font-size: 0.65rem;
      color: var(--vermilion);
      letter-spacing: 0.3em;
      font-weight: 400;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .analysis-card h4::after {
      content: '';
      flex: 1;
      height: 1px;
      background: rgba(44,32,24,0.08);
    }

    .analysis-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 16px;
    }

    .analysis-card-item {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 20px 24px;
    }

    .analysis-card-item h4 {
      font-size: 0.65rem;
      color: var(--vermilion);
      letter-spacing: 0.2em;
      font-weight: 400;
      margin-bottom: 10px;
    }

    .analysis-card-item p {
      font-size: 0.78rem;
      color: var(--ink);
      line-height: 1.8;
      text-align: justify;
    }

    .analysis-row {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      padding: 6px 0;
      border-bottom: 1px dashed rgba(44,32,24,0.06);
    }

    .analysis-row:last-child { border-bottom: none; }

    .ar-label {
      font-size: 0.72rem;
      color: var(--ink-faint);
      letter-spacing: 0.1em;
    }

    .ar-value {
      font-size: 0.85rem;
      color: var(--ink);
      font-weight: 600;
    }

    .ar-value.wang { color: var(--huo-color); }
    .ar-value.shuai { color: var(--shui-color); }
    .ar-value.xi { color: var(--jade); }
    .ar-value.yong { color: var(--vermilion); }
    .ar-value.ji { color: var(--ink-faint); }

    .dayun-section { margin-top: 24px; }

    .section-title {
      font-size: 0.65rem;
      color: var(--ink-faint);
      letter-spacing: 0.4em;
      text-align: center;
      margin-bottom: 20px;
      font-weight: 400;
    }

    .dayun-track {
      display: flex;
      overflow-x: auto;
      gap: 8px;
      padding: 4px 0 16px;
      scrollbar-width: thin;
      scrollbar-color: var(--paper-darker) transparent;
    }

    .dayun-card {
      min-width: 120px;
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.1);
      border-radius: 3px;
      padding: 14px;
      text-align: center;
      flex-shrink: 0;
    }

    .dayun-age {
      font-size: 0.65rem;
      color: var(--ink-faint);
      letter-spacing: 0.1em;
      margin-bottom: 6px;
    }

    .dayun-range {
      font-size: 0.75rem;
      color: var(--ink-light);
      margin-bottom: 8px;
      font-weight: 600;
    }

    .dayun-pillars {
      font-size: 1.2rem;
      color: var(--ink);
      letter-spacing: 0.1em;
      line-height: 1.6;
    }

    .dayun-note {
      font-size: 0.6rem;
      color: var(--ink-faint);
      margin-top: 4px;
    }

    .wuxing-panel {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 24px 32px;
      margin-bottom: 24px;
    }

    .wuxing-bar-group { margin-bottom: 14px; }

    .wuxing-bar-label {
      display: flex;
      justify-content: space-between;
      font-size: 0.72rem;
      color: var(--ink-light);
      margin-bottom: 4px;
      letter-spacing: 0.1em;
    }

    .wuxing-bar-track {
      height: 6px;
      background: rgba(44,32,24,0.06);
      border-radius: 3px;
      overflow: hidden;
    }

    .wuxing-bar-fill {
      height: 100%;
      border-radius: 3px;
      transition: width 1s ease;
    }

    .wuxing-totals {
      display: flex;
      justify-content: space-between;
      font-size: 0.68rem;
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px dashed rgba(44,32,24,0.12);
    }
    .wt-tong { color: var(--jade); }
    .wt-yi { color: var(--vermilion); }

    /* 八字结构模块 */
    .bazigou-zao {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      margin: 0 0 8px 0;
      background: rgba(44,32,24,0.04);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      overflow: hidden;
    }
    .bazigou-zao .bzg-item {
      border-right: 1px solid rgba(44,32,24,0.06);
      padding: 6px 4px;
      text-align: center;
    }
    .bazigou-zao .bzg-item:last-child { border-right: none; }
    .bazigou-zao .bzg-label {
      font-size: 0.6rem;
      color: var(--ink-faint);
      margin-bottom: 3px;
      letter-spacing: 0.1em;
    }
    .bazigou-zao .bzg-gan {
      font-size: 0.9rem;
      font-weight: bold;
      color: var(--ink);
      letter-spacing: 0.15em;
    }
    .bazigou-zao .bzg-zhi {
      font-size: 0.9rem;
      color: var(--ink-light);
      letter-spacing: 0.1em;
    }
    .bazigou-zao .bzg-cang {
      font-size: 0.6rem;
      color: var(--ink-faint);
      margin-top: 3px;
      line-height: 1.5;
    }
    .bazigou-zao .bzg-cang span { margin: 0 2px; }
    .bazigou-zao .bzg-cang span .ts { font-size: 0.9em; }

    .zongping {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 28px 32px;
      margin-bottom: 24px;
    }

    .zongping h4 {
      font-size: 0.65rem;
      color: var(--vermilion);
      letter-spacing: 0.3em;
      font-weight: 400;
      margin-bottom: 14px;
    }

    .zongping p {
      font-size: 0.88rem;
      color: var(--ink-light);
      line-height: 2;
    }

    .daily-section {
      display: none;
      margin-top: 40px;
      padding-top: 32px;
      border-top: 1px solid rgba(44,32,24,0.08);
    }

    .daily-section.show { display: block; }

    .daily-header { text-align: center; margin-bottom: 28px; }

    .daily-date {
      font-size: 0.72rem;
      color: var(--ink-faint);
      letter-spacing: 0.2em;
      margin-bottom: 10px;
    }

    .daily-badge {
      display: inline-block;
      padding: 4px 20px;
      border-radius: 2px;
      font-size: 0.85rem;
      letter-spacing: 0.2em;
    }

    .daily-badge.super {
      background: var(--vermilion-dim);
      color: var(--vermilion);
      border: 1px solid var(--vermilion);
    }

    .daily-badge.good {
      background: var(--jade-dim);
      color: var(--jade);
      border: 1px solid var(--jade);
    }

    .daily-badge.avg {
      background: rgba(44,32,24,0.05);
      color: var(--ink-light);
      border: 1px solid rgba(44,32,24,0.15);
    }

    .daily-badge.poor {
      background: rgba(192,58,32,0.05);
      color: var(--ink-faint);
      border: 1px solid rgba(192,58,32,0.15);
    }

    .daily-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }

    @media (max-width: 720px) {
      .daily-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 480px) {
      .daily-grid { grid-template-columns: 1fr; }
    }

    .daily-item {
      background: var(--paper-dark);
      border: 1px solid rgba(44,32,24,0.08);
      border-radius: 3px;
      padding: 18px;
      position: relative;
      transition: box-shadow 0.2s;
    }

    .daily-item:hover { box-shadow: 0 2px 12px rgba(44,32,24,0.06); }

    .di-label {
      font-size: 0.6rem;
      color: var(--ink-faint);
      letter-spacing: 0.3em;
      margin-bottom: 6px;
    }

    .di-icon { font-size: 1.2rem; margin-bottom: 6px; }

    .di-value {
      font-size: 1rem;
      color: var(--ink);
      font-weight: 600;
      margin-bottom: 4px;
    }

    .di-sub {
      font-size: 0.68rem;
      color: var(--gold);
      margin-bottom: 8px;
      letter-spacing: 0.05em;
    }

    .di-desc {
      font-size: 0.7rem;
      color: var(--ink-faint);
      line-height: 1.7;
    }

    .di-bar {
      height: 3px;
      background: rgba(44,32,24,0.06);
      border-radius: 2px;
      margin-top: 10px;
      overflow: hidden;
    }

    .di-bar-fill {
      height: 100%;
      border-radius: 2px;
      transition: width 0.8s ease;
    }

    .footer-ornament {
      text-align: center;
      margin-top: 60px;
      color: var(--ink-faint);
      font-size: 0.5rem;
      letter-spacing: 0.5em;
      opacity: 0.4;
    }

    ::-webkit-scrollbar { width: 4px; height: 4px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: var(--gold-dim); border-radius: 2px; }

    /* ============================================================
       玄黑赤金 暗色皮肤覆盖层 (高优先级修正硬编码浅色描边/阴影)
       ============================================================ */
    body { background: var(--paper); }

    /* 标题鎏金质感 */
    h1 {
      background: linear-gradient(135deg, #f0d27a 0%, #d4af37 40%, #b8860b 60%, #f0d27a 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      text-shadow: 0 0 30px rgba(212,175,55,0.25);
    }
    .header-ornament { background: var(--gold); box-shadow: 0 0 12px var(--gold); }
    .header-ornament::before, .header-ornament::after { color: var(--gold); }
    .subtitle { color: var(--gold-light); opacity: 0.7; }
    .ink-line { background: linear-gradient(to bottom, transparent, var(--gold), transparent); opacity: 0.5; }

    /* 通用面板：玻璃拟态 + 金发丝边 + 内辉光 */
    .input-panel, .pillar-card, .ten-gods, .analysis-card, .analysis-card-item,
    .dayun-card, .wuxing-panel, .zongping, .daily-item {
      background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)) !important;
      border: 1px solid var(--line) !important;
      box-shadow: 0 8px 32px rgba(0,0,0,0.45), inset 0 1px 0 rgba(240,233,218,0.04) !important;
      backdrop-filter: blur(6px);
    }
    .bazigou-zao { background: rgba(18,15,28,0.7) !important; border: 1px solid var(--line) !important; }
    .bazigou-zao .bzg-item { border-right: 1px solid var(--line-soft) !important; }

    .input-group input, .input-group select {
      background: rgba(13,10,18,0.8) !important;
      border: 1px solid var(--line) !important;
      color: var(--ink) !important;
    }
    .input-group select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23d4af37'/%3E%3C/svg%3E") !important;
      background-repeat: no-repeat !important;
      background-position: right 10px center !important;
    }
    .input-group input:focus, .input-group select:focus {
      border-color: var(--gold) !important;
      box-shadow: 0 0 0 2px var(--gold-dim), 0 0 16px rgba(212,175,55,0.2) !important;
    }
    .input-group label { color: var(--gold-light); }

    /* 主按钮：赤金渐变 + 辉光 */
    .btn-calculate {
      background: linear-gradient(135deg, var(--vermilion) 0%, #b83a24 100%) !important;
      border: 1px solid rgba(240,210,122,0.4) !important;
      box-shadow: 0 4px 20px rgba(224,83,58,0.35) !important;
      color: #fff !important;
    }
    .btn-calculate:hover {
      background: linear-gradient(135deg, var(--vermilion-light) 0%, var(--vermilion) 100%) !important;
      box-shadow: 0 6px 28px rgba(224,83,58,0.5) !important;
    }
    .today-btn {
      border: 1px solid var(--line) !important;
      color: var(--gold-light) !important;
      background: transparent !important;
    }
    .today-btn:hover { border-color: var(--gold) !important; color: var(--gold) !important; background: var(--gold-dim) !important; }

    /* 四柱卡：天干鎏金描金，悬浮辉光 */
    .pillar-card:hover {
      box-shadow: 0 12px 40px rgba(212,175,55,0.18), inset 0 1px 0 rgba(240,233,218,0.06) !important;
      transform: translateY(-3px);
    }
    .pillar-card { transition: transform 0.3s, box-shadow 0.3s !important; }
    .pillar-gan { color: var(--gold-light) !important; text-shadow: 0 0 16px rgba(212,175,55,0.3); }
    .pillar-zhi { color: var(--ink) !important; }
    .pillar-zhi::after { background: var(--line) !important; }
    .pillar-card.nian::before { background: var(--vermilion) !important; box-shadow: 0 0 12px var(--vermilion); opacity: 0.9 !important; }
    .pillar-card.yue::before { background: var(--gold) !important; box-shadow: 0 0 12px var(--gold); opacity: 0.9 !important; }
    .pillar-card.ri::before { background: var(--jade) !important; box-shadow: 0 0 12px var(--jade); opacity: 0.9 !important; }
    .pillar-card.shi::before { background: var(--shui-color) !important; box-shadow: 0 0 12px var(--shui-color); opacity: 0.9 !important; }

    .ten-god-item { border: 1px solid var(--line) !important; color: var(--ink-light) !important; }
    .ten-god-item.self { background: var(--vermilion-dim) !important; border-color: var(--vermilion) !important; color: var(--vermilion-light) !important; }
    .ten-god-item { cursor: help; }
    .ten-god-item .tg-plain { font-size: 0.78rem; color: var(--gold-light); margin-top: 3px; letter-spacing: 0; opacity: 1; }
    .ts-hint { text-align: center; font-size: 0.8rem; color: var(--ink-light); margin-top: 14px; letter-spacing: 0.06em; line-height: 1.7; }

    /* ===== 分层结果页 折叠组 ===== */
    .layer-group { margin-bottom: 18px; }
    .layer-head {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 16px 22px;
      background: linear-gradient(135deg, rgba(212,175,55,0.10), rgba(224,83,58,0.06));
      border: 1px solid var(--line);
      border-radius: 6px;
      cursor: pointer;
      transition: all 0.2s;
      user-select: none;
    }
    .layer-head:hover { border-color: var(--gold); background: linear-gradient(135deg, rgba(212,175,55,0.16), rgba(224,83,58,0.10)); }
    .layer-icon { color: var(--gold); font-size: 0.7rem; }
    .layer-title { font-size: 1rem; color: var(--ink); font-weight: 600; letter-spacing: 0.15em; }
    .layer-sub { flex: 1; font-size: 0.64rem; color: var(--ink-faint); letter-spacing: 0.1em; }
    .layer-arrow { color: var(--gold-light); font-size: 0.9rem; transition: transform 0.3s; }
    .layer-group.collapsed .layer-arrow { transform: rotate(-90deg); }
    .layer-body {
      padding-top: 18px;
      overflow: hidden;
      transition: max-height 0.4s ease, opacity 0.3s, padding 0.3s;
    }
    .layer-group.collapsed .layer-body { max-height: 0 !important; padding-top: 0; opacity: 0; }

    /* ===== P2: 顶部导航 / 合规 / 合婚 / 择日 / 我的命盘 ===== */
    .top-nav {
      display: flex; justify-content: flex-start; gap: 6px;
      padding: 16px 0 8px; flex-wrap: nowrap;
      overflow-x: auto; -webkit-overflow-scrolling: touch;
      scrollbar-width: none; scroll-behavior: smooth;
      mask-image: linear-gradient(to right, transparent 0, #000 4px, #000 calc(100% - 20px), transparent 100%);
      -webkit-mask-image: linear-gradient(to right, transparent 0, #000 4px, #000 calc(100% - 20px), transparent 100%);
    }
    .top-nav::-webkit-scrollbar { display: none; }
    .nav-item {
      padding: 8px 22px; border-radius: 22px;
      font-family: inherit; font-size: 0.82rem; letter-spacing: 0.14em;
      cursor: pointer; transition: all 0.2s;
      background: transparent; border: 1px solid var(--line); color: var(--ink-light);
      flex-shrink: 0; white-space: nowrap;
    }
    .nav-item:hover { border-color: var(--gold); color: var(--gold-light); }
    .nav-item.active { background: linear-gradient(135deg, var(--vermilion), #b83a24); border-color: rgba(240,210,122,0.5); color: #fff; box-shadow: 0 4px 18px rgba(224,83,58,0.3); }
    .compliance-banner {
      text-align: center; font-size: 0.64rem; color: var(--ink-faint);
      letter-spacing: 0.06em; padding: 8px 16px; line-height: 1.7;
      border: 1px solid var(--line-soft); border-radius: 4px;
      margin: 6px auto 0; max-width: 640px; background: rgba(224,83,58,0.04);
    }
    .compliance-banner a { color: var(--gold-light); text-decoration: none; }
    .compliance-banner a:hover { text-decoration: underline; }

    /* 合婚 */
    .match-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    @media (max-width: 640px) { .match-inputs { grid-template-columns: 1fr; } }
    .match-side { border: 1px solid var(--line); border-radius: 6px; padding: 16px; }
    .match-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
    .match-row input, .match-row select {
      background: rgba(13,10,18,0.8); border: 1px solid var(--line); border-radius: 3px;
      color: var(--ink); font-family: inherit; font-size: 0.82rem; padding: 8px 10px; width: 72px;
    }
    .match-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
    @media (max-width: 640px) { .match-charts { grid-template-columns: 1fr; } }
    .match-chart-card { border: 1px solid var(--line); border-radius: 6px; padding: 18px; text-align: center; }
    .match-chart-card .mcc-name { font-size: 0.7rem; color: var(--ink-faint); letter-spacing: 0.2em; margin-bottom: 10px; }
    .match-chart-card .mcc-pillars { font-size: 1.5rem; color: var(--gold-light); letter-spacing: 0.15em; }
    .match-score-banner { text-align: center; padding: 28px; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 20px; background: linear-gradient(135deg, rgba(224,83,58,0.1), rgba(88,199,154,0.08)); }
    .match-score-num { font-size: 3rem; font-weight: 700; color: var(--gold-light); }
    .match-relations { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 16px 0; }
    .match-rel { padding: 6px 14px; border-radius: 16px; font-size: 0.72rem; letter-spacing: 0.05em; }
    .match-rel.he { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .match-rel.chong { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .match-detail { max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
    .md-row { display: flex; gap: 12px; align-items: flex-start; padding: 13px 16px; background: var(--input-bg); border: 1px solid var(--line); border-radius: 10px; border-left: 3px solid var(--gold); }
    .md-k { flex-shrink: 0; width: 5.4em; font-size: 0.74rem; font-weight: 700; color: var(--gold); letter-spacing: 0.05em; }
    .md-row p { flex: 1; font-size: 0.82rem; line-height: 1.85; color: var(--ink); margin: 0; }

    /* 择日 */
    #dateStart, #dateEvent { background: rgba(13,10,18,0.8); border: 1px solid var(--line); border-radius: 3px; color: var(--ink); font-family: inherit; padding: 9px 12px; }
    .date-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 12px; margin-top: 8px; }
    .date-card { border: 1px solid var(--line); border-radius: 6px; padding: 16px; background: var(--paper-dark); transition: all 0.2s; }
    .date-card:hover { border-color: var(--gold); transform: translateY(-2px); }
    .date-card .dc-date { font-size: 0.95rem; color: var(--ink); font-weight: 600; }
    .date-card .dc-gz { font-size: 0.72rem; color: var(--gold-light); margin: 6px 0; letter-spacing: 0.1em; }
    .date-card .dc-score { font-size: 0.66rem; color: var(--jade-light); }
    .date-card .dc-tags { font-size: 0.64rem; color: var(--ink-faint); margin-top: 6px; line-height: 1.6; }

    /* 我的命盘 */
    .saved-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 14px; }
    .saved-card { border: 1px solid var(--line); border-radius: 8px; padding: 18px; background: var(--paper-dark); position: relative; }
    .saved-card .sc-name { font-size: 0.95rem; color: var(--gold-light); margin-bottom: 6px; }
    .saved-card .sc-info { font-size: 0.66rem; color: var(--ink-faint); margin-bottom: 8px; }
    .saved-card .sc-pillars { font-size: 1.1rem; color: var(--ink); letter-spacing: 0.1em; }
    .saved-card .sc-actions { display: flex; gap: 8px; margin-top: 12px; }
    .saved-card .sc-btn { flex: 1; padding: 6px; border-radius: 4px; font-size: 0.66rem; cursor: pointer; border: 1px solid var(--line); background: transparent; color: var(--ink-light); font-family: inherit; }
    .saved-card .sc-btn.load:hover { border-color: var(--gold); color: var(--gold-light); }
    .saved-card .sc-btn.del:hover { border-color: var(--vermilion); color: var(--vermilion-light); }
    .saved-empty { text-align: center; color: var(--ink-faint); font-size: 0.78rem; padding: 50px 0; letter-spacing: 0.15em; }

    /* ===== 付费墙 ===== */
    .paywall { margin: 24px 0; padding: 28px; border: 1px solid var(--gold); border-radius: 10px; background: linear-gradient(160deg, rgba(212,175,55,0.10), rgba(18,15,28,0.9)); text-align: center; }
    .paywall-title { font-size: 1.15rem; color: var(--gold-light); letter-spacing: 0.12em; margin-bottom: 6px; }
    .paywall-sub { font-size: 0.72rem; color: var(--ink-faint); margin-bottom: 20px; }
    .paywall-tiers { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
    @media (max-width: 640px) { .paywall-tiers { grid-template-columns: 1fr; } }
    .tier-card { border: 1px solid var(--line); border-radius: 8px; padding: 20px 16px; background: rgba(13,10,18,0.5); transition: all 0.2s; cursor: pointer; }
    .tier-card:hover { border-color: var(--gold); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(212,175,55,0.2); }
    .tier-card.featured { border-color: var(--vermilion); background: rgba(224,83,58,0.08); }
    .tier-name { font-size: 0.9rem; color: var(--ink); margin-bottom: 8px; }
    .tier-price { font-size: 1.6rem; color: var(--gold-light); font-weight: 700; }
    .tier-price small { font-size: 0.7rem; color: var(--ink-faint); }
    .tier-benefits { font-size: 0.64rem; color: var(--ink-light); line-height: 1.9; margin-top: 12px; text-align: left; }
    .tier-btn { margin-top: 14px; width: 100%; padding: 9px; border-radius: 6px; border: 1px solid var(--gold); background: var(--gold-dim); color: var(--gold-light); font-family: inherit; font-size: 0.74rem; cursor: pointer; }
    .tier-btn:hover { background: var(--gold); color: #1a1206; }

    /* ===== 刑冲合化面板 ===== */
    .rel-panel { background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); border: 1px solid var(--line); border-radius: 8px; padding: 26px 30px; margin-bottom: 24px; box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
    .rel-panel h4 { font-size: 0.7rem; color: var(--gold-light); letter-spacing: 0.35em; font-weight: 400; margin-bottom: 12px; }
    .rel-intro { font-size: 0.7rem; color: var(--ink-faint); line-height: 1.8; margin-bottom: 18px; }
    .rel-none { font-size: 0.8rem; color: var(--ink-light); line-height: 1.9; }
    .rel-list { display: flex; flex-direction: column; gap: 12px; }
    .rel-item { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-bottom: 1px dashed var(--line-soft); }
    .rel-item:last-child { border-bottom: none; }
    .rel-badge { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 700; }
    .rel-badge.rel-he { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .rel-badge.rel-chong { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .rel-badge.rel-xing { background: rgba(212,175,55,0.12); color: var(--gold-light); border: 1px solid var(--gold); }
    .rel-badge.rel-hai { background: rgba(174,184,216,0.1); color: var(--jin-color); border: 1px solid var(--jin-color); }
    .rel-body { flex: 1; }
    .rel-head { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
    .rel-cat { font-size: 0.64rem; color: var(--ink-faint); letter-spacing: 0.1em; }
    .rel-txt { font-size: 0.92rem; color: var(--ink); letter-spacing: 0.08em; }
    .rel-hua { font-size: 0.74rem; color: var(--gold-light); }
    .rel-note { font-size: 0.72rem; color: var(--ink-light); line-height: 1.7; }
    .rel-src { color: var(--ink-faint); font-size: 0.62rem; margin-left: 6px; opacity: 0.8; }

    /* ===== 穷举详批 ===== */
    .deep-report { background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); border: 1px solid var(--line); border-radius: 8px; padding: 26px 30px; margin-bottom: 24px; box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
    .deep-report h4 { font-size: 0.7rem; color: var(--gold-light); letter-spacing: 0.35em; font-weight: 400; margin-bottom: 18px; }
    .deep-block { margin-bottom: 22px; }
    .deep-block:last-child { margin-bottom: 0; }
    .deep-block h5 { font-size: 0.74rem; color: var(--vermilion-light); letter-spacing: 0.18em; font-weight: 400; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
    .deep-block h5::before { content: '\25C8'; color: var(--gold); font-size: 0.7rem; }
    .deep-table { width: 100%; border-collapse: collapse; font-size: 0.76rem; }
    .deep-table th, .deep-table td { padding: 8px 6px; text-align: center; border: 1px solid var(--line-soft); }
    .deep-table thead th { color: var(--ink-faint); font-weight: 400; font-size: 0.66rem; letter-spacing: 0.1em; }
    .deep-table tbody th { color: var(--gold-light); font-weight: 400; }
    .deep-table td { color: var(--ink); }
    .deep-table td.empty { color: var(--ink-faint); }
    .ts-sub { display: block; font-size: 0.58rem; color: var(--ink-faint); margin-top: 2px; }
    .sg-list { display: flex; flex-direction: column; gap: 8px; }
    .sg-row { display: flex; align-items: center; gap: 10px; }
    .sg-name { width: 48px; font-size: 0.74rem; color: var(--ink-light); flex-shrink: 0; }
    .sg-bar { flex: 1; height: 8px; background: rgba(240,233,218,0.08); border-radius: 4px; overflow: hidden; }
    .sg-fill { display: block; height: 100%; background: linear-gradient(90deg, var(--vermilion), var(--gold)); border-radius: 4px; transition: width 0.8s ease; }
    .sg-star { font-size: 0.64rem; color: var(--gold-light); width: 64px; text-align: right; flex-shrink: 0; }
    .ge-item { padding: 10px 0; border-bottom: 1px dashed var(--line-soft); }
    .ge-item:last-of-type { border-bottom: none; }
    .ge-name { font-size: 0.84rem; color: var(--gold-light); letter-spacing: 0.06em; margin-bottom: 4px; }
    .ge-desc { font-size: 0.72rem; color: var(--ink-light); line-height: 1.7; }
    .ge-warn { font-size: 0.7rem; color: var(--vermilion-light); margin-top: 10px; line-height: 1.7; }
    .th-box { text-align: center; padding: 8px 0; }
    .th-yong { display: flex; justify-content: center; gap: 16px; margin-bottom: 12px; }
    .th-gan { font-size: 1.8rem; color: var(--gold-light); font-weight: 700; }
    .th-gan .ts-sub { font-size: 0.6rem; }
    .th-desc { font-size: 0.78rem; color: var(--ink-light); line-height: 1.8; }
    .th-src { font-size: 0.64rem; color: var(--ink-faint); margin-top: 8px; }

    /* 大运/流年 星级 */
    .dayun-star { font-size: 0.78rem; color: var(--gold-light); letter-spacing: 1px; margin: 6px 0; }
    .dayun-star .star-dim { color: rgba(240,233,218,0.18); }

    /* ===== 专业排盘网格 ===== */
    #fourPillars { display: block !important; }
    .pro-chart { width: 100%; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: rgba(13,10,18,0.4); margin-bottom: 8px; }
    .pc-row { display: grid; grid-template-columns: 56px 1fr 1fr 1fr 1fr; border-bottom: 1px solid var(--line-soft); }
    .pc-row:last-child { border-bottom: none; }
    .pc-rowlabel { display: flex; align-items: center; justify-content: center; font-size: 0.66rem; color: var(--ink-faint); letter-spacing: 0.1em; background: rgba(212,175,55,0.05); border-right: 1px solid var(--line-soft); }
    .pc-cell { padding: 8px 4px; text-align: center; border-right: 1px solid var(--line-soft); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
    .pc-cell:last-child { border-right: none; }
    .pc-head { background: rgba(212,175,55,0.08); }
    .pc-col-head { font-size: 0.74rem; color: var(--gold-light); letter-spacing: 0.1em; padding: 10px 4px; }
    .pc-big { font-size: 1.9rem; font-weight: 700; line-height: 1.1; text-shadow: 0 0 14px rgba(0,0,0,0.4); }
    .pc-small { font-size: 0.72rem; color: var(--ink-light); }
    .pc-cang-cell { gap: 3px; }
    .pc-cang { font-size: 0.66rem; display: flex; align-items: center; gap: 3px; }
    .pc-cang i { font-style: normal; color: var(--ink-faint); font-size: 0.92em; }
    .pc-ss-cell { gap: 3px; }
    .pc-ss-cell span { font-size: 0.6rem; color: var(--gold-light); line-height: 1.5; }
    .pc-ss-cell .pc-dim { color: var(--ink-faint); }
    @media (max-width: 600px) {
      .pc-row { grid-template-columns: 42px 1fr 1fr 1fr 1fr; }
      .pc-big { font-size: 1.4rem; }
      .pc-small, .pc-cang { font-size: 0.58rem; }
      .pc-ss-cell span { font-size: 0.52rem; }
    }

    .analysis-card h4::after, .analysis-row, .wuxing-totals, .daily-section { border-color: var(--line-soft) !important; }
    .analysis-row { border-bottom: 1px dashed var(--line-soft) !important; }
    .wuxing-bar-track, .di-bar { background: rgba(240,233,218,0.08) !important; }
    .analysis-card-item p, .zongping p { color: var(--ink-light) !important; }

    /* ===== 五行雷达布局 ===== */
    .wuxing-layout {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 32px;
      align-items: center;
    }
    .radar-wrap { display: flex; justify-content: center; }
    #wuxingRadar { max-width: 100%; height: auto; filter: drop-shadow(0 0 16px rgba(212,175,55,0.15)); }
    .wuxing-bars { min-width: 0; }
    @media (max-width: 680px) {
      .wuxing-layout { grid-template-columns: 1fr; gap: 16px; }
      #wuxingRadar { width: 260px; }
    }

    .daily-badge.avg { background: rgba(240,233,218,0.06) !important; border: 1px solid var(--line) !important; color: var(--ink-light) !important; }
    .footer-ornament { color: var(--gold); opacity: 0.3; }

    /* ===== 爆款钩子: 评分定调横幅 ===== */
    .verdict-banner {
      position: relative;
      background: linear-gradient(135deg, rgba(224,83,58,0.12), rgba(212,175,55,0.10));
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 28px 32px;
      margin-bottom: 24px;
      display: flex;
      align-items: center;
      gap: 28px;
      overflow: hidden;
      box-shadow: 0 8px 32px rgba(0,0,0,0.4);
    }
    .verdict-banner::before {
      content: '';
      position: absolute;
      top: -50%; right: -10%;
      width: 240px; height: 240px;
      background: radial-gradient(circle, rgba(212,175,55,0.18), transparent 70%);
      pointer-events: none;
    }
    .verdict-score {
      flex-shrink: 0;
      width: 92px; height: 92px;
      border-radius: 50%;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      background: conic-gradient(var(--gold) var(--pct, 75%), rgba(240,233,218,0.08) 0);
      position: relative;
    }
    .verdict-score::after {
      content: '';
      position: absolute; inset: 6px;
      border-radius: 50%;
      background: var(--paper-dark);
    }
    .verdict-score .vs-num {
      position: relative; z-index: 1;
      font-size: 1.9rem; font-weight: 700;
      color: var(--gold-light);
      line-height: 1;
    }
    .verdict-score .vs-label { position: relative; z-index: 1; font-size: 0.55rem; color: var(--ink-faint); letter-spacing: 0.2em; margin-top: 3px; }
    .verdict-text { flex: 1; }
    .verdict-tag {
      display: inline-block;
      font-size: 0.62rem; letter-spacing: 0.25em;
      color: var(--vermilion-light);
      border: 1px solid var(--vermilion);
      border-radius: 2px;
      padding: 3px 10px;
      margin-bottom: 10px;
    }
    .verdict-title { font-size: 1.25rem; color: var(--ink); font-weight: 600; letter-spacing: 0.08em; margin-bottom: 8px; }
    .verdict-desc { font-size: 0.8rem; color: var(--ink-light); line-height: 1.8; }
    .verdict-keywords { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
    .verdict-keywords span {
      font-size: 0.68rem; color: var(--gold-light);
      background: var(--gold-dim);
      border-radius: 12px; padding: 3px 12px;
      letter-spacing: 0.08em;
    }
    @media (max-width: 600px) {
      .verdict-banner { flex-direction: column; text-align: center; padding: 24px 20px; }
      .verdict-keywords { justify-content: center; }
    }

    /* ===== 分享条 ===== */
    .share-bar {
      display: flex; gap: 12px; justify-content: center;
      margin: 8px 0 32px;
      flex-direction: column;
      align-items: center;
    }
    .poster-templates { display: flex; align-items: center; gap: 8px; }
    .poster-preview { width: 100%; max-width: 340px; display: flex; flex-direction: column; align-items: center; }
    .poster-preview:empty { display: none; }
    .poster-img { width: 100%; max-width: 340px; border-radius: 14px; border: 1px solid var(--line);
      box-shadow: 0 10px 40px rgba(0,0,0,0.4); display: block; }
    .poster-cap { font-size: 0.68rem; color: var(--ink-faint); margin: 10px 0 4px; text-align: center; letter-spacing: 0.04em; }
    /* 扎心标签九宫格 */
    .tagwall-slot:empty { display: none; }
    .tagwall { margin: 8px 0 24px; padding: 22px 20px 18px; border-radius: 16px;
      background: var(--title-bg); border: 1px solid var(--gold); box-shadow: 0 8px 32px rgba(0,0,0,0.25); }
    .tw-head { text-align: center; margin-bottom: 16px; }
    .tw-title { display: block; font-size: 1.1rem; font-weight: 700; letter-spacing: 0.3em;
      background: linear-gradient(135deg, #f5d889, #d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .tw-sub { display: block; font-size: 0.66rem; color: var(--ink-faint); letter-spacing: 0.18em; margin-top: 4px; }
    .tw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .tw-cell { min-height: 64px; display: flex; align-items: center; justify-content: center; text-align: center;
      padding: 10px 8px; border-radius: 12px; font-size: 0.8rem; line-height: 1.5; color: var(--ink-light);
      background: var(--input-bg); border: 1px solid var(--line-soft); transition: transform 0.2s, border-color 0.2s; }
    .tw-cell:hover { transform: translateY(-2px); border-color: var(--gold); color: var(--gold-light); }
    .tw-foot { text-align: center; font-size: 0.66rem; color: var(--ink-faint); margin-top: 14px; letter-spacing: 0.04em; }
    /* 年度流年大报告 年份选择 */
    .ar-years { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 6px 0 16px; }
    .ar-year-btn { padding: 7px 18px; border-radius: 18px; font-family: inherit; font-size: 0.8rem; letter-spacing: 0.06em;
      cursor: pointer; border: 1px solid var(--line); background: transparent; color: var(--ink-light); transition: all 0.2s; }
    .ar-year-btn:hover { border-color: var(--gold); color: var(--gold-light); }
    .ar-year-btn.active { background: var(--gold-dim); border-color: var(--gold); color: var(--gold-light); font-weight: 700; }
    /* 命例对照库 */
    .case-summary { text-align: center; font-size: 0.8rem; font-weight: 700; color: var(--jade-light); margin-bottom: 12px; padding: 8px; border-radius: 8px; background: var(--jade-dim); border: 1px solid var(--jade); }
    #caseList { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
    .case-card { border: 1px solid var(--line-soft); border-radius: 10px; padding: 12px 14px; background: var(--input-bg); }
    .case-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; gap: 8px; }
    .case-name { font-size: 0.82rem; font-weight: 600; color: var(--gold-light); }
    .case-badge { font-size: 0.64rem; padding: 2px 8px; border-radius: 10px; white-space: nowrap; }
    .case-badge.ok { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .case-badge.bad { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .case-row { font-size: 0.74rem; color: var(--ink-light); line-height: 1.9; }
    .case-row b { color: var(--ink); letter-spacing: 0.05em; }
    .case-note { font-size: 0.7rem; color: var(--ink-faint); line-height: 1.7; margin: 6px 0 10px; }
    .case-load-btn { width: 100%; }
    /* 今日老黄历 */
    .hl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .hl-grid > div { padding: 8px 12px; border-radius: 8px; background: var(--input-bg); border: 1px solid var(--line-soft); display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; }
    .hl-grid > div > span { color: var(--ink-faint); }
    .hl-grid > div > b { color: var(--gold-light); }
    /* ===== 紫微斗数命盘 ===== */
    .zw-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, minmax(96px, auto)); gap: 4px; margin-top: 10px; }
    .zw-pal { position: relative; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--input-bg); padding: 7px 6px 4px; display: flex; flex-direction: column; min-height: 96px; }
    .zw-pal-ming { border-color: var(--gold); box-shadow: inset 0 0 0 1px var(--gold-dim), 0 0 12px rgba(199,169,107,0.18); }
    .zw-stars { display: flex; flex-wrap: wrap; gap: 2px 6px; flex: 1; align-content: flex-start; }
    .zw-star { font-size: 0.82rem; font-weight: 600; color: var(--gold-light); white-space: nowrap; }
    .zw-aux { font-size: 0.68rem; white-space: nowrap; opacity: 0.95; }
    .zw-aux-ji { color: #6ed08a; }       /* 六吉 */
    .zw-aux-sha { color: #e0796a; }      /* 六煞 */
    .zw-aux-neutral { color: var(--ink-faint); }  /* 禄存/天马 */
    .zw-empty { font-size: 0.66rem; color: var(--ink-faint); }
    .zw-sh { font-style: normal; font-size: 0.6rem; padding: 0 2px; border-radius: 3px; margin-left: 1px; vertical-align: super; }
    .zw-sh-lu { background: rgba(94,194,122,0.2); color: #6ed08a; }
    .zw-sh-quan { background: rgba(224,90,60,0.2); color: #f08060; }
    .zw-sh-ke { background: rgba(122,168,255,0.2); color: #7aa8ff; }
    .zw-sh-ji { background: rgba(150,150,150,0.25); color: #b8b8b8; }
    .zw-dx { font-size: 0.56rem; color: var(--ink-faint); margin: 2px 0; }
    .zw-cs { float: right; color: var(--jade-light); }
    .zw-clk { cursor: pointer; border-bottom: 1px dotted transparent; }
    .zw-clk:hover { border-bottom-color: currentColor; opacity: 0.8; }
    .zw-dx-clk { border-radius: 6px; transition: background .2s; }
    .zw-dx-clk:hover { background: var(--gold-dim); }
    .zw-dx-clk.active { background: var(--gold-dim); box-shadow: inset 3px 0 0 var(--gold); }
    .zw-dx-detail:empty { display: none; }
    .zw-dx-sf { margin: 10px 0 4px; padding: 14px 16px; border: 1px solid var(--gold); border-radius: 10px; background: var(--input-bg); }
    .zw-dx-sf-t { font-size: 0.82rem; color: var(--gold-light); font-weight: 600; margin-bottom: 10px; }
    .zw-dxyear-t { font-size: 0.72rem; color: var(--ink-faint); margin: 14px 0 8px; }
    .zw-dxyear-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
    .zw-dxyear-btn { font-family: inherit; cursor: pointer; padding: 5px 10px; border-radius: 8px; background: var(--input-bg); border: 1px solid var(--line); color: var(--ink-light); font-size: 0.74rem; line-height: 1.2; text-align: center; transition: all .2s; }
    .zw-dxyear-btn span { display: block; font-size: 0.56rem; color: var(--ink-faint); }
    .zw-dxyear-btn:hover { border-color: var(--gold); color: var(--gold); }
    .zw-dxyear-btn.active { background: var(--gold); color: var(--bg-deep); border-color: var(--gold); }
    .zw-dxyear-btn.active span { color: var(--bg-deep); }
    .zw-dxyear-body { margin-top: 12px; padding: 12px 14px; border-radius: 8px; background: rgba(0,0,0,0.14); border: 1px dashed var(--gold-dim); }
    .zw-dxyear-bt { font-size: 0.78rem; color: var(--gold-light); font-weight: 600; margin-bottom: 8px; }
    .zw-br { font-style: normal; font-size: 0.58rem; margin-left: 1px; padding: 0 1px; border-radius: 2px; }
    .zw-br.br-good { color: #6ed08a; }
    .zw-br.br-mid { color: var(--ink-faint); }
    .zw-br.br-weak { color: #e0796a; }
    .zw-pal-foot { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px dashed var(--line-soft); padding-top: 3px; margin-top: auto; }
    .zw-gong { font-size: 0.68rem; color: var(--vermilion-light); font-weight: 600; }
    .zw-gz { font-size: 0.62rem; color: var(--ink-faint); }
    .zw-center { grid-row: 2 / 4; grid-column: 2 / 4; border: 1px solid var(--line); border-radius: 8px; background: var(--title-bg);
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 10px; text-align: center; }
    .zw-c-title { font-size: 1rem; font-weight: 700; color: var(--gold-light); letter-spacing: 0.1em; }
    .zw-c-row { font-size: 0.74rem; color: var(--ink-light); }
    .zw-c-row b { color: var(--gold-light); }
    .zw-c-sihua { font-size: 0.72rem; color: var(--ink-light); margin-top: 2px; line-height: 1.8; }
    @media (max-width: 600px) {
      .zw-grid { gap: 2px; grid-template-rows: repeat(4, minmax(80px, auto)); }
      .zw-pal { padding: 4px 3px 2px; min-height: 80px; }
      .zw-star { font-size: 0.68rem; }
      .zw-gong { font-size: 0.6rem; } .zw-gz { font-size: 0.54rem; }
      .zw-c-title { font-size: 0.82rem; } .zw-c-row, .zw-c-sihua { font-size: 0.62rem; }
    }
    @media (max-width: 600px) { .tw-cell { font-size: 0.72rem; min-height: 58px; padding: 8px 5px; } .tw-grid { gap: 7px; } }
    /* 塔罗牌翻转 */
    .tarot-wrap { perspective: 800px; width: 200px; height: 320px; margin: 0 auto 14px; cursor: pointer; }
    .tarot-inner { position: relative; width: 100%; height: 100%; transition: transform 0.7s; transform-style: preserve-3d; }
    .tarot-wrap.flipped .tarot-inner { transform: rotateY(180deg); }
    .tarot-face, .tarot-back { position: absolute; inset: 0; border-radius: 14px; backface-visibility: hidden; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 18px; }
    .tarot-back { background: linear-gradient(135deg, #1f1a4d, #0b0a1e); border: 2px solid var(--gold); box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
    .tarot-back::after { content: '\2726'; font-size: 4rem; color: var(--gold-dim); }
    .tarot-face { transform: rotateY(180deg); background: var(--title-bg); border: 2px solid var(--gold); box-shadow: 0 8px 32px rgba(0,0,0,0.5); text-align: center; gap: 6px; }
    .tarot-num { font-size: 3.6rem; line-height: 1; }
    .tarot-name { font-size: 1.2rem; font-weight: 700; color: var(--gold-light); letter-spacing: 0.1em; }
    .tarot-key { font-size: 0.78rem; color: var(--ink-faint); }
    .pt-label { font-size: 0.66rem; color: var(--ink-faint); letter-spacing: 0.12em; margin-right: 4px; }
    .pt-chip {
      padding: 5px 14px; border-radius: 16px;
      font-family: inherit; font-size: 0.7rem; letter-spacing: 0.1em;
      cursor: pointer; transition: all 0.2s;
      border: 1px solid var(--line); background: transparent; color: var(--ink-light);
    }
    .pt-chip.active { background: var(--gold-dim); border-color: var(--gold); color: var(--gold-light); }
    .share-btns { display: flex; gap: 12px; }
    .share-btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 26px;
      border-radius: 30px;
      font-family: inherit; font-size: 0.8rem; letter-spacing: 0.12em;
      cursor: pointer; transition: all 0.25s;
      border: 1px solid var(--gold);
      background: var(--gold-dim);
      color: var(--gold-light);
    }
    .share-btn:hover { background: var(--gold); color: #1a1206; box-shadow: 0 4px 20px rgba(212,175,55,0.4); }
    .share-btn.ghost { border-color: var(--line); color: var(--ink-light); background: transparent; }
    .share-btn.ghost:hover { border-color: var(--jade); color: var(--jade); background: var(--jade-dim); box-shadow: none; }

    /* 铜钱旋转加载 */
    .coin-loader {
      display: none;
      text-align: center;
      padding: 50px 0;
    }
    .coin-loader.show { display: block; }
    .coin {
      width: 56px; height: 56px;
      margin: 0 auto 18px;
      border-radius: 50%;
      border: 3px solid var(--gold);
      position: relative;
      animation: coinspin 1.1s linear infinite;
      box-shadow: 0 0 20px rgba(212,175,55,0.4);
    }
    .coin::before {
      content: '';
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%,-50%);
      width: 20px; height: 20px;
      border: 2px solid var(--gold);
    }
    @keyframes coinspin { to { transform: rotateY(360deg); } }
    .coin-loader p { color: var(--gold-light); font-size: 0.72rem; letter-spacing: 0.3em; }

    /* ===== Hero 首屏引导 ===== */
    .hero {
      position: relative;
      text-align: center;
      padding: 20px 24px 40px;
      overflow: hidden;
    }
    .hero-glow {
      position: absolute;
      top: -40px; left: 50%;
      transform: translateX(-50%);
      width: 360px; height: 200px;
      background: radial-gradient(ellipse, rgba(224,83,58,0.18), transparent 70%);
      pointer-events: none;
      filter: blur(20px);
    }
    .hero-tagline {
      position: relative;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      background: linear-gradient(135deg, #f0d27a, #d4af37, #f0d27a);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 14px;
    }
    .hero-sub {
      position: relative;
      font-size: 0.82rem;
      color: var(--ink-light);
      letter-spacing: 0.06em;
      line-height: 1.9;
      max-width: 480px;
      margin: 0 auto 24px;
    }
    .hero-stats {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      margin-bottom: 28px;
    }
    .hero-stat { display: flex; flex-direction: column; gap: 4px; }
    .hero-stat b {
      font-size: 1.15rem;
      color: var(--gold-light);
      letter-spacing: 0.05em;
    }
    .hero-stat span { font-size: 0.62rem; color: var(--ink-faint); letter-spacing: 0.15em; }
    .hero-divider { width: 1px; height: 28px; background: var(--line); }
    .hero-cta {
      position: relative;
      padding: 14px 44px;
      border-radius: 30px;
      border: 1px solid rgba(240,210,122,0.5);
      background: linear-gradient(135deg, var(--vermilion), #b83a24);
      color: #fff;
      font-family: inherit;
      font-size: 0.95rem;
      letter-spacing: 0.22em;
      cursor: pointer;
      transition: all 0.25s;
      box-shadow: 0 6px 28px rgba(224,83,58,0.4);
      animation: heroPulse 2.4s ease-in-out infinite;
    }
    .hero-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 36px rgba(224,83,58,0.6);
    }
    @keyframes heroPulse {
      0%, 100% { box-shadow: 0 6px 28px rgba(224,83,58,0.4); }
      50% { box-shadow: 0 6px 40px rgba(224,83,58,0.7); }
    }
    @media (max-width: 600px) {
      .hero-tagline { font-size: 1.2rem; }
      .hero-stats { gap: 14px; }
      .hero-stat b { font-size: 1rem; }
    }
    .hero-trust { display: inline-block; margin-top: 14px; padding: 6px 16px; border-radius: 16px;
      font-family: inherit; font-size: 0.7rem; letter-spacing: 0.06em; cursor: pointer;
      border: 1px solid var(--jade); background: var(--jade-dim); color: var(--jade-light); transition: all 0.2s; }
    .hero-trust:hover { background: var(--jade); color: #07120d; box-shadow: 0 4px 16px rgba(88,199,154,0.35); }

    /* ===== 公历/农历 切换 ===== */
    .cal-toggle {
      display: flex;
      justify-content: center;
      gap: 0;
      margin-bottom: 22px;
    }
    .cal-tab {
      padding: 8px 28px;
      font-family: inherit;
      font-size: 0.82rem;
      letter-spacing: 0.18em;
      cursor: pointer;
      background: transparent;
      border: 1px solid var(--line);
      color: var(--ink-faint);
      transition: all 0.2s;
    }
    .cal-tab:first-child { border-radius: 20px 0 0 20px; }
    .cal-tab:last-child { border-radius: 0 20px 20px 0; border-left: none; }
    .cal-tab.active {
      background: var(--gold-dim);
      color: var(--gold-light);
      border-color: var(--gold);
    }

    /* ============================================================
       美学打磨层 (typography / depth / motion / refinement)
       ============================================================ */
    body { letter-spacing: 0.02em; }

    /* 标题用书法体 */
    h1 {
      font-family: 'Ma Shan Zheng', 'Noto Serif SC', serif !important;
      letter-spacing: 0.32em !important;
      text-indent: 0.32em;
      font-weight: 400 !important;
    }
    .hero-tagline { font-family: 'Ma Shan Zheng','Noto Serif SC',serif; letter-spacing: 0.14em; font-weight: 400; }

    /* 顶部品牌印章 */
    .header-ornament { position: relative; }

    /* 渐入动画：结果区子块逐层浮现 */
    .result.show .verdict-banner,
    .result.show .share-bar,
    .result.show .layer-group { animation: riseIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }
    .result.show .share-bar { animation-delay: 0.08s; }
    .result.show #layerChart { animation-delay: 0.16s; }
    .result.show #layerDeep { animation-delay: 0.24s; }
    @keyframes riseIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* 评分横幅：流光描边 + 更精致 */
    .verdict-banner {
      border-radius: 14px !important;
      position: relative;
      overflow: hidden;
    }
    .verdict-banner::after {
      content: '';
      position: absolute; inset: 0;
      border-radius: 14px;
      padding: 1px;
      background: linear-gradient(135deg, rgba(212,175,55,0.5), transparent 40%, transparent 60%, rgba(224,83,58,0.4));
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor; mask-composite: exclude;
      pointer-events: none;
    }
    .verdict-title { font-family: 'Noto Serif SC', serif; font-weight: 700; }
    .verdict-score { box-shadow: 0 0 24px rgba(212,175,55,0.25); }

    /* 排盘网格：天干地支描金光晕 + 行悬浮高亮 */
    .pro-chart {
      border-radius: 12px !important;
      box-shadow: 0 10px 40px rgba(0,0,0,0.5), inset 0 1px 0 rgba(240,233,218,0.05);
    }
    .pc-row { transition: background 0.2s; }
    .pc-row:not(.pc-head):not(.pc-row-ss):hover { background: rgba(212,175,55,0.05); }
    .pc-big {
      font-family: 'Noto Serif SC', serif;
      letter-spacing: 0;
    }
    /* 日柱列高亮(命主所在) */
    .pc-row > .pc-cell:nth-child(4) { background: rgba(212,175,55,0.04); }

    /* 区块标题：左右对称云纹分隔 */
    .section-title, .panel-title {
      position: relative;
      display: flex; align-items: center; justify-content: center; gap: 14px;
    }
    .section-title::before, .section-title::after,
    .panel-title::before, .panel-title::after {
      content: ''; height: 1px; width: 40px;
      background: linear-gradient(to right, transparent, var(--gold));
      opacity: 0.5;
    }
    .section-title::after, .panel-title::after { background: linear-gradient(to left, transparent, var(--gold)); }

    /* 面板标题鎏金 */
    .rel-panel h4, .deep-report h4 {
      background: linear-gradient(135deg, #f0d27a, #d4af37);
      -webkit-background-clip: text; background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    /* 四柱顶色条改为顶部细金线发光 */
    .layer-head { border-radius: 10px !important; }
    .layer-head:hover { transform: translateX(2px); }

    /* 按钮统一圆润 + 微交互 */
    .btn-calculate { border-radius: 24px !important; }
    .btn-calculate:active { transform: scale(0.96); }
    .nav-item { transition: all 0.25s cubic-bezier(0.22,1,0.36,1); }
    .nav-item:hover { transform: translateY(-1px); }

    /* 雷达卡描金边 */
    .wuxing-panel { border-radius: 12px !important; }

    /* 滚动条精致化 */
    ::-webkit-scrollbar-thumb { background: linear-gradient(var(--gold), var(--vermilion)); border-radius: 3px; }

    /* 选中文本配色 */
    ::selection { background: rgba(212,175,55,0.3); color: #fff; }

    /* 大运/流年卡片悬浮 */
    .dayun-card { border-radius: 8px !important; transition: transform 0.25s, box-shadow 0.25s; }
    .dayun-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(212,175,55,0.18); }

    /* 神煞/关系徽章柔光 */
    .rel-badge { box-shadow: 0 2px 10px rgba(0,0,0,0.3); }

    /* 移动端字号微调 */
    @media (max-width: 600px) {
      h1 { font-size: 2.1rem; }
      .container { padding: 0 18px 60px; }
    }

    /* ===== 穷举分点卡片 ===== */
    .bullet-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
    @media (max-width: 640px) { .bullet-cards { grid-template-columns: 1fr; } }
    .bullet-card {
      background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92));
      border: 1px solid var(--line); border-radius: 10px; padding: 22px 24px;
      box-shadow: 0 8px 28px rgba(0,0,0,0.38);
    }
    .bullet-card h5 {
      font-size: 0.92rem; letter-spacing: 0.12em; margin-bottom: 14px; font-weight: 600;
      background: linear-gradient(135deg, #f0d27a, #d4af37);
      -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    }
    .bc-sub { font-size: 0.66rem; letter-spacing: 0.16em; margin: 12px 0 8px; padding-left: 10px; position: relative; }
    .bc-sub::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 12px; border-radius: 2px; }
    .bc-merit { color: var(--jade-light); }
    .bc-merit::before { background: var(--jade); }
    .bc-flaw { color: var(--vermilion-light); }
    .bc-flaw::before { background: var(--vermilion); }
    .bc-ul { list-style: none; margin: 0; padding: 0; }
    .bc-ul li {
      font-size: 0.76rem; color: var(--ink-light); line-height: 1.7;
      padding: 6px 0 6px 18px; position: relative; border-bottom: 1px dashed var(--line-soft);
    }
    .bc-ul li:last-child { border-bottom: none; }
    .bc-ul li::before {
      content: '\25C6'; position: absolute; left: 0; top: 7px;
      font-size: 0.5rem; color: var(--gold); opacity: 0.7;
    }

    /* ===== 命格称号卡 (爆款身份标签) ===== */
    .title-card {
      display: none;
      position: relative;
      text-align: center;
      padding: 32px 28px 28px;
      margin-bottom: 18px;
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid var(--gold);
      background: linear-gradient(160deg, rgba(30,22,14,0.95), rgba(13,10,18,0.95));
    }
    .title-card.show { display: block; animation: tcReveal 0.7s cubic-bezier(0.22,1,0.36,1) both; }
    @keyframes tcReveal { from { opacity:0; transform: scale(0.9) translateY(16px);} to { opacity:1; transform:none; } }
    .tc-glow {
      position: absolute; top: -60%; left: 50%; transform: translateX(-50%);
      width: 140%; height: 200%;
      background: radial-gradient(ellipse at center, rgba(212,175,55,0.22), transparent 60%);
      pointer-events: none; animation: tcSpin 12s linear infinite;
    }
    @keyframes tcSpin { to { transform: translateX(-50%) rotate(360deg); } }
    .tc-rarity {
      position: absolute; top: 14px; right: 16px;
      font-family: sans-serif; font-weight: 800; font-size: 0.9rem; letter-spacing: 0.05em;
      padding: 3px 12px; border-radius: 12px;
    }
    .tc-rarity.r { background: rgba(174,184,216,0.2); color: #aeb8d8; border: 1px solid #aeb8d8; }
    .tc-rarity.sr { background: rgba(90,155,224,0.2); color: #6bb0f0; border: 1px solid #5a9be0; }
    .tc-rarity.ssr { background: rgba(192,120,224,0.2); color: #d59bf0; border: 1px solid #c078e0; box-shadow: 0 0 12px rgba(192,120,224,0.4); }
    .tc-rarity.ur { background: linear-gradient(135deg, var(--gold), var(--vermilion)); color: #fff; border: 1px solid var(--gold-light); box-shadow: 0 0 18px rgba(240,210,122,0.6); }
    .tc-name {
      position: relative; z-index: 1;
      font-family: 'Ma Shan Zheng','Noto Serif SC',serif;
      font-size: 2.8rem; letter-spacing: 0.1em;
      background: linear-gradient(135deg, #f0d27a, #d4af37, #f0d27a);
      -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
      text-shadow: 0 0 30px rgba(212,175,55,0.3);
    }
    .tc-en { position: relative; z-index: 1; font-size: 0.78rem; color: var(--ink-faint); letter-spacing: 0.2em; margin-top: 4px; font-style: italic; }
    .tc-desc { position: relative; z-index: 1; font-size: 0.84rem; color: var(--ink-light); line-height: 1.8; margin-top: 14px; max-width: 540px; margin-left: auto; margin-right: auto; }
    .title-card.ur { border-color: var(--gold-light); box-shadow: 0 0 40px rgba(212,175,55,0.25); }
    .title-card.ssr { border-color: #c078e0; }
    @media (max-width: 600px) { .tc-name { font-size: 2.1rem; } }

    /* ============================================================
       放大与舒展层 (更大气的视觉尺度)
       ============================================================ */
    .container { max-width: 1180px; padding: 0 40px 90px; }

    /* 头部更宏大 */
    h1 { font-size: 3.4rem !important; }
    .subtitle { font-size: 0.82rem; }
    .hero { padding: 28px 24px 52px; }
    .hero-tagline { font-size: 2.1rem; }
    .hero-sub { font-size: 0.95rem; max-width: 560px; }
    .hero-stat b { font-size: 1.4rem; }
    .hero-cta { font-size: 1.05rem; padding: 16px 52px; }

    /* 输入面板更舒展 */
    .input-panel { padding: 40px 48px; }
    .panel-title { font-size: 0.82rem; margin-bottom: 28px; }
    .input-group input, .input-group select { font-size: 1rem; padding: 12px 16px; }
    .btn-calculate { font-size: 1rem; padding: 13px 40px; }

    /* 评分横幅放大 */
    .verdict-banner { padding: 36px 40px; gap: 34px; }
    .verdict-score { width: 110px; height: 110px; }
    .verdict-score .vs-num { font-size: 2.4rem; }
    .verdict-title { font-size: 1.55rem; }
    .verdict-desc { font-size: 0.9rem; line-height: 1.95; }
    .verdict-keywords span { font-size: 0.76rem; padding: 5px 15px; }

    /* 排盘网格放大: 干支特大字 */
    .pro-chart { margin-bottom: 16px; }
    .pc-row { grid-template-columns: 64px 1fr 1fr 1fr 1fr; }
    .pc-col-head { font-size: 0.84rem; padding: 13px 4px; }
    .pc-rowlabel { font-size: 0.72rem; }
    .pc-cell { padding: 11px 4px; }
    .pc-big { font-size: 2.5rem; }
    .pc-small { font-size: 0.8rem; }
    .pc-cang { font-size: 0.72rem; }
    .pc-ss-cell span { font-size: 0.64rem; }

    /* 面板标题放大 */
    .layer-title { font-size: 1.15rem; }
    .layer-head { padding: 18px 26px; }
    .section-title { font-size: 0.74rem; }
    .rel-panel, .deep-report, .bullet-card, .wuxing-panel, .analysis-card { padding: 28px 32px; }
    .rel-panel h4, .deep-report h4 { font-size: 0.82rem; }
    .deep-block h5 { font-size: 0.84rem; }
    .bullet-card h5 { font-size: 1.05rem; }
    .bc-ul li { font-size: 0.84rem; line-height: 1.85; padding: 8px 0 8px 20px; }
    .rel-txt { font-size: 1rem; }
    .rel-note { font-size: 0.78rem; }
    .th-gan { font-size: 2.1rem; }

    /* 五行雷达更大 */
    .wuxing-layout { grid-template-columns: 380px 1fr; gap: 40px; }
    #wuxingRadar { width: 360px; height: 360px; }

    /* 大运/流年卡片更大 */
    .dayun-card { min-width: 132px; padding: 16px; }
    .dayun-range { font-size: 0.95rem; }
    .dayun-pillars { font-size: 1.4rem; }

    /* 顶部导航更醒目 */
    .nav-item { font-size: 0.9rem; padding: 10px 26px; }
    .compliance-banner { font-size: 0.7rem; max-width: 720px; }

    /* 大屏进一步放大干支 */
    @media (min-width: 1000px) {
      .pc-big { font-size: 2.9rem; }
      h1 { font-size: 3.8rem !important; }
    }

    /* 移动端回落到合适尺度 */
    @media (max-width: 640px) {
      .bullet-cards { grid-template-columns: 1fr; }
      .container { max-width: 100%; padding: 0 16px 60px; }
      h1 { font-size: 2.2rem !important; }
      .hero-tagline { font-size: 1.4rem; }
      .input-panel { padding: 24px 18px; }
      .pc-row { grid-template-columns: 40px 1fr 1fr 1fr 1fr; }
      .pc-big { font-size: 1.6rem; }
      .pc-small, .pc-cang { font-size: 0.6rem; }
      .pc-ss-cell span { font-size: 0.5rem; }
      .wuxing-layout { grid-template-columns: 1fr; gap: 16px; }
      #wuxingRadar { width: 280px; height: 280px; }
      .verdict-banner { padding: 24px 20px; gap: 18px; }
      .verdict-score { width: 88px; height: 88px; }
      .verdict-title { font-size: 1.25rem; }
    }

    /* ============================================================
       可读性增强层 (字号 + 对比, 最终覆盖)
       ============================================================ */
    body { font-size: 16px; line-height: 1.72; color: var(--ink); }

    /* 正文与说明类整体放大一档 */
    .verdict-desc { font-size: 0.98rem !important; color: var(--ink) !important; line-height: 2 !important; }
    .tc-desc { font-size: 0.95rem !important; color: var(--ink-light) !important; }
    .bc-ul li { font-size: 0.92rem !important; color: var(--ink) !important; line-height: 1.9 !important; }
    .bc-sub { font-size: 0.74rem !important; }
    .rel-note { font-size: 0.86rem !important; color: var(--ink-light) !important; line-height: 1.85 !important; }
    .rel-txt { font-size: 1.08rem !important; color: var(--ink) !important; }
    .rel-intro, .rel-none { font-size: 0.82rem !important; color: var(--ink-light) !important; }
    .rel-src { font-size: 0.68rem !important; }
    .th-desc { font-size: 0.9rem !important; color: var(--ink) !important; }
    .ge-desc { font-size: 0.84rem !important; color: var(--ink-light) !important; }
    .ge-name { font-size: 0.95rem !important; }
    .analysis-card-item p, .zongping p { font-size: 0.92rem !important; color: var(--ink) !important; line-height: 1.95 !important; }
    .di-desc { font-size: 0.78rem !important; color: var(--ink-light) !important; }
    .di-value { font-size: 1.05rem !important; }
    .dayun-note { font-size: 0.7rem !important; color: var(--ink-light) !important; }
    .dayun-range { font-size: 1rem !important; }

    /* 排盘表: 行标签与小字提亮加大 */
    .pc-rowlabel { font-size: 0.8rem !important; color: var(--ink-light) !important; }
    .pc-small { font-size: 0.88rem !important; color: var(--ink) !important; }
    .pc-cang { font-size: 0.78rem !important; }
    .pc-cang i { color: var(--ink-faint) !important; }
    .pc-ss-cell span { font-size: 0.72rem !important; }
    .pc-col-head { font-size: 0.92rem !important; }

    /* 十神/藏干表 */
    .deep-table { font-size: 0.86rem !important; }
    .deep-table thead th { font-size: 0.74rem !important; color: var(--ink-light) !important; }
    .ts-sub { font-size: 0.64rem !important; color: var(--ink-faint) !important; }
    .sg-name { font-size: 0.84rem !important; color: var(--ink) !important; }
    .sg-star { font-size: 0.72rem !important; }

    /* 标签/徽章对比增强 */
    .verdict-keywords span { font-size: 0.82rem !important; color: var(--gold-light) !important; }
    .ten-god-item .tg-plain { font-size: 0.78rem !important; color: var(--gold-light) !important; opacity: 1 !important; line-height: 1.5 !important; }
    .ten-god-item .tg-tag { font-size: 0.74rem !important; color: var(--vermilion-light) !important; font-weight: 600 !important; }
    .ts-hint { font-size: 0.8rem !important; color: var(--ink-light) !important; line-height: 1.7 !important; }
    .compliance-banner { font-size: 0.74rem !important; color: var(--ink-light) !important; }
    .layer-sub { font-size: 0.72rem !important; color: var(--ink-light) !important; }

    /* 弱对比的虚线分隔加清晰 */
    .analysis-row { border-bottom-color: rgba(240,233,218,0.14) !important; }

    /* 屏幕上隐藏命书封面 */
    .print-cover { display: none; }
    .print-toc { display: none; }

    /* ============================================================
       命书风格打印 / PDF 导出样式
       ============================================================ */
    @media print {
      @page { size: A4; margin: 16mm 14mm; }

      /* 屏幕装饰一律隐藏 */
      body::before, body::after, .top-nav, .compliance-banner, .hero, .ink-line,
      .input-panel, #placeholder, .coin-loader, .share-bar, .footer-ornament,
      .header-ornament, #viewMatch, #viewDate, #viewSaved, .paywall, .layer-arrow,
      .liuyue-detail, .zhaxin-hook, #paywallSlot { display: none !important; }

      /* 命书：宣纸米白 + 墨黑字 */
      html, body { background: #f7f2e7 !important; color: #2a2018 !important; }
      .container { max-width: 100% !important; padding: 0 !important; }
      header { display: none !important; }

      /* 封面 */
      .print-cover {
        display: flex !important; flex-direction: column; align-items: center; justify-content: center;
        text-align: center; height: 245mm; page-break-after: always;
        border: 2px solid #9a7430; border-radius: 4px;
      }
      .pcov-seal {
        width: 90px; height: 90px; border: 3px solid #b5302a; color: #b5302a;
        border-radius: 8px; display: flex; align-items: center; justify-content: center;
        font-size: 52px; font-family: 'Ma Shan Zheng', serif; margin-bottom: 30px;
      }
      .pcov-name { font-size: 34px; font-family: 'Ma Shan Zheng','Noto Serif SC',serif; color: #2a2018; letter-spacing: 0.2em; margin-bottom: 16px; }
      .pcov-title { font-size: 20px; color: #9a7430; margin-bottom: 24px; letter-spacing: 0.1em; }
      .pcov-pillars { font-size: 30px; color: #2a2018; letter-spacing: 0.25em; font-weight: 700; margin-bottom: 14px; }
      .pcov-date { font-size: 14px; color: #6a5a48; letter-spacing: 0.1em; }
      .pcov-foot { position: absolute; bottom: 24mm; font-size: 12px; color: #8a7a60; letter-spacing: 0.1em; }

      /* 目录页 */
      .print-toc { display: block !important; page-break-after: always; padding-top: 10mm; }
      .ptoc-title { font-size: 26px; font-family: 'Ma Shan Zheng','Noto Serif SC',serif; color: #b5302a; text-align: center; letter-spacing: 0.4em; margin-bottom: 28px; }
      .ptoc-list { list-style: decimal; padding-left: 30px; color: #2a2018; }
      .ptoc-list li { font-size: 15px; padding: 9px 0; border-bottom: 1px dotted #c8b48a; letter-spacing: 0.05em; }
      .ptoc-foot { margin-top: 30px; text-align: center; font-size: 12px; color: #8a7a60; letter-spacing: 0.06em; }

      /* 结果区展开打印 */
      .result { display: block !important; }
      .layer-group .layer-body { max-height: none !important; opacity: 1 !important; padding-top: 12px !important; }
      .layer-group.collapsed .layer-body { max-height: none !important; opacity: 1 !important; }
      .layer-head { background: none !important; border: none !important; border-bottom: 2px solid #b5302a !important; border-radius: 0 !important; padding: 6px 0 !important; }
      .layer-title { color: #b5302a !important; -webkit-text-fill-color: #b5302a !important; }
      .layer-sub, .layer-icon { color: #9a7430 !important; }

      /* 所有面板转白底黑字 */
      .verdict-banner, .title-card, .pro-chart, .wuxing-panel, .analysis-card,
      .bullet-card, .strength-panel, .geju-panel, .deep-report, .rel-panel,
      .dayun-card, .zongping, .analysis-card-item, .ten-gods, .daily-item, .pc-cell, .pc-rowlabel {
        background: #fffdf7 !important; border-color: #d8c9a8 !important; box-shadow: none !important; color: #2a2018 !important;
        backdrop-filter: none !important;
      }
      .verdict-title, .verdict-desc, .tc-name, .tc-desc, .bc-ul li, .rel-note, .rel-txt,
      .th-desc, .ge-desc, .ge-name, .st-v, .gj-txt, .sg-name, .pc-small, .pc-cang, .deep-table td,
      .analysis-card-item p, .zongping p, .st-concl, .dayun-range, .dayun-note {
        color: #2a2018 !important; -webkit-text-fill-color: #2a2018 !important;
      }
      h4, h5, .rel-panel h4, .deep-report h4, .strength-panel h4, .geju-panel h4, .bullet-card h5,
      .gj-tier, .tc-name {
        color: #b5302a !important; -webkit-text-fill-color: #b5302a !important; background: none !important;
      }
      /* 干支保留五行色但加深以便印刷 */
      .pc-big { -webkit-text-fill-color: initial !important; filter: brightness(0.7) saturate(1.4); }
      .pc-rowlabel { color: #6a5a48 !important; }
      .deep-table th, .deep-table td, .pc-cell, .pc-rowlabel { border-color: #d8c9a8 !important; }

      /* 分页控制 */
      .layer-group, .bullet-card, .strength-panel, .geju-panel, .deep-report, .rel-panel, .verdict-banner, .title-card { page-break-inside: avoid; }
      .bullet-cards { display: block !important; }
      .bullet-card { margin-bottom: 14px; }

      /* 雷达图缩放适配 */
      #wuxingRadar { width: 280px !important; height: 280px !important; }
      .wuxing-layout { grid-template-columns: 280px 1fr !important; }
    }

    /* ===== 日主强弱详批 ===== */
    .strength-panel { background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); border: 1px solid var(--line); border-radius: 10px; padding: 28px 32px; margin-bottom: 24px; box-shadow: 0 8px 28px rgba(0,0,0,0.4); overflow: hidden; }
    .strength-panel h4 { font-size: 0.82rem; letter-spacing: 0.35em; font-weight: 400; margin-bottom: 12px;
      background: linear-gradient(135deg, #f5d889, #d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .st-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px dashed var(--line-soft); }
    .st-row:last-of-type { border-bottom: none; }
    .st-k { flex-shrink: 0; width: 5.4em; font-size: 0.92rem; color: var(--gold-light); letter-spacing: 0.05em; white-space: nowrap; }
    .st-v { font-size: 0.9rem; color: var(--ink-light); line-height: 1.7; min-width: 0; overflow-wrap: break-word; word-break: break-all; }
    .st-v.st-pos { color: var(--jade-light); }
    .st-v.st-neg { color: var(--vermilion-light); }
    .st-concl { margin-top: 14px; padding: 14px 18px; border-radius: 8px; background: rgba(212,175,55,0.08); border: 1px solid var(--line); font-size: 0.92rem; color: var(--ink); }
    .st-concl b { color: var(--gold-light); }
    @media (max-width: 600px) {
      .strength-panel { padding: 18px 14px; }
      .strength-panel svg { display: block; max-width: 100%; height: auto; overflow-x: auto; }
      .st-row { gap: 8px; }
      .st-k { width: 4.2em; font-size: 0.84rem; }
      .st-v { font-size: 0.84rem; }
    }
    /* 命书总论长篇 */
    .grand-summary { margin-top: 18px; padding: 26px 26px 30px; border-radius: 14px;
      background: var(--title-bg); border: 1px solid var(--gold);
      box-shadow: 0 8px 36px rgba(0,0,0,0.28), inset 0 0 60px rgba(212,175,55,0.05); position: relative; }
    .grand-summary h4 { text-align: center; font-size: 1rem; letter-spacing: 0.42em; font-weight: 400; margin-bottom: 18px;
      background: linear-gradient(135deg, #f5d889, #d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .gs-p { font-size: 0.92rem; color: var(--ink-light); line-height: 2.1; margin-bottom: 14px; text-align: justify; text-indent: 0; }
    .gs-lead { font-size: 1.05rem; color: var(--gold-light); font-weight: 600; }
    .gs-h { display: inline-block; color: var(--gold-light); font-weight: 700; letter-spacing: 0.08em; margin-right: 2px; }
    .gs-p b { color: var(--gold-light); }
    .gs-sign { display: block; margin-top: 12px; font-size: 0.72rem; color: var(--ink-faint); text-align: right; font-style: italic; }

    /* ===== 格局高低评定 ===== */
    .geju-panel { background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); border: 1px solid var(--line); border-radius: 10px; padding: 28px 32px; margin-bottom: 24px; box-shadow: 0 8px 28px rgba(0,0,0,0.4); }
    .geju-panel h4 { font-size: 0.82rem; letter-spacing: 0.35em; font-weight: 400; margin-bottom: 12px;
      background: linear-gradient(135deg, #f5d889, #d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .gj-head { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 16px 20px; margin-bottom: 14px; border-radius: 10px; background: linear-gradient(135deg, rgba(212,175,55,0.12), rgba(224,83,58,0.08)); border: 1px solid var(--line); }
    .gj-tier { font-size: 1.4rem; font-weight: 700; background: linear-gradient(135deg,#f5d889,#d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: 0.08em; }
    .gj-stars { font-size: 1.3rem; color: var(--gold-light); letter-spacing: 2px; }
    .gj-stars .star-dim { color: rgba(240,233,218,0.18); }
    .gj-score { margin-left: auto; font-size: 0.92rem; color: var(--ink-light); }
    .gj-row { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed var(--line-soft); }
    .gj-row:last-of-type { border-bottom: none; }
    .gj-mark { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: 700; }
    .gj-mark.ok { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .gj-mark.no { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .gj-txt { font-size: 0.88rem; color: var(--ink-light); line-height: 1.7; }

    /* ===== 流月点击宜忌 ===== */
    .liuyue-card { cursor: pointer; }
    .liuyue-card:hover { border-color: var(--gold) !important; }
    .liuyue-card.active { border-color: var(--gold) !important; box-shadow: 0 0 0 2px var(--gold-dim), 0 8px 24px rgba(212,175,55,0.2) !important; }
    .liuyue-detail { display: none; margin-top: 14px; padding: 20px 24px; border-radius: 10px; border: 1px solid var(--line); background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); }
    .liuyue-detail.show { display: block; animation: riseIn 0.4s ease both; }
    .lyd-head { font-size: 1.05rem; color: var(--ink); margin-bottom: 8px; letter-spacing: 0.05em; }
    .lyd-head b { color: var(--gold-light); }
    .lyd-tip { font-size: 0.86rem; color: var(--ink-light); line-height: 1.8; margin-bottom: 14px; }
    .lyd-row { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; }
    .lyd-row span { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.82rem; font-weight: 700; }
    .lyd-row p { font-size: 0.86rem; line-height: 1.75; margin: 0; }
    .lyd-yi span { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .lyd-yi p { color: var(--jade-light); }
    .lyd-ji span { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .lyd-ji p { color: var(--vermilion-light); }

    /* ===== 大运/流年点击详评 ===== */
    .dayun-clk, .liunian-clk { cursor: pointer; }
    .dayun-clk:hover, .liunian-clk:hover { border-color: var(--gold) !important; }
    .dayun-clk.active, .liunian-clk.active { border-color: var(--gold) !important; box-shadow: 0 0 0 2px var(--gold-dim), 0 8px 24px rgba(212,175,55,0.2) !important; }
    .lkd-head { font-size: 1.02rem; color: var(--ink); margin-bottom: 12px; letter-spacing: 0.04em; padding-bottom: 12px; border-bottom: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
    .lkd-head b { color: var(--gold-light); }
    .lkd-head .lkd-star { margin-left: auto; font-size: 0.82rem; color: var(--gold-light); letter-spacing: 1px; }
    .lkd-head.lkd-good .lkd-star { color: var(--jade-light); }
    .lkd-head.lkd-bad .lkd-star { color: var(--vermilion-light); }
    .lkd-summary { font-size: 0.86rem; line-height: 1.85; color: var(--ink-light); margin: 0 0 14px; }
    .lkd-rels { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
    .lkd-rel { font-size: 0.8rem; line-height: 1.7; padding: 8px 12px; border-radius: 8px; }
    .lkd-rel b { margin-right: 8px; }
    .lkd-rel-neg { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .lkd-rel-pos { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .lkd-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .lkd-field { padding: 11px 14px; background: rgba(255,255,255,0.03); border-radius: 9px; border-left: 3px solid var(--gold); }
    .lkd-field span { display: inline-block; font-size: 0.72rem; font-weight: 700; color: var(--gold); background: var(--gold-dim); padding: 1px 10px; border-radius: 20px; margin-bottom: 6px; }
    .lkd-field p { font-size: 0.82rem; line-height: 1.75; color: var(--ink-light); margin: 0; }
    .lkd-advice { font-size: 0.84rem; line-height: 1.8; color: var(--gold-light); margin: 14px 0 0; padding: 12px 14px; background: var(--gold-dim); border-radius: 10px; }
    .lkd-months { margin-top: 16px; padding: 14px 16px; background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 10px; }
    .lkm-title { font-size: 0.8rem; color: var(--gold-light); font-weight: 600; margin-bottom: 12px; }
    .lkm-row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; }
    .lkm-tag { flex-shrink: 0; font-size: 0.72rem; font-weight: 700; padding: 3px 11px; border-radius: 20px; margin-top: 2px; }
    .lkm-good .lkm-tag { background: var(--jade-dim); color: var(--jade-light); border: 1px solid var(--jade); }
    .lkm-bad .lkm-tag { background: var(--vermilion-dim); color: var(--vermilion-light); border: 1px solid var(--vermilion); }
    .lkm-list { display: flex; flex-wrap: wrap; gap: 7px; }
    .lkm-list em { font-style: normal; font-size: 0.76rem; color: var(--ink-light); background: rgba(255,255,255,0.04); border-radius: 7px; padding: 4px 9px; }
    .lkm-list em i { font-style: normal; color: var(--gold); margin-left: 5px; font-size: 0.92em; }
    .lkm-good .lkm-list em { border-left: 2px solid var(--jade); }
    .lkm-bad .lkm-list em { border-left: 2px solid var(--vermilion); }
    .lkm-none { font-size: 0.78rem; color: var(--ink-faint); margin: 0; }
    .lkm-note { font-size: 0.7rem; color: var(--ink-faint); margin: 8px 0 0; }
    @media (max-width:560px) { .lkd-fields { grid-template-columns: 1fr; } }

    /* ===== 扎心结论钩子 ===== */
    .zhaxin-hook { margin-bottom: 22px; padding: 24px 28px; border-radius: 12px; border: 1px solid var(--vermilion); background: linear-gradient(160deg, rgba(224,83,58,0.12), rgba(18,15,28,0.9)); box-shadow: 0 8px 28px rgba(224,83,58,0.15); }
    .zh-head { font-size: 1.02rem; color: var(--gold-light); font-weight: 600; letter-spacing: 0.05em; margin-bottom: 14px; }
    .zh-item { font-size: 0.94rem; color: var(--ink); line-height: 1.85; padding: 10px 0 10px 22px; position: relative; border-bottom: 1px dashed var(--line-soft); }
    .zh-item:last-of-type { border-bottom: none; }
    .zh-item::before { content: '"'; position: absolute; left: 0; top: 6px; color: var(--vermilion-light); font-size: 1.3rem; font-weight: 700; }
    .zh-foot { text-align: center; font-size: 0.74rem; color: var(--ink-faint); margin-top: 12px; letter-spacing: 0.06em; }

    /* ===== 付费墙增强 ===== */
    .pw-rarity { text-align: center; font-size: 0.86rem; color: var(--ink-light); margin-bottom: 18px; }
    .pw-rarity b { color: var(--gold-light); font-size: 1.05rem; }
    .pw-rarity-badge { display: inline-block; font-weight: 800; font-size: 0.78rem; padding: 2px 10px; border-radius: 10px; margin-right: 8px; }
    .pw-rarity-badge.ur { background: linear-gradient(135deg,var(--gold),var(--vermilion)); color:#fff; box-shadow:0 0 12px rgba(240,210,122,0.5); }
    .pw-rarity-badge.ssr { background: rgba(192,120,224,0.2); color:#d59bf0; border:1px solid #c078e0; }
    .pw-rarity-badge.sr { background: rgba(90,155,224,0.2); color:#6bb0f0; border:1px solid #5a9be0; }
    .pw-rarity-badge.r { background: rgba(174,184,216,0.2); color:#aeb8d8; border:1px solid #aeb8d8; }
    .pw-progress { margin-bottom: 18px; }
    .pw-progress-label { display: flex; justify-content: space-between; font-size: 0.8rem; color: var(--ink-light); margin-bottom: 6px; }
    .pw-progress-label span:last-child { color: var(--gold-light); font-weight: 700; }
    .pw-progress-track { height: 10px; background: rgba(240,233,218,0.1); border-radius: 5px; overflow: hidden; }
    .pw-progress-fill { height: 100%; background: linear-gradient(90deg, var(--vermilion), var(--gold)); border-radius: 5px; transition: width 1.2s cubic-bezier(0.22,1,0.36,1); box-shadow: 0 0 12px rgba(212,175,55,0.5); }
    .pw-progress-hint { font-size: 0.72rem; color: var(--ink-faint); margin-top: 6px; }
    .pw-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; font-size: 0.74rem; color: var(--jade-light); margin-bottom: 20px; }
    .pw-countdown { color: var(--vermilion-light); font-weight: 700; margin-left: 6px; }
    .tier-old { font-size: 0.8rem; color: var(--ink-faint); text-decoration: line-through; }
    .tier-ribbon { position: absolute; top: 10px; right: -2px; background: var(--vermilion); color: #fff; font-size: 0.62rem; padding: 3px 12px; border-radius: 4px 0 0 4px; letter-spacing: 0.1em; }
    .tier-card { position: relative; }
    .tier-slot { font-size: 0.66rem; color: var(--vermilion-light); margin-top: 10px; }
    .pw-share { text-align: center; margin-top: 20px; font-size: 0.84rem; color: var(--ink-light); }
    .pw-share b { color: var(--gold-light); }
    .pw-share-btn { margin-left: 8px; padding: 7px 18px; border-radius: 16px; border: 1px solid var(--jade); background: var(--jade-dim); color: var(--jade-light); font-family: inherit; font-size: 0.78rem; cursor: pointer; }
    .pw-share-btn:hover { background: var(--jade); color: #0d1a14; }
    .pw-share-btn:disabled { opacity: 0.6; cursor: default; }
    .pw-note { font-size: 0.66rem; color: var(--ink-faint); margin-top: 16px; line-height: 1.7; text-align: center; }

    /* ===== 隐私/协议 弹窗 ===== */
    .policy-mask { display: none; position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.6); backdrop-filter: blur(3px); align-items: center; justify-content: center; padding: 20px; }
    .policy-mask.show { display: flex; }
    .policy-modal { max-width: 560px; width: 100%; max-height: 80vh; display: flex; flex-direction: column; background: var(--panel-bg); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
    .policy-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid var(--line-soft); font-size: 1rem; color: var(--gold-light); letter-spacing: 0.1em; }
    .policy-close { background: none; border: none; color: var(--ink-faint); font-size: 1rem; cursor: pointer; padding: 4px 8px; }
    .policy-close:hover { color: var(--vermilion-light); }
    .policy-body { padding: 20px 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-color: rgba(216,183,111,.48) rgba(130,145,149,.08); scrollbar-width: thin; font-size: 0.82rem; color: var(--ink-light); line-height: 1.85; }
    .policy-body p { margin-bottom: 12px; }
    .policy-body b { color: var(--ink); }
    .policy-body .pm-tip { font-size: 0.72rem; color: var(--ink-faint); border-top: 1px dashed var(--line-soft); padding-top: 12px; }

    /* ===== 六亲缘分 ===== */
    .liuqin-panel { background: linear-gradient(160deg, rgba(34,27,46,0.85), rgba(18,15,28,0.92)); border: 1px solid var(--line); border-radius: 10px; padding: 28px 32px; margin-bottom: 24px; box-shadow: 0 8px 28px rgba(0,0,0,0.4); }
    .liuqin-panel h4 { font-size: 0.82rem; letter-spacing: 0.35em; font-weight: 400; margin-bottom: 12px;
      background: linear-gradient(135deg, #f5d889, #d4af37); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .lq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    @media (max-width: 640px) { .lq-grid { grid-template-columns: 1fr; } }
    .lq-card { border: 1px solid var(--line-soft); border-radius: 10px; padding: 18px 20px; background: rgba(13,10,18,0.4); }
    .lq-icon { font-size: 1.5rem; color: var(--gold-light); margin-bottom: 6px; }
    .lq-title { font-size: 0.96rem; color: var(--gold-light); letter-spacing: 0.08em; margin-bottom: 8px; }
    .lq-txt { font-size: 0.86rem; color: var(--ink); line-height: 1.8; margin-bottom: 8px; }
    .lq-gong { font-size: 0.72rem; color: var(--ink-faint); line-height: 1.6; border-top: 1px dashed var(--line-soft); padding-top: 8px; }

    /* ===== 星座卡 ===== */
    .zodiac-card { display: flex; align-items: center; gap: 22px; padding: 8px 4px; }
    .zod-sym { font-size: 3.4rem; line-height: 1; flex-shrink: 0; text-shadow: 0 0 20px currentColor; }
    .zod-name { font-size: 1.3rem; color: var(--ink); letter-spacing: 0.08em; }
    .zod-name span { font-size: 0.8rem; color: var(--ink-faint); font-style: italic; margin-left: 6px; }
    .zod-meta { font-size: 0.76rem; color: var(--gold-light); margin: 6px 0 8px; letter-spacing: 0.05em; }
    .zod-trait { font-size: 0.86rem; color: var(--ink-light); line-height: 1.8; }
    @media (max-width: 480px) { .zodiac-card { gap: 14px; } .zod-sym { font-size: 2.6rem; } .zod-name { font-size: 1.1rem; } }
    .zod-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--line-soft); }
    .zod-row { display: flex; justify-content: space-between; font-size: 0.84rem; padding: 4px 0; }
    .zod-row span { color: var(--ink-faint); }
    .zod-row b { color: var(--gold-light); font-weight: 600; }
    @media (max-width: 480px) { .zod-detail { grid-template-columns: 1fr; } }

    /* 今日星座运势条 */
    .zd-bar { display: flex; align-items: center; gap: 12px; padding: 7px 0; }
    .zd-k { width: 40px; font-size: 0.82rem; color: var(--ink-light); flex-shrink: 0; }
    .zd-track { flex: 1; height: 8px; background: rgba(220,232,240,0.1); border-radius: 4px; overflow: hidden; }
    .zd-fill { display: block; height: 100%; border-radius: 4px; transition: width 0.9s ease; }
    .zd-v { width: 30px; text-align: right; font-size: 0.8rem; color: var(--gold-light); flex-shrink: 0; }

    /* 星座配对结果 */
    .zp-head { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 8px 0 14px; }
    .zp-sign { font-size: 1.05rem; font-weight: 600; }
    .zp-score { font-size: 2.6rem; font-weight: 700; line-height: 1; }
    .zp-score small { font-size: 0.9rem; opacity: 0.7; }
    .zp-tag { text-align: center; font-size: 1.05rem; color: var(--ink); letter-spacing: 0.1em; margin-bottom: 12px; }
    @media (max-width: 480px){ .zp-head { gap: 10px; } .zp-sign { font-size: 0.9rem; } .zp-score { font-size: 2rem; } }

    /* 无障碍 + 性能: 尊重系统"减少动态效果"设置, 关闭持续动画 */
    @media (prefers-reduced-motion: reduce) {
      body::after { animation: none !important; }
      .hero-cta { animation: none !important; }
      .tc-glow { animation: none !important; }
      .coin { animation-duration: 2s; }
      * { scroll-behavior: auto !important; }
    }
