/* ============================================================
   小白格 · 传统生肖运势网 —— 样式表（宣纸朱砂）
   配色：宣纸米黄底 + 墨黑正文 + 朱砂点题 + 鎏金辅助
   字体：标题楷体 / 正文宋体（求典籍与庄严感）
   结构：移动优先，PC 端在 ≥900px 展开为宽版
   ============================================================ */

:root{
  /* —— 宣纸 —— */
  --paper:#EDE4CF;
  --paper-2:#E4D9BE;
  --paper-3:#DBCDA9;
  --card:#FBF6E9;
  --card-2:#F6EFDE;
  --field:#FDFAF1;

  /* —— 墨 —— */
  --ink:#1C1917;
  --ink-2:#403A32;
  --ink-3:#6C6457;

  /* —— 朱砂 · 印泥 —— */
  --cinnabar:#AC2B22;
  --cinnabar-2:#C0392B;
  --cinnabar-soft:rgba(172,43,34,.10);
  --cinnabar-line:rgba(172,43,34,.34);

  /* —— 鎏金 —— */
  --gold:#A9832A;
  --gold-2:#C6A048;
  --gold-3:#E9DAAE;
  --gold-soft:rgba(169,131,42,.13);

  /* —— 线与灰 —— */
  --line:#CCB992;
  --line-2:#DED1B2;
  --line-soft:rgba(204,185,146,.55);
  --muted:#867D6A;
  --ok:#426B4C;
  --ok-soft:rgba(66,107,76,.10);
  --bad:#9E2B20;

  --radius:10px;
  --radius-sm:8px;
  --shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 16px 34px -24px rgba(72,54,24,.55);

  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","NSimSun",SimSun,"Times New Roman",serif;
  --kai:"Kaiti SC","STKaiti","KaiTi","楷体","BiauKai","Noto Serif SC","Songti SC",serif;
  --sans:"PingFang SC","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)' opacity='0.06'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--serif);
  font-size:15.5px;
  line-height:1.9;
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    radial-gradient(circle at 14% 6%,rgba(169,131,42,.10),transparent 46%),
    radial-gradient(circle at 86% 2%,rgba(172,43,34,.07),transparent 40%),
    var(--grain);
  background-attachment:fixed;
  letter-spacing:.01em;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--kai);font-weight:600;line-height:1.4;margin:0;letter-spacing:.04em}
p{margin:0 0 .6em}
ul{margin:0;padding:0;list-style:none}
.muted{color:var(--muted)}
.small{font-size:13px}
.center{text-align:center}
.hide{display:none !important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:999}
.skip-link:focus{left:12px;top:12px;border-radius:8px}

.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 18px}
.pad{padding:22px}
.card{
  position:relative;background:linear-gradient(180deg,var(--card),var(--card-2));
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
}
/* 中式书页双框：内层留一道细线 */
.card::after{
  content:"";position:absolute;inset:5px;border:1px solid rgba(204,185,146,.45);
  border-radius:6px;pointer-events:none;
}
.section{padding:34px 0}
.section + .section{padding-top:6px}

/* 装饰：双细线（卷轴/书页分隔） */
.rule{height:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.rule::before,.rule::after{content:"";position:absolute;top:-1px;width:14px;height:7px;background:var(--cinnabar);border-radius:1px}
.rule::before{left:0}
.rule::after{right:0}

/* ---------- 图标 ---------- */
.ico{flex:none;vertical-align:middle}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(240,232,213,.96),rgba(233,223,201,.94));
  backdrop-filter:saturate(1.3) blur(10px);
  -webkit-backdrop-filter:saturate(1.3) blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset, 0 8px 20px -22px rgba(72,54,24,.9);
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:rgba(204,185,146,.5)}
.header-inner{display:flex;align-items:center;gap:14px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-mark{
  flex:none;width:36px;height:36px;border-radius:6px;background:var(--cinnabar);color:#FBF3E0;
  font-family:var(--kai);font-size:20px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px -8px rgba(172,43,34,.95), 0 0 0 1px rgba(255,255,255,.35) inset;
  letter-spacing:0;
}
.brand-mark.small{width:28px;height:28px;font-size:16px;border-radius:5px}
.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.brand-text b{font-family:var(--kai);font-size:15.5px;letter-spacing:.06em;white-space:nowrap}
.brand-text i{font-style:normal;font-size:9.5px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;white-space:nowrap;font-family:var(--sans)}
.main-nav{display:none;margin-left:auto;gap:2px}
.nav-link{
  display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:6px;
  font-size:13.5px;color:var(--ink-2);transition:background .18s,color .18s;
}
.nav-link:hover{background:var(--gold-soft)}
.nav-link.is-active{background:var(--cinnabar-soft);color:var(--cinnabar);font-weight:600;box-shadow:0 0 0 1px var(--cinnabar-line) inset}
.menu-btn{
  margin-left:auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--line);border-radius:8px;color:var(--ink-2);
}
.mobile-menu{
  position:fixed;inset:0;z-index:80;background:rgba(240,232,213,.98);
  background-image:var(--grain);
  backdrop-filter:blur(6px);padding:16px 18px;overflow:auto;
}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mobile-nav{display:flex;flex-direction:column;padding-top:10px}
.mobile-nav a{padding:14px 4px;border-bottom:1px solid var(--line-2);font-size:16px;font-family:var(--kai);letter-spacing:.06em}
.mobile-nav a[aria-current=page]{color:var(--cinnabar);font-weight:600}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#EFE6D2;
  background:linear-gradient(165deg,#221E19 0%,#332C23 58%,#262019 100%);
  padding:54px 0 48px;text-align:center;
}
.hero::before,.hero::after{
  content:"";position:absolute;border-radius:50%;border:1px solid rgba(198,160,72,.30);pointer-events:none;
}
.hero::before{width:300px;height:300px;left:-110px;top:-90px}
.hero::after{width:420px;height:420px;right:-160px;bottom:-220px;border-color:rgba(198,160,72,.16)}
.hero-inner{position:relative;z-index:1}
.hero-tag{
  display:inline-block;padding:5px 16px;border:1px solid rgba(198,160,72,.5);border-radius:3px;
  font-size:12px;letter-spacing:.24em;color:var(--gold-2);margin-bottom:16px;font-family:var(--kai);
}
.hero h1{font-size:clamp(28px,5.4vw,46px);letter-spacing:.1em;margin-bottom:14px;font-family:var(--kai);font-weight:600}
.hero-sub{max-width:620px;margin:0 auto;color:rgba(239,230,210,.72);font-size:14.5px}
.hero-quote{margin-top:20px;color:var(--gold-2);font-family:var(--kai);font-size:15.5px;letter-spacing:.14em}
.hero-eyebrow{font-size:11.5px;letter-spacing:.3em;color:rgba(198,160,72,.75);margin-bottom:10px;font-family:var(--sans)}

/* ---------- 标题 ---------- */
.section-head{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.section-head h2{font-size:21px;letter-spacing:.06em}
.section-head .bar{width:4px;height:20px;background:var(--cinnabar);border-radius:1px;flex:none}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.card-title{font-size:19px;letter-spacing:.05em}
.card-kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);letter-spacing:.1em;font-family:var(--sans)}

/* ---------- 印章 ---------- */
.seal{
  flex:none;width:46px;height:46px;border-radius:5px;background:var(--cinnabar);color:#FCF4E2;
  font-family:var(--kai);font-size:22px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 16px -10px rgba(172,43,34,1), 0 0 0 1px rgba(255,255,255,.35) inset;
  letter-spacing:0;
}

/* ---------- 日期切换 ---------- */
.date-switch{display:flex;align-items:center;gap:12px;justify-content:center;padding:12px 0 4px}
.date-switch button{
  width:38px;height:38px;border-radius:8px;border:1px solid var(--line);background:var(--field);
  display:flex;align-items:center;justify-content:center;color:var(--ink-2);
}
.date-switch button:hover{border-color:var(--gold);color:var(--gold)}
.date-switch .ds-mid{text-align:center;min-width:184px}
.date-switch .ds-date{font-family:var(--kai);font-size:21px;letter-spacing:.08em}
.date-switch .ds-date .today-badge{
  display:inline-block;margin-left:8px;padding:1px 8px;border-radius:3px;background:var(--cinnabar);
  color:#FBF3E0;font-size:11px;font-family:var(--sans);vertical-align:2px;letter-spacing:.06em;
}
.date-switch .ds-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.date-switch .ds-date .rel-badge{
  display:inline-block;margin-left:8px;padding:1px 8px;border-radius:3px;background:var(--gold-soft);
  color:#7E6117;font-size:11px;font-family:var(--sans);vertical-align:2px;letter-spacing:.06em;
  border:1px solid var(--line-2);
}
/* 日期下拉选择 */
.date-picker{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.date-picker label{font-size:12.5px;color:var(--muted);font-family:var(--sans)}
.date-picker select{
  padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--field);
  font-size:14px;color:var(--ink);font-family:var(--serif);min-width:180px;max-width:100%;
}
.date-picker select:focus{outline:2px solid var(--cinnabar-soft);border-color:var(--cinnabar)}

/* ---------- 生肖宫格 ---------- */
.zodiac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.zodiac-chip{
  border:1px solid var(--line);background:var(--field);border-radius:8px;padding:10px 6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.18s;
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(172,43,34,.12);min-height:84px;
}
.zodiac-chip:hover{border-color:var(--gold);transform:translateY(-2px)}
.zodiac-chip:active{transform:translateY(0) scale(.97)}
.zodiac-chip:focus-visible{outline:2px solid var(--cinnabar-soft);outline-offset:1px}
.zodiac-chip.is-active{border-color:var(--cinnabar);background:linear-gradient(180deg,#FDF3E6,#F8E6DA);box-shadow:0 0 0 2px var(--cinnabar-soft)}
.zodiac-chip .zc-ico{display:block;line-height:0;color:var(--ink-2);transition:.18s}
.zodiac-chip:hover .zc-ico,.zodiac-chip.is-active .zc-ico{color:var(--cinnabar)}
.zodiac-chip .zc-char{font-family:var(--kai);font-size:23px;line-height:1}
.zodiac-chip .zc-lv{font-size:11px;color:var(--muted)}
/* 生肖自绘图标（内联 symbol 精灵，服务端与脚本共用） */
.zodiac-sprite{position:absolute;width:0;height:0;overflow:hidden}
.zi{display:block;flex:none}
.kv-zi{display:inline-flex;vertical-align:-4px;margin-right:6px}
.kv-zi .zi{color:var(--gold)}
.lv-大吉,.lv-上吉{color:var(--cinnabar);font-weight:600}
.lv-中吉{color:var(--gold)}
.lv-小吉,.lv-平稳{color:var(--muted)}
.lv-低迷,.lv-凶{color:var(--bad)}

/* ---------- 分数环 ---------- */
.score-ring{position:relative;width:104px;height:104px;flex:none}
.score-ring svg{transform:rotate(-90deg)}
.score-ring .sr-val{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;
}
.score-ring .sr-num{font-family:var(--kai);font-size:29px}
.score-ring .sr-lv{font-size:11.5px;color:var(--muted)}

/* ---------- 运势详情 ---------- */
.fortune-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.fortune-top .ft-main{flex:1 1 260px;min-width:220px}
.fortune-top h3{font-size:20px;margin-bottom:4px}
.fortune-top .ft-meta{font-size:12.5px;color:var(--muted)}
.fortune-top .ft-level{
  display:inline-block;margin-top:8px;padding:2px 12px;border-radius:3px;
  background:var(--gold-soft);color:#7E6117;font-size:12.5px;border:1px solid var(--line-2);
}
.fortune-top .ft-desc{margin-top:10px;color:var(--ink-2)}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:20px 0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab{
  flex:none;display:flex;align-items:center;gap:6px;padding:10px 14px;background:transparent;border:0;
  color:var(--muted);font-size:14px;border-bottom:2px solid transparent;white-space:nowrap;
}
.tab.is-active{color:var(--cinnabar);font-weight:600;border-bottom-color:var(--cinnabar)}
.tabpanel{min-height:78px}
.tabpanel p{margin:0}
.panel-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-family:var(--kai);font-size:17px}
.panel-score{font-size:12.5px;color:var(--muted);font-family:var(--sans)}

/* ---------- 黄历条 ---------- */
.almanac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.almanac-item{display:flex;gap:8px;align-items:baseline;font-size:13.5px;border-bottom:1px dashed var(--line-2);padding-bottom:7px}
.almanac-item .ai-k{color:var(--muted);flex:none;min-width:58px}
.almanac-item .ai-v{color:var(--ink-2)}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tag{padding:3px 11px;border-radius:3px;font-size:12.5px;border:1px solid var(--line-2);background:#FBF4E4}
.tag.yi{border-color:rgba(66,107,76,.38);background:var(--ok-soft);color:#34553D}
.tag.ji{border-color:var(--cinnabar-line);background:var(--cinnabar-soft);color:#8B231B}

/* ---------- 未来日期 / 周历 ---------- */
.day-list{display:grid;gap:8px}
.day-row{
  display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line-2);
  border-radius:8px;background:var(--field);
}
.day-row .dr-date{font-family:var(--kai);font-size:15px;min-width:78px}
.day-row .dr-gz{display:flex;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.day-row .dr-gz b{font-weight:500;color:var(--ink-2)}
.day-row .dr-score{margin-left:auto;text-align:right;font-family:var(--kai);font-size:17px}
.day-row .dr-score small{display:block;font-family:var(--sans);font-size:11.5px;color:var(--muted)}

/* ---------- 功能入口 ---------- */
.entry-grid{display:grid;gap:12px;grid-template-columns:1fr}
.entry{
  display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;
  background:linear-gradient(180deg,var(--card),var(--card-2));transition:.18s;box-shadow:var(--shadow);
}
.entry:hover{border-color:var(--gold);transform:translateY(-2px)}
.entry .en-ico{flex:none;width:44px;height:44px;border-radius:6px;background:var(--gold-soft);color:#7E6117;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--line-2) inset}
.entry .en-txt b{display:block;font-family:var(--kai);font-size:16px;letter-spacing:.04em}
.entry .en-txt span{font-size:12.5px;color:var(--muted)}
.entry .en-arrow{margin-left:auto;color:var(--muted)}

/* ---------- 表单 ---------- */
.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;color:var(--ink-2);font-weight:600;font-family:var(--sans)}
.field select,.field input,.field textarea{
  padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--field);
  font-size:14.5px;color:var(--ink);width:100%;font-family:var(--serif);
}
.field textarea{min-height:110px;resize:vertical;line-height:1.8}
.field select:focus,.field input:focus,.field textarea:focus{outline:2px solid var(--cinnabar-soft);border-color:var(--cinnabar)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:6px;
  background:var(--ink);color:#F7F0DF;border:1px solid var(--ink);font-size:14.5px;letter-spacing:.06em;
  transition:.18s;cursor:pointer;font-family:var(--kai);
}
.btn:hover{background:#000;transform:translateY(-1px)}
.btn.gold{background:linear-gradient(180deg,var(--cinnabar-2),var(--cinnabar));border-color:#8E211A;color:#FDF4E6;box-shadow:0 10px 20px -14px rgba(172,43,34,1)}
.btn.gold:hover{background:linear-gradient(180deg,#C9463A,#9A251C)}
.btn.ghost{background:linear-gradient(180deg,var(--card),var(--card-2));color:var(--ink-2);border-color:var(--line)}
.btn.ghost:hover{background:var(--gold-soft);border-color:var(--gold);color:#7E6117}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- 结果块 ---------- */
.result-box{margin-top:18px}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pillar{border:1px solid var(--line-2);border-radius:8px;padding:12px 8px;text-align:center;background:var(--field)}
.pillar .p-name{font-size:12px;color:var(--muted);letter-spacing:.1em;font-family:var(--sans)}
.pillar .p-gz{font-family:var(--kai);font-size:25px;margin:4px 0;letter-spacing:.06em}
.pillar .p-ss{font-size:11.5px;color:var(--muted)}
.pillar .p-wx{font-size:11.5px;color:#7E6117}
.wx-bars{display:grid;gap:8px;margin-top:12px}
.wx-bar{display:flex;align-items:center;gap:10px;font-size:13px}
.wx-bar .wb-k{width:52px;flex:none;color:var(--muted)}
.wx-bar .wb-track{flex:1;height:8px;border-radius:2px;background:#E7DCC2;overflow:hidden}
.wx-bar .wb-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--cinnabar-2),var(--cinnabar))}
.kv-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kv{border:1px solid var(--line-2);border-radius:6px;padding:9px 11px;background:var(--field)}
.kv .kv-k{font-size:12px;color:var(--muted);display:block;font-family:var(--sans)}
.kv .kv-v{font-family:var(--kai);font-size:16px}

/* ---------- 解梦 ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 13px;border-radius:4px;border:1px solid var(--line);background:var(--field);font-size:13px;color:var(--ink-2)}
.chip:hover{border-color:var(--gold);color:#7E6117}
.chip.is-active{background:var(--cinnabar);color:#FBF3E0;border-color:var(--cinnabar)}
.chip:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}

/* ---------- 择吉事项 ---------- */
.zr-field{display:flex;align-items:flex-start;gap:12px;margin-top:14px;flex-wrap:wrap}
.zr-field .zr-label{flex:0 0 auto;font-size:13px;color:var(--muted);font-family:var(--sans);padding-top:7px;letter-spacing:.06em}
.zr-field .chip-row{flex:1 1 auto;min-width:0}
.zr-select{
  padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--ink);
  font-family:var(--kai);font-size:15px;min-width:150px
}
.zr-select:focus{outline:2px solid var(--cinnabar-soft);border-color:var(--cinnabar)}
.zr-panel{margin-top:16px;border-top:1px dashed var(--line-2);padding-top:14px}
.zr-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.zr-title{font-family:var(--kai);font-size:17px;color:var(--ink)}
.zr-stats{display:flex;flex-wrap:wrap;gap:6px}
.zr-tip{margin-top:12px;font-size:13px;color:var(--ink-2)}
.zr-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.zr-row{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;cursor:pointer;
  border:1px solid var(--line-2);border-radius:8px;padding:9px 12px;background:var(--field);
  font:inherit;color:inherit;transition:border-color .16s,background .16s,transform .16s
}
.zr-row:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateY(-1px)}
.zr-row:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}
.zr-row .zr-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.zr-row .zr-date{font-family:var(--kai);font-size:15px;color:var(--ink)}
.zr-row .zr-sub{font-size:11.5px;color:var(--muted);font-family:var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zr-row .zr-score{font-family:var(--kai);font-size:17px;color:var(--ink);flex:0 0 auto}
.zr-row .zr-score em{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px;font-family:var(--sans)}
.zr-rest{margin-top:12px}
.zr-rest>summary{cursor:pointer;font-size:13px;color:var(--ink-2);padding:6px 0;list-style:none;display:inline-flex;align-items:center;gap:6px}
.zr-rest>summary::-webkit-details-marker{display:none}
.zr-rest>summary::before{content:"";width:0;height:0;border-left:6px solid var(--gold);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;transition:transform .16s}
.zr-rest[open]>summary::before{transform:rotate(90deg)}
.zr-rest>summary:hover{color:var(--cinnabar)}
.badge{display:inline-block;font-size:11.5px;line-height:1.7;padding:0 8px;border-radius:3px;border:1px solid var(--line-2);background:#FBF4E4;color:var(--ink-2);font-family:var(--sans);white-space:nowrap}
.badge.dy{background:var(--cinnabar);border-color:var(--cinnabar);color:#FBF3E0}
.badge.y{background:var(--ok-soft);border-color:rgba(66,107,76,.38);color:#34553D}
.badge.p{background:var(--gold-soft);border-color:var(--gold);color:#7E6117}
.badge.n{background:var(--cinnabar-soft);border-color:var(--cinnabar-line);color:#8B231B}
.cal-cell.is-fit{border-color:var(--gold-2);box-shadow:inset 0 0 0 1px rgba(198,160,72,.55)}
.cal-cell.is-fit.is-active{box-shadow:0 0 0 2px rgba(169,131,42,.6)}
.cal-cell[data-verdict]{position:relative}
.cal-cell .cc-verdict{position:absolute;top:3px;right:4px;font-size:9.5px;color:var(--cinnabar);font-family:var(--sans)}
.cal-cell .cc-verdict.is-y{color:#34553D}
.zr-fit{margin-top:14px;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;background:linear-gradient(180deg,#FCF7EC,#F7F0DF)}
.zr-reasons{margin:10px 0 0;padding-left:18px;display:grid;gap:5px}
.zr-reasons li{font-size:12.5px;color:var(--ink-2);line-height:1.6}
.zr-reasons li::marker{color:var(--gold)}
.dream-result{border:1px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(180deg,var(--card),var(--card-2));margin-bottom:12px;box-shadow:var(--shadow)}
.dream-result h3{font-size:19px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dream-result .lv{font-size:12px;padding:2px 9px;border-radius:3px;background:var(--gold-soft);color:#7E6117}
.dream-block{margin-top:12px}
.dream-block b{display:block;font-size:13px;color:var(--muted);margin-bottom:3px;font-family:var(--sans)}
.dream-block p{margin:0;color:var(--ink-2)}

/* ---------- 抽签 ---------- */
.oracle-stage{display:grid;gap:16px;grid-template-columns:1fr}
.tube{
  position:relative;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,#FCF7EA,#F4EBD8);
  padding:30px 20px 28px;text-align:center;overflow:hidden;
}
.tube::after{content:"";position:absolute;inset:5px;border:1px solid rgba(204,185,146,.45);border-radius:8px;pointer-events:none}
.tube-art{position:relative;width:132px;height:150px;margin:0 auto 14px}
.tube-art svg{width:100%;height:100%;display:block;overflow:visible}
/* 兜底色：渐变由 SVG 内行内 style 引用（外部 CSS 无法解析同文档 paint server） */
.tube-art .tube-body{fill:#AC2B22;stroke:#8E211A;stroke-width:1.5}
.tube-art .tube-lip{fill:#FBF3E0;stroke:#8E211A;stroke-width:1.5}
.tube-art .tube-txt{font-family:var(--kai);font-size:26px;fill:#FBF3E0}
.tube-art .tube-stick{fill:#F7EEDA;stroke:#A9832A;stroke-width:1.2}
.tube-art .tube-stick-mark{stroke:var(--cinnabar);stroke-width:2;stroke-linecap:round}
.tube-art .tube-glow{opacity:0}
.tube-art .tube-sticks{transform-origin:66px 62px}
.tube.shaking .tube-art{animation:tubeShake .46s cubic-bezier(.36,.07,.19,.97) infinite}
.tube.shaking .tube-art .tube-sticks{animation:tubeSticks .18s ease-in-out infinite}
.tube.shaking .tube-art .tube-glow{opacity:1}
.tube.shaking .tube-art .tube-glow circle{animation:tubeGlow 1.1s ease-in-out infinite}
.tube.revealing .tube-art{animation:tubeBurst .7s ease-out 1}
.tube .tube-hint{font-family:var(--kai);font-size:13px;color:var(--muted);letter-spacing:.06em;min-height:20px}
@keyframes tubeSticks{
  0%,100%{transform:translateY(0) rotate(0)}
  30%{transform:translateY(-3px) rotate(1.8deg)}
  65%{transform:translateY(1px) rotate(-1.6deg)}
}
@keyframes tubeGlow{
  0%,100%{opacity:.35;r:52}
  50%{opacity:.9;r:58}
}
@keyframes tubeShake{
  0%,100%{transform:translate3d(0,0,0) rotate(0)}
  22%{transform:translate3d(-7px,-2px,0) rotate(-7deg)}
  46%{transform:translate3d(6px,-3px,0) rotate(6deg)}
  70%{transform:translate3d(-4px,1px,0) rotate(-4deg)}
}
@keyframes tubeBurst{
  0%{transform:scale(1)}
  35%{transform:scale(1.06) rotate(3deg)}
  70%{transform:scale(.98) rotate(-1deg)}
  100%{transform:scale(1) rotate(0)}
}
.sign-card{
  position:relative;border:1px solid var(--line);border-radius:10px;padding:24px;text-align:center;
  background:linear-gradient(180deg,#FDF8EC,#F6EFDD);box-shadow:var(--shadow);
  animation:signIn .55s ease-out both;
}
@keyframes signIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sign-card::before,.sign-card::after{content:"";position:absolute;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,var(--cinnabar) 0 6px,transparent 6px 12px)}
.sign-card::before{left:0;border-radius:10px 0 0 10px}
.sign-card::after{right:0;border-radius:0 10px 10px 0}
.sign-card .sc-no{font-size:12.5px;letter-spacing:.24em;color:var(--muted);font-family:var(--sans)}
.sign-card .sc-title{font-family:var(--kai);font-size:26px;margin:6px 0 2px;letter-spacing:.08em}
.sign-card .sc-lv{display:inline-block;padding:2px 12px;border-radius:3px;background:var(--cinnabar-soft);color:var(--cinnabar);font-size:12.5px;border:1px solid var(--cinnabar-line)}
.sign-poem{margin:16px auto;font-family:var(--kai);font-size:18px;line-height:2.2;letter-spacing:.12em;max-width:340px}
.sign-parts{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));text-align:left;margin-top:14px}
.sign-parts .sp{border:1px solid var(--line-2);border-radius:8px;padding:10px 12px;background:var(--field)}
.sign-parts .sp b{display:block;font-size:12.5px;color:var(--muted);font-weight:500;font-family:var(--sans)}
.sign-parts .sp span{font-size:13.5px;color:var(--ink-2)}
/* 音效开关 */
.sound-toggle{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:4px;
  border:1px solid var(--line);background:var(--field);font-size:12.5px;color:var(--ink-2);font-family:var(--sans);
}
.sound-toggle.is-on{color:#7E6117;border-color:var(--gold)}
.sound-toggle .ico{display:inline-flex;width:15px;height:15px}
.sound-toggle .ico svg{width:100%;height:100%}
.sound-toggle .ico-off,.sound-toggle .txt-off{display:none}
.sound-toggle:not(.is-on) .ico-on,.sound-toggle:not(.is-on) .txt-on{display:none}
.sound-toggle:not(.is-on) .ico-off{display:inline-flex}
.sound-toggle:not(.is-on) .txt-off{display:inline}

/* 每日箴言 */
.quote-card{
  border:1px solid var(--line-2);border-radius:8px;padding:14px 16px;
  background:linear-gradient(180deg,rgba(169,131,42,.09),rgba(169,131,42,.04));
  border-left:3px solid var(--cinnabar);
}
.quote-card .q-t{font-family:var(--kai);font-size:13px;color:#7E6117;letter-spacing:.1em;margin-bottom:4px}
.quote-card p{margin:0;font-family:var(--kai);font-size:16px;letter-spacing:.08em}

/* ---------- AI ---------- */
.chat{display:flex;flex-direction:column;gap:12px}
.chat-log{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto;padding:4px}
.msg{max-width:86%;padding:12px 15px;border-radius:10px;font-size:14.5px;white-space:pre-wrap;word-break:break-word}
.msg.user{align-self:flex-end;background:var(--ink);color:#F7F0DF;border-bottom-right-radius:3px}
.msg.ai{align-self:flex-start;background:var(--field);border:1px solid var(--line-2);border-bottom-left-radius:3px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.msg.sys{align-self:center;background:var(--gold-soft);color:#7E6117;font-size:13px;max-width:100%;border:1px solid var(--line-2)}
.msg-role{font-size:11.5px;color:var(--muted);margin-bottom:3px;font-family:var(--sans)}
.quick-row{display:flex;flex-wrap:wrap;gap:8px}
.chat-input{display:flex;gap:10px;align-items:flex-end}
.chat-input textarea{flex:1;min-height:52px;max-height:150px}

/* ---------- 黄道吉日 ---------- */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-head{font-size:12px;color:var(--muted);text-align:center;padding-bottom:4px;font-family:var(--sans)}
.cal-cell{
  border:1px solid var(--line-2);border-radius:8px;background:var(--field);padding:7px 5px;text-align:center;
  min-height:66px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;transition:.16s;cursor:pointer;
}
.cal-cell:hover{border-color:var(--gold);transform:translateY(-1px)}
.cal-cell.is-empty{border:0;background:transparent;cursor:default}
.cal-cell .cc-day{font-family:var(--kai);font-size:17px;line-height:1}
.cal-cell .cc-lunar{font-size:10.5px;color:var(--muted);line-height:1.25}
.cal-cell .cc-lv{font-size:11px;border-radius:2px;padding:0 6px;background:var(--gold-soft);color:#7E6117}
.cal-cell.lv-大吉{background:linear-gradient(180deg,#FDF4E3,#F8E3CE);border-color:rgba(172,43,34,.42)}
.cal-cell.lv-凶{background:rgba(158,43,32,.06)}
.cal-cell.is-today{box-shadow:0 0 0 2px rgba(172,43,34,.4)}
.cal-cell.is-active{box-shadow:0 0 0 2px rgba(169,131,42,.6)}

/* ---------- 运势曲线图 ---------- */
.trend-card{margin-top:0}
.trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.trend-meta{font-size:12.5px;color:var(--muted)}
.trend-legend{display:flex;align-items:center;gap:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.trend-legend .lg{display:inline-flex;align-items:center;gap:6px}
.trend-legend .lg i{width:14px;height:3px;border-radius:2px;background:var(--cinnabar);display:inline-block}
.trend-legend .lg i.dash{background:var(--gold)}
.trend-wrap{position:relative;width:100%;overflow:hidden;border:1px solid var(--line-2);border-radius:8px;background:#FCF8EE}
.trend-svg{display:block;width:100%;height:auto}
.trend-svg .tc-grid{stroke:rgba(204,185,146,.5);stroke-width:1}
.trend-svg .tc-grid-base{stroke:rgba(204,185,146,.85);stroke-width:1}
.trend-svg .tc-area{fill:rgba(172,43,34,.10);stroke:none}
.trend-svg .tc-line{fill:none;stroke:var(--cinnabar);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.trend-svg .tc-avg{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:5 4}
.trend-svg .tc-dot{fill:#FCF8EE;stroke:var(--cinnabar);stroke-width:2.2}
.trend-svg .tc-dot.is-peak{fill:var(--cinnabar)}
.trend-svg .tc-ylabel,.trend-svg .tc-xlabel{font-family:var(--sans);font-size:12px;fill:#867D6A}
.trend-svg .tc-xlabel.is-today{fill:var(--cinnabar);font-weight:600}
.trend-svg .tc-val{font-family:var(--kai);font-size:13px;fill:#403A32}
.trend-svg .tc-hit{fill:transparent;cursor:pointer}
.trend-svg .tc-hit:hover + .tc-vgroup .tc-val,.trend-svg .tc-vgroup.is-hot .tc-val{opacity:1}
.trend-svg .tc-vgroup{opacity:0;transition:opacity .15s}
.trend-svg .tc-vgroup.is-hot{opacity:1}
.trend-svg .tc-vbg{fill:#FCF8EE;stroke:var(--line-2);stroke-width:1}
.trend-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:13.5px}
.trend-zodiac{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:14px}
.trend-zodiac .zbtn{
  border:1px solid var(--line-2);background:var(--field);border-radius:6px;padding:7px 2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:.16s;
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(172,43,34,.12);min-height:68px;
}
.trend-zodiac .zbtn .zi{color:var(--ink-2);transition:.16s}
.trend-zodiac .zbtn:hover .zi,.trend-zodiac .zbtn.is-active .zi{color:var(--cinnabar)}
.trend-zodiac .zbtn:active{transform:translateY(1px) scale(.97);border-color:var(--cinnabar)}
.trend-zodiac .zbtn:focus-visible{outline:2px solid var(--cinnabar-soft);outline-offset:1px}
.trend-zodiac .zbtn b{font-family:var(--kai);font-size:17px;font-weight:500;line-height:1}
.trend-zodiac .zbtn s{text-decoration:none;font-size:10.5px;color:var(--muted);font-family:var(--sans)}
.trend-zodiac .zbtn:hover{border-color:var(--gold)}
.trend-zodiac .zbtn.is-active{border-color:var(--cinnabar);background:linear-gradient(180deg,#FDF3E6,#F8E6DA);box-shadow:0 0 0 2px var(--cinnabar-soft)}
.trend-zodiac .zbtn.is-active b{color:var(--cinnabar)}

/* ---------- 表格 ---------- */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.table th{font-size:12.5px;color:var(--muted);font-weight:600;background:var(--gold-soft);font-family:var(--sans)}
.table tbody tr:hover{background:rgba(169,131,42,.06)}

/* ---------- 徽标 / 提示 ---------- */
.notice{
  display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:8px;
  background:var(--gold-soft);border:1px solid var(--line-2);color:#6F5614;font-size:13.5px;
}
.notice.warn{background:var(--cinnabar-soft);border-color:var(--cinnabar-line);color:#8B231B}
.notice.info{background:var(--ok-soft);border-color:rgba(66,107,76,.34);color:#34553D}
.spinner{
  width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
  animation:spin .8s linear infinite;display:inline-block;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 页脚 ---------- */
.site-footer{margin-top:44px;background:linear-gradient(180deg,#201C17,#17140F);color:rgba(239,230,210,.78);padding:38px 0 20px;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cinnabar) 0 60px,transparent 60px)}
.footer-inner{display:grid;gap:26px;grid-template-columns:1fr}
.footer-brand .brand-mark{margin-bottom:10px}
.footer-brand b{font-family:var(--kai);font-size:17px;color:#EFE6D2;display:block;margin-bottom:8px;letter-spacing:.06em}
.footer-brand p{font-size:13px;color:rgba(239,230,210,.6)}
.footer-links h3,.footer-note h3{font-size:14px;color:var(--gold-2);margin-bottom:10px;letter-spacing:.12em;font-family:var(--kai)}
.footer-links ul{display:grid;gap:7px}
.footer-links a{font-size:13.5px;color:rgba(239,230,210,.72)}
.footer-links a:hover{color:var(--gold-2)}
.footer-note p{font-size:12.5px;color:rgba(239,230,210,.55);line-height:1.9}
.footer-bottom{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:26px;padding-top:14px;
  border-top:1px solid rgba(239,230,210,.14);font-size:12px;color:rgba(239,230,210,.5);
}

/* ---------- 骨架 / 加载 ---------- */
.skeleton{background:linear-gradient(90deg,#E7DCC2 25%,#F2E9D5 37%,#E7DCC2 63%);background-size:400% 100%;animation:shimmer 1.2s infinite;border-radius:6px;height:16px}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}

/* ============================================================
   断点：≥560px
   ============================================================ */
@media (min-width:560px){
  .zodiac-grid{grid-template-columns:repeat(6,1fr)}
  .entry-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1.4fr 1fr}
  .oracle-stage{grid-template-columns:1fr 1.15fr}
  .trend-zodiac{grid-template-columns:repeat(12,1fr)}
}
/* ============================================================
   断点：≥720px
   ============================================================ */
@media (min-width:720px){
  body{font-size:16px}
  .section{padding:44px 0}
  .hero{padding:72px 0 62px}
  .almanac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-inner{grid-template-columns:1.5fr 1fr 1.6fr}
  .dream-search{display:flex;gap:10px}
}
/* ============================================================
   断点：≥900px —— 展开 PC 导航
   ============================================================ */
@media (min-width:900px){
  .main-nav{display:flex}
  .menu-btn{display:none}
  .mobile-menu{display:none !important}
  .zodiac-grid{grid-template-columns:repeat(6,1fr);gap:10px}
  .entry-grid{grid-template-columns:repeat(4,1fr)}
  .day-list{grid-template-columns:repeat(2,1fr)}
  .form-grid{gap:16px}
  .wrap{padding:0 24px}
}
@media (min-width:1100px){
  .zodiac-grid{grid-template-columns:repeat(12,1fr);gap:8px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* ============================================================
   八字测算 —— 一生运势 / 近期运势
   ============================================================ */
.life-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.life-cell{background:var(--card-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:12px 14px}
.life-cell .lc-t{font-family:var(--kai);font-size:15px;color:var(--cinnabar);letter-spacing:.08em;margin-bottom:6px;border-left:3px solid var(--cinnabar-2);padding-left:8px}
.life-cell .lc-b{font-size:13.5px;line-height:1.85;color:var(--ink-2)}

.recent-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.recent-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;
  background:linear-gradient(135deg,var(--cinnabar-2),var(--cinnabar));color:#FDF8EC;
  font-size:13px;letter-spacing:.06em;box-shadow:0 2px 6px rgba(172,43,34,.28)}
.recent-list{display:grid;gap:10px;margin-top:12px}
.recent-item{border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 14px;background:rgba(253,250,241,.6)}
.ri-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ri-label{font-family:var(--kai);font-size:14px;color:var(--ink-2);letter-spacing:.06em}
.ri-gz{font-size:15px;font-weight:700;color:var(--ink)}
.ri-ss{font-size:12px;color:var(--muted)}
.ri-rate{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;font-size:12px;line-height:1.75;
  border:1px solid transparent;white-space:nowrap}
.ri-rate.lvp2{background:#A7261C;color:#FFF6EC;border-color:#83190F}
.ri-rate.lvp1{background:#CF5F45;color:#FFF6EC;border-color:var(--cinnabar)}
.ri-rate.lvp0{background:rgba(134,125,106,.16);color:#5B4B38;border-color:rgba(134,125,106,.34)}
.ri-rate.lvm1{background:rgba(60,80,120,.16);color:#3B4D6D;border-color:rgba(60,80,120,.32)}
.ri-rate.lvm2{background:rgba(40,55,90,.22);color:#283656;border-color:rgba(40,55,90,.42)}
.ri-hint{font-size:13px;line-height:1.8;color:var(--ink-3);margin-top:6px}

@media (min-width:760px){ .life-grid{grid-template-columns:repeat(2,1fr)} }
/* ---------------------------------------------------------------- 存图 / 分享 */
.btn.sm{padding:8px 14px;font-size:13px;letter-spacing:.05em;border-radius:5px}
.btn.sm svg{width:15px;height:15px}
.save-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.save-bar.center{justify-content:center;margin:18px 0 2px}
.save-bar .btn.ghost{box-shadow:0 6px 16px -14px rgba(60,45,20,.6)}
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,14px);z-index:99;
  max-width:min(86vw,420px);padding:11px 18px;border-radius:8px;
  background:rgba(38,34,28,.94);color:#F7F0DF;border:1px solid rgba(172,43,34,.7);
  font-size:13.5px;line-height:1.6;letter-spacing:.04em;text-align:center;
  opacity:0;pointer-events:none;transition:.24s;
}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.sign-card .save-bar{margin:16px 0 2px}
@media (max-width:520px){
  .save-bar{gap:8px}
  .save-bar .btn.sm{padding:8px 12px;font-size:12.5px}
  .toast{bottom:16px;font-size:13px}
}

/* ============================================================
   道教元素（太极 · 八卦 · 三清 · 道门箴言）
   ============================================================ */
.hero-taiji{
  position:absolute;right:-84px;top:-70px;color:#C6A048;opacity:.16;
  pointer-events:none;transform:rotate(-14deg);line-height:0;
}
.dao-quote{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;
  background:linear-gradient(180deg,#FDF8EC,#F7EFDC);border-color:var(--line-2);position:relative;overflow:hidden}
.dao-quote::after{content:"";position:absolute;inset:8px;border:1px solid var(--cinnabar-line);border-radius:8px;pointer-events:none;opacity:.5}
.dq-ico{display:inline-flex;color:var(--cinnabar);line-height:0}
.dq-text{font-family:var(--kai);font-size:clamp(17px,3.4vw,21px);color:var(--ink);letter-spacing:.06em;margin:4px 0 0}
.dq-from{font-size:12.5px;color:var(--muted);margin:0;letter-spacing:.08em}
.sanqing{display:grid;gap:14px;grid-template-columns:1fr;margin-top:16px}
.sq-card{
  position:relative;overflow:hidden;border:1px solid var(--line-2);border-radius:10px;
  background:linear-gradient(180deg,var(--card),var(--card-2));padding:22px 18px;text-align:center;
  box-shadow:0 10px 24px -20px rgba(60,45,20,.55);
}
.sq-card::after{content:"";position:absolute;inset:7px;border:1px solid var(--line-soft);border-radius:7px;pointer-events:none}
.sq-ico{display:inline-flex;color:var(--cinnabar);margin-bottom:10px;line-height:0}
.sq-name{font-family:var(--kai);font-size:18px;color:var(--ink);margin:0 0 5px;letter-spacing:.05em}
.sq-sub{font-size:12px;color:var(--gold);letter-spacing:.06em;margin:0 0 10px;font-family:var(--sans)}
.sq-desc{font-size:13.5px;color:var(--ink-3);line-height:1.8;margin:0}
.footer-dao{display:flex;align-items:center;gap:7px;color:rgba(198,160,72,.9);font-family:var(--kai);letter-spacing:.08em}
.fd-ico{display:inline-flex;vertical-align:middle;color:inherit;line-height:0}
@media (min-width:720px){
  .sanqing{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-taiji{right:-40px;top:-84px}
}
