/* 八字排盘页专属样式
 *
 * 原为 app/bazi_page.php 内联在页面主体里的 <style> 块。
 * 迁移方式：样式文本原样搬移，并在原来的同一文档位置以 <link> 引入，
 * 因此级联顺序与优先级完全不变（已验证：迁移前后全页 computed style 指纹一致）。
 */
:root{--bazi-tg:#7c2d12;--bazi-dz:#8d642b;--bazi-accent:#7c2d12;--bazi-gold:#a57a3d;--bazi-border:rgba(91,71,50,.12)}
.bazi-layout{min-height:420px}
.bazi-form-sticky{position:sticky;top:88px}
.bazi-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--front-accent)}
.bazi-kicker::before{content:"";width:24px;height:1px;background:linear-gradient(90deg,var(--front-gold),transparent)}
.bazi-toggle-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.bazi-toggle-group{display:inline-flex;gap:3px;background:rgba(91,71,50,.04);padding:3px;border-radius:999px}
.bazi-toggle{position:relative;margin:0}
.bazi-toggle input{position:absolute;opacity:0;pointer-events:none}
.bazi-toggle span{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .9rem;border-radius:999px;font-size:.82rem;font-weight:500;cursor:pointer;transition:.18s ease;color:var(--front-soft-ink);min-width:3.2rem}
.bazi-toggle input:checked+span{background:#fff;color:var(--front-accent);font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* Integrated Grid Layout */
.bazi-section .card{border-radius:20px;margin-bottom:.85rem;box-shadow:0 8px 32px rgba(49,35,22,.06);transition:transform .2s ease,box-shadow .2s ease}
.bazi-section .card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(49,35,22,.1)}
.bazi-section .card-body{padding:1.25rem 1.4rem}

.bazi-integrated-grid{display:grid;grid-template-columns:90px repeat(4,minmax(0,1fr));gap:3px;border-radius:14px;overflow:hidden;background:rgba(91,71,50,.06);padding:3px}
.bazi-int-head{background:linear-gradient(180deg,rgba(165,122,61,.12),rgba(165,122,61,.06));padding:.6rem .3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.2rem;border-radius:8px}
.bazi-int-head--rizhu{background:linear-gradient(180deg,rgba(124,45,18,.15),rgba(165,122,61,.1))}
.bazi-int-head-text{font-weight:700;font-size:.78rem;color:var(--bazi-accent);letter-spacing:.04em}
.bazi-int-rizhu-tag{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:linear-gradient(135deg,var(--bazi-accent),var(--bazi-gold));color:#fffaf0;font-size:.72rem;font-weight:700}
.bazi-int-col-label{background:transparent}

.bazi-int-row-label{display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;font-size:.78rem;font-weight:600;color:var(--front-soft-ink);letter-spacing:.04em;background:rgba(255,255,255,.5);border-radius:8px}
.bazi-int-cell{background:rgba(255,255,255,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .25rem;min-height:2.8rem;border-radius:8px;gap:.15rem;transition:background .15s ease,transform .15s ease}
.bazi-int-cell:hover{background:rgba(255,255,255,.95);transform:scale(1.02)}
.bazi-int-cell--highlight{background:linear-gradient(135deg,rgba(124,45,18,.08),rgba(165,122,61,.05));box-shadow:inset 0 0 0 1.5px rgba(165,122,61,.15)}
.bazi-int-cell--highlight:hover{background:linear-gradient(135deg,rgba(124,45,18,.12),rgba(165,122,61,.08))}
.bazi-int-cell--empty{background:rgba(255,255,255,.3)}

.bazi-int-cell--tg .bazi-tg,.bazi-int-cell--dz .bazi-dz{font-size:1.35rem;font-weight:800;line-height:1}
.bazi-int-wx{font-size:.72rem;color:var(--front-soft-ink);font-weight:500}
.bazi-int-sx{font-size:.75rem;color:var(--bazi-dz);font-weight:600}
.bazi-int-cell--ny{font-size:.78rem;font-weight:600;color:var(--front-ink);background:rgba(255,255,255,.55)}
.bazi-int-cell--ss{min-height:2.2rem}

.bazi-tg{color:var(--bazi-tg)}
.bazi-dz{color:var(--bazi-dz)}

.bazi-ss-tag{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;background:rgba(165,122,61,.1);color:var(--bazi-accent);font-size:.78rem;font-weight:600;transition:all .15s ease}
.bazi-ss-tag:hover{background:rgba(124,45,18,.15);transform:scale(1.05)}
.bazi-ss-tag--self{background:linear-gradient(135deg,var(--bazi-accent),var(--bazi-gold));color:#fffaf0}

.bazi-cg-gan{font-weight:700;color:var(--front-ink)}
.bazi-cg-ss{font-size:.72rem;color:var(--front-soft-ink);margin-left:.15rem}
.bazi-int-cell--cg{font-size:.78rem}

/* Kongwang bar */
.bazi-kongwang-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed rgba(91,71,50,.1)}
.bazi-kongwang-label{font-size:.78rem;font-weight:600;color:var(--front-soft-ink);letter-spacing:.06em}
.bazi-kongwang-item{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.2rem .6rem;border-radius:8px;background:linear-gradient(135deg,rgba(124,45,18,.12),rgba(165,122,61,.08));color:var(--bazi-accent);font-weight:700;font-size:.82rem;border:1px solid rgba(124,45,18,.1)}

/* Pillars grid */
.bazi-pillars-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
.bazi-pillar-head{background:linear-gradient(180deg,rgba(165,122,61,.10),rgba(165,122,61,.04));text-align:center;padding:.5rem .3rem;font-weight:700;font-size:.78rem;color:var(--bazi-accent);letter-spacing:.06em;border-radius:6px 6px 0 0;border:1px solid rgba(165,122,61,.08);border-bottom:0}
.bazi-pillar-cell{background:rgba(255,255,255,.58);border:1px solid var(--bazi-border);text-align:center;padding:.55rem .3rem;font-size:1.2rem;font-weight:700;min-height:2.6rem;display:flex;align-items:center;justify-content:center;color:var(--front-ink)}
.bazi-sub-cell{text-align:center;padding:.3rem .2rem;font-size:.75rem;color:var(--front-soft-ink);background:rgba(255,255,255,.4);border:1px solid rgba(91,71,50,.06);border-radius:6px}
.bazi-sub-label{font-size:.72rem;color:rgba(111,98,84,.5);letter-spacing:.04em}

/* Summary cards */
.bazi-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}
.bazi-summary-item{background:rgba(255,255,255,.6);border:1px solid var(--bazi-border);border-radius:14px;padding:.7rem .75rem;text-align:center;transition:all .2s ease}
.bazi-summary-item:hover{background:rgba(255,255,255,.85);transform:translateY(-1px);box-shadow:0 4px 16px rgba(91,71,50,.08)}
.bazi-summary-label{font-size:.75rem;color:var(--front-soft-ink);margin-bottom:.25rem;letter-spacing:.04em}
.bazi-summary-value{font-size:.92rem;font-weight:700;color:var(--front-ink)}
.bazi-kongwang{display:inline-block;background:rgba(124,45,18,.10);color:var(--bazi-accent);padding:.12rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;margin:0 .1rem}
.bazi-rizhu-tag{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .6rem;border-radius:999px;background:rgba(124,45,18,.1);border:1px solid rgba(124,45,18,.12);color:var(--bazi-accent);font-weight:700;font-size:.82rem;letter-spacing:.04em}
.bazi-gender-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}
.bazi-gender-male{background:rgba(13,110,253,.1);color:#0b5ed7}.bazi-gender-female{background:rgba(214,51,132,.1);color:#ab296a}
.bazi-yuan-mark{display:inline-block;padding:.12rem .55rem;border-radius:999px;background:linear-gradient(135deg,var(--bazi-accent),var(--bazi-gold));color:#fffaf0;font-size:.78rem;font-weight:700;letter-spacing:.04em}
.bazi-dir-tag{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600}
.bazi-dir-tag--shun{background:rgba(25,135,84,.1);color:#146c43}.bazi-dir-tag--ni{background:rgba(220,53,69,.1);color:#b02a37}

/* Wuxing bars */
.bazi-wx-bar{display:flex;align-items:center;gap:.5rem;margin:.35rem 0}
.bazi-wx-label{width:1.8rem;text-align:center;font-weight:700;font-size:.82rem}
.bazi-wx-track{flex:1;height:16px;background:rgba(91,71,50,.08);border-radius:999px;overflow:hidden;position:relative}
.bazi-wx-fill{height:100%;border-radius:999px;transition:width 0.5s ease;position:relative}
.bazi-wx-fill::after{content:"";position:absolute;top:2px;left:4px;right:4px;height:4px;background:rgba(255,255,255,.3);border-radius:999px}
.bazi-wx-count{width:4.5rem;text-align:right;font-size:.76rem;font-weight:600;color:var(--front-soft-ink)}
.bazi-wx-mu{background:linear-gradient(90deg,#5b9a6b,#7cc88e)}.bazi-wx-huo{background:linear-gradient(90deg,#d4786e,#e8987e)}
.bazi-wx-tu{background:linear-gradient(90deg,#c9a050,#ddb86c)}.bazi-wx-jin{background:linear-gradient(90deg,#9a8a7c,#b4aca4)}
.bazi-wx-shui{background:linear-gradient(90deg,#5890b0,#78a8c4)}

/* Dayun table */
.bazi-dayun-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;border:1px solid var(--bazi-border)}
.bazi-dayun-table th{background:linear-gradient(180deg,rgba(165,122,61,.12),rgba(165,122,61,.06));color:var(--bazi-accent);padding:.6rem .45rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;border-bottom:2px solid rgba(165,122,61,.1)}
.bazi-dayun-table td{background:rgba(255,255,255,.5);color:var(--front-ink);text-align:center;padding:.5rem .4rem;font-size:.8rem;border-bottom:1px solid rgba(91,71,50,.05);transition:background .15s ease}
.bazi-dayun-table tr:last-child td{border-bottom:0}
.bazi-dayun-row--current td{background:linear-gradient(135deg,rgba(124,45,18,.12),rgba(165,122,61,.08));font-weight:700;color:var(--bazi-accent)}
.bazi-dayun-table tr:hover td{background:rgba(165,122,61,.06)}

/* Detail row */
.bazi-detail-row{padding:.55rem 0;border-bottom:1px solid rgba(91,71,50,.06);font-size:.84rem;transition:background .15s ease}
.bazi-detail-row:last-child{border-bottom:0}
.bazi-detail-row:hover{background:rgba(165,122,61,.03);padding-left:.5rem;padding-right:.5rem;margin-left:-.5rem;margin-right:-.5rem;border-radius:8px}

/* Responsive */
@media(max-width:991.98px){
  .bazi-form-sticky{position:static}
  .bazi-layout{flex-direction:column-reverse}
}
@media(max-width:767.98px){
  .bazi-integrated-grid{grid-template-columns:70px repeat(4,minmax(0,1fr));gap:2px}
  .bazi-int-head-text{font-size:.68rem}
  .bazi-int-cell--tg .bazi-tg,.bazi-int-cell--dz .bazi-dz{font-size:1.1rem}
  .bazi-int-cell{min-height:2.4rem;padding:.4rem .15rem}
  .bazi-int-row-label{padding-right:.4rem;font-size:.65rem}
  .bazi-summary-grid{grid-template-columns:repeat(3,1fr)}
  .bazi-dayun-table th,.bazi-dayun-table td{font-size:.72rem;padding:.4rem .3rem}
}
@media(max-width:575.98px){
  .bazi-integrated-grid{grid-template-columns:60px repeat(4,minmax(0,1fr))}
  .bazi-summary-grid{grid-template-columns:repeat(2,1fr)}
  .bazi-toggle span{padding:.35rem .65rem;font-size:.76rem;min-width:2.6rem}
  .bazi-int-cell--ss .bazi-ss-tag{padding:.15rem .35rem;font-size:.65rem}
  .bazi-cg-ss{display:none}
}
