/* 三马AI 工具页共用样式 */
:root{
  --accent:#4d6bfe; --accent2:#eef1ff; --accent3:#dfe5ff;
  --bg:#fff; --bg2:#f7f8fa; --line:#e9ebf0; --line2:#f2f3f6;
  --text:#14171f; --t2:#5b6373; --t3:#9aa1ad;
  --red:#d92d20; --green:#16a34a; --orange:#e97b0b;
  --shadow:0 10px 30px rgba(20,30,60,.06);
  --r:16px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  background:var(--bg); color:var(--text); min-height:100vh;
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.85}
button{font:inherit;color:inherit;cursor:pointer}
img,svg{vertical-align:middle}

/* ---------- 顶部导航 ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.nav .inner{max-width:1120px;margin:0 auto;padding:0 18px;height:58px;display:flex;align-items:center;gap:18px}
.nav .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:17px;color:var(--text);flex:none}
.nav .brand svg{width:26px;height:26px}
.nav .brand i{font-style:normal;color:var(--accent)}
.nav .links{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.nav .links::-webkit-scrollbar{display:none}
.nav .links a{padding:6px 11px;border-radius:9px;font-size:14px;color:var(--t2);white-space:nowrap}
.nav .links a:hover{background:var(--bg2);color:var(--text);opacity:1}
.nav .links a.on{background:var(--accent2);color:var(--accent);font-weight:600}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.nav .who{font-size:13px;color:var(--text);font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav .mini{padding:6px 13px;border-radius:9px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--t2)}
.nav .mini.pri{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.nav .mini:hover{opacity:.88}

/* ---------- 版心 ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:26px 18px 60px}
.hero{padding:24px 0 20px}
.hero h1{font-size:30px;line-height:1.35;letter-spacing:-.3px}
.hero h1 small{display:block;font-size:13px;color:var(--t3);font-weight:400;letter-spacing:.4px;margin-bottom:8px}
.hero p{color:var(--t2);margin-top:10px;max-width:760px}
.hero .tag{display:inline-block;font-size:12px;color:var(--accent);background:var(--accent2);
  border-radius:999px;padding:3px 10px;margin-bottom:12px;letter-spacing:.5px}
.hero-cta{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.hero-cta .btn{display:inline-flex;align-items:center;height:42px;opacity:1}
.hero-cta .small{margin:0}
@media(max-width:640px){.hero-cta .btn{width:100%;justify-content:center}}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card + .card{margin-top:16px}
.card h2{font-size:18px;margin-bottom:4px}
.card h2 .sub{font-size:12.5px;color:var(--t3);font-weight:400;margin-left:8px}
.card h3{font-size:15px;margin:18px 0 8px;color:var(--text)}
.card h3:first-child{margin-top:0}
.muted{color:var(--t2)}
.small{font-size:12.5px;color:var(--t3);line-height:1.7}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.row > .fld{flex:1 1 118px;min-width:0}

/* ---------- 表单 ---------- */
label.fld{display:block;font-size:12px;color:var(--t3);letter-spacing:.3px;margin-bottom:5px}
input,select,textarea{
  width:100%;height:44px;border:1px solid #dfe3ec;border-radius:10px;padding:0 13px;
  font:15px/1.5 inherit;color:var(--text);background:#fff;outline:none;transition:.15s
}
textarea{height:auto;min-height:88px;padding:11px 13px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,107,254,.1)}
input::placeholder,textarea::placeholder{color:#a8b0c0}
.btn{height:44px;padding:0 20px;border:0;border-radius:10px;background:var(--accent);color:#fff;
  font-weight:600;font-size:15px;transition:.15s;white-space:nowrap}
.btn:hover{filter:brightness(1.06)}
.btn:disabled{opacity:.55;cursor:default;filter:none}
.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--t2);font-weight:400}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--bg2);
  border:1px solid var(--line);font-size:13px;color:var(--t2);cursor:pointer;transition:.14s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- 结果块 ---------- */
.msg{display:none;margin-top:12px;padding:10px 13px;border-radius:10px;font-size:13.5px;line-height:1.6}
.msg.on{display:block}
.msg.err{background:#fef2f2;color:#b42318;border:1px solid #fecaca}
.msg.info{background:var(--accent2);color:#3350d8;border:1px solid var(--accent3)}
.out{display:none;margin-top:18px}
.out.on{display:block}
.kv{display:grid;grid-template-columns:76px 1fr;gap:6px 12px;font-size:14px}
.kv .k{color:var(--t3);font-size:12.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tag{display:inline-block;padding:3px 9px;border-radius:7px;background:var(--bg2);border:1px solid var(--line);
  font-size:12.5px;color:var(--t2)}
.tag.good{background:#eefaf2;border-color:#cdeedb;color:#16803c}
.tag.bad{background:#fef2f2;border-color:#fbd5d5;color:#b42318}
.tag.hot{background:var(--accent2);border-color:var(--accent3);color:var(--accent)}
.score{display:flex;align-items:baseline;gap:8px}
.score b{font-size:40px;line-height:1;font-weight:700;color:var(--accent);letter-spacing:-1px}
.score span{font-size:13px;color:var(--t3)}
.bar{height:8px;border-radius:6px;background:var(--line2);overflow:hidden;margin-top:10px}
.bar > i{display:block;height:100%;border-radius:6px;background:var(--accent)}
.list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.item{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}
.item .t{font-size:15px;font-weight:600}
.item .d{font-size:13.5px;color:var(--t2);margin-top:4px;line-height:1.7}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.box{background:var(--bg2);border-radius:12px;padding:13px 15px;border:1px solid var(--line2)}
.box b{display:block;font-size:13px;color:var(--t3);font-weight:400;margin-bottom:4px}

/* ---------- 四柱 ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:center}
.pillars .p{border:1px solid var(--line);border-radius:12px;padding:12px 4px;background:#fff}
.pillars .p em{display:block;font-style:normal;font-size:11.5px;color:var(--t3);margin-bottom:4px}
.pillars .p b{display:block;font-size:26px;line-height:1.35;font-weight:600;letter-spacing:2px}
.pillars .p span{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.pillars .p.hl{background:var(--accent2);border-color:var(--accent3)}
.pillars .p.hl b{color:var(--accent)}

/* ---------- 万年历 ---------- */
.cal-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cal-hd .now{font-size:19px;font-weight:600;margin-right:auto}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal .w{text-align:center;font-size:12px;color:var(--t3);padding:4px 0}
.cal .d{position:relative;min-height:66px;border-radius:10px;border:1px solid var(--line2);
  padding:6px 6px 4px;cursor:pointer;background:#fff;transition:.12s;text-align:center}
.cal .d:hover{border-color:var(--accent);background:var(--accent2)}
.cal .d.blank{border:0;background:none;cursor:default}
.cal .d.today{border-color:var(--accent);background:var(--accent2)}
.cal .d.sel{border-color:var(--accent);background:var(--accent);color:#fff}
.cal .d b{display:block;font-size:17px;font-weight:600;line-height:1.2}
.cal .d em{display:block;font-style:normal;font-size:11px;color:var(--t3);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .d .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);margin-left:2px}
.cal .d.sel em{color:rgba(255,255,255,.8)}
.cal .d.sel .dot{background:#fff}
.cal .d .ft{position:absolute;left:0;right:0;bottom:3px;font-size:10px;color:var(--orange);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .d.sel .ft{color:#fff}
.legend{display:flex;gap:16px;font-size:12px;color:var(--t3);margin-top:12px}
.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-right:4px}

.dayhero{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.dayhero .date{font-size:22px;font-weight:600}
.dayhero .lunar{font-size:14px;color:var(--t2);margin-top:4px}
.yiji{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.yiji .col b{display:block;font-size:13px;margin-bottom:6px}
.yiji .col.yi b{color:var(--green)}
.yiji .col.ji b{color:var(--red)}

/* ---------- 星座 ---------- */
.signs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sign{border:1px solid var(--line);border-radius:14px;padding:15px 14px;background:#fff;cursor:pointer;
  transition:.15s;position:relative;overflow:hidden}
.sign:hover{border-color:var(--accent);box-shadow:0 8px 22px rgba(77,107,254,.12);transform:translateY(-2px)}
.sign .ic{font-size:26px;line-height:1;color:var(--accent)}
.sign b{display:block;font-size:15.5px;margin-top:6px}
.sign em{display:block;font-style:normal;font-size:11.5px;color:var(--t3);margin-top:2px}
.sign .sc{position:absolute;right:12px;top:12px;font-size:12px;color:var(--t3)}
.sign .sc b{font-size:15px;color:var(--accent);display:inline;margin:0}
.stars{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.stars .st{flex:1 1 88px;min-width:0;text-align:center;background:var(--bg2);border-radius:10px;padding:8px 4px}
.stars .st em{display:block;font-style:normal;font-size:11.5px;color:var(--t3)}
.stars .st b{display:block;font-size:18px;color:var(--accent)}
.pros li,.cons li{font-size:13.5px;line-height:1.8;margin-left:18px}
.pros li::marker{color:var(--green)}
.cons li::marker{color:var(--red)}

/* ---------- 解梦 ---------- */
.dreamcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dream-list .item{display:flex;gap:10px;align-items:flex-start}
.dream-list .item .lk{flex:none;font-size:11.5px;padding:2px 8px;border-radius:6px;margin-top:3px}
.luck-吉{background:#eefaf2;color:#16803c}
.luck-中{background:#fff7e8;color:#a35a00}
.luck-凶{background:#fef2f2;color:#b42318}
.luck-需留意{background:#fff7e8;color:#a35a00}

/* ---------- 工具索引 ---------- */
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tool{display:block;border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff;
  color:var(--text);transition:.15s}
.tool:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(77,107,254,.12);transform:translateY(-2px);opacity:1}
.tool .ic{font-size:22px;color:var(--accent)}
.tool b{display:block;font-size:16px;margin-top:6px}
.tool span{display:block;font-size:12.5px;color:var(--t3);margin-top:4px;line-height:1.6}
.tool .lk{display:inline-block;margin-top:9px;font-size:12px;color:var(--accent)}
.tool .lock{float:right;font-size:11px;color:var(--t3);background:var(--bg2);border-radius:999px;padding:2px 8px}

/* ---------- 登录遮罩 ---------- */
.veil{position:fixed;inset:0;z-index:90;background:rgba(14,18,28,.45);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:18px}
.veil.on{display:flex}
.veil .panel{width:100%;max-width:380px;background:#fff;border-radius:18px;padding:26px 24px;
  box-shadow:0 24px 70px rgba(20,30,60,.22);text-align:center}
.veil .panel h3{font-size:19px;margin-bottom:8px}
.veil .panel p{font-size:13px;color:var(--t2);line-height:1.7;margin-bottom:18px}
.veil .panel .btn{width:100%;margin-bottom:9px}
.veil .panel .close{font-size:12.5px;color:var(--t3);cursor:pointer}

/* ---------- 接着用（站内互链） ---------- */
.moretools .mtgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.mt{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;
  color:var(--text);transition:.15s}
.mt:hover{border-color:var(--accent);box-shadow:0 8px 20px rgba(77,107,254,.1);transform:translateY(-1px);opacity:1}
.mt b{display:block;font-size:14.5px}
.mt em{display:block;font-style:normal;font-size:12px;color:var(--t3);margin-top:4px;line-height:1.6}

/* ---------- 页脚 ---------- */
.foot{margin-top:36px;padding:22px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--t3);
  display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
.foot a{color:var(--t3)}
.foot a:hover{color:var(--accent)}
.foot .footcta{flex:1 0 100%;text-align:center;color:#8a6c3f;font-size:12px}
.foot .footcta a{color:#b08d57;font-weight:600;text-decoration:none}
.foot .footcta a:hover{color:#8a6c3f}

@media(max-width:900px){
  .g4,.tools,.moretools .mtgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dayhero{grid-template-columns:1fr}
  .kv{grid-template-columns:68px 1fr}
}
@media(max-width:640px){
  body{font-size:15.5px}
  .wrap{padding:18px 13px 44px}
  .hero h1{font-size:23px}
  .hero{padding:16px 0 12px}
  .card{padding:16px;border-radius:14px}
  .g2,.g3,.split{grid-template-columns:1fr}
  .signs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tools{grid-template-columns:1fr}
  .nav .inner{height:auto;flex-wrap:wrap;padding:7px 12px;gap:6px 10px}
  .nav .brand{font-size:15.5px}
  .nav .brand svg{width:22px;height:22px}
  .nav .links{display:flex;flex:1 0 100%;order:3;overflow-x:auto;margin:0;padding-bottom:2px;
    -webkit-overflow-scrolling:touch}
  .nav .links a{flex:0 0 auto;padding:8px 10px;font-size:13px;white-space:nowrap}
  .hero h1{font-size:20px;line-height:1.4}
  .hero p{font-size:14.5px;line-height:1.75}
  .nav .right{gap:7px}
  .nav .right .mini{padding:5px 10px;font-size:12px}
  .nav .who{max-width:76px}
  .pillars .p b{font-size:21px}
  .cal-hd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cal-hd .now{grid-column:1/-1;grid-row:1;margin:0 0 2px;font-size:17px}
  .cal-hd .btn{width:100%;padding:0 6px}
  .cal .d{min-height:54px;padding:5px 2px 3px}
  .cal .d b{font-size:15px}
  .cal .d em{font-size:9.5px}
  .cal .d .ft{font-size:9px}
  .score b{font-size:34px}
}

/* ---------- 终端适配：图片 / 代码 / 超长文本 ---------- */
img,video,canvas{max-width:100%;height:auto}
pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.news h3,.hcard b,.frow .tit,.item .t,.box b,.ch b{overflow-wrap:anywhere}

@media(max-width:640px){
  .article table,.card table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .article th,.article td,.card th,.card td{white-space:nowrap}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv{grid-template-columns:60px 1fr}
  .foot{align-items:flex-start}
  .card h2{font-size:17px}
  .article ol,.article ul{padding-left:18px}
  .article .lead{padding:12px 13px;font-size:14px}
  .article h1{font-size:21px}
  .item{padding:12px 13px}
  .box{padding:11px 13px}
  .tabs a{padding:8px 14px;font-size:12.5px}
  .sharebar{gap:6px}
  .sbtn{height:32px;padding:0 12px;font-size:12px}
}

@media(max-width:380px){
  .wrap{padding:14px 11px 40px}
  .hero h1{font-size:18.5px}
  .hero p{font-size:14px}
  .nav .brand{font-size:14.5px}
  .nav .links a{font-size:12.5px;padding:7px 8px}
  .btn{font-size:14px;padding:0 16px}
  .btn,.hero-cta .btn{height:42px}
  .cal{gap:3px}
  .cal .d{min-height:46px}
  .cal .d b{font-size:14px}
  .cal .d em{font-size:9px}
  .pillars .p b{font-size:19px}
  .pager a,.pager span{min-width:32px;height:32px;padding:0 9px;font-size:12.5px}
}

