:root{
  --border:#d9d9d9;
  --muted:#666;
  --bg:#f6f2e9;
  --card:#fff;

  --wood:#BFE8C6;
  --fire:#F7B7B7;
  --earth:#f1e2c7;
  --metal:#E6E6E6;
  --water:#B7D9F7;

  --hi:#f6eddc;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111}
.wrap{max-width:1220px;margin:22px auto;padding:0 16px}
.top{margin-bottom:14px}
h1{margin:0;font-size:22px}
.panel{background:var(--card);border:1px solid #e5e5e5;border-radius:12px;padding:14px;margin-bottom:14px}
.inputs{display:grid;gap:10px}
.inputs label{display:flex;flex-direction:column;font-size:12px;color:#444;gap:6px}
.inputs select,.inputs input{border:1px solid var(--border);border-radius:10px;padding:10px;font-size:13px;background:#fff}
.inputs.v13{grid-template-columns:repeat(6,1fr)}
.inputs.v13 .wide{grid-column:span 4}
.group{grid-column:span 3;border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}
.group-title{font-weight:1000;font-size:12px;color:#222;margin-bottom:8px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.row2{display:grid;grid-template-columns:repeat(2,1fr) 1.4fr;gap:10px;align-items:end}
.checkbox{flex-direction:row !important;align-items:center;gap:10px !important;padding:10px 0 0}
.checkbox input{width:18px;height:18px}
.above-actions{grid-column:1/-1;margin-top:2px}
.note{color:var(--muted);font-size:12px;line-height:1.35}
.actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;align-items:center;padding-top:4px}
.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:1000;cursor:pointer}
.btn.primary{background:#111;color:#fff}
.btn.secondary{background:#eaeaea;color:#111}
.section-title{margin:0 0 10px;font-size:14px;font-weight:1000}
.chart-block{margin:14px 0}
.top-output{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.box{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}
.box.span2{grid-column:span 2}
.box ul{margin:0;padding:0 0 0 18px}
.box li{margin:6px 0;font-size:12px;font-weight:800}
.life-line{display:flex;gap:12px;align-items:center}
.life-num{font-size:42px;font-weight:1100;min-width:48px;text-align:center}
.life-el{font-size:13px;font-weight:1000;color:#222}
.gua-line{display:flex;gap:12px;align-items:center}
.gua-tri{width:92px;height:92px;border:1px solid var(--border);border-radius:12px;background:#fafafa;display:flex;align-items:center;justify-content:center}
.gua-name{font-weight:1100}
.gua-dir,.gua-group{font-size:12px;color:#333;font-weight:900;margin-top:6px}
.strength{display:flex;flex-direction:column;gap:8px}
.bar{display:grid;grid-template-columns:84px 1fr 52px;gap:10px;align-items:center}
.bar .lbl{font-weight:1000;font-size:12px}
.bar .track{height:10px;background:#efefef;border-radius:999px;overflow:hidden;border:1px solid #e4e4e4}
.bar .fill{height:100%}
.bar .pct{font-weight:1000;font-size:12px;text-align:right;color:#222}
.stars{margin-top:12px}
.stars-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.star-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}
.star-card .k{font-size:11px;color:#666;font-weight:1000}
.star-card .v{margin-top:6px;font-size:12px;font-weight:1100}
.meta-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:10px 0 10px}
.meta-cell{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;text-align:center}
.meta-cell .k{font-size:11px;color:#666;font-weight:1000}
.meta-cell .v{margin-top:6px;font-size:12px;font-weight:1100}
.matrix{display:grid;gap:8px;align-items:stretch}
.m-label{font-weight:1100;font-size:12px;color:#333;display:flex;align-items:center;padding:10px;border-radius:12px;background:#f7f7f7;border:1px solid var(--border)}
.m-colhead{font-weight:1100;text-align:center;padding:10px;border-radius:12px;background:#f7f7f7;border:1px solid var(--border)}
.m-cell{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;min-height:78px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.m-cell.small{min-height:58px}
.m-cell .en{font-weight:1100;font-size:14px;line-height:1.1}
.m-cell .py{margin-top:6px;font-weight:900;font-size:12px;color:#222}
.m-cell .sub{margin-top:6px;font-weight:900;font-size:11px;color:#222}
.m-cell .hs{display:flex;gap:8px;align-items:baseline;justify-content:center;flex-wrap:wrap}
.m-cell .hs .main{font-weight:1200;font-size:13px}
.m-cell .hs .other{font-weight:900;font-size:11px;color:#222}
.cell-wood{background:var(--wood)}
.cell-fire{background:var(--fire)}
.cell-earth{background:var(--earth)}
.cell-metal{background:var(--metal)}
.cell-water{background:var(--water)}
.dayStem .en{color:#1b7f3a}
.luck-wrap{display:flex;flex-direction:column;gap:8px}
.luck-row{display:grid;gap:8px}
.luck-row .cell{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;text-align:center;font-weight:1100}
.luck-row.years .cell{font-size:11px;font-weight:1000;color:#333}
.hi{background:var(--hi) !important;outline:3px solid rgba(0,0,0,0.10)}
.foot{margin:18px 0 28px}
.muted{color:var(--muted);font-size:12px;font-weight:900}
@media (max-width: 980px){
  .top-output{grid-template-columns:1fr}
  .box.span2{grid-column:auto}
  .stars-grid{grid-template-columns:1fr 1fr}
  .inputs.v13{grid-template-columns:repeat(2,1fr)}
  .inputs.v13 .wide{grid-column:1/-1}
  .group{grid-column:1/-1}
  .row2{grid-template-columns:repeat(2,1fr)}
  .meta-row{grid-template-columns:1fr 1fr}
}

/* v1.5.4 */
.inputs label[for='name'], .inputs label[for='gender']{font-weight:1200}
body{font-size:16px}
.inputs select,.inputs input{font-size:16px}
h1{font-size:22px}
.life-num{font-size:42px}
.luck-row.age .cell{font-size:inherit}
.box,.panel{padding:10px}
.m-cell{padding:8px}
:root{--border:#e3e0da}
.box,.panel,.group,.m-cell,.meta-cell,.m-label,.m-colhead,.star-card,.luck-row .cell{border:1px solid var(--border)}
.gua-tri{width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.gua-tri svg{width:28px;height:28px}
.strength .row .label, .strength .row .pct{font-size:16px;font-weight:1100}
.box.good h2{color:#1b7f3a;font-weight:1200}
.box.bad h2{color:#b41f1f;font-weight:1200}
.box.good li,.box.bad li{font-weight:900}
.box.good li *,.box.bad li *{font-weight:900}
.yy{font-weight:1200}
.meta-row{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}


/* v1.5.5 */
body{font-size:16px}
.inputs label{font-size:16px}
.inputs select,.inputs input{font-size:16px}
.section-title{font-size:16px;font-weight:1200}
.note{font-size:14px}
h1{font-size:22px}
.life-num{font-size:42px}
.luck-row.age .cell{font-size:inherit}
:root{--border:#e3e0da}
.box,.panel,.group,.m-cell,.meta-cell,.m-label,.m-colhead,.star-card,.luck-row .cell{border:1px solid var(--border)}
.box,.panel{padding:10px}
.m-cell{padding:8px}
.inputs .lbl-ng{font-weight:1200}
.gua-tri{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.gua-tri svg{width:34px;height:34px}
.box.good h2{color:#1b7f3a;font-weight:1200}
.box.bad h2{color:#b41f1f;font-weight:1200}
.box.good li,.box.bad li{font-weight:900}
.box.good li b,.box.bad li b{font-weight:1200}
.box.good li .abbr,.box.bad li .abbr{font-weight:900}
.box.good li .cn,.box.bad li .cn{font-weight:900}
.bar .lbl,.bar .pct{font-size:16px;font-weight:900}
.meta-row{margin-left:140px}
.meta-row{grid-template-columns:repeat(7,1fr)}


/* v1.5.6 */
.group-title{font-size:18px;font-weight:1200}
.lbl-ng{font-weight:1200}
.box.gua .gua-line{display:flex;gap:14px;align-items:center}
.box.gua .gua-tri{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0}
.box.gua .gua-tri svg{width:44px;height:44px}
.box.gua .gua-meta{display:flex;flex-direction:column;gap:4px}
.m-cell .en{font-weight:1200}
.m-cell .py,.m-cell .sub{font-weight:900}
.m-cell .hs .main{font-weight:1200}
.m-cell .hs .other{font-weight:900}


/* v1.5.11 */
.lbl-ng{font-weight:1200;}


/* v1.5.14 – Bold Yin/Yang (EN) only */
.yy{font-weight:700;}
.cn,.zh,.han,.hz{font-weight:400;}
.pill .cn,.m-cell .cn{font-weight:400;}


/* v1.5.15 – Bold Elements & Animals (EN) */
.en-strong{font-weight:700;}


/* v1.5.16 – Only bold EN Yin/Yang, Elements, Animals */
.m-cell, .luck-row .cell { font-weight: 400; }
.m-cell * , .luck-row .cell * { font-weight: 400; }
.yy, .en-strong { font-weight: 700 !important; }
.cn, .symbol, .hz, .hanzi { font-weight: 400 !important; }
