/* ============================================================
   知几 — 东方日出·暖白 Jade Skin
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px}

/* 2026-08-03 审查修复：细金滚动条（系统灰滚动条穿帮纸上画卷） */
/* 2026-08-03 用户钦定「按比例缩放」：根字号随视口流动（320→14.2px / 375→14.5px / 768→16px / 桌面封顶16px），全站 rem 等比例缩放 */
html{font-size:clamp(14px, 0.55vw + 12.4px, 16px);scrollbar-width:thin;scrollbar-color:rgba(138,109,64,.28) transparent}
html::-webkit-scrollbar{width:6px}
html::-webkit-scrollbar-track{background:transparent}
html::-webkit-scrollbar-thumb{background:rgba(138,109,64,.25);border-radius:3px}

:root{
  /* ═══ 语义令牌 · 古籍拓本美学（国宴级）═══
     浅色模式（宣纸白底）— 暗色模式 token 见 Phase 4 */
  --surface-0:#F7F3E8;        /* 宣纸底 */
  --surface-1:#FCFAF4;        /* 卡片面 */
  --surface-2:rgba(196,154,95,0.08);  /* 选中/悬浮面 */
  --ink:#3A3025;              /* 主文字（墨色） */
  --ink-dim:#7A6450;          /* 次文字（褐灰） */
  --gold:#C49A5F;             /* 品牌金（铜器包浆） */
  --gold-hov:#D4AF6A;         /* 金 hover */
  --gold-deep:#8A6D40;        /* 深金（边框/描边） */
  --jade:#5B8C7A;             /* 玉绿（吉/生） */
  --cinnabar:#A8422E;         /* 朱砂（凶/警示） */
  --border-hairline:rgba(138,109,64,0.15);  /* 发丝线 */

  /* ═══ 兼容层（旧变量 → 语义令牌映射）═══ */
  --bg-deep:var(--surface-0);--bg-mid:#EDE8D8;--bg-card:rgba(0,0,0,0.02);--border:rgba(0,0,0,0.08);
  --text:var(--ink);--text-dim:var(--ink-dim);--accent:var(--gold);--accent-hov:var(--gold-hov);--accent-soft:var(--gold-deep);
  --gold-bg:rgba(196,154,95,0.08);--gold-border:rgba(196,154,95,0.22);
  --glass-bg:rgba(247,243,232,0.7);--glass-border:rgba(196,154,95,0.12);
  --ease-out:cubic-bezier(0.25,1,0.5,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  /* 法餐级令牌 */
  --space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;
  --radius-sm:6px;--radius-md:10px;--radius-lg:16px;
  --shadow-md:0 4px 16px rgba(0,0,0,0.08);--shadow-lg:0 8px 32px rgba(0,0,0,0.12);
  --duration-fast:120ms;--duration-normal:250ms;--duration-slow:400ms;
  --z-drawer:999;--z-overlay:998;--z-modal:10000;

  /* ═══ 字体族 ═══ */
  --font-serif:'Noto Serif SC','Source Han Serif SC','SimSun',serif;   /* 宋体 — 标题/术语/题字 */
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans SC','Helvetica Neue',Arial,sans-serif;  /* 正文 */
  --font-cinzel:'Cinzel',serif;  /* 拉丁小标牌 */

  /* ═══ 器物层令牌（2026-08-03 排盘页重构）═══ */
  --radius-ledger:3px;           /* 契书方角（全页交互件唯一角档） */
  --ink-soft:#7A6450;            /* 次级文字 · 对纸底 5.02:1 ✓ */
  --gold-ink:#8A6D40;            /* 金墨（图形/加粗正文 · 4.35:1 ≥3:1 ✓） */
  --jade-deep:#3F6658;           /* 玉深（应徽章/吉 · 白字 6.4:1 ✓） */
  --cinnabar-ink:#9A3B2A;        /* 锈朱（错误文字 · 6.24:1 ✓） */
  --frame-main:rgba(138,109,64,.28);   /* 凭帖外框 */
  --frame-inner:rgba(138,109,64,.12);  /* 凭帖内细线 */
  --btn-min-h:44px;              /* 触控最小高度 */
  --cta-min-h:48px;              /* 主 CTA 高度 */
}

body{
  font-family:var(--font-sans);
  background:#F7F3E8;
  color:var(--text);min-height:100vh;overflow-x:hidden;position:relative;
}

/* ── 暖阳叠色背景 ── */
body::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(196,154,95,0.07) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(180,140,90,0.05) 0%, transparent 50%),
    #F7F3E8;
}
/* 宣纸纸纹 — SVG feTurbulence 噪声 + 乘性混合 */
body::after{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity:0.035;mix-blend-mode:multiply;
}

/* ── 日晷在 sundial.css ── */

/* ── 星尘干支 · 暗蓝雕刻 ── */
.dust-chars{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.dust-char{
  position:absolute;font-family:"Noto Serif SC","SimSun",serif;
  color:rgba(58,48,37,0.16);
  font-weight:500;
  user-select:none;letter-spacing:0.05em;
  animation:dust-spiral 30s ease-in-out infinite;
}
.dust-char-far{color:rgba(58,48,37,0.12);filter:blur(0.6px)}
@keyframes dust-spiral{
  0%{transform:translate(0,0) scale(1)}
  20%{transform:translate(-10px,8px) scale(1.02)}
  40%{transform:translate(6px,-10px) scale(0.97)}
  60%{transform:translate(9px,6px) scale(1.02)}
  80%{transform:translate(-6px,-8px) scale(0.98)}
  100%{transform:translate(0,0) scale(1)}
}

/* ── 汉堡菜单（统一由下方 「汉堡菜单 — 统一版本」 定义）── */

/* ── 金箔阻尼线 ── */
.gold-foil{
  height:1px;width:100%;margin:0 auto 1.5rem;
  background:
    linear-gradient(90deg,
      transparent 0%,
      rgba(196,154,95,0.32) 50%,
      transparent 100%
    ),
    linear-gradient(90deg,
      transparent 0%,
      rgba(196,154,95,0.12) 20%,
      rgba(196,154,95,0.30) 50%,
      rgba(196,154,95,0.12) 80%,
      transparent 100%
    );
}

/* ── 页面布局（2026-08-03 去嵌套叠乘：wrapper 管边距，app 管内容）── */
#main-wrapper{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:2rem 0 16rem}
#app{width:100%;max-width:960px;margin:0 auto;padding:0 1.5rem calc(4rem + env(safe-area-inset-bottom,0px));position:relative;z-index:2}
#app.landing{max-width:760px}
.landing{display:flex;flex-direction:column;gap:2rem}

/* ── 顶部 ── */
#app header{text-align:center;margin-bottom:1.25rem;position:relative}
.home-link{position:absolute;left:0;top:.3rem;font-size:.8rem;color:var(--text-dim);text-decoration:none;opacity:.8;transition:opacity .25s;letter-spacing:.04em}   /* 2026-08-03 审查修复：opacity .55 → .8（纸底 2.8:1 → 4.5:1） */
.home-link:hover{opacity:1;color:var(--accent)}
h1{font-family:var(--font-serif);font-weight:700!important;font-size:2.2rem;letter-spacing:.08em;margin-bottom:.3rem;background:linear-gradient(135deg,#C49A5F,#B8894A,#A07840);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}
.subtitle{color:var(--text-dim);font-size:.85rem;letter-spacing:.05em}

/* ── Landing ── */
.landing-header{text-align:center;margin-bottom:2.5rem;padding-top:1.5rem}
.landing-title{font-family:var(--font-serif);font-weight:700!important;font-size:3.2rem;letter-spacing:.08em;margin-bottom:.15rem;background:linear-gradient(135deg,#C49A5F,#B8894A,#A07840);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.landing-subtitle{font-size:1rem;color:rgba(180,140,100,0.5);letter-spacing:.24em;margin-bottom:.6rem}
.landing-tagline{font-size:.82rem;color:var(--text-dim);letter-spacing:.06em;opacity:.7}
.landing-main{display:flex;flex-direction:column;gap:2rem}
.landing-section{line-height:2;font-size:.92rem;color:#4a4540}
.landing-section p{margin-bottom:1.25rem}
.landing-section p:last-child{margin-bottom:0}
.landing-section strong{color:#8a6d40}

.dual{display:flex;gap:2.5rem;flex-wrap:wrap}
.dual-col{flex:1;min-width:240px}
.dual-col:first-child{flex:1.15}.dual-col:last-child{flex:0.85;min-width:280px}
.dual-col strong{color:#C49A5F;display:block;margin-bottom:0.3rem;font-size:0.95rem}
.dual-col p{font-size:.88rem;line-height:1.95}

.portals{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.portal-card{
  display:flex;flex-direction:column;align-items:center;gap:.65rem;
  padding:2rem 1.8rem;border-radius:16px;text-decoration:none;
  border:1px solid var(--gold-border);background:rgba(196,154,95,0.04);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:transform .4s var(--ease-out),border-color .4s,box-shadow .4s,background .4s;
  min-width:220px;flex:1;max-width:300px;cursor:pointer;color:var(--text);
}
.portal-card:hover{
  background:rgba(196,154,95,0.08);border-color:rgba(196,154,95,0.35);
  box-shadow:0 0 24px rgba(196,154,95,0.08);transform:translateY(-2px);
}
.portal-icon{font-size:2.2rem}
.portal-title{font-size:1.15rem;font-weight:600}
.portal-desc{font-size:0.8rem;color:var(--text-dim)}
.portal-disabled{opacity:0.3;pointer-events:none;cursor:not-allowed}

/* ── 方舟区 ── */
.intent-block{
  background:rgba(247,243,232,0.65);border-radius:16px;padding:1.5rem 1.2rem;margin-bottom:1.8rem;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(196,154,95,0.08);
}

/* ── 按钮行 ── */
.mode-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}
.style-section{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.tone-section{display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem}
.style-label,.tone-label{font-size:.85rem;color:var(--text-dim);font-weight:600;letter-spacing:.05em}
.style-group{display:flex;flex-wrap:nowrap;gap:.35rem}
.tone-group{display:flex;gap:.35rem}

.style-btn{
  background:transparent;border:1.5px solid var(--border);color:var(--text-dim);
  font-size:.82rem;font-weight:600;padding:.35rem .85rem;border-radius:2px;cursor:pointer;
  transition:background .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out),
             transform .3s cubic-bezier(.22,1,.36,1);letter-spacing:.03em;
  min-height:var(--btn-min-h);
}
.tone-btn{
  background:transparent;border:1.5px solid var(--border);color:var(--text-dim);
  font-size:.8rem;font-weight:600;padding:.32rem .75rem;border-radius:2px;cursor:pointer;
  transition:background .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out),
             transform .3s cubic-bezier(.22,1,.36,1);letter-spacing:.03em;
  min-height:var(--btn-min-h);
}
.style-btn:hover,.tone-btn:hover{border-color:var(--accent-soft);color:#8a6d40}
.style-btn:active,.tone-btn:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.style-btn.active{
  background:rgba(196,154,95,.15);border-color:var(--accent);color:#7a5c30;
}
.tone-btn.active{
  background:rgba(196,154,95,.12);border-color:var(--accent);color:#7a5c30;
}

/* ── 表单 ── */
#divination-form{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}
#divination-form label{font-size:.95rem;color:#5a5048}
#question{
  width:100%;padding:.85rem .1rem .55rem;border:none;border-bottom:1px solid var(--gold-deep);
  border-radius:0;background:transparent;color:var(--text);font-size:1rem;resize:none;   /* 2026-08-03 审查修复：去右下角缩放手柄 */
  outline:none;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);
  font-family:var(--font-serif);letter-spacing:.04em;line-height:1.8;
}
#question::placeholder{color:var(--ink-soft)}
#question:focus{border-bottom-color:var(--cinnabar);box-shadow:0 2px 0 -1px var(--cinnabar)}
.num-input{
  width:6rem;height:48px;padding:.4rem .2rem;border:none;border-bottom:1px solid var(--gold-deep);
  border-radius:0;background:transparent;color:var(--text);font-size:1rem;text-align:center;
  outline:none;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);
  font-family:var(--font-serif);font-variant-numeric:tabular-nums;
}
.num-input::placeholder{color:var(--ink-soft)}
.num-input:focus{border-bottom-color:var(--cinnabar);box-shadow:0 2px 0 -1px var(--cinnabar)}
#number-inputs,#time-confirm{transition:opacity .3s}
#number-inputs.hidden,#time-confirm.hidden{display:none}
#submit-btn{
  min-height:var(--cta-min-h);padding:.8rem 2.6rem;
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);border-radius:var(--radius-ledger);
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.95rem;font-weight:600;
  letter-spacing:.22em;text-indent:.22em;cursor:pointer;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),
             transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
#submit-btn:hover:not(:disabled){background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8;box-shadow:0 2px 10px rgba(168,66,46,.18)}
#submit-btn:active:not(:disabled){transform:translateY(1px) scale(.97);transition-duration:.07s}
#submit-btn:disabled{background:transparent;border-color:rgba(168,66,46,.22);color:rgba(168,66,46,.38);cursor:not-allowed}
#submit-btn:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}

/* ── 起卦区 ── */
.cast-area{padding:2rem 0}
.cast-progress{text-align:center}
.cast-progress h3{font-size:1.1rem;color:var(--text-dim);margin-bottom:1.8rem;letter-spacing:0.1em}
.cast-coins{display:flex;justify-content:center;gap:2.5rem;margin-bottom:2rem;perspective:800px}
/* ── 抛币铜钱 · 古钱铸件版（2026-08-03 四 skill 综合：外郭/内郭/阳文/壁影/包浆，无渐变球无高光）
   材料变量架构：字面亮铜 / 背面包浆沉；光向统一 顶光45° 左上受光右下背光
   ⚠️ transform 全部归 rAF inline（CSS 只留 .heads/.tails 终值 + .holding 按压） */
.coin{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:88px;height:88px;border-radius:50%;
  background:transparent;   /* 2026-08-03 三稿：真实古钱照片，透明底，无 CSS 模拟底色/边框 */
  box-shadow:
    3px 6px 10px -2px rgba(50,28,10,.35),   /* 方向投影（光左上→影右下） */
    1px 2px 3px rgba(50,28,10,.28);         /* 贴地影 */
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;
  margin-bottom:1.5rem;
  transform-style:preserve-3d;   /* 真 3D 翻面：字/背双面翻转（2026-08-03 用户钦定） */
}
/* 外郭倒角：顶光45° 上弧受光、下弧沉影、左侧微光右侧微影 */
.coin::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  box-shadow:
    inset 0 1.5px 2px -0.5px rgba(255,238,205,.4),
    inset 2px 0 2px -2px rgba(255,238,205,.18),
    inset -2px 0 2px -2px rgba(35,18,6,.22),
    inset 0 -2px 3px rgba(35,18,6,.45);
}
/* 方孔 2026-08-03 铜钱 SVG 化：孔/郭/包浆全在 SVG 内绘制（CSS ::after 伪元素已删，防双层孔） */
/* 币厚暗面：2026-08-03 照片化已删（照片边缘自带厚度光影；CSS 暗盘挡住方孔透纸） */
/* 双面文字（背面预旋转 180°，旋转过程自然翻面）；字移孔上方（apple：字压孔=丑的直接来源） */
.cf-face{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  backface-visibility:hidden;font-style:normal;font-weight:700;
  /* 2026-08-03 铜钱照片化：img 铺满，翻面照常 */
}
.cf-face img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.cf-tail{transform:rotateX(180deg)}
.coin.rolling{animation:coin-flip 0.6s cubic-bezier(0.25,0.46,0.45,0.94) infinite}
/* 压币 = 指腹遮光 + 接触影收紧（非均匀压暗——brightness 会杀材质且拍平 3D） */
.coin.holding{
  transform:translateY(2px) scale(.95)!important;
  filter:none!important;
  box-shadow:
    0 2px 3px rgba(35,18,8,.32),
    inset 0 2px 3px rgba(25,12,5,.25),      /* 指腹遮顶光 */
    inset 0 -1px 2px rgba(255,240,205,.10) !important;  /* 下沿回光减半 */
  transition:transform .1s ease,box-shadow .1s ease;
}
/* 面/背两态：字面=亮铜（正面朝前），背面=包浆沉铜（去饱和橄榄褐 + 边缘积聚，无 filter——filter 会拍平 3D） */
.coin.heads{transform:rotateX(0deg)}
/* 2026-08-03 三枚差异化微旋转（真实摆放感；抛掷中 rAF inline 全权接管不受影响） */
#coin1.coin.heads{transform:rotateX(0deg) rotateZ(-6deg)}
#coin1.coin.tails{transform:rotateX(180deg) rotateZ(-6deg)}
#coin3.coin.heads{transform:rotateX(0deg) rotateZ(5deg)}
#coin3.coin.tails{transform:rotateX(180deg) rotateZ(5deg)}
.coin.tails{
  transform:rotateX(180deg);
  --field:#6E6B52;
  --chr:#D8D2B4;
  --chr-hi:rgba(230,225,200,.3);
  --chr-sh:rgba(30,20,10,.6);
  background:var(--field);
  box-shadow:
    0 3px 6px rgba(50,28,10,.22),
    0 1px 2px rgba(50,28,10,.3),
    inset 0 3px 5px rgba(35,18,6,.32),
    inset 0 0 14px -4px rgba(64,70,52,.5),    /* 包浆沿边缘积聚（铜绿物理正确位置） */
    inset 0 0 4px 0 rgba(64,70,52,.22),
    inset 0 -2px 4px -1px rgba(255,238,205,.10);
}
@keyframes coin-flip{
  0%{transform:rotateX(0) rotateY(0) rotateZ(0)}
  25%{transform:rotateX(540deg) rotateY(30deg) rotateZ(15deg)}
  50%{transform:rotateX(1080deg) rotateY(-30deg) rotateZ(-10deg)}
  75%{transform:rotateX(1620deg) rotateY(15deg) rotateZ(5deg)}
  100%{transform:rotateX(2160deg) rotateY(0) rotateZ(0)}
}

.btn-toss{
  min-width:180px;min-height:var(--cta-min-h);
  padding:0.8rem 2.5rem;background:rgba(196,154,95,0.08);border:1px solid var(--gold-border);
  border-radius:var(--radius-ledger);color:var(--gold-ink);font-size:1rem;cursor:pointer;
  letter-spacing:0.15em;text-indent:.15em;
  transition:background .3s var(--ease-out),border-color .3s var(--ease-out),color .2s var(--ease-out),
             box-shadow .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1);
  user-select:none;-webkit-user-select:none
}
.btn-toss:hover{background:rgba(196,154,95,0.16);border-color:rgba(196,154,95,.45)}
.btn-toss:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.btn-toss:disabled{opacity:0.4;cursor:not-allowed}
.btn-toss:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}

.cast-log{margin-top:1.5rem;display:flex;flex-direction:column-reverse;gap:0.4rem;align-items:center;min-height:8rem;justify-content:flex-end}
.cast-log-entry{font-size:0.85rem;color:var(--text-dim);letter-spacing:0.05em}

/* ── 手动选卦 ── */
.manual-section{padding:2rem 0;text-align:center}
.manual-title{font-size:1.1rem;color:var(--text);margin-bottom:0.3rem;letter-spacing:0.1em}
.manual-hint{font-size:0.78rem;color:var(--text-dim);margin-bottom:1.2rem}
.yao-picker-list{display:flex;flex-direction:column;gap:0.5rem;max-width:420px;margin:0 auto 1.5rem}
.yao-picker-row{display:flex;align-items:center;gap:0.6rem;padding:0.4rem 0.8rem;background:rgba(0,0,0,0.02);border:1px solid var(--border);border-radius:3px}
.yao-picker-row .row-label{min-width:2.8rem;font-size:0.82rem;color:var(--text-dim);text-align:right}
.yao-option{flex:1;padding:0.4rem 0.2rem;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-dim);cursor:pointer;font-size:0.78rem;transition:all 0.2s;text-align:center}
.yao-option:hover{background:rgba(196,154,95,0.05);border-color:var(--gold-border);color:var(--text)}
.yao-option.selected{background:rgba(196,154,95,0.12);border-color:rgba(196,154,95,0.4);color:#8a6d40;box-shadow:0 0 10px rgba(196,154,95,0.08)}
.yao-option .opt-sym{display:block;font-size:1.1rem;margin-bottom:0.1rem}
.yao-option .opt-label{font-size:0.68rem;opacity:0.7}
.yao-preview{display:flex;flex-direction:column;align-items:center;gap:0.15rem;margin-bottom:1.5rem;min-height:50px}
.yao-preview .pv-line{font-size:1.4rem;color:var(--text-dim);letter-spacing:0.15em;transition:color 0.3s}
.yao-preview .pv-line.moving{color:#C49A5F;text-shadow:0 0 8px rgba(196,154,95,0.15)}
.manual-actions{display:flex;gap:1rem;justify-content:center;align-items:center}

.btn-back{display:block;margin:1rem auto 0;padding:0.6rem 1.8rem;background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:0.85rem;cursor:pointer;transition:all 0.3s}
.btn-back:hover{border-color:var(--accent);color:var(--accent)}

.share-btn{padding:.5rem 1.6rem;background:transparent;border:1px solid rgba(196,154,95,0.18);border-radius:3px;color:var(--ink-soft);font-size:.82rem;cursor:pointer;letter-spacing:.06em;transition:all .3s}   /* 2026-08-03 审查修复：rgba(139,115,85,.55) 2.04:1 → ink-soft 5.02:1 */
.share-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(196,154,95,0.04)}

.hidden{display:none}

/* ═══════════════════════════════════════════ */
/*  追问区 — 聊天气泡 + 微型日晷                    */
/* ═══════════════════════════════════════════ */
#chat-history{display:flex;flex-direction:column;gap:0.5rem;min-height:50px;max-height:400px;overflow-y:auto;margin-bottom:0.6rem}
#chat-history::-webkit-scrollbar{width:3px}
#chat-history::-webkit-scrollbar-thumb{background:rgba(196,154,95,0.15);border-radius:2px}

.chat-bubble{max-width:85%;padding:0.55rem 0.8rem;border-radius:var(--radius-ledger);font-size:0.82rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.chat-bubble.user{align-self:flex-end;background:rgba(168,66,46,.05);border:1px solid rgba(168,66,46,.22);color:#5a4a38}
.chat-bubble.assistant{align-self:flex-start;background:rgba(247,243,232,.55);border:1px solid rgba(138,109,64,.16);color:#4a4540}
.chat-bubble.streaming{border-bottom:1px solid var(--cinnabar);border-color:rgba(168,66,46,.2)}
.chat-bubble.streaming::after{content:'▍';margin-left:2px;color:var(--cinnabar);animation:pulse-dot 1s ease-in-out infinite}

.chat-input-row{display:flex;gap:0.5rem;align-items:flex-end;margin-top:0.5rem}
.chat-input-row textarea{flex:1;padding:0.55rem 0.7rem;border:1px solid var(--glass-border);border-radius:3px;background:rgba(252,250,244,.5);color:var(--text);font-size:0.85rem;resize:none;outline:none;font-family:inherit;transition:border-color 0.25s}   /* 2026-08-03 审查修复：玻璃白 → 纸色 */
.chat-input-row textarea:focus{border-color:var(--accent)}
.chat-input-row textarea:disabled{opacity:0.4}
.chat-input-row button{padding:0.55rem 1rem;border:1px solid var(--cinnabar);border-radius:3px;background:transparent;color:var(--cinnabar);font-size:0.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s;letter-spacing:.08em;text-indent:.08em}   /* 2026-08-03 审查修复：实心金色现代按钮(2.6:1) → 朱砂描边盖印钮（与 submit-btn 同构） */
.chat-input-row button:hover{background:rgba(168,66,46,.08)}
.chat-input-row button:disabled{opacity:0.45;cursor:default}

/* 追问等待 — 微型日晷 */
#followup-loader{display:flex;align-items:center;gap:0.5rem;padding:0.2rem 0}
#followup-loader.hidden{display:none!important}
.fu-sundial{position:relative;width:60px;height:60px;flex-shrink:0}
/* 外环 — 带刻度齿 */
.fu-ring.outer{
  width:56px;height:56px;margin:-28px 0 0 -28px;
  border-width:1px;border-color:rgba(166,130,69,0.2);
  border-style:dashed;
}
/* 地支刻度点 — 12个 */
.fu-ring.mid{
  width:44px;height:44px;margin:-22px 0 0 -22px;
  border-width:0.8px;border-color:rgba(166,130,69,0.14);
}
/* 内圈 */
.fu-ring.inner{
  width:30px;height:30px;margin:-15px 0 0 -15px;
  border-width:0.6px;border-color:rgba(139,115,85,0.1);
  border-style:dotted;
}
/* 核心 ☯️-like dot */
.fu-ring.core{
  width:5px;height:5px;margin:-2.5px 0 0 -2.5px;
  background:rgba(166,130,69,0.35);border:none;border-radius:50%;
  box-shadow:0 0 6px rgba(166,130,69,0.15);
}
/* 十二地支字符 */
.fu-dizhi{
  position:absolute;top:50%;left:50%;width:56px;height:56px;
  margin:-28px 0 0 -28px;
  pointer-events:none;
}
.fu-dz{
  position:absolute;left:50%;
  font-family:"Noto Serif SC",serif;font-size:0.55rem;font-weight:600;
  color:rgba(122,92,53,0.5);
  transform-origin:0 28px;
}
.fu-text{font-size:0.72rem;color:rgba(107,85,64,0.8);letter-spacing:0.08em;white-space:nowrap}   /* 2026-08-03 审查修复：rgba(105,105,105,.45) ≈1.9:1 → ≈4.2:1 */

/* 追问状态行 */
.chat-status{margin-top:0.4rem;font-size:0.72rem;color:var(--text-dim);opacity:0.55;text-align:center;letter-spacing:0.04em}
.chat-status.finished{color:#8a6d40;opacity:0.7;font-style:italic}

/* ═══ 汉堡菜单 — 统一版本（单一定义，免冲突）═══ */
.hb-btn{position:fixed;top:16px;left:16px;z-index:10001;width:44px;height:44px;background:rgba(247,243,232,0.92);border:1px solid rgba(196,154,95,0.3);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 10px rgba(58,48,37,0.06);transition:border-color .3s,box-shadow .3s}
.hb-taiji{font-family:'Noto Serif SC','SimSun',serif;font-size:1.35rem;line-height:1;color:#8A6D40;transition:color .3s,transform .28s var(--ease-out);display:block;transform:translateY(1px)} /* 2026-08-17:☯ 在 SimSun fallback 下视觉重心偏上,微调 1px 视觉居中 */
.hb-btn:hover{border-color:rgba(196,154,95,0.55);box-shadow:0 2px 14px rgba(196,154,95,0.12)}
.hb-btn:hover .hb-taiji{color:#C49A5F}
.hb-btn:active .hb-taiji{transform:translateY(1px) scale(0.9);transition:transform .08s ease-out}
/* 抽屉：overlay fade + drawer spring（transform 由 anime 控制，visibility 兜底） */
.hb-overlay{position:fixed;inset:0;z-index:9998;background:rgba(58,48,37,0.4);opacity:0;visibility:hidden;transition:opacity .25s ease}
.hb-overlay.open{opacity:1;visibility:visible}
.hb-overlay.hidden{display:none}
.hb-drawer{position:fixed;top:0;left:0;z-index:9999;width:250px;height:100vh;background:rgba(247,243,232,0.92);backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border-right:1px solid rgba(196,154,95,0.18);transform:translateX(-100%);display:flex;flex-direction:column;padding:4rem 1.3rem 2rem;gap:2px;overflow-y:auto;box-shadow:0 0 60px rgba(0,0,0,0.15);visibility:hidden;will-change:transform}
.hb-drawer.open{visibility:visible}
.hb-drawer.hidden{display:none}
.hb-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:3px;background:rgba(180,160,120,0.1);border:1px solid rgba(180,160,120,0.3);color:rgba(140,120,80,0.7);font-size:.85rem;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hb-close:hover{background:rgba(180,160,120,0.2);color:#5a3e2b}
.hb-item{background:transparent;border:none;color:rgba(100,80,55,.88);font-size:.88rem;padding:.6rem .5rem;text-align:left;cursor:pointer;letter-spacing:.05em;border-radius:3px;font-weight:500}   /* 2026-08-03 审查修复：.65 → .88（3.08 → 4.6:1） */
.hb-item:hover{color:#5a3e2b;background:rgba(180,160,120,0.08)}
.content-view{position:fixed;inset:0;z-index:100;background:#f7f3e8;overflow-y:auto;display:flex;flex-direction:column}
.content-view.hidden{display:none}
.content-view-inner{max-width:720px;margin:0 auto;padding:3rem 1.5rem 5rem;width:100%;color:#3a3025}
.content-back{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:1px solid rgba(180,160,120,0.3);color:#8b7355;font-size:.82rem;padding:.4rem 1rem;border-radius:3px;cursor:pointer;margin-bottom:2.5rem}
.content-back:hover{border-color:#5a3e2b;color:#5a3e2b}
.disclaimer-overlay{position:fixed;inset:0;background:rgba(247,243,232,0.95);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:none}
.disclaimer-overlay.hidden{display:none}
.disclaimer-modal{background:#f7f3e8;border:1px solid rgba(180,160,120,0.2);pointer-events:auto;border-radius:3px;max-width:460px;width:100%;height:75vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,0.1)}
.disclaimer-modal #disclaimer-body{flex:1;overflow-y:auto;padding:24px 28px;font-size:.88rem;line-height:1.7;color:#3a3025}
.disclaimer-footer{padding:16px 28px 24px;border-top:1px solid rgba(180,160,120,0.15);text-align:center;flex-shrink:0}
.disclaimer-agree-btn{padding:12px 48px;border:1px solid rgba(160,140,100,0.5);background:rgba(180,160,120,0.12);color:rgba(160,140,100,0.3);border-radius:3px;font-size:.9rem;cursor:pointer;transition:all .3s}
.disclaimer-agree-btn:disabled{opacity:.3;cursor:not-allowed}
.disclaimer-agree-btn:not(:disabled){background:rgba(180,160,120,0.25);color:#5a3e2b;cursor:pointer}
.disclaimer-agree-btn:not(:disabled):hover{background:rgba(180,160,120,0.35)}
.disclaimer-modal #disclaimer-body::-webkit-scrollbar{width:4px}
.disclaimer-modal #disclaimer-body::-webkit-scrollbar-thumb{background:rgba(180,160,120,0.2);border-radius:2px}
.disclaimer-modal #disclaimer-body::-webkit-scrollbar-track{background:transparent}
.lang-btn{border:1px solid rgba(180,160,120,0.2);color:#8b7355;background:transparent;border-radius:3px;padding:.4rem 1rem;font-size:.82rem;cursor:pointer}
.lang-btn:hover{border-color:#5a3e2b;color:#5a3e2b}
#privacy-footer-text{color:rgba(140,120,90,.85)}   /* 2026-08-03 审查修复：.6 → .85 对比度 */
.login-overlay{position:fixed;inset:0;background:rgba(247,243,232,0.6);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px}
.login-overlay.hidden{display:none}
.login-modal{position:relative;background:rgba(247,243,232,0.96);border:1px solid rgba(180,160,120,0.25);border-radius:3px;max-width:400px;width:100%;padding:2rem;box-shadow:0 24px 80px rgba(58,48,37,.18),0 2px 8px rgba(58,48,37,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}

/* ═══ 档案弹窗 ═══ */
.auth-overlay{position:fixed;inset:0;background:rgba(247,243,232,0.6);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-overlay.hidden{display:none}
.auth-modal{background:rgba(247,243,232,0.96);border:1px solid rgba(180,160,120,0.25);border-radius:3px;max-width:440px;width:100%;max-height:78vh;overflow-y:auto;padding:1.5rem;box-shadow:0 24px 80px rgba(58,48,37,.18),0 2px 8px rgba(58,48,37,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative}   /* 2026-08-04：85vh→78vh 窗口收缩防顶屏 */
.auth-modal-close{position:absolute;top:.6rem;right:.7rem;width:26px;height:26px;border-radius:3px;background:rgba(180,160,120,0.08);border:1px solid rgba(180,160,120,0.2);color:rgba(140,120,80,0.6);font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}
.auth-modal-close:hover{background:rgba(180,160,120,0.16);color:#5a3e2b}
.auth-title{font-size:1.15rem;color:#5a3e2b;letter-spacing:.06em;margin-bottom:1.2rem;text-align:center;font-weight:700}
.auth-submit{display:block;width:100%;margin-top:1rem;padding:.7rem;background:rgba(196,154,95,0.12);border:1px solid rgba(196,154,95,0.35);border-radius:3px;color:#5a3e2b;font-size:.88rem;font-weight:600;cursor:pointer;letter-spacing:.05em;transition:all .25s}
.auth-submit:hover{background:rgba(196,154,95,0.22);border-color:rgba(196,154,95,0.55);color:#3a2520}
/* 登录/注册弹窗 · 朱印题头（2026-08-02，与右上角朱文印同构） */
.auth-seal-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:0 0 1.1rem}   /* relative：印泥洄开双环锚定印章本体而非弹窗（审查 S1） */
.auth-seal{
  width:2.7rem;height:2.7rem;border:1.5px solid #A8422E;border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  color:#A8422E;font-family:var(--font-serif);font-size:.8rem;font-weight:600;
  letter-spacing:.16em;text-indent:.16em;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.16);
}
.auth-seal-annot{font-size:.68rem;color:rgba(139,115,85,.55);letter-spacing:.3em;text-indent:.3em}
/* 盖印式提交按钮：悬停=朱砂填满，字反白（与顶部登录按钮盖印同构） */
.auth-submit.seal-submit{
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);color:#A8422E;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out);
}
.auth-submit.seal-submit:hover{background:#A8422E;border-color:#8F3424;color:#F7F3E8}
.auth-submit.seal-submit:active{transform:translateY(1px) scale(.97);transition-duration:.07s;box-shadow:0 3px 0 rgba(143,52,36,.15)}

/* ═══════════════════════════════════════════════
   个人中心 · 凭信印鉴卡（2026-08-02，4 skill 融合版）
   登录=钤印 → 面板=印鉴卡：名章+户名+存额+通联+订阅
   账目行款识：藏往/面陈/兑入/更换印鉴/收印/销户
   ═══════════════════════════════════════════════ */

/* ── 凭证区 · 印鉴卡（双框界格，与登录按钮双印框同构）── */
.sealcard-cred{
  position:relative;display:flex;align-items:center;gap:1rem;
  padding:1.1rem 1.15rem;margin-bottom:1rem;
  border:1px solid rgba(168,66,46,.30);border-radius:3px;
  background:rgba(168,66,46,.03);
}
.sealcard-cred::after{content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(168,66,46,.16);border-radius:1px}
/* 名章：用户名首字，开板钤下 */
.sealcard-mark{
  flex:none;width:2.9rem;height:2.9rem;display:flex;align-items:center;justify-content:center;
  border:1.5px solid #A8422E;border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.14);
  background:rgba(168,66,46,.03);
  color:#A8422E;font-family:var(--font-serif);
  font-size:1.1rem;font-weight:600;line-height:1;
  animation:seal-press .3s var(--ease-out) both;
}
.sealcard-cred-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.14rem}
.sealcard-name{
  font-family:var(--font-serif);font-size:1.1rem;font-weight:700;
  color:#3A3025;letter-spacing:.1em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* 存额：朱笔记数（tabular 防跳动） */
.sealcard-cm{display:flex;align-items:baseline;gap:.45rem;font-size:.8rem;color:#7A5C30}
.sealcard-cm-num{
  font-family:var(--font-serif);font-size:1.25rem;font-weight:700;
  color:#A8422E;letter-spacing:.04em;font-variant-numeric:tabular-nums;
}
.sealcard-cm-unit{font-size:.66rem;color:#7A5C30;letter-spacing:.2em;text-indent:.2em}
/* 通联：邮箱三态（已凭/待验/未凭） */
.sealcard-mail{
  display:flex;align-items:center;gap:.5rem;margin-top:.1rem;
  font-size:.72rem;color:#6E5638;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sealcard-mail-state{
  flex:none;font-size:.58rem;line-height:1.4;letter-spacing:.2em;text-indent:.2em;
  color:#7A5C30;border:1px solid rgba(196,154,95,.45);border-radius:2px;padding:.1rem .4rem;
}
.sealcard-mail-state.is-missing{color:#A8422E;border-color:rgba(168,66,46,.5)}

/* ── 主通道 · 充填刻度（唯一盖印钮）── */
.sealcard-redeem{
  display:flex;align-items:center;justify-content:center;gap:.6em;width:100%;
  min-height:46px;margin-bottom:1rem;
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);border-radius:3px;
  color:#A8422E;font-family:var(--font-serif);font-size:.9rem;font-weight:600;
  letter-spacing:.22em;text-indent:.22em;cursor:pointer;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s var(--ease-out);
}
.sealcard-redeem .redeem-annot{
  font-size:.62rem;font-weight:500;letter-spacing:.16em;text-indent:0;
  color:rgba(168,66,46,.6);border-left:1px solid rgba(168,66,46,.3);padding-left:.6em;
}
.sealcard-redeem:hover{background:#A8422E;border-color:#8F3424;color:#F7F3E8;box-shadow:0 2px 10px rgba(168,66,46,.18)}
.sealcard-redeem:hover .redeem-annot{border-left-color:rgba(247,243,232,.45);color:rgba(247,243,232,.85)}
.sealcard-redeem:active{transform:translateY(1px) scale(.98);transition-duration:.07s}
.sealcard-redeem:focus-visible{outline:2px solid #A8422E;outline-offset:2px}

/* ═══ 8/7 权益体系（2026-08-04 综合方案）═══
   荣誉文字佩（材料链等级递进：鎏金→玉填→铜线；创世=出身标识非等级，以铜线收尾）
   + 累进账册量尺 + 恩赏弹窗。器物色扩展：玉碧 #3F6658 正式纳入（尊享=温润如玉，
   与朱砂-深金-宣纸三色并列，克制的第四色，仅用于玉填佩） */

/* ── 荣誉文字佩 · 材料等级链 ── */
.sealcard-name{display:flex;align-items:baseline;gap:.35rem;overflow:hidden}
.sealcard-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbadges{display:inline-flex;flex:none}
.cbadge{
  display:inline-flex;align-items:center;line-height:1;vertical-align:middle;
  font-family:var(--font-serif);font-weight:600;border-radius:2px;position:relative;
  white-space:nowrap;margin-left:.3rem;user-select:none;cursor:default;
}
.cbadge::after{content:'';position:absolute;inset:2px;pointer-events:none;
  border:1px solid transparent;border-radius:1px}
.cbadge-founder{  /* 创世旅人 · 铜线佩（素） */
  padding:.16rem .42rem;font-size:.6rem;letter-spacing:.12em;text-indent:.12em;
  color:#7A5C30;border:1px solid rgba(122,92,48,.5);background:transparent;
}
.cbadge-founder::after{border-color:rgba(122,92,48,.22)}
.cbadge-noble{  /* 尊享 · 玉填佩 */
  padding:.16rem .44rem;font-size:.62rem;letter-spacing:.2em;text-indent:.2em;
  color:#3F6658;border:1px solid rgba(63,102,88,.5);background:rgba(63,102,88,.06);
}
.cbadge-noble::after{border-color:rgba(63,102,88,.22)}
.cbadge-supreme{  /* 至尊 · 鎏金佩（唯一实底） */
  padding:.16rem .44rem;font-size:.62rem;letter-spacing:.2em;text-indent:.2em;
  color:#F7F3E8;border:1px solid #6E4E26;background:#7A5C30;
}
.cbadge-supreme::after{border-color:rgba(247,243,232,.35)}

/* ── 累进账册 · 刻度量尺（刻度按金额真实比例）── */
.sealcard-ruler{position:relative;margin-bottom:.9rem;padding:.75rem .85rem .7rem;
  border:1px solid rgba(138,109,64,.28);border-radius:3px;background:rgba(252,250,244,.5)}
.sealcard-ruler::after{content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(138,109,64,.12);border-radius:1px}
.rg-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.65rem}
.rg-title{font-size:.6rem;letter-spacing:.3em;text-indent:.3em;color:#7A5C30}
.rg-title::before{content:'';width:.34rem;height:.34rem;background:#A8422E;border-radius:1px;
  flex:none;display:inline-block;margin-right:.5rem;vertical-align:.08rem}   /* 朱砂方点 · 凭帖题头同构 */
.rg-total{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:#8A6D40;
  letter-spacing:.03em;font-variant-numeric:tabular-nums}
.rg-rule{position:relative;height:14px;margin:0 .2rem 1rem;
  border-bottom:1px solid rgba(138,109,64,.35)}
.rg-fill{position:absolute;left:0;bottom:-1px;height:2px;width:100%;
  background:linear-gradient(180deg,#C49A5F,#8A6D40);transform-origin:left;transform:scaleX(0);
  border-bottom:1px solid rgba(122,92,48,.55);   /* 深金底边：信息性元素对比 ≥3:1（审查 P3-7） */
  box-shadow:0 0 4px rgba(196,154,95,.25);       /* 辉光收敛，防细线发糊 */
  transition:transform .8s var(--ease-out)}
.rg-mark{position:absolute;bottom:-1px;transform:translateX(-50%)}
.rg-mark:last-child{transform:translateX(-100%)}   /* 末档标签不探出右缘（审查） */
.rg-dot{display:block;width:7px;height:7px;margin:0 auto 4px;border-radius:50%;
  border:1px solid rgba(138,109,64,.55);background:transparent;box-sizing:border-box}
.rg-label{display:block;font-size:.55rem;color:#7A6450;letter-spacing:.05em;white-space:nowrap;
  font-variant-numeric:tabular-nums}
.rg-mark.is-done .rg-dot{background:#A8422E;border-color:#A8422E;
  box-shadow:inset 0 0 0 2px rgba(247,243,232,.85)}
.rg-mark.is-done .rg-label{color:#A8422E;font-weight:600}
.rg-foot{font-size:.7rem;color:#6E5638;letter-spacing:.06em;line-height:1.6}
.rg-foot b{color:#8A6D40;font-weight:700;font-variant-numeric:tabular-nums}
.rg-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}
.rg-chip{font-size:.55rem;letter-spacing:.12em;color:#A8422E;line-height:1.5;
  border:1px solid rgba(168,66,46,.45);border-radius:2px;padding:.05rem .4rem;
  background:rgba(168,66,46,.04)}

/* ── 恩赏弹窗 · 盖印仪式 ── */
.reward-modal{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:.6rem .3rem}
.rw-head{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.rw-seal{width:2.7rem;height:2.7rem;border:2px solid #A8422E;border-radius:3px;
  display:flex;align-items:center;justify-content:center;color:#A8422E;
  font-family:var(--font-serif);font-size:.9rem;font-weight:700;
  box-shadow:inset 0 0 0 1.5px rgba(168,66,46,.18);
  background:rgba(168,66,46,.04)}
.rw-annot{font-size:.72rem;letter-spacing:.3em;text-indent:.3em;color:#7A5C30;text-align:center}
.rw-rows{width:100%;border:1px solid rgba(138,109,64,.2);border-radius:3px;
  background:rgba(252,250,244,.6);padding:.3rem .8rem}
.rw-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:40px;border-bottom:1px dashed rgba(138,109,64,.14);font-size:.85rem;opacity:0}
.rw-row:last-child{border-bottom:none}
.rw-name{font-family:var(--font-serif);color:#3A3025;letter-spacing:.08em}
.rw-note{flex:none;font-size:.62rem;letter-spacing:.24em;text-indent:.24em;color:#A8422E}
.rw-bonus{font-size:.62rem;color:#6E5638;letter-spacing:.06em;text-align:center}   /* 去 opacity：≥4.5:1（审查 P2-4） */
.rw-ok{width:100%;margin-top:.2rem;min-height:44px}   /* 触控达标（审查 B1） */

@media (prefers-reduced-motion:reduce){
  .rg-fill{transition:none}
  .cbadge,.rw-seal{animation:none}
  .rw-row{opacity:1}
}

/* ── 支取事项 · 账目行（快压慢回：压 70ms / 回 280ms）── */
.sealcard-rows{display:flex;flex-direction:column}
.sealcard-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;min-height:44px;padding:.5rem .2rem;
  background:none;border:none;border-bottom:1px solid rgba(180,160,120,.16);
  cursor:pointer;text-align:left;
  font-family:var(--font-serif);font-size:.87rem;color:#3A3025;
  transition:color .2s var(--ease-out),background .2s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1);
}
.sealcard-rows .sealcard-row:last-child{border-bottom:none}
.sealcard-row:hover{color:#A8422E;background:rgba(168,66,46,.04)}
.sealcard-row:active{background:rgba(168,66,46,.07);transform:scale(.99) translateY(1px);transition-duration:.07s}
.sealcard-row:focus-visible{outline:2px solid #A8422E;outline-offset:-2px}
.sealcard-row-name{letter-spacing:.14em;text-indent:.14em}
.sealcard-row-note{flex:none;font-size:.62rem;letter-spacing:.24em;text-indent:.24em;color:#7A5C30}
.sealcard-row:hover .sealcard-row-note{color:#8F3424}
/* 订阅账目行：状态朱砂强调 */
.sealcard-row-sub .sealcard-row-note{color:#A8422E}
.sealcard-row-sub:hover .sealcard-row-note{color:#8F3424}

/* ── 危险区 · 收印/销户 ── */
.sealcard-foot{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(180,160,120,.22)}
.sealcard-foot-note{font-size:.6rem;letter-spacing:.3em;text-indent:.3em;color:#7A5C30;text-align:center;margin-bottom:.3rem}
.sealcard-row-logout:hover{color:#A04040;background:rgba(160,64,64,.04)}
.sealcard-row-logout:hover .sealcard-row-note{color:#A04040}
.sealcard-leave{
  display:block;margin:.55rem auto .1rem;padding:.15rem .5rem;
  background:none;border:none;font-size:.66rem;letter-spacing:.14em;
  color:#A04040;cursor:pointer;transition:color .2s var(--ease-out);
}
.sealcard-leave:hover{color:#8F3424;text-decoration:underline;text-underline-offset:3px}
.sealcard-leave:focus-visible{outline:2px solid #A04040;outline-offset:2px}

/* 名章钤下 */
@keyframes seal-press{from{transform:scale(1.14);opacity:.5}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){
  .sealcard-mark{animation:none}
  .sealcard-row,.sealcard-redeem{transition:none}
}
.auth-links{display:flex;justify-content:space-between;margin-top:.7rem}
.auth-link{background:none;border:none;color:rgba(139,115,85,0.5);font-size:.75rem;cursor:pointer;padding:.3rem 0;transition:color .2s}
.auth-link:hover{color:#5a3e2b}

/* ═══════════════════════════════════════════════
   充值消费说明 · 价目当票（2026-08-03，与印鉴卡双框界格同构）
   票号隐喻：账册计费 → 长期契订阅 → 主通道盖印 → 下划线兑付
   ═══════════════════════════════════════════════ */

/* ── 凭帖主框（双框界格，同 .sealcard-cred）── */
.quota-ledger{position:relative;max-width:640px;margin:0 auto;
  padding:2.4rem 2.2rem 2.6rem;
  border:1px solid rgba(138,109,64,.28);border-radius:3px;
  background:rgba(252,250,244,.55)}
.quota-ledger::before{content:'';position:absolute;inset:6px;pointer-events:none;
  border:1px solid rgba(138,109,64,.12);border-radius:1px}

/* ── 凭帖题头：朱砂小章 + 衬线题字 + Cinzel 拉丁款 ── */
.quota-head{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin:0 0 1.7rem}
.quota-seal{width:2.4rem;height:2.4rem;border:1.5px solid var(--cinnabar);border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.74rem;font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.16)}
.quota-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:700;color:var(--ink);
  letter-spacing:.34em;text-indent:.34em;margin:0}
.quota-latin{font-family:var(--font-cinzel);font-size:.6rem;letter-spacing:.44em;text-indent:.44em;
  color:var(--gold-deep);opacity:.85;margin:0}
.quota-lead{font-size:.88rem;line-height:1.95;color:var(--ink-dim);margin:0 0 1.7rem}

/* ── 章节款识：朱砂方点 + 衬线标题（替代失控的 .content-title）── */
.quota-h2{display:flex;align-items:center;gap:.6rem;margin:2.1rem 0 .9rem;
  font-family:var(--font-serif);font-size:.95rem;font-weight:700;color:var(--ink);
  letter-spacing:.28em;text-indent:.28em}
.quota-h2::before{content:'';width:.4rem;height:.4rem;background:var(--cinnabar);border-radius:1px;flex:none}

/* ── 账册（收据双栏：品名+小字注 | 点数，tabular 防跳动）── */
.quota-table{width:100%;border-collapse:collapse}
.quota-table td{border-bottom:1px solid var(--border-hairline);padding:.72rem .2rem;vertical-align:middle}
.quota-item{font-family:var(--font-serif);font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:.12em}
.quota-item .quota-note{display:block;font-family:var(--font-sans);font-size:.72rem;font-weight:400;
  color:var(--ink-dim);letter-spacing:.04em;margin-top:.12rem;line-height:1.6}
.quota-num{text-align:right;white-space:nowrap;font-family:var(--font-serif);
  font-size:1.15rem;font-weight:700;color:var(--gold-deep);font-variant-numeric:tabular-nums}
.quota-unit{font-size:.6rem;font-weight:400;color:var(--ink-dim);letter-spacing:.16em;margin-left:.28rem}
.quota-free{font-size:.85rem;line-height:1.85;color:var(--ink);margin:.95rem 0 0}
.quota-free strong{color:var(--cinnabar);font-weight:600}

/* ── 主通道（双框界格，唯一盖印大钮）── */
.quota-channel-main{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;
  padding:1.25rem 1.3rem 1.35rem;margin-top:.2rem;
  border:1px solid rgba(168,66,46,.28);border-radius:3px;background:rgba(168,66,46,.03)}
.quota-channel-main::after{content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(168,66,46,.12);border-radius:1px}
.quota-channel-name{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--ink);
  letter-spacing:.22em;text-indent:.22em}
.quota-channel-desc{font-size:.74rem;color:var(--ink-dim);letter-spacing:.06em;text-align:center}
.quota-seal-btn{display:inline-block;margin-top:.55rem;padding:.6rem 2.6rem;
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);border-radius:3px;
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.88rem;font-weight:600;
  letter-spacing:.22em;text-indent:.22em;text-decoration:none;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1)}
.quota-seal-btn:hover{background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8}
.quota-seal-btn:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.quota-seal-btn:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}

/* ── 月俸 · 长期契（高价值入口：朱砂强调 + 价格大字，一眼可见）── */
.quota-covenant{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin:1.05rem 0;padding:.95rem .9rem;flex-wrap:wrap;
  border:1px solid rgba(168,66,46,.28);border-radius:3px;background:rgba(168,66,46,.03)}
.quota-covenant-text{flex:1;min-width:0}
.quota-covenant-name{font-family:var(--font-serif);font-size:.95rem;font-weight:700;color:var(--cinnabar);
  letter-spacing:.16em;margin:0}
.quota-covenant-price{font-family:var(--font-serif);font-size:1.3rem;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;margin:.15rem 0 0;letter-spacing:.04em}
.quota-covenant-price .quota-covenant-unit{font-size:.62rem;font-weight:400;color:var(--ink-dim);letter-spacing:.14em;margin-left:.3rem}
.quota-covenant-desc{font-size:.72rem;color:var(--ink-dim);margin:.2rem 0 0;line-height:1.6}
.quota-covenant-link{flex:none;font-size:.78rem;color:var(--gold-deep);letter-spacing:.1em;
  text-decoration:none;border-bottom:1px solid rgba(138,109,64,.35);padding-bottom:.08rem;white-space:nowrap;
  transition:color .2s var(--ease-out),border-color .2s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1)}
.quota-covenant-link:hover{color:var(--ink);border-color:var(--ink)}
.quota-covenant-link:active{transform:translateY(1px) scale(.98);transition-duration:.07s}

/* ── 便渠 · 闲鱼（备选渠道，独立可见卡；主渠之下、降级不消失）── */
.quota-channel-alt{display:flex;flex-direction:column;align-items:center;gap:.35rem;
  padding:1.05rem 1.3rem 1.15rem;margin-top:.7rem;
  border:1px solid rgba(138,109,64,.2);border-radius:3px;background:rgba(138,109,64,.03)}
.quota-channel-alt .quota-channel-desc{font-size:.7rem;color:var(--ink-dim);letter-spacing:.05em;text-align:center}
.quota-btn-ghost{display:inline-block;margin-top:.5rem;padding:.55rem 2rem;
  background:transparent;border:1px solid rgba(138,109,64,.4);border-radius:3px;
  color:var(--gold-deep);font-family:var(--font-serif);font-size:.82rem;font-weight:600;
  letter-spacing:.18em;text-indent:.18em;text-decoration:none;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1)}
.quota-btn-ghost:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:#F7F3E8}
.quota-btn-ghost:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.quota-btn-ghost:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}

/* ── 票号兑付：下划线书写式 input + 盖印钮 ── */
.quota-desc{font-size:.85rem;line-height:1.85;color:var(--ink-dim);margin:0}
.quota-redeem{display:flex;gap:.7rem;align-items:flex-end;margin-top:.9rem;max-width:440px}
#quota-redeem-input{flex:1;min-width:0;padding:.6rem .1rem .45rem;
  background:transparent;border:none;border-bottom:1px solid #8A6D40;border-radius:0;  /* 实心深金下划线：控件边界 4.36:1 ✓ WCAG 1.4.11 */
  color:var(--ink);font-family:var(--font-serif);font-size:.92rem;letter-spacing:.06em;
  outline:none;transition:border-color .25s var(--ease-out)}
#quota-redeem-input::placeholder{color:#7A6450}
#quota-redeem-input:focus{border-bottom-color:var(--cinnabar);box-shadow:0 0 0 2px rgba(139,115,85,.18)}
#quota-redeem-btn{flex:none;padding:.58rem 1.5rem;
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);border-radius:3px;
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.85rem;font-weight:600;
  letter-spacing:.18em;text-indent:.18em;cursor:pointer;white-space:nowrap;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease}
#quota-redeem-btn:hover{background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8}
#quota-redeem-btn:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
#quota-redeem-btn:disabled{opacity:.55;cursor:default}
#quota-redeem-btn:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}
.quota-redeem-msg{font-size:.76rem;letter-spacing:.05em;margin-top:.6rem;min-height:1.3rem;
  color:var(--ink-dim);transition:color .25s ease}
.quota-redeem-msg.is-busy{color:#7A6450}          /* 进行中 · 墨色 5.03:1 */
.quota-redeem-msg.is-ok{color:#3F6658}            /* 成功 · 玉青 5.82:1 ✓ */
.quota-redeem-msg.is-err{color:#9A3B2A}           /* 失败 · 锈朱 6.24:1 ✓ */
.quota-redeem-msg .cm-amount{font-weight:700}

/* ── 谨告 · 折叠（details/summary，原生零 JS）── */
.quota-notice{margin:.9rem 0 0;border-top:1px dashed rgba(138,109,64,.18);padding-top:.4rem}
.quota-notice summary{cursor:pointer;list-style:none;font-family:var(--font-serif);font-size:.78rem;
  letter-spacing:.22em;color:var(--gold-deep);padding:.45rem 0;user-select:none;outline:none}
.quota-notice summary::-webkit-details-marker{display:none}
.quota-notice summary::after{content:'';width:0;height:0;margin-left:.5rem;vertical-align:middle;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:5.5px solid rgba(138,109,64,.5);display:inline-block;transition:transform .25s var(--ease-out)}
.quota-notice[open] summary::after{transform:rotate(180deg)}
.quota-notice summary:hover{color:var(--ink)}

/* ── 法务款识（中文数字序号）── */
.quota-legal{list-style:none;margin:.4rem 0 0;padding:0;counter-reset:quota-legal}
.quota-legal li{position:relative;padding:.55rem 0 .55rem 1.9rem;counter-increment:quota-legal;
  font-size:.8rem;line-height:1.85;color:var(--ink-dim);border-bottom:1px dashed rgba(138,109,64,.12)}
.quota-legal li:last-child{border-bottom:none}
.quota-legal li::before{content:counter(quota-legal, cjk-ideographic);
  position:absolute;left:.05rem;top:.55rem;
  font-family:var(--font-serif);font-size:.72rem;color:var(--cinnabar)}
.quota-legal strong{color:var(--ink);font-weight:600}

/* 全局数字纵向对齐（CM 金额不跳动） */
#content-body{font-variant-numeric:tabular-nums}

/* ═══ 页脚（生产 kairos-footer 模式 · 知几米白版 2026-08-03）═══
   结构沿用生产：版权左 + 链接右 + 半透明磨砂；知几配色：米白底 + 暗金发丝线 */
.kairos-footer{position:relative;z-index:10;width:100%;margin-top:120px;
  padding:1.2rem 0;border-top:1px solid rgba(180,160,120,.12);
  background:rgba(247,243,232,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.footer-meta{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;
  padding:0 1.5rem;font-size:.7rem;color:rgba(100,80,55,.5);letter-spacing:.05em;flex-wrap:wrap;gap:.4rem}
.footer-links{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.footer-links a,.footer-links .footer-link{cursor:pointer;color:rgba(100,80,55,.85);text-decoration:none;   /* 2026-08-03 审查修复：rgba(100,80,55,.55) 2.52:1 → ≈5.2:1（法务链接必达 AA） */
  background:none;border:none;font:inherit;letter-spacing:inherit;padding:.2rem .1rem;transition:color .2s var(--ease-out)}
.footer-links a:hover{color:#5a3e2b}
.footer-sep{opacity:.5}
@media (max-width:600px){
  .footer-meta{flex-direction:column;text-align:center;padding:0 1rem}
}
/* 内容视窗返回钮快压慢回 */
.content-back{transition:border-color .2s ease,color .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.content-back:active{transform:translateY(1px) scale(.98);transition-duration:.07s}

@media (max-width:600px){
  .quota-ledger{padding:1.7rem 1.2rem 2rem}
  .quota-covenant{flex-direction:column;align-items:flex-start}
  .quota-seal-btn{padding:.6rem 2rem}
}
@media (prefers-reduced-motion:reduce){
  .quota-seal-btn,#quota-redeem-btn,.quota-covenant-link,.quota-alt-link,.content-back{transition:none}
  .quota-seal-btn:active,#quota-redeem-btn:active,.quota-covenant-link:active,.quota-alt-link:active,.content-back:active{transform:none}
}

/* ═══ 右上角登录按钮 ═══ */
.top-login-btn{position:fixed;top:16px;right:calc(50% - 520px);z-index:1001;padding:.5rem 1rem;background:rgba(247,243,232,0.9);border:1px solid rgba(180,160,120,0.25);border-radius:3px;color:rgba(100,80,55,.85);font-size:.82rem;cursor:pointer;letter-spacing:.04em;font-weight:500;transition:all .25s}   /* 2026-08-03 审查修复：right -360px 悬版心空白处被误认浏览器插件 → -520px 贴版心右上；color .7→.85 */
.top-login-btn:hover{border-color:#8b7355;color:#5a3e2b;background:rgba(247,243,232,1)}
.top-login-btn.logged-in{color:#5a3e2b;border-color:rgba(180,160,120,0.35)}
.admin-only.hidden{display:none!important}

/* ═══ 排盘结果卡片（权威定义在 pan.css · 2026-08-03 去重）═══ */

/* ═══════════════════════════════════════════ */
/*  响应式 — 平板 ≤800px                       */
/* ═══════════════════════════════════════════ */

/* ═══════════════════════════════════════════ */
/*  响应式 — 手机 ≤600px                       */
/* ═══════════════════════════════════════════ */

/* Toast (warm jade) */
.toast{position:fixed;bottom:calc(2rem + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%) translateY(20px);background:rgba(58,48,37,0.95);border:1px solid rgba(196,154,95,0.3);color:rgba(247,243,232,0.9);padding:.7rem 1.4rem;border-radius:3px;font-size:.85rem;pointer-events:none;opacity:0;transition:opacity .35s,transform .35s;z-index:10001;max-width:90vw;text-align:center;letter-spacing:.03em}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* 起卦时间选择器 */
.datetime-block{display:flex;flex-direction:column;gap:.35rem;padding:.6rem .8rem .4rem}
.datetime-label{font-size:.75rem;color:var(--text-dim);letter-spacing:.04em;opacity:.9}   /* 2026-08-03 审查修复：opacity .75 → .9 */
.datetime-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.datetime-input{flex:1;min-width:150px;min-height:44px;padding:.45rem .1rem;border:none;border-bottom:1px solid var(--gold-deep);border-radius:0;background:transparent;color:var(--text);font-size:.8rem;outline:none;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out);font-family:var(--font-serif)}
.datetime-input:focus{border-bottom-color:var(--cinnabar);box-shadow:0 2px 0 -1px var(--cinnabar)}
.datetime-input::-webkit-calendar-picker-indicator{filter:invert(.55) sepia(.3) saturate(3) hue-rotate(5deg);cursor:pointer;opacity:.7}
.datetime-btn{padding:.45rem .75rem;border-radius:3px;font-size:.76rem;cursor:pointer;transition:all .2s;font-family:inherit;letter-spacing:.03em}   /* 2026-08-03 审查修复：9px 漏网圆角归契书档 */
.datetime-btn.now{border:1px solid rgba(196,154,95,0.25);background:rgba(196,154,95,0.08);color:var(--accent-soft)}
.datetime-btn.now:hover{background:rgba(196,154,95,0.16);border-color:var(--accent)}
.datetime-btn.clear{border:1px solid transparent;background:transparent;color:var(--text-dim);opacity:.9}
.datetime-btn.clear:hover{opacity:1;color:var(--text)}
.datetime-hint{font-size:.68rem;color:var(--text-dim);opacity:.8;letter-spacing:.02em}

/* 档案仪 loading spinner */
@keyframes liuyao-archive-spin{to{transform:rotate(360deg)}}

/* 时空档案仪 — 滑动条（知几暖玉暗金） */
.liuyao-archive-items::-webkit-scrollbar{width:5px}
.liuyao-archive-items::-webkit-scrollbar-track{background:transparent;margin:4px 0}
.liuyao-archive-items::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(196,154,95,0.12),rgba(196,154,95,0.25),rgba(196,154,95,0.12));border-radius:3px}
.liuyao-archive-items::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(196,154,95,0.25),rgba(196,154,95,0.4),rgba(196,154,95,0.25))}
.liuyao-archive-items{scrollbar-width:thin;scrollbar-color:rgba(196,154,95,0.2) transparent}
/* reduced-motion: 与生产一致——只对显式 UI 元素减速；干支浮影/日晷等背景动画不碰 */
@media (prefers-reduced-motion:reduce){
  .chat-bubble,.auth-modal,.content-view,.hb-drawer,.style-btn,.quantum-btn,
  .coin,#submit-btn,.ritual-cheng,.ritual-ink{
    animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important
  }
  .ritual-overlay{display:none!important}
}

/* ═══ 焚香静心 · 仪式过渡 ═══ */
.ritual-overlay{position:fixed;inset:0;z-index:10002;pointer-events:auto;overflow:hidden;background:rgba(20,16,12,0.96);display:flex;align-items:center;justify-content:center}
.ritual-overlay.hidden{display:none}
.ritual-smoke{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;display:none;will-change:opacity}
.ritual-skip{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);font-size:0.72rem;letter-spacing:0.2em;color:rgba(220,205,180,0.35);cursor:pointer;user-select:none}
.ritual-skip:hover{color:rgba(220,205,180,0.7)}
.ritual-cheng-echo{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:4rem;font-weight:700;letter-spacing:0.3em;color:#C96B54;pointer-events:none;background:rgba(20,16,12,0.35)}
@media (prefers-reduced-motion:reduce){.ritual-cheng-echo{display:none}}

/* ═══════════════════════════════════════════
   首页两段式 · 国宴版（Hero + 双门楼）
   ═══════════════════════════════════════════ */
.hero-zhiji{min-height:66vh;display:flex;align-items:center;justify-content:center;position:relative;text-align:center}
.hero-zhiji-inner{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding-top:2rem}
.hero-zhiji-title{position:relative;text-align:center;margin-bottom:.2rem}
.hero-zhiji-title svg{width:clamp(280px,46vw,560px);height:auto;display:block;margin:0 auto;overflow:visible}
.zj-stroke{stroke-dashoffset:1;fill-opacity:0}
.hero-zhiji-sub{font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.5em;color:#7A5C30;padding-left:.5em}
.hero-zhiji-quote{font-family:var(--font-serif);font-size:1rem;color:#54402F;letter-spacing:.08em;margin-top:.4rem;line-height:2}
.hero-zhiji-annot{display:block;font-size:.82rem;color:#5F4B38;letter-spacing:.12em;line-height:1.9}
.hero-zhiji-actions{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-top:1.4rem}
.hero-zhiji-cta{display:inline-block;padding:.75rem 2.8rem;border:1px solid rgba(196,154,95,.45);border-radius:4px;background:rgba(196,154,95,.08);color:#7A5C30;font-family:var(--font-serif);font-size:.95rem;font-weight:600;letter-spacing:.3em;text-decoration:none;padding-left:calc(.3em + 2.8rem);transition:transform .3s var(--ease-out),background .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.hero-zhiji-cta:hover{background:rgba(196,154,95,.12);border-color:rgba(196,154,95,.7);box-shadow:0 0 10px rgba(196,154,95,.12)}
.hero-zhiji-cta:active{transform:translateY(0) scale(.98);transition-duration:.08s}
.hero-zhiji-lineage{border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline);padding:.7rem 3rem;margin-top:1.4rem;font-size:.76rem;color:#6B5540;letter-spacing:.3em;opacity:.95}
.hero-foil{margin-top:0;margin-bottom:1.4rem}

/* 第二段 · 双门楼 */
.zhiji-portals{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;padding:1rem 0 3rem}
.zhiji-portal-card{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding:2.2rem 2rem;border:1px solid var(--border-hairline);border-radius:3px;background:rgba(247,243,232,.72);text-decoration:none;color:var(--ink);min-width:280px;flex:1;max-width:400px;position:relative;transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),transform .25s var(--ease-out);cursor:pointer}
.zhiji-portal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(196,154,95,.4),transparent);opacity:0;transition:opacity .25s}
.zhiji-portal-card:hover{border-color:rgba(196,154,95,.35);box-shadow:0 4px 24px rgba(58,48,37,.06);transform:translateY(-2px)}
.zhiji-portal-card:hover::before{opacity:1}
.zhiji-portal-card:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.zhiji-portal-mark{color:var(--gold-deep);opacity:.8;margin-bottom:.2rem}
.zhiji-portal-name{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;letter-spacing:.3em;color:var(--ink);padding-left:.3em}
.zhiji-portal-sub{font-size:.8rem;color:var(--gold-deep);letter-spacing:.12em;opacity:.85}
.zhiji-portal-desc{font-size:.84rem;color:var(--ink-dim);line-height:1.9;margin-top:.3rem}
.zhiji-portal-disabled{cursor:not-allowed;pointer-events:none;background:rgba(247,243,232,.5)}
.zhiji-portal-disabled .zhiji-portal-name{opacity:.55}
.zhiji-portal-disabled .zhiji-portal-desc{opacity:.6}
.zhiji-portal-disabled .zhiji-portal-sub{opacity:.6}
.zhiji-portal-badge{position:absolute;top:.9rem;right:1rem;font-size:.66rem;letter-spacing:.12em;color:#A8422E;border:1px solid rgba(168,66,46,.55);border-radius:2px;padding:.12rem .5rem;opacity:.8;font-family:var(--font-serif)}

/* 移动端 */
@media (max-width:600px){
  .hero-zhiji{min-height:64vh}
  .hero-zhiji-quote{font-size:.82rem;padding:0 1.5rem}
  .zhiji-portals{flex-direction:column;padding:1rem .5rem 2rem}
  .zhiji-portal-card{min-width:auto;max-width:none;padding:1.6rem 1.4rem}
}

.zhiji-mark-taiji{font-family:'Noto Serif SC','SimSun',serif;font-size:1.8rem;line-height:1;color:var(--gold-deep);opacity:.85}

/* ═══ 顶部登录 · 朱文印「凭信」（2026-08-02 重构）═══
   未登录=虚印候盖 → 悬停=盖印（朱文转白文）→ 登录=实印已钤 + 印鉴卡。
   与左太极☯对仗：左圆右方 / 左金右朱 / 天圆地方，圆心共线 38px。 */
.landing-header-clean{position:fixed;top:0;left:0;right:0;height:64px;z-index:100;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding:0 1.5rem}
.landing-header-clean .top-login-btn{position:static}
.top-login-btn{
  position:fixed;top:17px;right:max(1rem,calc(50% - 480px));   /* top 17px：42px 高 → 圆心 38px 与太极共线 */
  z-index:1001;min-height:42px;
  padding:.34rem .85rem .34rem .55rem;
  background:transparent;                       /* 直接钤于纸面，无填充盒 */
  border:1px solid rgba(168,66,46,.5);          /* 印泥线 */
  border-radius:2px;                            /* 印面方角微弧，全页最利 */
  color:#A8422E;                                /* 朱砂印文 · 对米白 5.4:1 ✓ */
  font-family:var(--font-serif);
  font-size:.8rem;font-weight:600;line-height:1.4;
  text-align:center;cursor:pointer;user-select:none;touch-action:manipulation;
  box-shadow:0 1px 0 rgba(168,66,46,.12);       /* 印泥着纸的极淡沉影 */
  transition:background .3s var(--ease-out),color .2s var(--ease-out),
             border-color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1);
}
/* 双印框：外粗内细，朱文印真身 */
.top-login-btn::before{
  content:'';position:absolute;inset:2px;
  border:1px solid rgba(168,66,46,.28);
  border-radius:1px;pointer-events:none;
  transition:border-color .3s var(--ease-out);
}
/* 主字宽字距，text-indent 回补居中 */
.top-login-main{display:inline-block;letter-spacing:.38em;text-indent:.38em;vertical-align:middle}
/* 边款「注册」：细朱小字，界格分隔，如印章边款 */
.top-login-sub{
  margin-left:.7em;padding-left:.7em;
  border-left:1px solid rgba(168,66,46,.3);
  font-size:.62rem;font-weight:500;letter-spacing:.28em;
  color:rgba(168,66,46,.6);
}
/* 钤印：悬停=盖下去，朱文转白文 */
.top-login-btn:hover{background:#A8422E;border-color:#8F3424;color:#F7F3E8;box-shadow:0 2px 10px rgba(168,66,46,.18)}
.top-login-btn:hover::before{border-color:rgba(247,243,232,.4)}
.top-login-btn:hover .top-login-sub{border-left-color:rgba(247,243,232,.45);color:rgba(247,243,232,.85)}
.top-login-btn:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.top-login-btn:focus-visible{outline:2px solid #A8422E;outline-offset:2px;border-radius:2px}
@media (prefers-reduced-motion:reduce){.top-login-btn,.top-login-btn:hover,.top-login-btn:active{transform:none;transition:background .2s ease,border-color .2s ease,color .2s ease}}
@media (prefers-reduced-transparency:reduce){.login-overlay,.login-modal,.auth-overlay,.auth-modal{backdrop-filter:none;-webkit-backdrop-filter:none}.login-overlay,.auth-overlay{background:rgba(247,243,232,.95)}.login-modal,.auth-modal{background:#f7f3e8}}

/* 已登录 = 印已钤：实印 + 印鉴卡 */
.top-login-btn.logged-in{
  display:flex;align-items:center;gap:.55rem;
  min-height:44px;padding:.3rem .8rem .3rem .45rem;text-align:left;
  background:rgba(247,243,232,.88);
  border-color:rgba(196,154,95,.4);color:#5A3E2B;
  box-shadow:0 1px 6px rgba(58,48,37,.05);
}
.top-login-btn.logged-in::before{border-color:rgba(196,154,95,.25)}
.logged-in-seal{
  flex:none;width:1.05rem;height:1.05rem;border-radius:1px;
  background:#A8422E;color:#F7F3E8;
  font-size:.56rem;font-weight:600;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.logged-in-info{display:flex;flex-direction:column;line-height:1.25}
.logged-in-name{font-size:.76rem;font-weight:600;color:#5A3E2B;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.logged-in-cm{font-size:.66rem;color:#8A6D40;letter-spacing:.06em}
.top-login-btn.logged-in:hover{background:rgba(247,243,232,.97);border-color:rgba(196,154,95,.65);color:#5A3E2B;box-shadow:0 1px 6px rgba(58,48,37,.08)}
.top-login-btn.logged-in:hover::before{border-color:rgba(196,154,95,.35)}
.top-login-btn.logged-in:hover .logged-in-seal{background:#8F3424}
@media (max-width:600px){.top-login-btn{right:1rem}}

/* ═══════════════════════════════════════════════
   排盘页重构 · 四步卦局（2026-08-03，4 skill 综合）
   整页 = 一张起卦凭帖：题头 → 问事 → 起卦 → 卦案 → 批注
   器物语言：方角 3px / 双框界格 / 朱砂章 / 印签盖选 / 下划线书写
   ═══════════════════════════════════════════════ */

/* ── 题头 · 墨书 + 朱章（替代金字渐变）── */
.pan-head{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0 0 2rem;position:relative}
.pan-seal{width:2.6rem;height:2.6rem;border:1.5px solid var(--cinnabar);border-radius:3px;
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.8rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.16);
  animation:seal-press .3s var(--ease-out) both}
.pan-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--ink);
  letter-spacing:.3em;text-indent:.3em;margin:0;
  background:none!important;-webkit-background-clip:initial!important;
  -webkit-text-fill-color:var(--ink)!important;background-clip:initial!important}
.pan-latin{font-family:var(--font-cinzel);font-size:.58rem;letter-spacing:.5em;text-indent:.5em;
  color:var(--gold-deep);opacity:.85;margin:0}
.pan-epigraph{font-family:var(--font-serif);font-size:.8rem;color:var(--ink-soft);letter-spacing:.12em;margin:0}

/* ── 步骤轨（壹问事 贰起卦 叁卦案 肆批注 · 四步仪式 · 2026-08-03 Kairós 化：轻量跟随）── */
.ritual-rail{display:flex;justify-content:center;gap:0;margin:0 auto 1.5rem;padding:0;
  list-style:none;font-family:var(--font-serif);font-size:.8rem;letter-spacing:.18em;color:var(--ink-dim);
  max-width:760px;width:100%;position:relative}
.rail-step{display:flex;align-items:baseline;justify-content:center;gap:.35rem;position:relative;opacity:.45;
  flex:1;padding:.5rem .7rem;margin:-.5rem -.7rem;   /* 命中区 44px+，视觉间距不变 */
  transition:opacity .3s var(--ease-out),color .3s var(--ease-out),transform .3s cubic-bezier(.22,1,.36,1);
  cursor:default}
.rail-step+.rail-step::before{content:'';position:absolute;left:-.35rem;top:50%;width:1px;height:.9rem;
  background:rgba(138,109,64,.2)}
.rail-step .rail-no{font-size:.62rem;color:var(--cinnabar);opacity:.8;font-weight:600}
.rail-step.done{opacity:.9;color:var(--jade-deep);cursor:pointer}
.rail-step.done:hover{opacity:1;transform:translateY(-1px)}
.rail-step.done .rail-no::after{content:'讫';font-size:.5rem;color:var(--jade-deep);margin-left:.15rem;opacity:.7}
.rail-step.current{opacity:1;color:var(--ink)}
/* 当前步 · 朱砂短线（盖章语义，与全页印章同构） */
.rail-step.current::after{content:'';position:absolute;left:50%;bottom:.1rem;transform:translateX(-50%);
  width:1.4em;height:2px;background:var(--cinnabar);border-radius:1px;
  animation:rail-ink .3s var(--ease-out)}
@keyframes rail-ink{from{transform:translateX(-50%) scaleX(0)}to{transform:translateX(-50%) scaleX(1)}}

/* ── 问题横幅 · 问事既毕常驻（高度常驻防下跳）── */
.ritual-qbanner{max-width:760px;margin:0 auto 1rem;padding:.55rem 1.2rem;
  display:flex;align-items:center;gap:.8rem;
  min-height:44px;
  border:1px solid var(--frame-inner);border-radius:var(--radius-ledger);
  background:rgba(196,154,95,.05);font-family:var(--font-serif);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease-out)}
.ritual-qbanner.on{opacity:1;visibility:visible}
.ritual-qbanner .qbl{flex:none;font-size:.68rem;color:var(--gold-deep);letter-spacing:.24em;
  border-right:1px solid rgba(138,109,64,.25);padding-right:.8rem}
.ritual-qbanner .qbt{font-size:.82rem;color:var(--ink);letter-spacing:.04em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}   /* 2026-08-03 审查修复：nowrap 单行截断 → 两行 clamp（长问可见全貌；title 全文兜底） */

/* ── 凭帖卡（双框界格 · 全页统一容器 · 2026-08-03 布局：一屏一步 + 节奏）── */
.stage-card{position:relative;max-width:760px;margin:0 auto 2rem;
  padding:1.8rem 1.8rem 2rem;
  border:1px solid var(--frame-main);border-radius:var(--radius-ledger);
  background:rgba(252,250,244,.88)}
/* 壹贰步一屏呼吸（内容纵向居中，叁肆自然高度） */
#stage-question,#stage-cast{min-height:calc(100vh - 300px);display:flex;flex-direction:column;justify-content:center}
/* ⚠️ 特异性修复（2026-08-03 用户抓到）：ID 选择器覆盖 .hidden → 板块隔离失效，起卦区提前出现 */
#stage-question.hidden,#stage-cast.hidden,#stage-pan.hidden,#stage-reading.hidden{display:none!important}
#stage-question .stage-head,#stage-cast .stage-head{flex-shrink:0}
.stage-card::before{content:'';position:absolute;inset:6px;pointer-events:none;
  border:1px solid var(--frame-inner);border-radius:1px}
.stage-head{display:flex;align-items:baseline;gap:.7rem;margin:0 0 1.5rem}
.stage-seal{width:1.9rem;height:1.9rem;flex:none;border:1.5px solid var(--cinnabar);border-radius:2px;
  display:flex;align-items:center;justify-content:center;
  color:var(--cinnabar);font-family:var(--font-serif);font-size:.68rem;font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.14)}
.stage-title{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--ink);
  letter-spacing:.28em;text-indent:.28em;margin:0}
.stage-latin{font-family:var(--font-cinzel);font-size:.5rem;letter-spacing:.3em;text-indent:.3em;
  color:var(--gold-deep);opacity:.75;font-style:normal}

/* ── 问事 · 题签（2026-08-03 渐进：问题→锁定→配置渐入）── */
.question-label{font-family:var(--font-serif);font-size:.92rem;font-weight:600;color:#5A5048;
  letter-spacing:.1em;margin:0 0 .4rem;display:block}
.field-hint{font-size:.78rem;color:var(--ink-soft);margin:.55rem 0 .2rem;letter-spacing:.04em}
.stage-lock{text-align:center;margin:1.4rem 0 0}
.stage-lock .btn-toss{min-width:180px;display:inline-block}
.stage-lock .field-hint{display:block;text-align:center;margin:.6rem 0 0}
/* 锁定态：朱线封口，如印已钤 */
#question.locked{opacity:.8;border-bottom-color:var(--cinnabar);box-shadow:0 2px 0 -1px var(--cinnabar);cursor:default}
#question.locked::placeholder{opacity:0}
.config-wrap{margin-top:1.8rem}
/* 演法三列（推演/风格/语调） */
.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 2rem;margin-top:1.6rem}
/* 入卦 CTA 置于配置之后（问事：问题→配置→入卦 · 2026-08-03 居中+文本正下方） */
.stage-next{order:3;margin-top:2rem!important;text-align:center}
.stage-next .btn-toss{display:inline-block}
.stage-next .field-hint{display:block;text-align:center;margin:.6rem 0 0}
.config-cell{border:none;padding:0;margin:0;min-width:0}
.ledger-label{font-size:.78rem;color:var(--gold-deep);letter-spacing:.14em;padding:0 0 .45rem;
  font-weight:600;display:block;width:100%;border-bottom:1px dashed rgba(138,109,64,.18);margin-bottom:.55rem}
.ledger-label small{font-size:.6rem;color:var(--ink-soft);letter-spacing:.08em;margin-left:.4rem}
.config-cell .style-group,.config-cell .tone-group{flex-wrap:wrap}

/* ── 起卦舞台垂直压缩（2026-08-03 布局：进度主表达归卦簿）── */
.cast-progress h3{margin-bottom:1.2rem}
.cast-coins{margin-bottom:1.2rem}
.cast-book{margin:1rem 0 .3rem}
.cast-log{margin-top:.8rem;min-height:2rem;gap:.3rem}
.mode-stage{min-height:340px}

/* ── 批注正文排版（2026-08-03：38rem 行宽 ≈ 38 字/行 CJK 阅读舒适）── */
#ark-reading-body{max-width:38rem;font-size:.95rem;line-height:2;letter-spacing:.02em;color:var(--ink)}
#ark-reading-body p{margin:0 0 .9rem}

/* ── 起卦 · 印签四格（tablist）── */
.mode-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.2rem;padding:0}
.mode-tab{min-height:var(--btn-min-h);padding:.45rem 1.1rem;display:inline-flex;align-items:center;gap:.5rem;
  background:transparent;border:1px solid var(--frame-main);border-radius:var(--radius-ledger);
  color:var(--ink-soft);font-family:var(--font-serif);font-size:.88rem;font-weight:600;letter-spacing:.06em;
  cursor:pointer;position:relative;
  transition:background .25s var(--ease-out),border-color .25s var(--ease-out),color .2s var(--ease-out),
             transform .3s cubic-bezier(.22,1,.36,1)}
.mode-tab::after{content:'';position:absolute;inset:2px;pointer-events:none;
  border:1px solid transparent;border-radius:1px;transition:border-color .25s var(--ease-out)}
.mode-tab .tab-glyph{font-size:1rem;color:var(--gold-deep);letter-spacing:.08em;transition:color .2s var(--ease-out)}
.mode-tab:hover{border-color:rgba(138,109,64,.5);color:var(--ink)}
.mode-tab:active{transform:translateY(1px) scale(.97);transition-duration:.07s}
.mode-tab.active{background:rgba(168,66,46,.06);border-color:rgba(168,66,46,.5);color:var(--cinnabar)}
.mode-tab.active::after{border-color:rgba(168,66,46,.16)}
.mode-tab.active .tab-glyph{color:var(--cinnabar)}
.mode-tab:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}

/* ── 统一舞台（四法 grid 叠放 · 2026-08-03 apple 修复：恒高 480px 零死区零跳变）── */
.mode-stage{display:grid;min-height:480px}
.mode-panel{grid-area:1/1;min-height:480px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:0 0 1rem;
  opacity:0;visibility:hidden;pointer-events:none;margin:0}
.mode-panel.active{opacity:1;visibility:visible;pointer-events:auto;
  animation:panel-in .32s var(--ease-out)}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mode-hint{font-size:.8rem;color:var(--ink-soft);letter-spacing:.04em;margin:0 0 .7rem}

/* ── 卦簿 · 六爻累积（替代纯文本 cast-log）── */
.cast-book{display:flex;align-items:flex-end;justify-content:center;gap:14px;
  min-height:64px;margin:1.2rem 0 .4rem}
.cb-bar{width:3px;border-radius:1px;background:rgba(58,48,37,.14);
  transition:background .25s var(--ease-out);position:relative}
.cb-bar:nth-child(1){height:26px}
.cb-bar:nth-child(2){height:30px}
.cb-bar:nth-child(3){height:34px}
.cb-bar:nth-child(4){height:38px}
.cb-bar:nth-child(5){height:42px}
.cb-bar:nth-child(6){height:46px}
.cb-bar .cb-pos{position:absolute;bottom:-1.2rem;left:50%;transform:translateX(-50%);
  font-size:.56rem;color:var(--ink-soft);opacity:.7;letter-spacing:.06em}
.cb-bar.lit{background:var(--ink)}
.cb-bar.lit.moving{background:var(--cinnabar)}
.cb-bar.lit::after{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:7px;height:7px;border-radius:50%;background:inherit;opacity:.9}

/* ── 复盘时间 · 折叠（details 原生）── */
.datetime-arch{margin:1rem 0 .4rem;border-top:1px dashed rgba(138,109,64,.18);padding-top:.3rem}
.datetime-arch summary{cursor:pointer;list-style:none;font-family:var(--font-serif);font-size:.76rem;
  letter-spacing:.18em;color:var(--gold-deep);padding:.5rem 0;user-select:none;outline:none}
.datetime-arch summary::-webkit-details-marker{display:none}
/* 2026-08-03 折叠箭头乱码修复：▾(U+25BE) 在部分系统字体缺失显示 □ → CSS border 三角（零字体依赖） */
.datetime-arch summary::after{content:'';width:0;height:0;margin-left:.5rem;vertical-align:middle;
  border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(138,109,64,.5);
  display:inline-block;transition:transform .25s var(--ease-out)}
.datetime-arch[open] summary::after{transform:rotate(180deg)}
.datetime-arch summary:hover{color:var(--ink)}

/* ── 数字起卦 · 三数格线 + 校验 ── */
.num-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin:.3rem 0 .6rem}
.num-err{color:var(--cinnabar-ink);font-size:.78rem;margin:0 0 .5rem;min-height:1.1rem;letter-spacing:.03em}

/* ── 卦案 · sticky 操作栏 ── */
.action-bar{position:sticky;bottom:1rem;z-index:5;margin-top:1.2rem;
  display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap;
  padding:.7rem 1rem;background:rgba(247,243,232,.94);
  border:1px solid var(--frame-main);border-radius:var(--radius-ledger);
  box-shadow:0 8px 28px rgba(58,48,37,.10)}
.action-bar .btn-back{margin:0}
.action-hint{font-size:.7rem;color:var(--ink-soft);opacity:.75;letter-spacing:.05em;flex-basis:100%;text-align:center;margin:.1rem 0 0;min-height:1rem}

/* ── 大日晷 · 仪式器物（2026-08-03 用户钦定：平时退场，解读时逐环显现）──
   静态 opacity 0（页面干净，星尘干支接管背景）；
   提交解读 → 逐环显现（anime stagger，外→内，太极最后点睛）→ 缓慢转动 + 七道工序文案；
   解读完成 → 暗淡余韵慢转（不挡文本）；失败/重新起卦 → 隐退归隐 */
.page-pan .sundial{opacity:0;transition:none}
/* 解读时各环 opacity 由 JS 逐环控制（anime）；盘面整体 opacity 由 rAF s 时钟驱动（apple P0：旋转与亮度同拍） */
.page-pan .sundial.reading{will-change:transform,opacity}
/* 2026-08-03 容器亮度独立时钟（opNow 在 tick 内指数趋近，勿加 CSS transition——双重过渡会滞后逐帧写入） */
.page-pan .sundial.reading .ring-outer,
.page-pan .sundial.reading .ring-mid,
.page-pan .sundial.reading .ring-inner,
.page-pan .sundial.reading .ring-dizhi,
.page-pan .sundial.reading .taiji-wrap,
.page-pan .sundial.reading .sundial-ticks,
.page-pan .sundial.reading .sundial-ticks-ccw,
.page-pan .sundial.reading .sundial-ticks-cw{opacity:1}
/* 太极金辉（apple P2）：轴心立定而发光——宇宙在转，轴心不动 */
.page-pan .sundial.reading .taiji{text-shadow:0 0 16px rgba(196,154,95,.45);transition:text-shadow 1.2s ease}
/* 封盘留印（impeccable）：卯位朱砂点——器用后藏，印随暗落（只有成功的卦才钤印） */
.page-pan .sundial.sealed::after{
  content:'';position:absolute;top:50%;left:50%;
  width:8px;height:8px;border-radius:50%;
  margin:-4px 0 0 -4px;transform:translateX(550px);
  background:var(--cinnabar);opacity:0;transition:opacity 1.6s ease;
  box-shadow:0 0 6px rgba(168,66,46,.35);   /* 印泥着纸的极淡沉影 */
}
.page-pan .sundial.sealed::before{
  content:'';position:absolute;top:50%;left:50%;
  width:1102px;height:1102px;margin:-551px 0 0 -551px;
  border-radius:50%;border:2px solid rgba(168,66,46,.45);
  opacity:0;transition:opacity 1.6s ease;
}
.page-pan .sundial.sealed{transition:opacity 1.6s ease}
.page-pan .sundial.sealed::after,.page-pan .sundial.sealed::before{opacity:1}
.stage-card,.ark-card{background:rgba(252,250,244,.78)}   /* 2026-08-03 审查修复：.88 全盖宣纸纹 → .78 透纸（日晷余韵透出） */
/* 排盘页远层更淡（impeccable：星尘是气，日晷是器——盘外天象盘内法度） */
.page-pan .dust-char-far{opacity:.10}
/* 解读期：星尘暂停（apple P0：双系统同语言运动过载——星尘是气，日晷是器，不同时动） */
.kairos-reading .dust-char{animation-play-state:paused}
/* S4 批注阅读：星沉（design-taste：墨静纸安，文字独尊） */
.reading-calm .dust-char{animation-play-state:paused;opacity:.08}
.reading-calm .dust-char-far{opacity:.06}
/* 解读等待（apple 日晷综合版 2026-08-03） */
@media (prefers-reduced-motion:reduce){
  .page-pan .sundial.reading{opacity:.55;transition:opacity 2s ease}
  .page-pan .sundial .ring-outer,.page-pan .sundial .ring-mid,
  .page-pan .sundial .ring-inner,.page-pan .sundial .ring-dizhi,
  .page-pan .sundial .taiji-wrap,.page-pan .sundial .sundial-ticks,
  .page-pan .sundial .sundial-ticks-ccw,.page-pan .sundial .sundial-ticks-cw{animation:none!important}
  .dust-char{animation:none!important}   /* 漏网补丁：星尘动画在 reduce 下禁用 */
}
@media (max-width:600px){
  .page-pan .sundial.reading{opacity:.75}
}
.page-pan .ring-outer,.page-pan .ring-mid,.page-pan .ring-inner,
.page-pan .ring-dizhi,.page-pan .taiji-wrap,.page-pan .sundial-ticks,
.page-pan .sundial-ticks-ccw,.page-pan .sundial-ticks-cw{animation:none}

/* ── reduced-motion 统一降级 ── */
@media (prefers-reduced-motion:reduce){
  .mode-panel.active{animation:none}
  .mode-tab,.btn-toss,#submit-btn,.style-btn,.tone-btn,.num-input,.datetime-input,#question{transition:none}
  .mode-tab:active,.btn-toss:active,#submit-btn:active{transform:none}
  .pan-seal{animation:none}
}

/* ── 入场揭幕（主页 → 排盘页过渡，2026-08-03 用户钦定）── */
.page-veil{
  position:fixed;inset:0;z-index:10002;   /* 高于 hb-btn 10001 / top-login 1001：揭幕期间一切隐藏 */
  background:var(--surface-0,#f6f1e6);
  display:flex;align-items:center;justify-content:center;
  opacity:1;visibility:visible;
  transition:opacity .55s ease .05s,visibility 0s linear .6s;
  pointer-events:none;
}
.page-veil .veil-mark{
  font-family:var(--font-serif,"Noto Serif SC",serif);
  font-size:2rem;color:rgba(166,130,69,.42);
  letter-spacing:.45em;text-indent:.45em;
}
.page-veil.off{opacity:0;visibility:hidden}

/* q-lock 按压反馈（2026-08-03 配置区丝滑渐入配套） */
#q-lock:active{transform:scale(.97) translateY(1px);transition-duration:.07s}

/* ═══ 排盘页四步整体放大（2026-08-03 用户钦定 · ui-ux/impeccable/design-taste/apple 四 skill 综合）═══
   全部走 .page-pan 作用域覆盖：main-wrapper/app 三页共用需隔离；其余 liuyao 专属组件集中在此，方便回滚
   ⚠️ 2026-08-03 审查 P0 修复：整段包进 min-width:601px —— 原裸规则(0,2,0)压制 mobile.css(0,1,0) → 移动端铜钱 96px 溢出/表单挤窄/卦案裁切。桌面专属，移动端由 mobile.css 主导 */
@media (min-width:601px){
/* 容器与节奏 */
.page-pan #main-wrapper{max-width:1080px;padding:2rem 0 17.5rem}
.page-pan #app{max-width:1080px;padding:0 2rem calc(4rem + env(safe-area-inset-bottom,0px))}
.page-pan .pan-head{margin:0 0 2.4rem;gap:.7rem}
.page-pan .pan-title{font-size:2.2rem}
.page-pan .pan-seal{width:3rem;height:3rem;font-size:.9rem}
.page-pan .pan-epigraph{font-size:.88rem}
/* 步骤轨 · 问题横幅（880 版心） */
.page-pan .ritual-rail{max-width:880px;font-size:.88rem;margin-bottom:1.8rem}
.page-pan .rail-step{padding:.55rem .8rem;margin:-.55rem -.8rem}
.page-pan .rail-step .rail-no{font-size:.68rem}
.page-pan .ritual-qbanner{max-width:880px;margin-bottom:1.4rem;padding:.65rem 1.4rem}
.page-pan .ritual-qbanner .qbl{font-size:.72rem}
.page-pan .ritual-qbanner .qbt{font-size:.88rem}
/* 凭帖卡（卡内 2.2/2.4rem > 卡间 2.6rem 步距——修「卡内<卡间」倒挂） */
.page-pan .stage-card{max-width:880px;margin:0 auto 2.6rem;padding:2.2rem 2.4rem 2.6rem}
.page-pan .stage-card::before{inset:9px}
.page-pan #stage-question,#stage-cast{min-height:calc(100vh - 320px)}
.page-pan .stage-head{margin:0 0 1.9rem;gap:.8rem}
.page-pan .stage-seal{width:2.1rem;height:2.1rem;font-size:.72rem}
.page-pan .stage-title{font-size:1.15rem}
.page-pan .stage-latin{font-size:.54rem}
/* 壹 · 问事 */
.page-pan #divination-form{gap:.95rem}
.page-pan .question-label{font-size:1rem}
.page-pan #question{padding:1rem .15rem .7rem;font-size:1.05rem}
.page-pan .field-hint{font-size:.84rem}
.page-pan .stage-lock{margin:1.8rem 0 0}
.page-pan .config-wrap{margin-top:2.2rem}
.page-pan .config-grid{gap:1.7rem 2.4rem;margin-top:1.8rem}
.page-pan .ledger-label{font-size:.84rem;padding:0 0 .5rem;margin-bottom:.7rem}
.page-pan .style-btn,.page-pan .tone-btn{min-height:48px;padding:.5rem 1.05rem;font-size:.88rem}
.page-pan .stage-next{margin-top:2.4rem!important}
/* 贰 · 起卦（印签 + 舞台 540 + 铜钱 96 + 卦簿放大） */
.page-pan .mode-tabs{gap:.9rem;margin-bottom:1.6rem}
.page-pan .mode-tab{min-height:48px;padding:.55rem 1.3rem;font-size:.92rem}
.page-pan .mode-tab .tab-glyph{font-size:1.1rem}
.page-pan .mode-stage{min-height:540px}
.page-pan .mode-panel{min-height:540px}
.page-pan .mode-hint{font-size:.86rem;margin:0 0 .9rem}
.page-pan .cast-progress h3{font-size:1.2rem;margin-bottom:1.5rem}
.page-pan .cast-coins{gap:3rem;margin-bottom:1.6rem}
.page-pan .coin{width:96px;height:96px;margin-bottom:1.7rem}   /* 2026-08-03 照片化：去 font-size/孔伪元素/避孔 padding（img 铺满） */
.page-pan .btn-toss{min-width:200px;min-height:52px;padding:.9rem 2.8rem;font-size:1.05rem}
.page-pan .cast-book{gap:18px;min-height:80px;margin:1.5rem 0 .6rem}
.page-pan .cb-bar{width:4px}
.page-pan .cb-bar:nth-child(1){height:32px}
.page-pan .cb-bar:nth-child(2){height:36px}
.page-pan .cb-bar:nth-child(3){height:40px}
.page-pan .cb-bar:nth-child(4){height:44px}
.page-pan .cb-bar:nth-child(5){height:48px}
.page-pan .cb-bar:nth-child(6){height:52px}
.page-pan .cb-bar .cb-pos{bottom:-1.45rem;font-size:.62rem}
.page-pan .cb-bar.lit::after{width:8px;height:8px}
.page-pan .cast-log{margin-top:1.1rem;min-height:3rem;font-size:.9rem}
/* 叁 · 卦案（表体在 pan.css；此处卡片节奏） */
.page-pan .result-section:not(.hidden){padding:1.6rem 0;gap:2.2rem}
/* 肆 · 批注（42rem ≈ 42 字/行 CJK 舒适上限） */
.page-pan #ark-reading-body{max-width:42rem;font-size:1rem;line-height:2.05}
.page-pan #ark-reading-body p{margin:0 0 1.1rem}
.page-pan .ark-placeholder{padding:2rem 0}
/* 操作栏 */
.page-pan .action-bar{margin-top:1.6rem;padding:.85rem 1.2rem;gap:1.1rem;bottom:1.2rem}
/* 动效面板入场同步放大（translateY 8→10px） */
.page-pan .mode-panel.active{animation:panel-in-big .32s var(--ease-out)}
@keyframes panel-in-big{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}

/* ════════════════════════════════════════════════════════════
   知几 · 消费记录 = 契书账册（2026-08-04 · 4 skill 综合）
   朱入墨出：入账钤朱 · 支取落墨；方角 3px 契书档；双框界格
   家族：入=朱砂 · 出=墨 · 退=玉 · 订=深金 · 未名=虚线存疑
   ════════════════════════════════════════════════════════════ */

.hist-title{font-size:1.05rem;margin-bottom:.9rem}
.hist-title:focus{outline:none}
.hist-annot{font-size:.66rem;letter-spacing:.3em;text-indent:.3em;color:#7A5C30;text-align:center;margin:-.6rem 0 1rem}

/* ── 账册框 · 双框界格（随弹窗 85vh 内滚，不设内部滚动）── */
.hist-book{position:relative;border:1px solid var(--frame-main);border-radius:var(--radius-ledger);
  background:rgba(252,250,244,.55);padding:0 .85rem;margin:0 0 .2rem;
  max-height:min(46vh,340px);overflow-y:auto;overscroll-behavior:contain}   /* 2026-08-04：列表区限高做滑条，不再无限撑弹窗 */
.hist-book::after{content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(138,109,64,.1);border-radius:1px}

/* ── 账目行 ── */
.hist-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem;
  padding:.68rem .1rem;border-bottom:1px solid rgba(180,160,120,.16);
  opacity:0;animation:histRowIn .24s cubic-bezier(.25,1,.5,1) forwards}
.hist-row:last-child{border-bottom:none}
@keyframes histRowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hist-main{flex:1;min-width:0}
.hist-line1{display:flex;align-items:center;gap:.45rem;min-width:0}
.hist-tag{flex:none;position:relative;font-size:.6rem;letter-spacing:.16em;text-indent:.16em;
  padding:.14rem .44rem;border:1px solid;border-radius:2px;white-space:nowrap;font-family:var(--font-serif)}
.hist-tag::after{content:'';position:absolute;inset:2px;pointer-events:none;border:1px solid transparent;border-radius:1px}
.hist-tag-in{color:var(--cinnabar);border-color:rgba(168,66,46,.45);background:rgba(168,66,46,.04)}
.hist-tag-in::after{border-color:rgba(168,66,46,.16)}
.hist-tag-out{color:#3A3025;border-color:rgba(58,48,37,.28);background:transparent}
.hist-tag-out::after{border-color:rgba(58,48,37,.12)}
.hist-tag-back{color:#3F6658;border-color:rgba(63,102,88,.4);background:rgba(63,102,88,.05)}
.hist-tag-back::after{border-color:rgba(63,102,88,.16)}
.hist-tag-sub{color:#7A5C30;border-color:rgba(122,92,48,.4);background:rgba(122,92,48,.04)}
.hist-tag-sub::after{border-color:rgba(122,92,48,.14)}
.hist-tag-unknown{color:var(--ink-soft);border:1px dashed rgba(122,100,80,.4);background:transparent}
.hist-tag-unknown::after{border-color:transparent}
.hist-note{flex:1;min-width:0;font-size:.6rem;color:#6E5638;letter-spacing:.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hist-time{font-size:.62rem;color:var(--ink-soft);letter-spacing:.04em;margin-top:.16rem;font-variant-numeric:tabular-nums}

/* ── 右栏 · 收支字 + 金额衬底章 + 结余 ── */
.hist-amt-cell{flex:none;padding-left:.85rem;border-left:1px solid rgba(138,109,64,.12);text-align:right}
.hist-amt{display:inline-flex;align-items:baseline;gap:.3rem;font-family:var(--font-serif);
  padding:.14rem .5rem;border:1px solid;border-radius:2px}
.hist-sign{font-size:.62rem;letter-spacing:.1em}
.hist-num{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
.hist-bal{font-size:.6rem;color:#6E5638;letter-spacing:.06em;margin-top:.16rem;font-variant-numeric:tabular-nums}
.hist-in .hist-amt{color:var(--cinnabar);border-color:rgba(168,66,46,.3);background:rgba(168,66,46,.05)}
.hist-out .hist-amt{color:#3A3025;border-color:rgba(58,48,37,.2);background:rgba(58,48,37,.03)}
.hist-flat .hist-amt{color:#7A5C30;border-color:rgba(122,92,48,.3);background:rgba(122,92,48,.04)}
.hist-flat .hist-num{font-weight:600}

/* ── 骨架屏 ── */
.hist-skel{padding:.4rem 0;display:flex;flex-direction:column;gap:.6rem}
.hist-skel-row{height:2.5rem;border-radius:3px;
  background:linear-gradient(90deg,rgba(168,66,46,.05) 25%,rgba(168,66,46,.12) 50%,rgba(168,66,46,.05) 75%);
  background-size:200% 100%;animation:histShimmer 1.2s linear infinite}
@keyframes histShimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ── 空态 · 虚印候记 ── */
.hist-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.2rem .5rem 2.4rem;text-align:center}
.hist-empty-seal{width:2.6rem;height:2.6rem;border:1.5px dashed rgba(168,66,46,.4);border-radius:2px;
  display:flex;align-items:center;justify-content:center;color:rgba(168,66,46,.4);
  font-family:var(--font-serif);font-size:.95rem}
.hist-empty-main{font-family:var(--font-serif);font-size:.85rem;color:#3A3025;letter-spacing:.14em;text-indent:.14em}
.hist-empty-hint{font-size:.68rem;color:#6E5638;letter-spacing:.06em;line-height:1.8}

/* ── 页脚 · 续账 / 账底 / 错误 ── */
.hist-foot{padding:.85rem 0 .1rem}
.hist-more{display:block;width:100%;min-height:44px;border:1px solid rgba(168,66,46,.45);border-radius:var(--radius-ledger);
  background:rgba(168,66,46,.05);color:var(--cinnabar);font-family:var(--font-serif);font-size:.8rem;font-weight:600;
  letter-spacing:.2em;text-indent:.2em;cursor:pointer;transition:background .3s,color .2s,border-color .3s,transform .25s;
  opacity:0;animation:histRowIn .24s cubic-bezier(.25,1,.5,1) forwards}
.hist-more:hover{background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8}
.hist-more:active{transform:translateY(1px) scale(.98);transition-duration:.07s}
.hist-more:disabled{opacity:.45;cursor:default;background:rgba(168,66,46,.03)}
.hist-spin{display:inline-block;width:10px;height:10px;border:1.5px solid rgba(168,66,46,.25);
  border-top-color:rgba(168,66,46,.8);border-radius:50%;margin-right:.45rem;vertical-align:-1px;
  animation:histSpin .7s linear infinite}
@keyframes histSpin{to{transform:rotate(360deg)}}
.hist-end{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;
  color:var(--ink-soft);font-size:.66rem;letter-spacing:.24em;text-indent:.24em}
.hist-err{text-align:center;padding:1.8rem .5rem .4rem;font-size:.75rem;color:var(--cinnabar-ink);line-height:1.8}
.hist-back-row{text-align:center;margin-top:.8rem}

@media (prefers-reduced-motion:reduce){
  .hist-row,.hist-more{opacity:1;animation:none}
  .hist-skel-row{animation:none;opacity:.8}
  .hist-spin{animation-duration:1.4s}
}

/* ═══ 邀友有礼 · 邀帖（2026-08-06 4设计skill综合 · .lyi- 与主站 .invite- 隔离）═══
   意象：一纸邀帖——君录之、传之，友凭帖而登，各得一占。
   朱砂纪律：全页两处静态（头部方印 + 帖面骑缝印），第三处仅复制成功瞬态 */
.lyi-wrap{max-width:640px;margin:0 auto;padding:.4rem 0 .8rem;text-align:center}
/* 头部：朱砂方印「邀」（stage-seal 同族）+ 标题 + 拉丁小标 */
.lyi-head{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin:0 0 1.4rem}
.lyi-seal-big{width:2.4rem;height:2.4rem;flex:none;border:1.5px solid var(--cinnabar);border-radius:2px;
  box-shadow:inset 0 0 0 1px rgba(168,66,46,.14);background:rgba(168,66,46,.05);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);
  font-size:1.15rem;font-weight:600;color:var(--cinnabar);letter-spacing:.05em;
  animation:seal-press .3s var(--ease-out) both}
.lyi-title{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--ink);
  letter-spacing:.2em;text-indent:.2em;margin:0}
.lyi-latin{font-family:var(--font-cinzel);font-size:.6rem;letter-spacing:.44em;text-indent:.44em;
  color:var(--gold-deep);text-transform:uppercase;margin:0}
.lyi-lead{font-size:.85rem;line-height:1.95;color:var(--ink-soft);margin:0 auto 1.5rem;max-width:28em}
/* 帖卡 · 凭帖双框（.ark-card 同构：外框 frame-main + 内细线）+ 右上角骑缝「邀」印 */
.lyi-letter{position:relative;background:var(--surface-1);border:1px solid var(--frame-main);
  border-radius:var(--radius-ledger);padding:1.35rem 1.2rem 1.25rem;margin:0 0 1.4rem;text-align:left}
.lyi-letter::before{content:'';position:absolute;inset:6px;pointer-events:none;
  border:1px solid var(--frame-inner);border-radius:1px}
.lyi-letter::after{content:'邀';position:absolute;top:.8rem;right:1.05rem;width:1.7rem;height:1.7rem;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  border:1px solid rgba(168,66,46,.45);border-radius:2px;box-shadow:inset 0 0 0 1px rgba(168,66,46,.12);
  background:rgba(168,66,46,.04);color:var(--cinnabar);font-family:var(--font-serif);
  font-size:.72rem;font-weight:600;animation:seal-press .3s var(--ease-out) both}
.lyi-letter-label{font-family:var(--font-serif);font-size:.62rem;font-weight:600;
  letter-spacing:.3em;text-indent:.3em;color:var(--gold-deep);margin:0 0 .85rem}
.lyi-letter-row{display:flex;align-items:stretch;gap:.6rem;flex-wrap:wrap}
.lyi-link{flex:1;min-width:200px;background:rgba(247,243,232,.5);border:1px solid var(--frame-main);
  border-radius:var(--radius-ledger);padding:.72rem .85rem;color:var(--ink);
  font-family:var(--font-serif);font-size:.8rem;letter-spacing:.03em;outline:none;
  touch-action:manipulation;transition:border-color .25s var(--ease-out)}
.lyi-link:focus{border-color:var(--gold-deep)}
.lyi-link:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:2px}
.lyi-letter-actions{display:flex;gap:.6rem}
/* 盖印钮（.sealcard-redeem 同构：朱砂描边 → 悬停填满反白） */
.lyi-seal{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-width:7.5em;min-height:var(--btn-min-h);padding:.72rem 1.1rem;
  background:rgba(168,66,46,.06);border:1px solid rgba(168,66,46,.45);
  border-radius:var(--radius-ledger);color:var(--cinnabar);font-family:var(--font-serif);
  font-size:.82rem;font-weight:600;letter-spacing:.18em;text-indent:.18em;white-space:nowrap;
  cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:background .3s var(--ease-out),color .2s var(--ease-out),border-color .3s var(--ease-out),
    transform 80ms ease-out,box-shadow .3s var(--ease-out)}
.lyi-seal:hover{background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8;
  box-shadow:0 2px 10px rgba(168,66,46,.18)}
.lyi-seal:active{transform:scale(.965);transition-duration:60ms}
.lyi-seal:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}
.lyi-seal.ghost{background:transparent;border-color:rgba(138,109,64,.35);color:var(--ink-soft);font-weight:400}
.lyi-seal.ghost:hover{background:rgba(196,154,95,.08);border-color:var(--gold-deep);color:var(--gold-deep);box-shadow:none}
/* 已钤态：朱砂填底（盖印仪式 · 与登录钤印同语法） */
.lyi-seal.stamped{background:var(--cinnabar);border-color:#8F3424;color:#F7F3E8;
  animation:seal-press .3s var(--ease-out) both}
.lyi-seal-mark{display:inline-block;width:4px;height:4px;border-radius:50%;background:#F7F3E8;
  margin-left:.45rem;vertical-align:2px;animation:lyi-mark 1.8s ease-out forwards}
@keyframes lyi-mark{0%{transform:scale(1);opacity:.9}60%{opacity:.75}100%{transform:scale(1.9);opacity:0}}
/* 统计双格 · 账册款识（深金数字——朱砂留给印） */
.lyi-stats{display:flex;gap:.8rem;justify-content:center;margin:0 0 1.4rem}
.lyi-stat{position:relative;flex:1;max-width:150px;background:rgba(252,250,244,.5);
  border:1px solid rgba(138,109,64,.22);border-radius:var(--radius-ledger);
  padding:.9rem .4rem .85rem}
.lyi-stat::before{content:'';position:absolute;inset:3px;pointer-events:none;
  border:1px solid rgba(138,109,64,.1);border-radius:1px}
.lyi-stat-num{display:block;font-family:var(--font-serif);font-size:1.35rem;line-height:1.15;
  font-weight:700;letter-spacing:.04em;color:var(--gold-deep);font-variant-numeric:tabular-nums}
.lyi-stat-label{display:block;margin-top:.34rem;font-family:var(--font-serif);font-size:.66rem;
  letter-spacing:.3em;text-indent:.3em;color:var(--ink-soft)}
/* 约章 · 壹贰叁（quota-legal 语族） */
.lyi-terms{position:relative;background:rgba(196,154,95,.04);border:1px solid rgba(138,109,64,.14);
  border-top:1px solid rgba(138,109,64,.3);border-radius:var(--radius-ledger);
  padding:.9rem 1.15rem;margin-bottom:1.4rem;text-align:left}
.lyi-term{font-size:.78rem;line-height:2.05;letter-spacing:.03em;color:var(--ink-soft);margin:0}
.lyi-term-no{font-family:var(--font-serif);font-weight:600;font-size:.68rem;letter-spacing:.12em;
  color:var(--gold-deep);margin-right:.6em}
.lyi-disclaimer{font-family:var(--font-serif);font-size:.62rem;color:var(--ink-soft);
  letter-spacing:.08em;text-align:center;margin:0}
/* 状态：提示 / 错误 / 骨架 */
.lyi-msg{font-family:var(--font-serif);font-size:.85rem;line-height:1.9;text-align:center;padding:1.4rem 0 .4rem}
.lyi-msg.hint{color:var(--ink-soft)}
.lyi-msg.error{color:var(--cinnabar-ink)}
.lyi-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}
.lyi-skeleton div{height:44px;border-radius:var(--radius-ledger);background:rgba(138,109,64,.08);
  animation:lyi-pulse 1.4s ease-in-out infinite}
.lyi-skeleton div:nth-child(2){height:70px}
.lyi-skeleton div:nth-child(3){height:88px}
@keyframes lyi-pulse{0%,100%{opacity:.55}50%{opacity:1}}
/* 移动端：链接框 16px 防 iOS zoom；双按钮 1fr 1fr；匾额全宽 */
@media (max-width:600px){
  .lyi-letter-row{flex-direction:column;gap:.6rem}
  .lyi-link{min-width:0;width:100%;font-size:16px}
  .lyi-letter-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;width:100%}
  .lyi-seal{min-width:0;width:100%;padding:.68rem .4rem}
  .lyi-stat{max-width:none}
  .lyi-title{font-size:1.2rem}
  .lyi-letter::after{top:.7rem;right:.9rem}
}
@media (prefers-reduced-motion:reduce){
  .lyi-seal-big,.lyi-letter::after{animation:none}
  .lyi-seal.stamped{animation:none}
  .lyi-seal-mark{animation:none;opacity:0}
  .lyi-skeleton div{animation:none;opacity:.5}
}

/* ── 平峰调整公告 · 契书凭帖（2026-08-17 · 知几宣纸体系独立风格：铜线方卡 + 条目直排 + auth-submit 方钮 · 与主站 Kairós 告示钤印区分开）── */
.zj-peak{text-align:center;padding:8px 2px}
.zj-peak-title{font-family:"Noto Serif SC",serif;font-size:1.1rem;font-weight:700;color:#5A3E2B;
  letter-spacing:.06em;margin:0;opacity:0;animation:zjPeakIn .35s ease-out .1s forwards}
.zj-peak-title::after{content:"";display:block;width:56px;height:1px;margin:10px auto 0;
  background:linear-gradient(90deg,transparent,rgba(196,154,95,.5),transparent)}
.zj-peak-card{text-align:left;background:rgba(196,154,95,.05);border:1px solid rgba(196,154,95,.28);
  border-radius:3px;padding:14px 18px;margin:14px 0 4px;line-height:1.85;opacity:0;
  animation:zjPeakIn .35s ease-out .18s forwards}
.zj-peak-row{color:#5a3e2b;font-size:.85rem;margin:0;padding:6px 0;
  border-bottom:1px dashed rgba(180,160,120,.25);opacity:0}
.zj-peak-row:last-child{border-bottom:none}
.zj-peak-row:nth-child(1){animation:zjPeakIn .3s ease-out .24s forwards}
.zj-peak-row:nth-child(2){animation:zjPeakIn .3s ease-out .31s forwards}
.zj-peak-row:nth-child(3){animation:zjPeakIn .3s ease-out .38s forwards}
.zj-peak-row::before{content:"· ";color:#C49A5F;font-weight:700}
.zj-peak-note{color:#7a5f42;font-size:.78rem;line-height:1.8;margin:12px 0 4px;opacity:0;
  animation:zjPeakIn .35s ease-out .46s forwards}
.zj-peak-note b{color:#5A3E2B;font-weight:700}
#peak-adjust-close.zj-peak-ok{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;margin-top:14px;padding:.7rem 1.5rem;width:100%;opacity:0;
  animation:zjPeakIn .35s ease-out .54s forwards}
#peak-adjust-close.zj-peak-ok:active{transform:scale(.97)}
#peak-adjust-close.zj-peak-ok:focus-visible{outline:1.5px solid #C49A5F;outline-offset:2px}
/* 2026-08-17 微信支付公告：双按钮（去充填 + 知道了）——覆写 auth-submit 的 block/width:100%/margin-top 冲突 */
.zj-peak-actions{display:flex;gap:10px;margin-top:14px}
.zj-peak-actions .zj-peak-ok,
.zj-peak-actions .zj-peak-later{display:inline-flex;align-items:center;justify-content:center;flex:1;width:auto;min-width:0;margin-top:0;padding:.7rem .5rem;text-decoration:none;box-sizing:border-box}
.zj-peak-actions .zj-peak-ok{animation:zjPeakIn .35s ease-out .54s forwards}
.zj-peak-later{opacity:.82;background:rgba(196,154,95,.06);border-color:rgba(196,154,95,.3);animation:zjPeakIn .35s ease-out .62s forwards}
.auth-modal.peak-closing{animation:peakClose .18s ease-in both}
@keyframes zjPeakIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes peakClose{to{opacity:0;transform:scale(.96) translateY(10px)}}
@media (prefers-reduced-motion:reduce){
  .zj-peak-title,.zj-peak-card,.zj-peak-row,.zj-peak-note,#peak-adjust-close.zj-peak-ok{animation:none;opacity:1}
  .auth-modal.peak-closing{animation:none}
}
