/* 易辰识人 H5 预览 · 设计系统 V2（墨玉×鎏金×宣纸 · 禅意高级感） */
:root{
  --primary:#1F2A44; --primary-2:#2A3A5C; --gold:#C9A227; --gold-2:#A8842C; --gold-3:#E8CF7A;
  --bg:#F7F4EE; --bg-2:#F1ECE1; --card:#FFFFFF;
  --text:#222222; --text2:#666666; --text3:#999999; --divider:#E8E2D5;
  --success:#2E7D32; --warning:#ED6C02; --danger:#D32F2F; --disabled:#CCCCCC;
  --r-normal:#999999; --r-rare:#2E7D32; --r-epic:#7B1FA2; --r-legend:#C9A227;
  --radius-card:14px; --radius-btn:10px; --radius-tag:6px;
  --shadow-card:0 1px 2px rgba(31,42,68,.04),0 4px 16px rgba(31,42,68,.07);
  --shadow-float:0 8px 24px rgba(31,42,68,.16);
  --shadow-gold:0 6px 18px rgba(201,162,39,.32);
  --font:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  --serif:'Noto Serif SC','Songti SC','STSong','SimSun',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;font-family:var(--font);background:#E7E1D3;color:var(--text);font-size:14px;line-height:1.65;overflow:hidden;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:hidden;max-width:100%}
img,svg,table,video{max-width:100%}

/* ===== 舞台布局 ===== */
.stage{display:flex;height:100vh;gap:26px;padding:22px;justify-content:center;align-items:stretch}
.stage-left{width:282px;display:flex;flex-direction:column;gap:14px;overflow:auto}
.brand-logo{font-family:var(--serif);font-size:32px;font-weight:700;color:var(--primary);letter-spacing:2px}
.brand-slogan{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--gold-2);margin-top:6px;letter-spacing:1px}
.brand-sub{font-size:12px;color:var(--text3);margin-top:6px;letter-spacing:.5px}
.toolbar{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--shadow-card)}
.toolbar-title{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:10px;letter-spacing:1px}
.tb-row{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text2);margin-bottom:10px}
.tb-row select{height:34px;border:1px solid var(--divider);border-radius:8px;padding:0 8px;font-size:12px;color:var(--text);background:var(--bg)}
.tb-btns{flex-direction:row;gap:8px}
.tb-btns button{flex:1;height:34px;border:1px solid var(--primary);background:#fff;color:var(--primary);border-radius:8px;font-size:12px;cursor:pointer;transition:all .15s}
.tb-btns button:hover{background:var(--primary);color:#fff}
.tb-tips{font-size:11px;color:var(--text3);line-height:1.8}
.stage-note{font-size:11px;color:var(--text3);line-height:1.9;background:rgba(255,255,255,.65);border-radius:12px;padding:13px;border:1px solid rgba(255,255,255,.8)}
.stage-right{width:232px;display:flex;flex-direction:column;overflow:hidden}
.route-crumb{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:12px;padding:9px 13px;border-radius:10px;margin-bottom:8px;box-shadow:var(--shadow-card)}
.page-list-title{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:6px;letter-spacing:1px}
.page-list{flex:1;overflow:auto;background:#fff;border-radius:12px;padding:8px;box-shadow:var(--shadow-card)}
.page-list .pl-group{font-size:11px;color:var(--gold-2);font-weight:700;margin:9px 4px 4px;letter-spacing:1px}
.page-list .pl-item{font-size:12px;color:var(--text2);padding:5px 8px;border-radius:7px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s}
.page-list .pl-item:hover{background:var(--bg);color:var(--primary)}
.page-list .pl-item.tab{color:var(--primary);font-weight:600}

/* ===== 手机壳（钛金属边） ===== */
.phone{position:relative;width:375px;min-width:375px;background:var(--bg);border-radius:46px;box-shadow:0 30px 80px rgba(20,25,40,.35),0 4px 12px rgba(20,25,40,.2),0 0 0 11px #16171b,0 0 0 13px #3a3d46,0 0 0 14px rgba(255,255,255,.08);overflow:hidden;display:flex;flex-direction:column}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:172px;height:27px;background:#16171b;border-radius:0 0 17px 17px;z-index:60}
.statusbar{height:42px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 24px 4px;background:transparent;position:relative;z-index:50}
.sb-time{font-size:13px;font-weight:700}
.sb-icons{display:flex;gap:5px;align-items:center}
.capsule{position:absolute;top:44px;right:10px;z-index:55;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.06);border-radius:16px;height:30px;padding:0 10px;font-size:12px;color:#333}
.app-shell{display:flex;flex-direction:column;height:100vh;max-width:760px;margin:0 auto;background:#fff;box-shadow:0 0 60px rgba(60,50,20,.10);position:relative}
@media (max-width:800px){.app-shell{max-width:100%;box-shadow:none}}
.page-root{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;scroll-behavior:smooth}
.page-root::-webkit-scrollbar{width:0}
.tabbar{height:54px;width:100%;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(31,42,68,.06);display:flex;justify-content:space-around;flex-shrink:0;position:relative;z-index:50}
.tabbar .tb-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#B8B2A4;position:relative;transition:color .15s}
.tabbar .tb-item.active{color:var(--primary)}
.tabbar .tb-item.active::before{content:'';position:absolute;top:0;width:22px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--gold),var(--gold-3))}
.tabbar .tb-icon{font-size:20px;line-height:1;transition:transform .15s}
.tabbar .tb-item.active .tb-icon{transform:translateY(-1px)}
.tabbar .tb-label{font-size:10px;transform:scale(.92)}
/* 识人 tab 高亮（一尘老师 2026-09-30：核心功能要醒目） */
.tabbar .tb-hot .tb-icon{width:40px;height:26px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--gold),var(--gold-3));color:#23201A;border-radius:13px;font-weight:700;box-shadow:0 3px 10px rgba(200,155,78,.35)}
.tabbar .tb-hot.active .tb-icon{transform:translateY(-2px)}

/* ===== 导航栏（毛玻璃） ===== */
.navbar{height:46px;display:flex;align-items:center;padding:0 44px 0 12px;position:relative;flex-shrink:0;background:rgba(247,244,238,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(31,42,68,.04)}
.navbar .nav-back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--primary);cursor:pointer;border-radius:50%}
.navbar .nav-back:active{background:rgba(31,42,68,.06)}
.navbar .nav-title{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--serif);font-size:17px;font-weight:700;color:var(--text);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:1px}
.navbar .nav-right{position:absolute;right:48px;font-size:13px;color:var(--primary);cursor:pointer}
.navbar .nav-badge{position:absolute;right:48px;top:9px;min-width:16px;height:16px;background:var(--danger);color:#fff;border-radius:8px;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.navbar.on-hero{background:transparent}
.navbar.transparent{background:transparent}

/* ===== 通用 ===== */
.page{min-height:100%;background:
  radial-gradient(1200px 500px at 50% -100px, rgba(201,162,39,.07), transparent 60%),
  var(--bg);
  padding-bottom:24px}
.padded{padding:0 16px}
.card{background:var(--card);border-radius:var(--radius-card);padding:18px;box-shadow:var(--shadow-card);margin-bottom:12px;border:1px solid rgba(31,42,68,.045)}
.sec-title{font-family:var(--serif);font-size:20px;font-weight:700;margin-bottom:12px;letter-spacing:1px}
.t-lg{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.45;letter-spacing:.5px}
.t-md{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.45;letter-spacing:.5px}
.t-sm{font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.5}
.t-body-lg{font-size:16px;line-height:1.7}
.t-body{font-size:14px;line-height:1.7}
.t-sm2{font-size:12px;line-height:1.6}
.c-2{color:var(--text2)} .c-3{color:var(--text3)} .c-gold{color:var(--gold-2)} .c-pri{color:var(--primary)}
.c-ok{color:var(--success)} .c-warn{color:var(--warning)} .c-bad{color:var(--danger)}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}
.row{display:flex;align-items:center}.between{justify-content:space-between}.center{justify-content:center}.wrap{flex-wrap:wrap}
.grow{flex:1}.gap8{gap:8px}.gap12{gap:12px}
.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.35),transparent);margin:14px 0}

/* 按钮（主=墨玉，金=鎏金渐变） */
.btn{display:block;width:100%;height:46px;line-height:46px;text-align:center;border-radius:var(--radius-btn);font-size:15px;font-weight:600;letter-spacing:2px;border:none;cursor:pointer;font-family:var(--font);transition:transform .15s,box-shadow .15s,background .15s}
.btn:active{transform:scale(.975)}
.btn-primary{background:linear-gradient(160deg,#2A3A5C,#1F2A44 60%,#182136);color:#fff;box-shadow:0 6px 16px rgba(31,42,68,.28),inset 0 1px 0 rgba(255,255,255,.12)}
.btn-primary:active{box-shadow:0 3px 8px rgba(31,42,68,.25)}
.btn-secondary{background:#fff;color:var(--primary);border:1px solid rgba(31,42,68,.28)}
.btn-gold{background:linear-gradient(160deg,#D9B84A,#C9A227 55%,#A8842C);color:#fff;box-shadow:var(--shadow-gold),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-danger{background:linear-gradient(160deg,#E05252,#D32F2F);color:#fff}
.btn[disabled],.btn.disabled{background:#D9D4C8;color:#fff;cursor:not-allowed;pointer-events:none;box-shadow:none}
.btn-sm{height:32px;line-height:32px;font-size:13px;width:auto;padding:0 16px;display:inline-block;letter-spacing:0}
.btn-row{display:flex;gap:10px}
.btn-row .btn{flex:1}

/* 标签 */
.tag{display:inline-block;padding:4px 10px;border-radius:var(--radius-tag);font-size:12px;line-height:1.35;letter-spacing:.5px}
.tag-primary{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#fff}
.tag-gold{background:linear-gradient(135deg,#D9B84A,#B08D2E);color:#fff}
.tag-success{background:#E8F3E9;color:var(--success)}
.tag-warning{background:#FDF2E4;color:var(--warning)}
.tag-danger{background:#FCEBEB;color:var(--danger)}
.tag-gray{background:#F4F1E9;color:var(--text2)}

/* 旗标 */
.flag{padding:10px 12px;margin-bottom:6px;border-radius:8px;font-size:13px;line-height:1.6}
.flag.green{background:#E8F3E9;color:#1F5C24}
.flag.yellow{background:#FDF2E4;color:#8A4B04}
.flag.red{background:#FCEBEB;color:#8F1D1D}

/* 表单 */
.field{margin-bottom:20px}
.label{font-size:15px;font-weight:700;margin-bottom:8px;letter-spacing:.5px}
.required{color:var(--danger)}
.input,.textarea,.picker{width:100%;background:#fff;border:1px solid var(--divider);border-radius:10px;padding:12px 14px;font-size:14px;box-sizing:border-box;font-family:var(--font);color:var(--text);transition:border-color .15s,box-shadow .15s}
.input{height:42px;padding:0 12px;font-size:14px;background:#fff;border:1px solid var(--divider);border-radius:10px;box-sizing:border-box;width:100%;color:var(--text)}
.textarea{height:84px;resize:none}
.input:focus,.textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.13)}
.hint{font-size:12px;color:var(--text3);margin-top:5px}
.error{font-size:12px;color:var(--danger);margin-top:5px}
.radio-group{display:flex;gap:8px}
.bz-row3{display:flex;gap:8px}
.bz-row3 .input{flex:1;min-width:0;padding:12px 6px;text-align:center;font-size:13px}
.radio{flex:1;text-align:center;padding:12px 4px;background:#fff;border:1px solid var(--divider);border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s}
.radio.active{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px rgba(31,42,68,.22)}
/* 无八字识人录入：分段选择 */
.bz-seg{display:flex;gap:10px}
.bz-seg .seg{display:flex;align-items:center;gap:6px;padding:9px 18px;border:1px solid var(--divider);border-radius:10px;cursor:pointer;font-size:14px;color:var(--bz-ink);font-family:var(--font);background:#fff;transition:all .15s}
.bz-seg .seg input{accent-color:var(--gold);margin:0}
.bz-seg .seg:has(input:checked){border-color:var(--gold);background:linear-gradient(180deg,#fffdf6,#FBF4E4);color:var(--bz-ink)}
.radio.on{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px rgba(31,42,68,.22)}
.select{position:relative}
.select select{width:100%;height:46px;border:1px solid var(--divider);border-radius:10px;background:#fff;font-size:14px;color:var(--text);padding:0 12px;appearance:none;-webkit-appearance:none}
.select::after{content:'▸';position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--gold-2);pointer-events:none}
.notice{padding:13px 14px;background:linear-gradient(135deg,#FFF8E1,#FFFDF4);border:1px solid rgba(201,162,39,.18);border-radius:10px;font-size:13px;color:#6B5A1E;line-height:1.7}
.checkbox{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.55;cursor:pointer}
.checkbox input{margin-top:3px;accent-color:var(--gold-2)}
.link{color:var(--primary);text-decoration:underline;cursor:pointer}

/* 进度条 / 步骤条 */
.progress-bar{height:5px;background:rgba(31,42,68,.08);border-radius:3px;overflow:hidden}
.progress-inner{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-3));transition:width .3s;border-radius:3px}
.stepbar{display:flex;background:rgba(255,255,255,.9);padding:12px 14px;gap:2px;border-bottom:1px solid rgba(31,42,68,.05)}
.stepbar .stp{flex:1;text-align:center;font-size:10px;color:var(--text3);position:relative}
.stepbar .stp::before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:var(--divider);margin:0 auto 4px}
.stepbar .stp.done{color:var(--primary)} .stepbar .stp.done::before{background:var(--gold-2)}
.stepbar .stp.cur{color:var(--gold-2);font-weight:700} .stepbar .stp.cur::before{background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.22)}

/* Hero（墨玉+金晕+暗纹） */
.hero{padding:28px 18px 26px;background:
  radial-gradient(420px 200px at 85% -30px, rgba(201,162,39,.28), transparent 65%),
  radial-gradient(300px 180px at -10% 110%, rgba(201,162,39,.14), transparent 60%),
  linear-gradient(150deg,#26334F 0%,#1F2A44 55%,#17202f 100%);
  color:#fff;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-3) 50%,var(--gold) 70%,transparent)}
.hero-gold{background:
  radial-gradient(420px 220px at 85% -40px, rgba(255,255,255,.22), transparent 60%),
  linear-gradient(150deg,#2A3A5C 0%,#1F2A44 40%,#6B5518 100%)}
.hero-title{font-family:var(--serif);font-size:25px;font-weight:700;letter-spacing:2px}
.hero-sub{font-size:14px;color:rgba(255,255,255,.82);margin-top:9px;letter-spacing:1px}
.hero-tag{display:inline-block;margin-top:13px;padding:5px 12px;font-size:12px;color:var(--gold-3);border:1px solid rgba(201,162,39,.55);border-radius:999px;letter-spacing:1px;background:rgba(201,162,39,.10)}

/* 罗盘加载 */
.compass{width:84px;height:84px;border:3px solid rgba(201,162,39,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:rotate 3.2s linear infinite;margin:0 auto;position:relative;box-shadow:0 0 24px rgba(201,162,39,.25),inset 0 0 14px rgba(201,162,39,.15)}
.compass::before{content:'子丑寅卯';position:absolute;font-size:8px;color:rgba(201,162,39,.7);letter-spacing:2px}
.compass-inner{width:54px;height:54px;border:2px solid var(--primary);border-radius:50%;background:radial-gradient(circle at 35% 30%, #fff, #EFE9DC)}
@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.state-box{text-align:center;padding:64px 20px}
.state-icon{font-size:52px;margin-bottom:14px;filter:grayscale(.15)}

/* 弹窗 / Toast */
.modal-mask{position:absolute;inset:0;background:rgba(20,25,40,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:90}
.modal{width:302px;background:#fff;border-radius:18px;padding:24px;animation:slideUp .28s;box-shadow:0 24px 60px rgba(20,25,40,.3)}
.modal-title{font-family:var(--serif);font-size:18px;font-weight:700;text-align:center;letter-spacing:1px}
.modal-content{font-size:14px;color:var(--text2);margin:12px 0 18px;text-align:center;line-height:1.7}
@keyframes slideUp{from{transform:translateY(34px);opacity:0}to{transform:none;opacity:1}}
.toast{position:absolute;left:50%;bottom:124px;transform:translateX(-50%);background:rgba(24,30,48,.88);backdrop-filter:blur(6px);color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;z-index:99;max-width:80%;text-align:center;box-shadow:0 8px 24px rgba(20,25,40,.3)}

/* 雷达图 */
.radar-wrap{display:flex;justify-content:center}
.radar-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin-top:10px;font-size:11px;color:var(--text2)}
.radar-legend .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle;background:var(--gold)}

/* 列表项 */
.list-item{display:flex;align-items:center;min-height:50px;padding:9px 0;border-bottom:1px solid rgba(31,42,68,.05);cursor:pointer}
.list-item:last-child{border-bottom:none}
.li-icon{width:36px;text-align:center;font-size:21px;flex-shrink:0}
.li-main{flex:1;min-width:0}
.li-title{font-size:14px;color:var(--text)}
.li-sub{font-size:12px;color:var(--text3);margin-top:2px}
.li-arrow{color:#C9C2B2;font-size:14px;flex-shrink:0}

/* 通用小件 */
.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 3px 8px rgba(31,42,68,.25)}
.avatar.gold{background:linear-gradient(135deg,#D9B84A,#A8842C);box-shadow:0 3px 8px rgba(201,162,39,.3)}
.score-big{font-family:var(--serif);font-size:44px;font-weight:700;background:linear-gradient(160deg,#E8CF7A,#C9A227 55%,#A8842C);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;line-height:1.2}
.fab{position:absolute;right:16px;bottom:26px;width:50px;height:50px;border-radius:50%;background:linear-gradient(160deg,#D9B84A,#A8842C);color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-gold);cursor:pointer;z-index:20}
.tabs-x{display:flex;background:rgba(255,255,255,.9);overflow-x:auto;white-space:nowrap;border-bottom:1px solid rgba(31,42,68,.05)}
.tabs-x .tx{padding:13px 16px;font-size:14px;color:var(--text2);cursor:pointer;flex-shrink:0}
.tabs-x .tx.active{color:var(--primary);font-weight:700;position:relative}
.tabs-x .tx.active::after{content:'';position:absolute;left:16px;right:16px;bottom:0;height:2.5px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,var(--gold),var(--gold-3))}
.chip{padding:7px 13px;background:#fff;border:1px solid var(--divider);border-radius:999px;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s}
.chip.active{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px rgba(31,42,68,.2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.disclaimer{padding:22px 18px;font-size:11px;color:var(--text3);text-align:center;line-height:1.8;letter-spacing:.5px}
.footer-bar{position:sticky;bottom:0;left:0;right:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 -4px 18px rgba(31,42,68,.07);padding:12px 16px;display:flex;gap:10px;z-index:30}
.footer-bar .fb-item{flex:1;text-align:center;font-size:11px;color:var(--text2);cursor:pointer}
.footer-bar .fb-icon{font-size:20px}
.footer-bar .fb-item.danger{color:var(--danger)}
.dim-item{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(31,42,68,.05);font-size:13px}
.dim-item:last-child{border-bottom:none}
.dim-track{flex:1;height:6px;background:rgba(31,42,68,.07);border-radius:3px;margin:0 10px;overflow:hidden}
.dim-fill{height:100%;background:linear-gradient(90deg,var(--gold-2),var(--gold-3));border-radius:3px}
.scroll-x{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.scroll-x>*{flex-shrink:0}
.rarity-normal{color:var(--r-normal)} .rarity-rare{color:var(--r-rare)} .rarity-epic{color:var(--r-epic)} .rarity-legend{color:var(--r-legend)}
.bd-normal{border-bottom:3px solid var(--r-normal)} .bd-rare{border-bottom:3px solid var(--r-rare)}
.bd-epic{border-bottom:3px solid var(--r-epic)} .bd-legend{border-bottom:3px solid var(--r-legend)}
.bl-rare{border-left:4px solid var(--r-rare)} .bl-epic{border-left:4px solid var(--r-epic)} .bl-legend{border-left:4px solid var(--r-legend)}
.upgrade-card,.upgrade-card{margin:16px;padding:22px;background:radial-gradient(300px 140px at 85% -20px, rgba(255,255,255,.22), transparent 60%),linear-gradient(150deg,#26334F 0%,#1F2A44 45%,#6B5518 100%);border-radius:16px;text-align:center;color:#fff;cursor:pointer;position:relative;overflow:hidden}
.upgrade-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.upgrade-title{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:1px}
.upgrade-desc{font-size:13px;color:rgba(255,255,255,.88);margin-top:9px;line-height:1.7}
.upgrade-btn{display:inline-block;margin-top:13px;padding:7px 20px;background:linear-gradient(135deg,#D9B84A,#B08D2E);color:#fff;border-radius:999px;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.empty-tip{text-align:center;padding:44px 16px;font-size:14px;color:var(--text3)}
.info-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(31,42,68,.05);font-size:14px}
.info-row:last-child{border-bottom:none}
.info-label{color:var(--text2)} .info-value{color:var(--text);text-align:right;max-width:60%}
.price-big{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--primary);text-align:center;letter-spacing:1px}
.price-small{font-size:12px;color:var(--text3);text-align:center;margin-top:4px;letter-spacing:2px}
.report-card-sel{padding:16px 18px;background:#fff;border:1px solid var(--divider);border-radius:14px;margin-bottom:12px;cursor:pointer;transition:all .15s}
.report-card-sel.active{border:2px solid var(--gold);padding:15px 17px;box-shadow:0 6px 16px rgba(201,162,39,.18);background:linear-gradient(135deg,#FFFDF4,#fff)}
.kv{font-size:13px;color:var(--text2);line-height:1.85}
.kv b{color:var(--text);font-weight:600}
.timeline{position:relative;padding-left:20px}
.timeline::before{content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--gold),rgba(201,162,39,.15))}
.tl-item{position:relative;padding-bottom:14px}
.tl-item::before{content:'';position:absolute;left:-18px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.18)}

/* ===== 引导页专属版式 ===== */
.ob-screen{height:100%;display:flex;flex-direction:column;overflow:hidden;background:
  radial-gradient(500px 300px at 50% -80px, rgba(201,162,39,.10), transparent 65%),
  linear-gradient(180deg,#FBF9F3 0%,var(--bg) 100%)}
.ob-brand{display:flex;align-items:center;gap:8px;padding:14px 22px 0}
.ob-seal{width:34px;height:34px;border-radius:8px;background:linear-gradient(160deg,#2A3A5C,#1F2A44);color:var(--gold-3);font-family:var(--serif);font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(31,42,68,.28)}
.ob-brand-name{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--primary);letter-spacing:3px}
.ob-step{padding:18px 22px 0;font-size:12px;color:var(--gold-2);letter-spacing:3px}
.ob-title{font-family:var(--serif);font-size:29px;font-weight:700;color:var(--primary);line-height:1.5;padding:10px 22px 0;letter-spacing:1px}
.ob-title .gold{color:var(--gold-2)}
.ob-divider{width:44px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-3));margin:12px 22px 0}
.ob-body{padding:12px 22px 0;flex:1;overflow-y:auto}
.ob-quote{background:#fff;border:1px solid rgba(31,42,68,.05);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:15px 16px;box-shadow:var(--shadow-card)}
.ob-quote .q-src{font-size:11px;color:var(--gold-2);letter-spacing:1px;margin-bottom:6px}
.ob-quote .q-text{font-size:14px;line-height:1.8;color:var(--text2)}
.ob-dim-wrap{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}
.ob-dim{display:flex;flex-direction:column;gap:3px;padding:11px 8px;background:#fff;border:1px solid rgba(31,42,68,.05);border-radius:12px;box-shadow:var(--shadow-card);text-align:center}
.ob-dim .dw{font-family:var(--serif);font-weight:700;color:var(--bz-ochre);font-size:13px;letter-spacing:2px}
.ob-dim .dv{font-size:11.5px;color:var(--text2);line-height:1.5;text-align:center}
.ob-card2{background:#fff;border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-card);border:1px solid rgba(31,42,68,.045)}
.ob-card2 .h{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--primary);letter-spacing:1px}
.ob-card2 .b{font-size:13px;color:var(--text2);line-height:1.8;margin-top:6px}
.ob-card2 .t{font-size:12px;color:var(--gold-2);margin-top:8px;letter-spacing:.5px}
.ob-punch{font-family:var(--serif);text-align:center;font-size:15px;color:var(--primary);letter-spacing:2px;line-height:1.8}
.ob-num{font-family:var(--serif);font-size:40px;color:rgba(201,162,39,.9);font-weight:700;line-height:1}
.ob-dots{display:flex;gap:7px;justify-content:center;padding:18px 0 14px}
.ob-dots i{width:7px;height:7px;border-radius:50%;background:rgba(31,42,68,.15);transition:all .2s}
.ob-dots i.on{background:var(--gold);width:18px;border-radius:4px}
.ob-footer{padding:6px 22px 12px;flex-shrink:0}

/* 方法论/信任卡 */
.trust-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:14px;padding:15px 16px;box-shadow:var(--shadow-card);border:1px solid rgba(31,42,68,.045);margin-bottom:10px}
.trust-ico{width:40px;height:40px;border-radius:12px;background:linear-gradient(160deg,#FBF3DC,#F3E6BC);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.trust-h{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--primary);letter-spacing:.5px}
.trust-b{font-size:12px;color:var(--text2);line-height:1.7;margin-top:3px}
.gold-num{font-family:var(--serif);font-weight:700;color:var(--gold-2)}

/* ============================================================
   3.0 八字识人专属组件（宣纸/墨玉/鎏金/宋体，融合「认清了么」原型风格）
   ============================================================ */
:root{
  --bz-paper:#FBF7EE; --bz-paper2:#F4ECDB; --bz-ink:#23201A; --bz-ink2:#5A5347;
  --bz-gold:#C29B4E; --bz-gold2:#E3C77E; --bz-ochre:#8C5A3B; --bz-card:#FFFDF8; --bz-line:rgba(35,32,26,.10);
  --bz-wood:#5B8C6E; --bz-fire:#C0584B; --bz-earth:#B08A4F; --bz-metal:#B9A86A; --bz-water:#4E6E8E;
  --bz-shadow:0 10px 30px rgba(60,45,20,.10);
}
.bz-muted{color:var(--bz-ink2);font-size:12.5px;line-height:1.85;font-family:var(--font)}
.bz-tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;background:rgba(194,155,78,.12);color:var(--bz-ochre);font-family:var(--font);margin:2px 3px 2px 0}
.bz-note{font-size:11px;color:var(--bz-ink2);background:rgba(140,90,59,.07);border-radius:10px;padding:10px 12px;line-height:1.75;font-family:var(--font);margin-top:8px}

/* Hero（浅宣纸 + 鎏金印章） */
.bz-hero{text-align:center;padding:26px 14px 16px;background:linear-gradient(180deg,#fdf8ec,#FBF7EE)}
.bz-seal-img{display:inline-block;width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--bz-gold2);box-shadow:0 8px 22px rgba(40,28,10,.35),0 0 0 3px rgba(194,155,78,.15);margin-bottom:14px;background:#fff}
.ob-seal-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:1.5px solid var(--gold-3);box-shadow:0 4px 10px rgba(31,42,68,.28);background:#fff;flex:none}
.bz-seal{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:16px;
  background:linear-gradient(135deg,#2c2820,#15120d);color:var(--bz-gold2);font-size:26px;box-shadow:0 8px 22px rgba(40,28,10,.4);margin-bottom:14px;letter-spacing:2px}
.bz-hero h1{margin:0;font-family:var(--serif);font-size:30px;letter-spacing:8px;font-weight:700;color:var(--bz-ink)}
.bz-hero h1 b{color:var(--bz-gold)}
.bz-hero p{margin:10px 0 0;color:var(--bz-ink2);font-size:13px;letter-spacing:1px;font-family:var(--font);line-height:1.9}
.bz-hero .verse{margin-top:16px;font-size:13px;color:var(--bz-ochre);letter-spacing:2px;font-family:var(--serif)}

/* 录入后首页快捷入口（2 列） */
.bz-entry{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bz-entry .item{background:var(--bz-card);border:1px solid var(--bz-line);border-radius:16px;padding:16px 12px;text-align:center;cursor:pointer;transition:.18s;box-shadow:var(--bz-shadow)}
.bz-entry .item:active{transform:scale(.97)}
.bz-entry .item .e-ic{font-size:24px}
.bz-entry .item .e-t{margin-top:8px;font-size:14px;letter-spacing:1px;color:var(--bz-ink);font-family:var(--serif)}
.bz-entry .item .e-d{margin-top:4px;font-size:11px;color:var(--bz-ink2);font-family:var(--font)}
.bz-entry .item .e-price{margin-top:7px;font-size:12px;color:var(--bz-gold);font-family:var(--serif);letter-spacing:.5px}
.bz-sec-title{font-family:var(--serif);font-size:14px;letter-spacing:2px;color:var(--bz-ochre);margin-top:16px;margin-bottom:10px}
.bz-sec-title:first-of-type{margin-top:12px}

/* 八字卡片（带鎏金竖条标题） */
.bz-card{background:var(--bz-card);border:1px solid var(--bz-line);border-radius:18px;box-shadow:var(--bz-shadow);padding:16px;margin-bottom:14px}
.bz-card h3{margin:0 0 10px;font-family:var(--serif);font-size:15px;letter-spacing:1px;color:var(--bz-ink);display:flex;align-items:center;gap:8px}
.bz-card h3:before{content:"";width:4px;height:15px;border-radius:2px;background:linear-gradient(180deg,var(--bz-gold2),var(--bz-gold))}

/* 四柱 */
.bz-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:linear-gradient(180deg,#fff,#fcf8ef);border:1px solid var(--bz-line);border-radius:16px;padding:14px 10px;box-shadow:var(--bz-shadow)}
.bz-pillar{text-align:center}
.bz-pillar .ph{font-size:11px;color:var(--bz-ink2);font-family:var(--font);margin-bottom:6px;letter-spacing:1px}
.bz-pillar .gz{font-family:var(--serif);font-size:22px;line-height:1.25;font-weight:600}
.bz-pillar .gz .g{color:var(--bz-ochre)} .bz-pillar .gz .z{color:var(--bz-ink)}
.bz-pillar .el{font-size:11px;color:var(--bz-ink2);margin-top:4px;font-family:var(--font)}

/* 子标签 */
.bz-subtabs{display:flex;gap:6px;padding:4px 0 12px;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.bz-subtabs::-webkit-scrollbar{display:none}
.bz-subtabs .st{flex:0 0 auto;padding:6px 13px;border-radius:999px;background:#fff;border:1px solid var(--bz-line);font-size:12px;letter-spacing:.5px;color:var(--bz-ink2);font-family:var(--font);cursor:pointer;white-space:nowrap;transition:all .15s}
.bz-subtabs .st.on{background:linear-gradient(135deg,#3a342a,#23201A);color:#E8C87A;border-color:#23201A}
/* ===== 人脉库 / 单人详情 / 图谱（3.0 新增） ===== */
.bz-phead{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.bz-pcard{display:flex;align-items:center;gap:12px;background:var(--bz-card);border:1px solid var(--bz-line);border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--bz-shadow);cursor:pointer;transition:.15s}
.bz-pcard:active{transform:scale(.985)}
.bz-avatar-lg{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:19px;font-weight:700;flex-shrink:0;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.bz-pinfo{flex:1;min-width:0}
.bz-pname{font-family:var(--serif);font-size:15px;color:var(--bz-ink);display:flex;align-items:center;gap:6px}
.bz-ptag{font-size:10px;background:rgba(194,155,78,.14);color:var(--bz-ochre);padding:1px 7px;border-radius:10px;font-family:var(--font);font-weight:400;letter-spacing:.5px}
.bz-pmeta{font-size:12px;color:var(--bz-ink2);margin-top:2px;line-height:1.5;font-family:var(--font)}
.bz-relbar{display:flex;gap:7px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none;flex-wrap:nowrap}
.rel-chip{font-size:12px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(168,124,58,.28);color:#6b5b3e;cursor:pointer;font-family:var(--font);transition:.15s;white-space:nowrap;letter-spacing:.5px}
.rel-chip .rc-n{font-size:10.5px;opacity:.65;margin-left:2px}
.rel-chip.on{background:linear-gradient(135deg,#3a342a,#23201A);color:#E8C87A;border-color:#23201A}
.bz-tabs{display:flex;gap:8px;margin:12px 0 4px}
.bz-tab{flex:1;text-align:center;padding:8px 0;border-radius:12px;background:var(--bz-card);border:1px solid var(--bz-line);font-size:13px;color:var(--bz-ink2);font-family:var(--font);cursor:pointer;transition:.15s}
.bz-tab.on{background:linear-gradient(135deg,#2c2820,#15120d);color:var(--bz-gold2);border-color:var(--bz-ink);font-weight:600}
.fade{animation:fadeIn .28s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 五行条 */
.bz-bars{margin-top:4px}
.bz-row{display:flex;align-items:center;gap:10px;margin:9px 0}
.bz-row .bn{width:26px;font-size:13px;font-family:var(--serif);font-weight:600}
.bz-row .bt{flex:1;height:12px;background:#efe7d6;border-radius:8px;overflow:hidden}
.bz-row .bf{height:100%;border-radius:8px}
.bz-row .bp{width:38px;text-align:right;font-size:12px;color:var(--bz-ink2);font-family:var(--font)}

/* 十神 chips */
.bz-tggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bz-tg{background:#fff;border:1px solid var(--bz-line);border-radius:12px;padding:10px 12px}
.bz-tg .tg-n{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--bz-ink)}
.bz-tg .tg-c{font-size:11.5px;color:var(--bz-ink2);font-family:var(--font);margin-top:3px;line-height:1.6}
.bz-tg .tg-x{font-size:11px;color:var(--bz-ochre);margin-top:5px;font-family:var(--font)}

/* 大运 */
.bz-luck{display:flex;gap:0;overflow-x:auto;padding:6px 0 12px;scrollbar-width:none}
.bz-luck::-webkit-scrollbar{display:none}
.bz-luck .ly{flex:0 0 auto;width:64px;text-align:center;padding:10px 4px;border-right:1px dashed var(--bz-line)}
.bz-luck .ly .la{font-size:11px;color:var(--bz-ink2);font-family:var(--font)}
.bz-luck .ly .lg{font-family:var(--serif);font-size:17px;font-weight:600;margin:5px 0;color:var(--bz-ink)}
.bz-luck .ly .lg .g{color:var(--bz-ochre)}
.bz-luck .ly.cur{background:rgba(194,155,78,.1);border-radius:12px}

/* 合盘 */
.bz-vs{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 4px}
.bz-vs .who{text-align:center}
.bz-vs .who .wn{font-family:var(--serif);font-size:15px;color:var(--bz-ink)}
.bz-vs .who .wd{font-size:12px;color:var(--bz-ink2);font-family:var(--font)}
.bz-vs .who .wg{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--bz-ochre);margin-top:4px}
.bz-vs .heart{font-size:22px;color:var(--bz-gold)}
.bz-score-ring{width:120px;height:120px;border-radius:50%;margin:10px auto;display:flex;align-items:center;justify-content:center;flex-direction:column;background:conic-gradient(var(--bz-gold) var(--p,60%), #ece2cd 0)}
.bz-score-ring .sv{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--bz-ink)}
.bz-score-ring .sl{font-size:11px;color:var(--bz-ink2);font-family:var(--font)}

/* 报告章节 */
.bz-sec{border-top:1px dashed var(--bz-line);padding:13px 0}
.bz-sec:first-child{border-top:none}
.bz-sec .sh{font-family:var(--serif);font-size:14px;color:var(--bz-ochre);letter-spacing:1px;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}
.bz-sec .sh .no{font-size:11px;color:var(--bz-gold);background:rgba(194,155,78,.12);border-radius:6px;padding:1px 7px}
.bz-sec .sb{font-size:12.5px;color:var(--bz-ink2);line-height:1.85;font-family:var(--font)}
.bz-sec .sb b{color:var(--bz-ink)}
/* —— 19 维度报告：四柱排盘表 / 宫位表 / 文本块 —— */
.bz-ptable{width:100%;border-collapse:collapse;margin:6px 0 10px;background:var(--bz-card);border-radius:12px;overflow:hidden;box-shadow:var(--bz-shadow);font-family:var(--font)}
.bz-ptable th{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#FBF7EE;font-size:12px;font-weight:600;padding:9px 6px;letter-spacing:1px}
.bz-ptable td{border-top:1px solid var(--bz-line);padding:9px 6px;text-align:center;font-size:14px;color:var(--bz-ink)}
.bz-ptable td.rl{background:rgba(194,155,78,.08);color:var(--bz-ochre);font-family:var(--serif);font-size:12px;letter-spacing:1px;overflow-wrap:break-word;word-break:break-word}
.bz-ptable td .g,.bz-ptable td .z{font-family:var(--serif);font-weight:700}
.bz-ptable td small{color:var(--bz-ink2);font-size:10px;margin-left:1px}
.bz-ptable2 th{background:linear-gradient(135deg,#5a4a32,#3a342a)}
.bz-ptable2 td{text-align:left}
.bz-r-meta{font-size:12.5px;color:var(--bz-ink2);line-height:1.9;padding:8px 0 2px;font-family:var(--font)}
.bz-r-meta b{color:var(--bz-ink)}
.bz-r-sub{font-family:var(--serif);font-size:13px;letter-spacing:1px;color:var(--bz-ochre);margin:12px 0 4px}
.bz-r-li{font-size:12.5px;color:var(--bz-ink2);line-height:1.85;padding:2px 0 2px 2px;font-family:var(--font)}
.bz-r-p{font-size:12.5px;color:var(--bz-ink2);line-height:1.85;padding:3px 0;font-family:var(--font)}

/* 电子书阅读器 */
.book-shell{display:flex;flex-direction:column;height:100%}
.book-toc{columns:2;column-gap:14px}
.book-toc .bt-item{break-inside:avoid;background:var(--bz-card);border:1px solid var(--bz-line);border-radius:12px;padding:11px 12px;margin-bottom:10px;cursor:pointer;box-shadow:var(--bz-shadow)}
.book-toc .bt-item .bt-no{font-size:10px;color:var(--bz-gold);letter-spacing:1px}
.book-toc .bt-item .bt-t{font-family:var(--serif);font-size:13.5px;color:var(--bz-ink);margin-top:3px;line-height:1.5}
.book-reader{font-family:var(--serif);color:var(--bz-ink);line-height:2;padding:6px 2px}
.book-reader h2{font-size:19px;letter-spacing:1px;margin:6px 0 14px;color:var(--bz-ink)}
.book-reader h3{font-size:15px;color:var(--bz-ochre);margin:18px 0 8px;letter-spacing:.5px}
.book-reader p{margin:0 0 14px;font-size:15px;text-indent:2em}
.book-reader .ch-sec{margin-bottom:8px}
.book-reader .ch-sec h3{font-family:var(--serif)}
.book-tools{position:sticky;top:0;background:rgba(251,247,238,.95);backdrop-filter:blur(8px);display:flex;gap:8px;padding:8px 2px;z-index:5;border-bottom:1px solid var(--bz-line)}
.book-tools .bt-btn{flex:1;text-align:center;font-size:12px;color:var(--bz-ink2);background:#fff;border:1px solid var(--bz-line);border-radius:10px;padding:7px 0;cursor:pointer;font-family:var(--font)}
.book-progress{height:4px;background:rgba(35,32,26,.08);border-radius:2px;overflow:hidden;margin:6px 0}
.book-progress .bp-fill{height:100%;background:linear-gradient(90deg,var(--bz-gold),var(--bz-gold2))}
.book-font-sm .book-reader p{font-size:13.5px}.book-font-md .book-reader p{font-size:15px}.book-font-lg .book-reader p{font-size:17px}
.center-hint{text-align:center;color:var(--bz-ink2);font-size:13px;padding:50px 20px;line-height:2;font-family:var(--font)}

/* ============ 会员中心 / 企业版 补充样式 ============ */
.vip-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#2c2820,#15120d);border-radius:18px;padding:18px 16px;box-shadow:0 10px 26px rgba(40,28,10,.34);margin-bottom:14px}
.vip-banner.vb-off{background:linear-gradient(135deg,#fdf8ec,#FBF7EE);border:1px dashed rgba(194,155,78,.5);box-shadow:none}
.vip-banner .vb-left{text-align:left}
.vip-banner .vb-tag{display:inline-block;font-size:11px;letter-spacing:2px;padding:3px 10px;border-radius:20px;background:linear-gradient(135deg,#D9B84A,#B08D2E);color:#fff;font-family:var(--font)}
.vip-banner.vb-off .vb-tag{background:rgba(194,155,78,.16);color:var(--bz-ochre)}
.vip-banner .vb-status{margin-top:8px;font-size:15px;color:#FBF7EE;font-family:var(--serif);letter-spacing:1px}
.vip-banner.vb-off .vb-status{color:var(--bz-ink);font-size:13.5px}
.vip-banner .vb-right{text-align:right;color:#FBF7EE;font-size:13px}
.vip-banner .vb-right b{font-family:var(--serif);font-size:20px;color:var(--bz-gold2)}
.bz-card-hot{border:1.5px solid var(--bz-gold);box-shadow:0 8px 22px rgba(201,162,39,.16)}
.bz-perk{font-size:13px;line-height:1.9;color:var(--bz-ink);font-family:var(--font);padding:3px 0}
.bz-perk:first-child{margin-top:2px}

/* ============ 识人报告统一版式（19 维度本地 + 27 维度 AI 共用） ============ */
.bz-sec{background:var(--bz-card);border:1px solid var(--bz-line);border-radius:14px;padding:14px 14px 12px;margin-bottom:12px;box-shadow:var(--bz-shadow)}
.bz-sec .sh{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:15px;letter-spacing:.5px;color:var(--bz-ink);margin-bottom:8px}
.bz-sec .sh .no{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:7px;background:linear-gradient(135deg,#D9B84A,#B08D2E);color:#fff;font-size:12px;font-family:var(--font);letter-spacing:0;flex:0 0 auto}
.bz-sec .sb{font-size:13.5px;line-height:1.85;color:var(--bz-ink2);font-family:var(--font)}
.bz-sec .sb b{color:var(--bz-ink);font-weight:600}
.bz-r-p{margin:0 0 8px}
.bz-r-p:last-child{margin-bottom:0}
.bz-r-li{margin:0 0 6px;padding-left:2px;line-height:1.8}
.bz-r-li:last-child{margin-bottom:0}
.bz-r-meta{font-size:13px;color:var(--bz-ink2);margin-bottom:10px;font-family:var(--font);line-height:1.7}
.bz-r-sub{font-family:var(--serif);font-size:13px;letter-spacing:1px;color:var(--bz-ochre);margin:10px 0 6px}
.bz-ptable{width:100%;border-collapse:separate;border-spacing:0;margin:4px 0 10px;font-size:12px;font-family:var(--font);background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--bz-line);box-shadow:var(--bz-shadow)}
.bz-ptable th{background:linear-gradient(135deg,#fbf3e2,#F4ECDB);color:var(--bz-ochre);font-weight:700;padding:8px 6px;text-align:center;border-bottom:2px solid rgba(194,155,78,.35);font-family:var(--serif);letter-spacing:.5px;font-size:12px;overflow-wrap:break-word;word-break:break-word}
.bz-ptable td{padding:6px 5px;text-align:center;border-bottom:1px solid rgba(194,155,78,.12);color:var(--bz-ink2);vertical-align:middle;line-height:1.45;overflow-wrap:break-word;word-break:break-word}
.bz-ptable tbody tr:nth-child(even) td{background:rgba(194,155,78,.05)}
.bz-ptable tr:last-child td{border-bottom:none}
.bz-ptable td:first-child{text-align:left;color:var(--bz-ink);font-weight:600;min-width:40px}
.bz-ptable td.rl{background:rgba(194,155,78,.08);color:var(--bz-ink);font-weight:600;text-align:left;font-family:var(--serif);border-right:1px solid rgba(194,155,78,.2);min-width:40px}
.bz-ptable th:first-child{border-top-left-radius:11px}
.bz-ptable th:last-child{border-top-right-radius:11px}
.bz-ptable td.c-day{background:rgba(201,162,39,.14);color:var(--bz-ink);font-weight:700}
.bz-ptable th.c-day{background:linear-gradient(135deg,#e9c873,#d9b84a);color:#3a2e10}
.bz-ptable td.cang{font-size:11px;line-height:1.7;vertical-align:middle;padding:5px 3px;overflow-wrap:break-word}
.bz-ptable td.cang small,.bz-ptable td.cang .tg{color:var(--bz-ochre);opacity:.8;font-size:.82em;letter-spacing:0}
.bz-ptable2 th{background:linear-gradient(135deg,#fbf3e2,#F4ECDB);color:var(--bz-ochre)}
.bz-ptable2 td{text-align:left;line-height:1.55}
/* 报告结语（金句） */
.bz-endnote{margin:14px 0 4px;padding:14px 16px;text-align:center;font-family:var(--serif);font-size:14.5px;line-height:1.9;color:var(--bz-ink);background:linear-gradient(135deg,rgba(217,184,74,.12),rgba(176,141,46,.08));border:1px solid rgba(194,155,78,.35);border-radius:12px;letter-spacing:.5px;box-shadow:var(--bz-shadow)}
.bz-endnote::before{content:"✦ 结语";display:block;font-family:var(--font);font-size:11px;letter-spacing:2px;color:var(--bz-ochre);margin-bottom:6px;opacity:.85}
/* 基本信息：紧凑对齐的键值网格 */
.bz-info{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;background:var(--bz-card);border:1px solid var(--bz-line);border-radius:12px;padding:11px 13px;margin:0 0 10px;box-shadow:var(--bz-shadow);font-family:var(--font)}
.bz-info dt{color:var(--bz-ink2);font-size:12px;white-space:nowrap}
.bz-info dd{color:var(--bz-ink);font-size:13px;margin:0}
.bz-info dd b{color:var(--bz-ochre);font-weight:600}
.bz-disclaimer-note{border-left:3px solid var(--bz-ochre);background:rgba(140,90,59,.10);color:var(--bz-ochre);padding:9px 12px;margin:8px 0;border-radius:8px;font-size:13px;line-height:1.75;font-weight:600}

/* —— 生成进度（算卦感 · 进度条 + 步骤动画） —— */
.ai-box{position:relative;overflow:hidden}
.ai-head{display:flex;align-items:center;gap:12px;margin:4px 0 12px}
.ai-spin{width:34px;height:34px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--bz-gold2);background:radial-gradient(circle at 30% 30%,#fff,#f3ead4);border:1px solid rgba(194,155,78,.4);box-shadow:0 2px 8px rgba(176,141,46,.18)}
.ai-spin.on{animation:aiSpin 2.4s linear infinite}
@keyframes aiSpin{to{transform:rotate(360deg)}}
.ai-progress{flex:1;height:8px;background:rgba(35,32,26,.08);border-radius:5px;overflow:hidden}
.ai-bar{height:100%;width:0;background:linear-gradient(90deg,#D9B84A,#B08D2E);border-radius:5px;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 6px rgba(201,162,39,.4)}
.ai-steps{display:flex;gap:8px}
.ai-step{flex:1;display:flex;align-items:center;gap:6px;justify-content:center;padding:8px 6px;border-radius:10px;background:rgba(35,32,26,.04);border:1px solid var(--bz-line);font-size:12px;color:var(--bz-ink2);transition:.25s}
.ai-step .ai-dot{font-family:var(--serif);font-size:13px;color:var(--bz-ink2);opacity:.6}
.ai-step.active{background:linear-gradient(135deg,#2A3A5C,#1F2A44);color:#FBF7EE;border-color:var(--bz-gold);box-shadow:0 4px 12px rgba(31,42,68,.2)}
.ai-step.active .ai-dot{color:var(--bz-gold2);opacity:1}
.ai-step.done{background:rgba(194,155,78,.14);color:var(--bz-ochre);border-color:rgba(194,155,78,.4)}
.ai-step.done .ai-dot{color:var(--bz-ochre);opacity:1}
.ai-actions{display:flex;gap:10px;margin-top:12px}

/* ============ 首页分组区（模块分区 + 层次感） ============ */
.bz-group{margin-top:18px}
.bz-group:first-of-type{margin-top:14px}
.bz-group-h{display:flex;align-items:baseline;gap:10px;margin:0 2px 10px}
.bz-group-h span{font-family:var(--serif);font-size:15px;letter-spacing:2px;color:var(--bz-ink);position:relative;padding-left:11px}
.bz-group-h span:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:15px;border-radius:2px;background:linear-gradient(180deg,var(--bz-gold2),var(--bz-gold))}
.bz-group-h em{font-size:11.5px;color:var(--bz-ink2);font-family:var(--font);font-style:normal;letter-spacing:.5px}
/* 首页整卡入口（如每日修行） */
.bz-entry-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bz-card);border:1px solid var(--bz-line);border-radius:16px;padding:15px 16px;cursor:pointer;transition:.18s;box-shadow:var(--bz-shadow)}
.bz-entry-card:active{transform:scale(.985)}
.bz-entry-card .ec-ic{font-size:24px;flex-shrink:0}
.bz-entry-card .ec-t{font-size:14px;letter-spacing:1px;color:var(--bz-ink);font-family:var(--serif);margin-top:2px}
.bz-entry-card .ec-d{font-size:11px;color:var(--bz-ink2);font-family:var(--font);margin-top:3px}

/* ============ 无八字识人 · 逐题 UI（补丁：新版类） ============ */
.nw-progress{height:7px;border-radius:6px;background:rgba(35,32,26,.08);overflow:hidden;margin:16px 2px 8px}
.nw-bar{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--bz-gold2),var(--bz-gold));transition:width .3s ease}
.nw-count{font-size:11.5px;color:var(--bz-ink2);font-family:var(--font);letter-spacing:.5px;margin:0 2px 12px}
.nw-opts{display:flex;flex-direction:column;gap:10px}
.nw-opt{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;background:var(--bz-card);border:1px solid var(--bz-line);cursor:pointer;transition:.15s;font-family:var(--font);font-size:14px;color:var(--bz-ink);line-height:1.5}
.nw-opt:active{transform:scale(.985)}
.nw-opt .nw-dot{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--bz-ink2);flex-shrink:0;transition:.15s}
.nw-opt .nw-opt-t{flex:1}
.nw-opt.selected{border-color:var(--bz-gold);background:linear-gradient(180deg,#fffdf6,#FBF4E4);box-shadow:0 4px 14px rgba(194,155,78,.18)}
.nw-opt.selected .nw-dot{background:var(--bz-gold);border-color:var(--bz-gold)}
.nw-nav{display:flex;gap:10px;margin-top:16px}
.nw-nav .btn{flex:1;width:auto}

/* 幽灵按钮（用于「返回/重测/换一人」等次级动作，叠加在 .btn 上） */
.btn-ghost{background:transparent;color:var(--bz-ochre);border:1px solid var(--bz-line);box-shadow:none}
.btn-ghost:active{background:rgba(140,90,59,.07)}

/* 引导页 · 跳过 / 次级入口 */
.ob-skip{text-align:center;font-size:12px;color:var(--bz-ink2);margin-top:12px;letter-spacing:.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ob-guide-btn{margin-top:14px;text-align:center;font-family:var(--serif);font-size:14px;letter-spacing:1px;color:var(--bz-ochre);background:rgba(194,155,78,.10);border:1px solid rgba(194,155,78,.30);border-radius:12px;padding:11px 12px;cursor:pointer;transition:.15s}
.ob-guide-btn:active{background:rgba(194,155,78,.18)}

/* 独立引导页 · 知己知彼 知人知心 */
.zj-hero{text-align:center;padding:18px 14px 4px;background:linear-gradient(180deg,#fdf8ec,#FBF7EE)}
.zj-line{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--bz-ink);letter-spacing:10px;line-height:1.5}
.zj-line-2{color:var(--bz-gold)}
.zj-sub{font-family:var(--serif);font-size:16px;letter-spacing:4px;color:var(--bz-ochre);margin-top:12px}
.verse{cursor:pointer}

/* 首页 hero · 六维识人维度（2×3 紧凑对齐，占 ≤3 行） */
.bz-dims{width:100%;margin:12px auto 4px}
/* 中间「·」必须落在屏幕水平正中：左右两列 1fr 恒等宽 → 中间 auto 列（圆点）精确居中，三行天然对齐 */
.bz-dim-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;font-size:11px;line-height:1.5;white-space:nowrap;margin:3px 0}
.bz-dim-row .l{text-align:right;padding-right:4px}
.bz-dim-row .r{text-align:left;padding-left:4px}
.bz-dim-row .dw{font-family:var(--serif);font-weight:700;color:var(--bz-gold);letter-spacing:.5px;margin-right:1px}
.bz-dim-row i{font-style:normal;color:rgba(194,155,78,.5);transform:translateY(-1px)}
.bz-dim-row span{font-family:var(--font);color:var(--bz-ink2);letter-spacing:.3px}
/* 邀请页二维码 */
.inv-qr{display:flex;justify-content:center;align-items:center;min-height:120px}
.inv-qr svg{width:180px;height:180px;display:block;background:#fff}
/* 团队合盘 · 组队 chips 与股东信息行 */
.team-chip{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid var(--divider);border-radius:10px;margin:4px 6px 0 0;cursor:pointer;font-size:13px;color:var(--bz-ink2);background:#fff;font-family:var(--font);transition:all .15s}
.team-chip.on{border-color:var(--gold);background:linear-gradient(180deg,#fffdf6,#FBF4E4);color:var(--bz-ink)}
.team-chip .ld{font-size:10px;color:var(--gold)}
.team-row{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 0;border-bottom:1px dashed var(--divider);font-size:13px;color:var(--bz-ink2)}
.bz-ptable.bz-sm th,.bz-ptable.bz-sm td{font-size:11px;padding:5px 4px}
/* AI 报告表格：固定布局 + 智能列宽（colgroup），长文案自动换行不挤压短列 */
.bz-ptable.bz-fixed{table-layout:fixed;width:100%}
.bz-ptable.bz-fixed th,.bz-ptable.bz-fixed td{word-break:break-word;overflow-wrap:break-word;text-align:left;vertical-align:top}
.bz-ptable.bz-fixed th{white-space:normal}
/* —— 报告可视化组件（对标四柱排盘质感）—— */
/* 维度节头：鎏金圆章 + 标题 + 渐隐线 */
.bz-sec .sh .no-cn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:linear-gradient(135deg,#E8C87A,#B08D2E);color:#23201A;font-family:var(--serif);font-weight:700;font-size:14px;flex:0 0 auto;box-shadow:0 1px 3px rgba(176,141,46,.3);letter-spacing:1px;text-indent:1px;box-sizing:border-box}
.bz-sec .sh .sh-t{font-weight:700;font-size:16px;color:var(--bz-ink)}
.bz-sec .sh .sh-t::after{content:'';display:block;width:100%;height:2px;margin-top:5px;background:linear-gradient(90deg,rgba(194,155,78,.55),transparent);border-radius:1px}
.bz-sec .sh .sh-t{display:block;flex:1}
/* 评级徽章 */
.bd{display:inline-block;padding:2px 9px;border-radius:6px;font-size:11.5px;font-weight:700;line-height:1.5;white-space:nowrap}
.bd-good{background:rgba(91,140,110,.14);color:#4E7D5F;border:1px solid rgba(91,140,110,.4)}
.bd-mid{background:rgba(194,155,78,.14);color:#A87C3A;border:1px solid rgba(194,155,78,.42)}
.bd-low{background:rgba(192,88,75,.1);color:#C0584B;border:1px solid rgba(192,88,75,.35)}
/* 评分条组（健康度/合作决策/稳定忠诚等评分表自动转换） */
.score-wrap{margin:4px 0 8px}
.score-total{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:2px 0 12px;padding:10px;background:linear-gradient(180deg,#FDFBF5,#FBF4E4);border:1px solid rgba(194,155,78,.4);border-radius:10px}
.score-total .st-l{font-size:14px;color:var(--bz-ink);font-weight:700;letter-spacing:1px}
.score-total b{font-size:36px;color:var(--bz-gold);font-family:var(--serif);line-height:1}
.score-total .st-r{font-size:13px;color:var(--bz-ink2)}
.score-set{background:#FBF7EE;border:1px solid var(--divider);border-radius:10px;padding:8px 14px}
.score-row{display:flex;align-items:center;gap:10px;padding:7px 0}
.score-row+.score-row{border-top:1px dashed #eee5d2}
.sr-name{width:104px;flex:none;font-size:12.5px;color:var(--bz-ink);word-break:break-all}
.sr-bar{flex:1;height:10px;background:#ece4d0;border-radius:5px;overflow:hidden}
.sr-fill{height:100%;background:linear-gradient(90deg,#E8C87A,#C29B4E);border-radius:5px}
.sr-val{width:62px;flex:none;text-align:right;font-family:var(--serif);font-weight:700;color:var(--bz-ochre);font-size:13.5px}
.sr-val i{font-style:normal;font-size:10.5px;color:var(--bz-ink2);font-weight:400}
/* 百分比迷你条 */
.pct-row{display:flex;flex-direction:column;gap:3px;align-items:stretch}
.pct-bar{width:100%;height:8px;background:#ece4d0;border-radius:4px;overflow:hidden}
.pct-fill{height:100%;background:linear-gradient(90deg,#9fbf9f,#5B8C6E);border-radius:4px}
.pct-num{width:auto;flex:none;font-size:11px;color:var(--bz-ink2);text-align:right}
/* 长报告阅读基础设施 */
.md-nav{display:flex;gap:6px;overflow-x:auto;padding:9px;background:#FBF7EE;border:1px solid var(--divider);border-radius:10px;margin-bottom:6px}
.md-nav a{white-space:nowrap;font-size:12px;color:var(--bz-ochre);background:#fff;border:1px solid rgba(194,155,78,.35);border-radius:20px;padding:4px 11px;cursor:pointer;text-decoration:none;flex:0 0 auto}
.md-nav a:active{background:#F5EEDC}
.bz-lead{background:linear-gradient(180deg,#FDFBF5,#FBF4E4);border-left:3px solid var(--bz-gold);border-radius:0 8px 8px 0;padding:10px 12px;margin:2px 0 12px;color:var(--bz-ink)}
.bigquote{font-family:var(--serif);font-size:17px;line-height:2;text-align:center;color:var(--bz-ink);padding:14px 10px;background:linear-gradient(180deg,#FDFBF5,#FBF4E4);border-radius:10px;border:1px solid rgba(194,155,78,.3);margin:2px 0 12px}
.bz-li-card{display:flex;gap:9px;background:#FBF7EE;border-radius:8px;padding:9px 11px;margin-bottom:7px;align-items:flex-start}
.bz-li-card .dot{width:6px;height:6px;border-radius:50%;background:var(--bz-gold);margin-top:8px;flex:none}
.bz-li-card b{color:var(--bz-ochre)}
/* 生产模式：隐藏演示工具条与页面目录（?debug=1 时 body.dev 恢复显示） */
.dev-only{display:none!important}
body.dev .dev-only{display:block}
/* 手机预览区常显版本徽章 */
.ver-badge{position:absolute;right:10px;bottom:6px;font-size:10px;color:#B8B2A4;letter-spacing:.5px;z-index:6}
/* 报告操作条：保存 PDF / 复制全文 / 分享海报 */
.ra-bar{display:flex;gap:8px;margin:12px 0}
.ra-item{flex:1;text-align:center;background:#FBF7EE;border:1px solid rgba(194,155,78,.4);border-radius:10px;padding:10px 4px;font-size:12.5px;color:var(--bz-ochre);cursor:pointer;font-weight:700}
.ra-item:active{background:#F5EEDC}
.ra-item .ra-ic{margin-right:4px}
/* 打印/导出 PDF 样式：解除手机容器高度与滚动裁剪，报告全文完整分页 */
@media print{
  @page{margin:10mm}
  body{background:#fff!important}
  .stage{display:block!important;padding:0!important;height:auto!important;gap:0!important;background:#fff!important}
  .stage-left,.stage-right,.phone-notch,.statusbar,.capsule,.navbar,.tabbar,.ver-badge,.dev-only,
  .ai-actions,.ra-bar,.btn,.toolbar,.acc-card,.acc-divider,.md-nav{display:none!important}
  .phone{display:block!important;width:100%!important;min-width:0!important;height:auto!important;
    border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  .page-root{display:block!important;overflow:visible!important;height:auto!important;flex:none!important}
  .page{min-height:auto!important;background:#fff!important;padding:0!important;overflow:visible!important}
  .page *{overflow:visible!important}
  .bz-hero{padding:6mm 0 4mm!important;box-shadow:none!important;background:#fff!important}
  .bz-ptable,.bz-sec,.score-wrap,.acc-avatar{page-break-inside:avoid}
  .bz-report-disclaimer,.bz-endnote{page-break-inside:avoid}
}
/* —— 报告末尾统一免责声明（写死，所有报告必带） */
.bz-report-disclaimer{margin-top:14px;padding:12px 14px;background:linear-gradient(180deg,#FDFBF5,#FBF4E4);border:1px dashed rgba(194,155,78,.45);border-radius:10px}
.bz-report-disclaimer .rd-t{font-family:var(--serif);font-weight:700;color:var(--bz-ochre);font-size:13px;letter-spacing:1px}
.bz-report-disclaimer .rd-b{margin-top:6px;font-size:12px;line-height:1.9;color:var(--bz-ink2)}
/* 账号卡与登录页（深色墨玉质感） */
.acc-card{background:linear-gradient(160deg,#23201A,#3a342a);border-radius:14px;padding:18px;color:#FBF7EE;margin-top:6px}
.acc-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.acc-prefix{color:rgba(251,247,238,.55);font-size:14px;flex:none}
.acc-input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(194,155,78,.35);border-radius:10px;padding:11px 12px;color:#FBF7EE;font-family:var(--font);font-size:14px;outline:none;min-width:0}
.acc-input::placeholder{color:rgba(251,247,238,.4)}
.acc-input:focus{border-color:var(--gold);background:rgba(255,255,255,.1)}
.acc-code-btn{min-width:110px;text-align:center;border:1px solid var(--gold);color:#E8C87A;border-radius:10px;padding:11px 8px;font-size:13px;cursor:pointer;flex:none}
.acc-code-btn.off{opacity:.5;cursor:default}
.acc-btn{width:100%;text-align:center;background:linear-gradient(180deg,#E8C87A,#C29B4E);color:#23201A;border-radius:10px;padding:12px;font-weight:700;letter-spacing:2px;cursor:pointer;margin-top:6px;font-size:15px}
.acc-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#E8C87A,#C29B4E);color:#23201A;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:18px;flex:none}
.acc-divider{display:flex;align-items:center;gap:10px;color:rgba(251,247,238,.4);font-size:11px;margin:14px 0}
.acc-divider::before,.acc-divider::after{content:'';flex:1;height:1px;background:rgba(251,247,238,.15)}
.acc-card .li-title{color:#FBF7EE}
.acc-card .bz-muted{color:rgba(251,247,238,.55)}

/* 两列表定义卡（基本信息类表格的精致形态） */
.def-list{border:1px solid var(--divider);border-radius:10px;overflow:hidden;background:#fff;margin:6px 0 10px}
.def-row{display:flex;gap:12px;padding:10px 13px;border-bottom:1px dashed #eee5d2;align-items:baseline}
.def-row:last-child{border-bottom:none}
.def-row:nth-child(odd){background:#FDFBF5}
.def-k{width:96px;flex:none;color:var(--bz-ochre);font-family:var(--serif);font-weight:700;font-size:13px}
.def-v{flex:1;min-width:0;color:var(--bz-ink);line-height:1.8;font-size:13.5px}
/* 表格与上下文的呼吸间距 */
.bz-sec .sb>.bz-ptable,.bz-sec .sb>.score-wrap,.bz-sec .sb>.def-list{margin:6px 0 12px}

/* —— 报告图形组件库（对标竞品命盘可视化）—— */
/* 维度模块标题：金底横条 */
.bz-sec{background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:14px;box-shadow:0 1px 5px rgba(60,50,20,.07)}
.bz-sec .sh{display:flex;align-items:center;gap:9px;background:linear-gradient(90deg,#D9BC7E,#C9A85C);color:#23201A;border-radius:9px;padding:8px 12px;margin:0 0 12px}
.bz-sec .sh .no-cn{min-width:28px;height:28px;padding:0 7px;border-radius:999px;font-size:13px;box-shadow:none;background:rgba(35,32,26,.85);color:#E8C87A}
.bz-sec .sh .sh-t{font-weight:700;font-size:15.5px;color:#23201A;flex:1}
.bz-sec .sh .sh-t::after{display:none}
.bz-sec .sh::after{content:'';margin-left:auto;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid rgba(35,32,26,.5)}
.bz-sec .sh .no{background:rgba(35,32,26,.85);color:#E8C87A;border-radius:6px}
/* 周期柱状图（大运/流年/风险节点 自动转换） */
.cyc-chart{margin:6px 0 12px;background:#FBF7EE;border-radius:10px;padding:14px 10px 10px}
.cyc-bars{display:flex;align-items:flex-end;gap:6px;height:150px}
.cyc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.cyc-lv{font-size:10.5px;color:var(--bz-ochre);margin-bottom:4px}
.cyc-bar{width:100%;max-width:44px;display:flex;align-items:flex-end;justify-content:center;height:100%}
.cyc-fill{width:100%;background:linear-gradient(180deg,#E3C67E,#C9A85C);border-radius:6px 6px 2px 2px}
.cyc-col.cur .cyc-fill{background:linear-gradient(180deg,#8a6a2e,#6b4e1e)}
.cyc-col.cur .cyc-lv{color:#23201A;font-weight:700}
.cyc-year{font-size:10.5px;color:var(--bz-ink);margin-top:5px;overflow-wrap:break-word}
.cyc-sub{font-size:9.5px;color:var(--bz-ink2);overflow-wrap:break-word}
.cyc-cap{text-align:center;font-size:11px;color:var(--bz-ink2);margin-top:8px}
/* 五行彩色能量条 */
.wux-row{display:flex;align-items:center;gap:10px;padding:7px 0}
.wux-name{width:20px;flex:none;text-align:center;font-family:var(--serif);font-weight:700;font-size:15px}
.wux-bar{flex:1;height:14px;background:#F0EADA;border-radius:7px;overflow:hidden}
.wux-fill{height:100%;border-radius:7px}
.wux-val{width:84px;flex:none;text-align:right;font-size:12px;color:var(--bz-ink2)}
/* 旺衰六档刻度条 */
.wscale{width:100%;padding:2px 0}
.ws-track{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,#9BBE7E,#E8C87A);overflow:visible}
.ws-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#9BBE7E,#D9BC7E);opacity:.85}
.ws-knob{position:absolute;top:-4px;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #C9A85C;box-shadow:0 1px 4px rgba(0,0,0,.25);transform:translateX(-50%)}
.ws-lv{text-align:center;font-size:12px;color:var(--bz-ochre);font-weight:700;margin-top:5px}
/* 黑金格局胶囊 */
.cap-dark{display:inline-block;background:#23201A;color:#E8C87A;padding:6px 16px;border-radius:20px;font-family:var(--serif);font-weight:700;font-size:13.5px;letter-spacing:1px}
/* 两列表定义卡 */
.def-list{border:1px solid var(--divider);border-radius:10px;overflow:hidden;background:#fff;margin:6px 0 12px}
.def-row{display:flex;gap:12px;padding:10px 13px;border-bottom:1px dashed #eee5d2;align-items:baseline}
.def-row:last-child{border-bottom:none}
.def-row:nth-child(odd){background:#FDFBF5}
.def-k{width:96px;flex:none;color:var(--bz-ochre);font-family:var(--serif);font-weight:700;font-size:13px}
.def-v{flex:1;min-width:0;color:var(--bz-ink);line-height:1.8;font-size:13.5px}
/* 表格呼吸间距 */
.bz-sec .sb>.bz-ptable,.bz-sec .sb>.score-wrap,.bz-sec .sb>.def-list,.bz-sec .sb>.cyc-chart,.bz-sec .sb>.wux-chart{margin:6px 0 12px}
.wux-chart{background:#FBF7EE;border-radius:10px;padding:10px 14px}

/* 报告开头信息块：卡片网格 */
.meta-grid{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 12px}
/* 基本信息单列紧凑版（一行一条 · 一尘老师指令） */
.meta-list{background:#FBF7EE;border:1px solid var(--divider);border-radius:10px;padding:6px 12px;margin:4px 0 12px}
.meta-list .ml-row{display:flex;align-items:baseline;padding:5px 0;border-bottom:1px dashed rgba(168,124,58,.16)}
.meta-list .ml-row:last-child{border-bottom:none;padding-bottom:2px}
.meta-list .ml-row:first-child{padding-top:2px}
.meta-list .mk{flex:0 0 92px;font-size:11.5px;color:var(--bz-ochre);font-family:var(--serif);font-weight:700;letter-spacing:3px}
.meta-list .mv{flex:1;font-size:13px;line-height:1.6;color:var(--bz-ink);min-width:0}
.meta-list .mv b{color:var(--bz-ochre)}
.meta-list .mv-lunar{display:block;margin-top:1px;font-size:11.5px;color:var(--bz-ochre);opacity:.9;letter-spacing:.3px}
.meta-card{flex:1 1 46%;min-width:128px;background:#FBF7EE;border:1px solid var(--divider);border-radius:9px;padding:7px 10px}
.meta-card.wide{flex-basis:100%}
.meta-card .mk{display:block;font-size:11px;color:var(--bz-ochre);font-family:var(--serif);font-weight:700;margin-bottom:2px;letter-spacing:.5px}
.meta-card .mv{display:block;font-size:12.8px;color:var(--bz-ink);line-height:1.55}
/* 出生时间第二行：农历干支（鎏金小字，另起一行） */
.meta-card .mv-lunar{display:block;margin-top:2px;font-size:11.5px;color:var(--bz-ochre);opacity:.9;letter-spacing:.3px}
/* 旺衰刻度卡 */
.str-card{background:#FBF7EE;border:1px solid rgba(194,155,78,.35);border-radius:10px;padding:11px 13px;margin:6px 0 12px}
.str-head{font-size:13px;color:var(--bz-ink);font-weight:700;margin-bottom:10px}
.str-head b{font-family:var(--serif);font-size:26px;color:var(--bz-gold);margin:0 2px}
.str-lv{margin-left:8px;font-size:12px;color:#23201A;background:#E8C87A;border-radius:14px;padding:2px 12px}
.ws-ticks{display:flex;justify-content:space-between;font-size:10.5px;color:var(--bz-ink2);margin-top:7px}

/* 深度报告中的四柱排盘表：对齐非深度版质感（暖色表头 + 隔行纹 + 日柱高亮 + 圆角卡） */
.bz-ptable.paipan{border-radius:10px;overflow:hidden;border:1px solid var(--divider);background:#fff}
.bz-ptable.paipan th{background:linear-gradient(180deg,#FBF4E4,#F5EEDC)}
.bz-ptable.paipan tbody tr:nth-child(even){background:#FDFBF5}
.bz-ptable.paipan td.c-day,.bz-ptable.paipan th.c-day{background:rgba(194,155,78,.12)!important}
/* 人脉库：分组折叠 + 紧凑成员行 */
.pm-group{border:1px solid var(--divider);border-radius:10px;background:#fff;margin-bottom:8px;overflow:hidden}
.pm-group>summary{padding:10px 12px;font-weight:700;font-size:13.5px;color:var(--bz-ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.pm-group>summary::-webkit-details-marker{display:none}
.pm-group>summary::after{content:'▾';color:var(--bz-ochre);font-size:12px}
.pm-group[open]>summary::after{content:'▴'}
.pm-group>summary .pm-n{font-size:11.5px;color:var(--bz-ink2);font-weight:400}
.pm-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px dashed #eee5d2}
.pm-ava{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:14px;flex:none}
.pm-main{flex:1;min-width:0}
.pm-name{font-size:13.5px;color:var(--bz-ink);font-weight:700}
.pm-sub{font-size:11px;color:var(--bz-ink2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* —— 报告精致度统一微调（表格/图表字号、间距、圆角）—— */
.bz-ptable{font-size:12px}
.bz-ptable th{font-size:11.5px;padding:7px 8px;letter-spacing:.5px;font-weight:700}
.bz-ptable td{padding:7px 8px;line-height:1.65;font-size:12px}
.bz-ptable.bz-sm td,.bz-ptable.bz-sm th{font-size:10.8px;padding:5px 6px;line-height:1.55}
.def-row{padding:8px 12px}
.def-k{font-size:12.5px}
.def-v{font-size:12.5px;line-height:1.75}
.score-row{padding:5px 0}
.sr-name{width:100px;font-size:12px}
.sr-bar{height:9px;border-radius:5px}
.sr-val{font-size:13px}
.wux-row{padding:5px 0}
.wux-bar{height:12px;border-radius:6px}
.wux-name{font-size:14px}
.wux-val{font-size:11.5px;width:96px}
.cyc-bars{height:128px;gap:5px}
.cyc-lv{font-size:10px}
.cyc-year{font-size:10px}
.cyc-sub{font-size:9px}
.meta-card{padding:8px 10px}
.meta-card .mk{font-size:11px}
.meta-card .mv{font-size:12.3px;line-height:1.6}
.str-card{padding:10px 12px}
.ws-ticks{font-size:10px}
/* 报告集删除按钮 */
.rh-del{flex:none;font-size:11px;color:var(--bz-ink2);border:1px solid var(--divider);border-radius:6px;padding:3px 8px;cursor:pointer;background:#fff}
.rh-del:active{background:#F5EEDC;color:#C0584B;border-color:#C0584B}
/* 名人档案/案例库列表行 */
.np-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--divider);border-radius:10px;margin-bottom:8px;background:#fff;cursor:pointer}
.np-row:active{background:#FDFBF5}

/* —— 报告新组件：层级标题 / 雷达图 / 结论块 / 关键数字 —— */
.md-h1{text-align:center;font-family:var(--serif);font-size:22px;letter-spacing:3px;color:var(--bz-ink);padding:14px 0 10px;margin-bottom:4px;border-bottom:2px solid rgba(194,155,78,.45)}
.md-h1body{padding-top:6px}
.md-h3{font-size:13.5px;font-weight:700;color:var(--bz-ochre);font-family:var(--serif);letter-spacing:.5px;margin:14px 0 7px;padding-left:9px;border-left:3px solid var(--bz-gold)}
.bz-key{background:linear-gradient(180deg,#FDFBF5,#FBF4E4);border:1px solid rgba(194,155,78,.45);border-left:4px solid var(--bz-gold);border-radius:10px;padding:10px 13px;margin:2px 0 12px;font-weight:700;color:var(--bz-ink);line-height:1.8}
.kn{color:var(--bz-ochre);font-family:var(--serif);font-size:1.08em}
.radar-wrap{display:flex;justify-content:center;margin:2px 0 10px}
/* —— 全站视觉体系（Task2 · 仅样式）—— */
.btn{transition:transform .12s, box-shadow .15s, opacity .15s}
.btn:active{transform:translateY(1px)}
.btn-gold{box-shadow:0 2px 8px rgba(194,155,78,.28)}
.btn:focus-visible,.input:focus-visible,.textarea:focus-visible,.acc-input:focus-visible{outline:2px solid rgba(194,155,78,.55);outline-offset:2px}
.input,.textarea,.acc-input{transition:border-color .15s, box-shadow .15s, background .15s}
.input:focus,.textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,155,78,.14)}
.bz-card{transition:box-shadow .15s}
.bz-relbar{scrollbar-width:none}
.bz-relbar::-webkit-scrollbar{display:none}
.page-root::-webkit-scrollbar,.md-nav::-webkit-scrollbar,.wux-chart::-webkit-scrollbar{width:6px;height:6px}
.page-root::-webkit-scrollbar-thumb,.md-nav::-webkit-scrollbar-thumb{background:rgba(194,155,78,.35);border-radius:3px}
.rel-chip{transition:all .15s}
.pt-label{font-size:11.5px;color:var(--bz-ink2);letter-spacing:3px;white-space:nowrap}
.img,svg,img{max-width:100%}
/* —— 响应式：窄屏/移动端 —— */
@media (max-width: 980px){
  .stage{flex-direction:column;padding:12px;gap:14px;height:auto;min-height:100vh}
  .stage-left{width:100%;order:1}
  .stage-left .stage-note{display:none}
  .phone{order:2;width:100%!important;max-width:430px;margin:0 auto}
  .stage-right{order:3;width:100%}
  body.dev .stage-left .brand{display:none}
}
@media (max-width: 430px){
  .stage{padding:8px}
  .phone{border-radius:26px}
  .bz-ptable th,.bz-ptable td{padding:5px 5px;font-size:11px}
}

/* ===== 2026-10-01 报告体验优化：表格横向滚动 / 折叠箭头 / 回到顶部 ===== */
/* 表格过宽时在卡片内横向滑动，不再撑破页面布局 */
.bz-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border-radius:12px;margin:6px 0 12px}
.bz-table-scroll>.bz-ptable{margin:0}
.bz-table-scroll::-webkit-scrollbar{height:6px}
.bz-table-scroll::-webkit-scrollbar-thumb{background:rgba(194,155,78,.4);border-radius:3px}
.bz-table-scroll::-webkit-scrollbar-track{background:rgba(35,32,26,.05);border-radius:3px}
/* 首页「每日修行」折叠箭头 */
.bz-group-h.bz-group-h-toggle{cursor:pointer;user-select:none}
.bz-group-h .bz-chev{margin-left:auto;font-size:13px;color:var(--bz-ink2);transition:transform .15s ease;flex:none}
/* 报告页回到顶部悬浮按钮 */
.bz-totop{position:fixed;right:14px;bottom:74px;z-index:60;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;line-height:1;
  background:linear-gradient(180deg,var(--gold-3),var(--gold));box-shadow:0 6px 18px rgba(194,155,78,.42);
  cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease;font-family:var(--serif)}
.bz-totop:active{transform:scale(.92)}


/* ===== 导出 PDF 打印样式（window.print 时只保留报告内容） ===== */
@media print{
  .navbar,.tabs-x,.toolbar,.ob-footer,.md-nav,.ra-bar,.bz-tabbar,.bz-subtabs,.bz-report-actions,.btn,.ob-screen .ob-footer{display:none!important}
  body{background:#fff!important}
  .bz-sec{box-shadow:none!important;border:1px solid #eee!important;page-break-inside:avoid}
  .bz-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}