:root{
  --paper:#f4efe4;
  --paper-2:#faf7ef;
  --paper-3:#efe8d8;
  --ink:#1f1c19;
  --ink-2:#4a443c;
  --ink-3:#8a8175;
  --cinnabar:#9c2b2b;
  --gold:#a8843c;
  --gold-2:#d4a853;
  --jade:#4a7c6f;
  --line:#ddd4c2;
  --line-2:#e8e0d0;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  background:var(--paper);
  background-image:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.75), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(200,185,155,.28), transparent 52%);
  color:var(--ink);
  font-family:"Songti SC","STSong","SimSun","Noto Serif CJK SC",serif;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  padding:0 0 4rem;
}

.paper{max-width:940px;margin:0 auto;padding:1.4rem 1.5rem 0}

/* ==================== 抬头 ==================== */
.masthead{text-align:center;padding:1rem 0 2.2rem;position:relative}

/* 一行抬头：道印 + 炉名并肩，副题缀在其下，省掉两行空白 */
.masthead-row{
  display:flex;align-items:center;gap:.9rem;
  text-align:left;padding:1.15rem 0 1.1rem;
}
.seal{
  width:56px;height:56px;margin:0 auto 1rem;
  background:linear-gradient(145deg,#a83030,#8a2020);
  color:#fff;font-size:1.7rem;line-height:56px;border-radius:6px;
  box-shadow:0 3px 14px rgba(156,43,43,.35), inset 0 1px 0 rgba(255,255,255,.22);
  text-align:center;            /* 印中一字必须居中，不受父级对齐影响 */
  flex:0 0 auto;
}
.seal-row{
  flex:0 0 auto;margin:0;
  width:46px;height:46px;line-height:46px;font-size:1.42rem;border-radius:7px;
  text-align:center;
}
.mh-text{flex:1;min-width:0}
.masthead-row h1{
  font-size:1.5rem;letter-spacing:.2em;text-indent:.2em;
  margin:0 0 .3rem;line-height:1.3;
}
.masthead-row .sub{
  font-size:.76rem;letter-spacing:.1em;text-indent:0;
  color:var(--ink-3);line-height:1.6;
}

h1{font-size:2.05rem;font-weight:500;letter-spacing:.24em;margin-bottom:.5rem}
.sub{color:var(--ink-3);font-size:.86rem;letter-spacing:.62em;text-indent:.62em}

/* ---------- 二级页抬头 ---------- */
.masthead-sm{padding:.5rem 0 1.6rem}
.masthead-sm h1{font-size:1.72rem;letter-spacing:.34em;text-indent:.34em;margin-bottom:.55rem}
.seal-sm{
  width:46px;height:46px;line-height:46px;font-size:1.36rem;
  border-radius:5px;margin-bottom:.85rem;
}
.sub-sm{font-size:.76rem;letter-spacing:.24em;text-indent:.24em}
.sub-sm b{font-weight:600}
.back{
  position:absolute;left:0;top:.6rem;
  font-size:.76rem;letter-spacing:.12em;color:var(--ink-3);
  text-decoration:none;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.back:hover{color:var(--cinnabar);border-bottom-color:var(--cinnabar)}

/* ==================== 炼化炉 ==================== */
.furnace{margin:1.2rem 0 2.2rem;position:relative}

/* ---------- 丹炉（SVG 器型） ---------- */
.cauldron{
  position:relative;
  width:320px;margin:0 auto -26px;
  animation:breathe 6s ease-in-out infinite;
}
.cauldron-svg{width:100%;height:auto;display:block;overflow:visible;
  filter:drop-shadow(0 14px 22px rgba(70,50,22,.26));}

/* 炉底投影 */
.ground{fill:rgba(90,70,40,.18);filter:blur(4px)}

/* 炉口余烬：常态微亮 */
.ember{transition:opacity .6s ease}
/* 腹中太极缓转 */
.taiji{transform-origin:0 0;animation:spin 52s linear infinite}
@keyframes breathe{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2.5px)}
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- 炉火：自盖顶袅袅，细而不断 ---------- */
.fire{
  position:relative;width:150px;height:52px;margin:0 auto -14px;
  pointer-events:none;opacity:.42;transition:opacity .55s ease;
}
.fire .fl{
  position:absolute;bottom:0;left:50%;width:16px;height:34px;margin-left:-8px;
  background:radial-gradient(ellipse at 50% 94%,
    #fff3cc 0%, #f5c25e 30%, #dc8228 58%, rgba(180,58,26,.3) 78%, rgba(150,40,20,0) 92%);
  border-radius:54% 54% 46% 46%;
  filter:blur(4px);
  transform-origin:50% 100%;
  animation:lick 2.4s ease-in-out infinite;
}
.fire .f1{left:33%;height:24px;width:13px;margin-left:-6.5px;animation-delay:0s}
.fire .f2{left:43%;height:38px;width:18px;margin-left:-9px;animation-delay:.45s}
.fire .f3{left:50%;height:48px;width:21px;margin-left:-10.5px;animation-delay:.9s}
.fire .f4{left:57%;height:36px;width:17px;margin-left:-8.5px;animation-delay:.3s}
.fire .f5{left:67%;height:22px;width:12px;margin-left:-6px;animation-delay:.7s}

@keyframes lick{
  0%,100%{transform:translateY(2px) scale(.9,.94) rotate(-3deg);opacity:.6}
  30%    {transform:translateY(-4px) scale(.82,1.12) rotate(3deg);opacity:.95}
  60%    {transform:translateY(-1px) scale(.96,1.03) rotate(-1deg);opacity:.78}
}

/* 炉膛外溢暖光 */
.cauldron .glow{
  position:absolute;left:50%;top:26%;width:250px;height:250px;
  margin:-125px 0 0 -125px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,186,90,.36) 0%,rgba(220,120,40,.13) 44%,rgba(200,110,40,0) 74%);
  opacity:.3;transition:opacity .65s ease;pointer-events:none;
}

/* 点火：火起、炉口透亮、太极加速 */
.forging .fire{opacity:1}
.forging .ember{opacity:1}
.forging .cauldron .glow{opacity:.92}
.forging .cauldron{animation:breathe 1.6s ease-in-out infinite}
.forging .taiji{animation-duration:6s}
.forging .fire .fl{animation-duration:1.05s}

.furnace-body{
  position:relative;
  background:linear-gradient(170deg,#fbf8f0 0%,#f3ecdd 55%,#ece4d2 100%);
  border:1px solid var(--line);
  border-radius:8px;
  padding:4rem 1.8rem 1.5rem;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 12px 34px rgba(80,60,30,.09),
    0 2px 6px rgba(80,60,30,.05);
}

.furnace-body::before,
.furnace-body::after{
  content:'';position:absolute;width:16px;height:16px;
  border:1px solid var(--gold);opacity:.5;
}
.furnace-body::before{top:9px;left:9px;border-right:0;border-bottom:0}
.furnace-body::after{bottom:9px;right:9px;border-left:0;border-top:0}

/* ---------- 入口签：四种投料方式 ---------- */
.intake-tabs{
  display:flex;gap:.4rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap;
}
.itab{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.42rem .95rem;
  border:1px solid var(--line);border-radius:99px;
  background:transparent;color:var(--ink-3);
  font-family:inherit;font-size:.82rem;letter-spacing:.1em;
  cursor:pointer;transition:all .18s;
}
.itab:hover{border-color:var(--gold);color:var(--gold)}
.itab.on{
  border-color:var(--cinnabar);color:var(--cinnabar);
  background:rgba(156,43,43,.05);
}
.it-ico{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;
  width:20px;height:20px;
  font-size:.8rem;line-height:1;border-radius:4px;
  background:var(--ink-3);color:var(--paper);
  /* 汉字进小方块必须给足字号与行高，否则笔画糊成一团，远看像几条横杠 */
  font-weight:400;
}
.itab.on .it-ico{background:var(--cinnabar)}

.furnace-head{text-align:center;margin-bottom:1.3rem}.furnace-head h2{
  font-size:1.14rem;font-weight:500;letter-spacing:.34em;
  text-indent:.34em;color:var(--ink);
}
.furnace-head .fx{color:var(--cinnabar);margin-right:.15em}
.furnace-sub{font-size:.77rem;color:var(--ink-3);letter-spacing:.1em;margin-top:.5rem}

/* 炉口 */
.furnace-mouth{position:relative;margin-bottom:1.05rem}
#charge{
  width:100%;padding:1rem 1.1rem;
  border:1px solid var(--line);
  border-radius:5px;
  background:var(--paper-2);
  color:var(--ink);
  font-family:inherit;font-size:.98rem;line-height:1.95;
  resize:vertical;min-height:88px;
  outline:none;transition:border-color .22s,box-shadow .22s,background .22s;
}
#charge:focus{
  border-color:var(--cinnabar);
  background:#fffdf8;
  box-shadow:0 0 0 3px rgba(156,43,43,.07), inset 0 1px 3px rgba(120,90,50,.05);
}
#charge::placeholder{color:#b3aa9b;font-size:.9rem;line-height:1.9}

/* 炉膛口朱线 */
.mouth-line{
  height:2px;margin-top:-1px;
  background:linear-gradient(90deg,transparent,var(--cinnabar) 22%,var(--gold-2) 50%,var(--cinnabar) 78%,transparent);
  opacity:.55;border-radius:2px;
}

/* ---------- 各形态炉口 ---------- */
.pane{animation:fadeUp .3s ease}
.pane-note{
  font-size:.72rem;color:var(--ink-3);line-height:1.85;
  margin-top:.6rem;letter-spacing:.02em;
}

/* 拖拽区 */
.drop{
  border:1.5px dashed var(--line);border-radius:6px;
  background:var(--paper-2);
  padding:1.9rem 1.2rem;text-align:center;cursor:pointer;
  transition:all .22s ease;
}
.drop:hover{border-color:var(--gold);background:rgba(168,132,60,.04)}
.drop.over{
  border-color:var(--cinnabar);border-style:solid;
  background:rgba(156,43,43,.06);
  box-shadow:inset 0 0 30px rgba(156,43,43,.08);
  transform:scale(1.008);
}
.drop-mark{
  font-size:1.5rem;color:var(--gold);line-height:1;margin-bottom:.5rem;
  transition:transform .22s ease;
}
.drop.over .drop-mark{transform:translateY(3px) scale(1.14);color:var(--cinnabar)}
.drop-main{font-size:.92rem;color:var(--ink-2);letter-spacing:.06em}
.drop-pick{color:var(--cinnabar);border-bottom:1px solid rgba(156,43,43,.4)}
.drop-sub{font-size:.72rem;color:var(--ink-3);margin-top:.5rem;letter-spacing:.04em}

/* 网址栏 */
.url-row{display:flex;gap:.5rem}
#urlInput{
  flex:1;padding:.82rem 1rem;
  border:1px solid var(--line);border-radius:5px;
  background:var(--paper-2);color:var(--ink);
  font-family:inherit;font-size:.9rem;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
#urlInput:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(156,43,43,.07)}
#urlInput::placeholder{color:#b3aa9b;font-size:.86rem}
.btn-fetch{
  padding:.82rem 1.35rem;flex:0 0 auto;
  border:1px solid var(--cinnabar);border-radius:5px;
  background:transparent;color:var(--cinnabar);
  font-family:inherit;font-size:.88rem;letter-spacing:.16em;
  cursor:pointer;transition:all .18s;
}
.btn-fetch:hover{background:rgba(156,43,43,.07)}
.btn-fetch:disabled{opacity:.55;cursor:wait}

/* 音视频引导 */
.av-guide{
  border:1px solid var(--line);border-left:2px solid var(--gold);
  border-radius:5px;background:var(--paper-2);
  padding:1.1rem 1.2rem;
}
.av-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.av-mark{
  display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;
  font-size:.78rem;border-radius:4px;
  background:var(--gold);color:var(--paper);
}
.av-title{font-size:.92rem;letter-spacing:.1em;color:var(--ink)}
.av-body{font-size:.82rem;line-height:1.95;color:var(--ink-2);text-align:justify}
.av-body b{color:var(--cinnabar);font-weight:600}
.av-steps{
  margin:.85rem 0 0 1.25rem;
  font-size:.79rem;line-height:2;color:var(--ink-3);
}
.av-steps code{
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:.74rem;color:var(--gold);
  background:rgba(168,132,60,.08);
  padding:.05rem .35rem;border-radius:3px;
}

/* ---------- 料识与入炉回执 ---------- */
.intake-status{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .8rem;
  padding:.62rem .9rem;margin-bottom:.75rem;
  border-left:2px solid var(--gold);
  background:rgba(168,132,60,.06);border-radius:0 4px 4px 0;
  font-size:.78rem;animation:fadeUp .3s ease;
}
.is-src{
  font-size:.74rem;letter-spacing:.16em;color:var(--paper);
  background:var(--gold);padding:.04rem .5rem;border-radius:3px;
}
.is-note{color:var(--ink-2)}
.is-num{color:var(--ink-3);letter-spacing:.06em}
.is-from,.is-extra{color:var(--ink-3);font-size:.72rem}
.is-extra{color:var(--jade)}
.intake-status.s-rootless,.intake-status.s-thin{border-left-color:var(--cinnabar);background:rgba(156,43,43,.05)}
.intake-status.s-rootless .is-src,.intake-status.s-thin .is-src{background:var(--cinnabar)}
.intake-status.s-err{
  border-left-color:var(--cinnabar);background:rgba(156,43,43,.07);
  display:block;padding:.8rem 1rem;
}
.is-errline{font-size:.84rem;color:var(--cinnabar);margin-bottom:.3rem}
.is-errhint{font-size:.76rem;line-height:1.85;color:var(--ink-2)}

/* ---------- 三问面板（显性为表） ---------- */
.principles{
  margin:.95rem 0 .2rem;
  border:1px solid var(--line);border-radius:5px;
  background:rgba(255,255,255,.5);
  padding:.75rem .95rem .7rem;
}
.pr-title{
  font-size:.7rem;letter-spacing:.36em;text-indent:.36em;
  color:var(--gold);text-align:center;margin-bottom:.6rem;
}
.pr-rows{display:flex;flex-direction:column;gap:.32rem}
.pr-row{
  display:flex;align-items:baseline;gap:.6rem;
  font-size:.79rem;line-height:1.75;padding-left:.1rem;
}
.pr-mark{flex:0 0 auto;font-size:.82rem;width:1em;text-align:center}
.pr-t3 .pr-mark,.pr-t2 .pr-mark{color:var(--jade)}
.pr-t1 .pr-mark{color:var(--gold)}
.pr-t0 .pr-mark{color:var(--cinnabar)}
.pr-name{
  flex:0 0 5.2em;color:var(--ink);letter-spacing:.1em;
}
.pr-t0 .pr-name{color:var(--cinnabar)}
.pr-say{flex:1;color:var(--ink-3);font-size:.76rem}
.pr-t0 .pr-say{color:var(--cinnabar);opacity:.85}

.furnace-actions{display:flex;gap:.7rem;align-items:center;margin-bottom:.6rem}

.btn-forge{
  flex:1;position:relative;overflow:hidden;
  padding:.86rem 1.4rem;
  border:1px solid #7e2020;border-radius:5px;
  background:linear-gradient(170deg,#a83030,#882323);
  color:#fdf6e8;
  font-family:inherit;font-size:1rem;letter-spacing:.3em;text-indent:.3em;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(150,35,35,.26), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .16s,box-shadow .2s,filter .2s;
}
.btn-forge:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(150,35,35,.34), inset 0 1px 0 rgba(255,255,255,.26);
}
.btn-forge:active{transform:translateY(0) scale(.995)}
.btn-forge:disabled{filter:grayscale(.5) brightness(.92);cursor:wait;transform:none}

.btn-flame{
  display:inline-block;width:9px;height:9px;margin-right:.5rem;
  border-radius:50% 50% 42% 42%;
  background:radial-gradient(circle at 50% 70%,#ffd977,#e0892c 65%,rgba(220,120,40,0) 100%);
  animation:lick 1.2s ease-in-out infinite;
  vertical-align:middle;
}

.btn-clear{
  padding:.86rem 1.1rem;
  border:1px solid var(--line);border-radius:5px;
  background:transparent;color:var(--ink-2);
  font-family:inherit;font-size:.9rem;letter-spacing:.16em;
  cursor:pointer;transition:all .18s;
}
.btn-clear:hover{border-color:var(--ink-3);background:rgba(0,0,0,.03)}

/* 炼化中 */
.forging .furnace-body{animation:pulse 1.5s ease-in-out infinite}
@keyframes pulse{
  0%,100%{box-shadow:0 12px 34px rgba(80,60,30,.09), inset 0 0 0 rgba(255,180,60,0)}
  50%{box-shadow:0 12px 40px rgba(190,110,40,.2), inset 0 0 42px rgba(255,190,80,.16)}
}

/* ==================== 火候判词 ==================== */
.assay{
  margin:1rem 0 .2rem;
  border-left:2px solid var(--gold);
  background:rgba(168,132,60,.06);
  border-radius:0 5px 5px 0;
  padding:.95rem 1.15rem;
  font-size:.85rem;line-height:1.92;
  animation:fadeUp .32s ease;
}
.assay.deny{border-left-color:var(--cinnabar);background:rgba(156,43,43,.06)}
.assay.ok{border-left-color:var(--jade);background:rgba(74,124,111,.07)}

.assay-head{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap;margin-bottom:.5rem}
.assay-level{font-size:.94rem;letter-spacing:.16em;color:var(--gold);font-weight:600}
.assay.deny .assay-level{color:var(--cinnabar)}
.assay.ok .assay-level{color:var(--jade)}
.assay-score{font-size:.74rem;color:var(--ink-3);letter-spacing:.08em}
.assay-verdict{color:var(--ink-2);margin-bottom:.55rem}
.assay-list{list-style:none;margin:0}
.assay-list li{
  font-size:.79rem;color:var(--ink-3);line-height:1.85;
  padding-left:.95rem;position:relative;
}
.assay-list li::before{content:'·';position:absolute;left:.2rem;color:var(--gold)}
.assay-list.deny li::before{color:var(--cinnabar)}
.assay-sub{font-size:.74rem;color:var(--ink-3);letter-spacing:.1em;margin-top:.5rem}

.samples{
  display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;
  margin-top:.9rem;padding-top:.85rem;border-top:1px dashed var(--line);
}
.samples-label{font-size:.74rem;color:var(--ink-3);letter-spacing:.1em}
.sample{
  padding:.2rem .68rem;
  border:1px solid var(--line-2);border-radius:99px;
  background:transparent;color:var(--ink-3);
  font-family:inherit;font-size:.76rem;cursor:pointer;
  transition:all .18s;
}
.sample:hover{border-color:var(--gold);color:var(--gold);background:rgba(168,132,60,.05)}

/* ==================== 金丹 ==================== */
.dan-result{margin:0 0 2.6rem;animation:fadeUp .5s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.dan-card{
  position:relative;
  background:linear-gradient(165deg,#fdfaf2,#f6efe0 70%,#f1e8d5);
  border:1px solid var(--gold);
  border-radius:8px;
  padding:2.4rem 1.9rem 2rem;
  box-shadow:0 16px 44px rgba(150,115,60,.16), inset 0 1px 0 rgba(255,255,255,.85);
}
.dan-card::before,.dan-card::after{
  content:'';position:absolute;width:20px;height:20px;border:1px solid var(--gold);opacity:.6;
}
.dan-card::before{top:10px;left:10px;border-right:0;border-bottom:0}
.dan-card::after{bottom:10px;right:10px;border-left:0;border-top:0}

/* 金丹宝珠 */
.dan-orb{
  width:104px;height:104px;margin:0 auto 1.2rem;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff8e2 0%, #f0d489 22%, #d9a93f 52%, #a97a25 78%, #7c5416 100%);
  box-shadow:
    0 0 0 1px rgba(168,132,60,.5),
    0 0 30px rgba(212,168,83,.5),
    0 10px 26px rgba(140,100,40,.3),
    inset -6px -8px 18px rgba(110,75,20,.35),
    inset 5px 6px 16px rgba(255,250,230,.5);
  display:flex;align-items:center;justify-content:center;
  animation:orbGlow 3.2s ease-in-out infinite;
}
@keyframes orbGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(168,132,60,.5),0 0 26px rgba(212,168,83,.42),0 10px 26px rgba(140,100,40,.28),inset -6px -8px 18px rgba(110,75,20,.35),inset 5px 6px 16px rgba(255,250,230,.5)}
  50%{box-shadow:0 0 0 1px rgba(190,150,70,.62),0 0 46px rgba(220,180,95,.62),0 12px 30px rgba(140,100,40,.32),inset -6px -8px 18px rgba(110,75,20,.35),inset 5px 6px 16px rgba(255,250,230,.55)}
}
.dan-orb span{
  font-size:2.7rem;color:#3d2a08;line-height:1;
  text-shadow:0 1px 2px rgba(255,250,230,.7), 0 -1px 1px rgba(90,60,15,.4);
  font-weight:500;
}

.dan-jue{text-align:center;font-size:1.12rem;letter-spacing:.14em;color:var(--cinnabar);margin-bottom:.5rem}
.dan-jue::before{content:'「';color:var(--gold-2)}
.dan-jue::after{content:'」';color:var(--gold-2)}

.dan-meta{text-align:center;font-size:.76rem;color:var(--ink-3);letter-spacing:.12em;margin-bottom:1.6rem}

.dan-sec{margin-bottom:1.5rem}
.dan-sec h3{
  font-size:.92rem;font-weight:500;letter-spacing:.2em;color:var(--cinnabar);
  margin-bottom:.65rem;display:flex;align-items:center;gap:.6rem;
}
.dan-sec h3::before{content:'';width:16px;height:1px;background:var(--cinnabar)}
.dan-sec h3 em{font-style:normal;font-size:.66rem;color:var(--ink-3);letter-spacing:.14em}
.dan-sec .body{font-size:.94rem;line-height:2.05;color:var(--ink-2);text-align:justify}
.dan-sec .body p{margin-bottom:.7rem}
.dan-sec .body ul{margin:.5rem 0 .8rem 1.2rem}
.dan-sec .body li{margin-bottom:.45rem;line-height:1.95}
.dan-sec .body strong{color:var(--ink);font-weight:600}

/* 三维 */
.wei-grid{display:grid;grid-template-columns:1fr;gap:.8rem;margin-top:.4rem}
.wei-item{
  border:1px solid var(--line);
  border-left:2px solid var(--gold);
  border-radius:0 5px 5px 0;
  background:rgba(255,255,255,.42);
  padding:.9rem 1.1rem;
  transition:border-left-color .2s,background .2s;
}
.wei-item:hover{border-left-color:var(--cinnabar);background:rgba(255,255,255,.66)}
.wei-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.45rem}
.wei-name{font-size:.86rem;letter-spacing:.18em;color:var(--ink);font-weight:600}
.wei-en{font-size:.62rem;color:var(--gold);letter-spacing:.2em}
.wei-body{font-size:.88rem;line-height:1.98;color:var(--ink-2);text-align:justify}
.wei-body strong{color:var(--ink);font-weight:600}

.dan-foot{
  margin-top:1.8rem;padding-top:1.1rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-size:.76rem;color:var(--ink-3);
}
.dan-link{
  color:var(--cinnabar);cursor:pointer;letter-spacing:.1em;
  border-bottom:1px solid rgba(156,43,43,.3);padding-bottom:1px;
}
.dan-link:hover{border-bottom-color:var(--cinnabar)}

/* 未成丹 */
.dan-deny{
  text-align:center;padding:2rem 1.6rem;
  border:1px dashed var(--line);border-radius:8px;
  background:rgba(255,255,255,.35);
}
.dan-deny .deny-mark{font-size:2rem;color:var(--line);margin-bottom:.8rem;letter-spacing:.2em}
.dan-deny h3{font-size:1rem;font-weight:500;letter-spacing:.2em;color:var(--ink-2);margin-bottom:.6rem}
.dan-deny p{font-size:.86rem;color:var(--ink-3);line-height:1.95;max-width:32em;margin:0 auto}

/* ==================== 藏丹阁入口 ==================== */
.gateways{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;
  margin:0 0 .5rem;
}
.gateway{
  position:relative;display:block;text-decoration:none;
  padding:1.2rem 1.1rem 1rem;
  background:linear-gradient(168deg,#fbf8f0,#f2ebdb);
  border:1px solid var(--line);border-radius:5px;
  color:inherit;overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.gateway::before,.gateway::after{
  content:'';position:absolute;width:14px;height:14px;
  border:1px solid var(--gold);opacity:0;transition:opacity .25s ease;
}
.gateway::before{top:8px;left:8px;border-right:0;border-bottom:0}
.gateway::after{bottom:8px;right:8px;border-left:0;border-top:0}
.gateway:hover{
  transform:translateY(-3px);
  border-color:var(--gold);
  box-shadow:0 10px 26px rgba(60,45,20,.13);
}
.gateway:hover::before,.gateway:hover::after{opacity:.65}

.gw-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}
.gw-label{
  font-size:.74rem;letter-spacing:.24em;text-indent:.24em;
  color:var(--cinnabar);font-weight:600;
}
.gw-count{font-size:.7rem;color:var(--ink-3);letter-spacing:.08em;white-space:nowrap}
.gw-count b{
  font-size:1.32rem;font-weight:500;color:var(--gold);
  letter-spacing:0;margin-right:.12em;font-family:inherit;
}
.gateway.raw-gate .gw-label{color:var(--ink-2)}
.gateway.raw-gate .gw-count b{color:var(--ink-3)}
.gateway.all-gate .gw-label{color:var(--ink-2)}

.gw-words{
  font-size:.98rem;letter-spacing:.3em;color:var(--gold);
  margin-bottom:.55rem;line-height:1.6;
}
.gw-words-plain{font-size:.8rem;letter-spacing:.08em;color:var(--ink-3)}

.gw-desc{font-size:.74rem;line-height:1.8;color:var(--ink-3);margin-bottom:.95rem}

.gw-go{
  display:flex;align-items:center;gap:.35rem;
  font-size:.74rem;letter-spacing:.16em;color:var(--ink-2);
  padding-top:.7rem;border-top:1px solid var(--line);
}
.gw-go span{transition:transform .22s ease;color:var(--gold)}
.gateway:hover .gw-go{color:var(--cinnabar)}
.gateway:hover .gw-go span{transform:translateX(5px)}

/* ==================== 藏丹阁 ==================== */
.vault-head{margin-bottom:1.3rem}
.vault-head h2{
  font-size:1.02rem;font-weight:500;letter-spacing:.4em;text-indent:.4em;
  color:var(--ink);text-align:center;margin-bottom:.9rem;
}
.progress-wrap{max-width:340px;margin:0 auto;text-align:center}
.progress-bar{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.progress-bar span{display:block;height:100%;background:var(--cinnabar);width:0;transition:width .8s ease}
.progress-text{font-size:.74rem;color:var(--ink-3);margin-top:.5rem;letter-spacing:.1em}

/* ---------- 分栏签（已炼化 / 未炼化） ---------- */
.tabs{
  display:flex;justify-content:center;gap:.2rem;
  margin:0 0 1.9rem;border-bottom:1px solid var(--line);
}
.tab{
  position:relative;
  padding:.66rem 1.05rem .72rem;
  background:none;border:0;border-radius:0;
  font-family:inherit;font-size:.88rem;letter-spacing:.2em;text-indent:.2em;
  color:var(--ink-3);cursor:pointer;transition:color .2s;
}
.tab:hover{color:var(--ink-2)}
.tab.on{color:var(--cinnabar)}
.tab.on::after{
  content:'';position:absolute;left:.5rem;right:.5rem;bottom:-1px;height:2px;
  background:var(--cinnabar);border-radius:2px;
}
.tab-n{
  font-size:.62rem;color:var(--ink-3);letter-spacing:0;
  margin-left:.15rem;vertical-align:super;
}
.tab.on .tab-n{color:var(--cinnabar)}

/* ---------- 分组小标（金丹已成 / 原文待炼） ---------- */
.group-head{
  display:flex;align-items:center;gap:.8rem;
  margin:2.2rem 0 1rem;
}
.group-head:first-child{margin-top:0}
.group-head::before,.group-head::after{
  content:'';height:1px;flex:1;
  background:linear-gradient(90deg,transparent,var(--line) 40%,var(--line));
}
.group-head::after{background:linear-gradient(270deg,transparent,var(--line) 40%,var(--line))}
.group-head span{
  font-size:.76rem;letter-spacing:.34em;text-indent:.34em;color:var(--gold);white-space:nowrap;
}
.group-head em{font-style:normal;font-size:.68rem;color:var(--ink-3);letter-spacing:.08em;white-space:nowrap}
.group-head.group-raw span{color:var(--ink-3)}

.toolbar{margin-bottom:1.6rem}
#search{
  width:100%;padding:.88rem 1.1rem;
  border:1px solid var(--line);border-radius:4px;
  background:var(--paper-2);color:var(--ink);
  font-family:inherit;font-size:.96rem;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
#search:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(156,43,43,.07)}
#search::placeholder{color:var(--ink-3)}

.filters{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.75rem}
.chip{
  padding:.26rem .78rem;border:1px solid var(--line);border-radius:99px;
  background:transparent;color:var(--ink-2);
  font-family:inherit;font-size:.78rem;cursor:pointer;transition:all .18s;
}
.chip:hover{border-color:var(--ink-3)}
.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.8rem}
/* 藏丹阁外层容器：仅作分组包裹，本身不参与网格 */
#grid{display:block}

.card{
  position:relative;
  padding:1rem .95rem .8rem;
  border:1px solid var(--line);border-radius:5px;
  background:var(--paper-2);
  cursor:pointer;transition:all .2s;
  min-height:118px;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(60,45,20,.09);border-color:var(--gold)}

.card .num{
  font-size:.7rem;color:var(--cinnabar);letter-spacing:.12em;margin-bottom:.35rem;
  display:flex;justify-content:space-between;align-items:center;
}
.card .num .dot{width:5px;height:5px;border-radius:50%;background:var(--line);flex:0 0 auto}
.card.done .num .dot{background:var(--cinnabar)}
.card.done .num .dz{
  font-size:.94rem;color:var(--gold);font-weight:600;
  letter-spacing:0;margin-left:auto;margin-right:.4rem;
}

.card .title{font-size:1.02rem;margin-bottom:.35rem;letter-spacing:.1em}
.card .excerpt{
  font-size:.74rem;color:var(--ink-3);line-height:1.68;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card .jue{
  font-size:.7rem;color:var(--gold);margin-top:.35rem;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.card .tags{margin-top:auto;padding-top:.5rem;display:flex;gap:.28rem;flex-wrap:wrap}
.card .tag{font-size:.62rem;color:var(--gold);border:1px solid rgba(168,132,60,.32);border-radius:3px;padding:0 .3rem}
/* 未结丹：素纸，压低存在感 */
.card.raw{
  background:transparent;
  border-style:dashed;
  border-color:var(--line-2);
  opacity:.62;
}
.card.raw:hover{opacity:.95;border-style:solid;border-color:var(--gold)}
.card.raw .title{color:var(--ink-2)}

/* 已结丹：金边 + 微光 */
.card.done{
  background:linear-gradient(165deg,#fffdf7,#faf4e6);
  border-color:rgba(168,132,60,.55);
  box-shadow:0 2px 10px rgba(168,132,60,.12);
}
.card.done:hover{
  border-color:var(--gold);
  box-shadow:0 8px 22px rgba(168,132,60,.22);
}
.card.done::after{
  content:'';position:absolute;top:0;right:0;
  width:0;height:0;border-style:solid;
  border-width:0 14px 14px 0;
  border-color:transparent var(--gold-2) transparent transparent;
  opacity:.75;border-radius:0 5px 0 0;
}

.empty{text-align:center;color:var(--ink-3);padding:3rem 0}

/* ==================== 详情 ==================== */
.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}
.modal[hidden]{display:none}
.modal-bg{position:fixed;inset:0;background:rgba(30,25,18,.55);backdrop-filter:blur(2px)}

.sheet{
  position:relative;z-index:1;
  width:100%;max-width:720px;
  background:var(--paper-2);
  border-radius:6px;
  padding:2.4rem 2rem 2.8rem;
  margin-bottom:2rem;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
  animation:rise .28s ease;
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.close{
  position:absolute;top:.7rem;right:1rem;
  background:none;border:none;font-size:1.8rem;color:var(--ink-3);
  cursor:pointer;line-height:1;padding:.2rem .5rem;
}
.close:hover{color:var(--cinnabar)}

.d-head{text-align:center;padding-bottom:1.3rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem}
.d-num{font-size:.76rem;color:var(--cinnabar);letter-spacing:.2em}
.d-title{font-size:1.36rem;margin:.3rem 0 .9rem;letter-spacing:.15em;font-weight:500}
.d-danzi{
  display:inline-block;width:56px;height:56px;line-height:56px;
  font-size:1.5rem;color:#3d2a08;border-radius:50%;
  background:radial-gradient(circle at 36% 32%, #fff8e2, #e8c877 45%, #b8892c 100%);
  box-shadow:0 0 0 1px rgba(168,132,60,.45), 0 0 18px rgba(212,168,83,.4);
  margin-bottom:.7rem;
}
.d-original{font-size:1rem;line-height:2.1;color:var(--ink-2);text-align:justify;letter-spacing:.04em}
.d-tags{display:flex;gap:.38rem;justify-content:center;flex-wrap:wrap;margin-top:.9rem}
.d-tags span{font-size:.68rem;color:var(--gold);border:1px solid rgba(168,132,60,.32);border-radius:3px;padding:.04rem .48rem}

.sec{margin-bottom:1.7rem}
.sec h3{
  font-size:.94rem;font-weight:500;letter-spacing:.18em;
  color:var(--cinnabar);margin-bottom:.65rem;
  display:flex;align-items:center;gap:.6rem;
}
.sec h3::before{content:'';width:16px;height:1px;background:var(--cinnabar)}
.sec h3 em{font-style:normal;font-size:.66rem;color:var(--ink-3);letter-spacing:.1em}
.sec .body{font-size:.94rem;line-height:2;color:var(--ink-2);text-align:justify}
.sec .body p{margin-bottom:.7rem}
.sec .body ul{margin:.5rem 0 .8rem 1.2rem}
.sec .body li{margin-bottom:.45rem;line-height:1.95}
.sec .body strong{color:var(--ink);font-weight:600}

.pending{
  background:rgba(168,132,60,.07);border-left:2px solid var(--gold);
  padding:1rem 1.2rem;font-size:.85rem;color:var(--ink-3);line-height:1.9;
}

.d-foot{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.73rem;color:var(--ink-3);text-align:center}

.foot{text-align:center;color:var(--ink-3);font-size:.76rem;padding:2.5rem 0 1rem;letter-spacing:.24em}
.foot-minor{font-size:.68rem;letter-spacing:.12em;margin-top:.5rem;opacity:.72}

@media(max-width:820px){
  .gateways{grid-template-columns:1fr;gap:.7rem}
  .gw-words{font-size:.92rem}
}

/* ==================== 响应式 ==================== */
@media(max-width:640px){
  .paper{padding:1.5rem 1rem 0}
  h1{font-size:1.6rem;letter-spacing:.18em}
  .masthead-sm h1{font-size:1.34rem;letter-spacing:.24em}
  .back{position:static;display:inline-block;margin-bottom:.9rem}
  .tabs{gap:0}
  .tab{padding:.6rem .6rem .66rem;font-size:.8rem;letter-spacing:.12em}
  .group-head span{font-size:.7rem;letter-spacing:.22em}
  .furnace-body{padding:2.6rem 1.1rem 1.2rem}
  .cauldron{width:230px;margin-bottom:-26px}
  .fire{width:160px;height:56px;margin-bottom:-24px}
  .cauldron .glow{width:180px;height:180px;margin:-90px 0 0 -90px}
  .furnace-head h2{font-size:1rem;letter-spacing:.22em}
  .btn-forge{font-size:.92rem;letter-spacing:.18em}
  .dan-card{padding:1.8rem 1.1rem 1.5rem}
  .dan-orb{width:88px;height:88px}
  .dan-orb span{font-size:2.2rem}
  .dan-jue{font-size:1rem}
  .sheet{padding:2rem 1.2rem 2.4rem}
  .grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:.58rem}
  .samples{gap:.32rem}
  /* 投料口 */
  .intake-tabs{gap:.3rem}
  .itab{padding:.36rem .7rem;font-size:.76rem;letter-spacing:.04em}
  .it-ico{width:18px;height:18px;font-size:.74rem}
  .drop{padding:1.5rem .9rem}
  .drop-main{font-size:.86rem}
  .url-row{flex-direction:column}
  .btn-fetch{padding:.72rem;letter-spacing:.2em}
  .pr-name{flex:0 0 4.6em;font-size:.76rem}
  .pr-say{font-size:.73rem}
  .av-guide{padding:.9rem 1rem}
}

/* ==================== 问道 ==================== */
.ask-box{
  position:relative;
  background:linear-gradient(168deg,#fdfaf3,#f5eedd 70%,#f0e7d3);
  border:1px solid var(--gold);
  border-radius:8px;
  padding:1.5rem 1.5rem 1.3rem;
  margin-bottom:2.2rem;
  box-shadow:0 10px 30px rgba(150,115,60,.12), inset 0 1px 0 rgba(255,255,255,.8);
}
.ask-box::before,.ask-box::after{
  content:'';position:absolute;width:18px;height:18px;border:1px solid var(--gold);opacity:.55;
}
.ask-box::before{top:9px;left:9px;border-right:0;border-bottom:0}
.ask-box::after{bottom:9px;right:9px;border-left:0;border-top:0}

.ask-field{position:relative;margin-bottom:.85rem}
/* 问道输入框（首页 #homeQ 与问道页 #q 共用同一副长相） */
#q,#homeQ{
  width:100%;padding:1rem 1.1rem;
  border:1px solid var(--line);border-radius:5px;
  background:#fffdf8;color:var(--ink);
  font-family:inherit;font-size:1.02rem;line-height:1.9;
  resize:vertical;min-height:76px;outline:none;
  transition:border-color .22s,box-shadow .22s;
}
#q:focus,#homeQ:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(156,43,43,.08)}
#q::placeholder,#homeQ::placeholder{color:#b3aa9b;font-size:.94rem;line-height:1.95}
.ask-line{
  height:2px;margin-top:-1px;
  background:linear-gradient(90deg,transparent,var(--cinnabar) 22%,var(--gold-2) 50%,var(--cinnabar) 78%,transparent);
  opacity:.5;border-radius:2px;
}

.ask-actions{display:flex;gap:.7rem;align-items:center;margin-bottom:.4rem}
.btn-ask{
  flex:1;position:relative;overflow:hidden;
  padding:.88rem 1.4rem;
  border:1px solid #7e2020;border-radius:5px;
  background:linear-gradient(170deg,#a83030,#882323);
  color:#fdf6e8;font-family:inherit;font-size:1.04rem;
  letter-spacing:.34em;text-indent:.34em;cursor:pointer;
  box-shadow:0 3px 14px rgba(150,35,35,.28), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .16s,box-shadow .2s;
}
.btn-ask:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgba(150,35,35,.36), inset 0 1px 0 rgba(255,255,255,.26)}
.btn-ask:active{transform:translateY(0) scale(.995)}
.btn-orb{
  display:inline-block;width:11px;height:11px;margin-right:.55rem;
  border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff8e2, #f0d489 40%, #c9962f 100%);
  box-shadow:0 0 8px rgba(240,212,137,.85);
  vertical-align:middle;
  animation:orbPulse 2.6s ease-in-out infinite;
}
@keyframes orbPulse{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}

.ask-samples{
  display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;
  margin-top:.9rem;padding-top:.85rem;border-top:1px dashed var(--line);
}
.ask-note{
  font-size:.76rem;line-height:1.95;color:var(--ink-3);
  text-align:center;margin-top:1rem;letter-spacing:.02em;
}
.ask-note b{color:var(--cinnabar);font-weight:600}

/* ---------- 答面 ---------- */
.ask-answer{margin-bottom:2.6rem;animation:fadeUp .45s ease}

.ans-head{margin-bottom:1.3rem}
.ans-path{
  border-left:2px solid var(--gold);
  background:rgba(168,132,60,.06);
  border-radius:0 5px 5px 0;
  padding:.7rem 1rem;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .8rem;
}
.ans-path-tag{
  flex:0 0 auto;font-size:.72rem;letter-spacing:.2em;
  color:var(--paper);background:var(--gold);
  padding:.06rem .55rem;border-radius:3px;
}
.ans-path-note{flex:1;font-size:.84rem;color:var(--ink-2);line-height:1.85}
.ans-path-note b{color:var(--cinnabar);font-weight:600}
.ans-stat{
  font-size:.75rem;color:var(--ink-3);letter-spacing:.06em;
  margin-top:.6rem;text-align:right;
}
.ans-stat b{color:var(--gold);font-size:.95rem}
.ans-stat b.shallow{color:var(--ink-3)}

/* 丹药卡 —— 深（金丹已成） */
.ans-card{
  position:relative;
  border:1px solid var(--line);border-radius:6px;
  padding:1.4rem 1.4rem 1.2rem;
  margin-bottom:1.1rem;
  animation:fadeUp .4s ease;
}
.ans-card.deep{
  background:linear-gradient(165deg,#fffdf7,#faf4e6);
  border-color:rgba(168,132,60,.5);
  box-shadow:0 6px 22px rgba(168,132,60,.13), inset 0 1px 0 rgba(255,255,255,.85);
}
.ans-card.deep::after{
  content:'';position:absolute;top:0;right:0;width:0;height:0;border-style:solid;
  border-width:0 16px 16px 0;
  border-color:transparent var(--gold-2) transparent transparent;
  opacity:.8;border-radius:0 6px 0 0;
}
/* 丹药卡 —— 浅（金丹未炼） */
.ans-card.shallow{
  background:transparent;
  border-style:dashed;
  border-color:var(--line-2);
}

.ans-card-head{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:.95rem}
.ans-orb{
  flex:0 0 auto;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.ans-orb span{font-size:1.5rem;line-height:1;font-weight:500}
.ans-orb.on{
  background:radial-gradient(circle at 34% 30%, #fff8e2 0%, #f0d489 24%, #d9a93f 54%, #a97a25 100%);
  box-shadow:0 0 0 1px rgba(168,132,60,.45), 0 0 20px rgba(212,168,83,.45),
             inset -3px -4px 10px rgba(110,75,20,.3);
}
.ans-orb.on span{color:#3d2a08;text-shadow:0 1px 2px rgba(255,250,230,.7)}
.ans-orb.off{
  background:var(--paper-3);
  border:1px dashed var(--line);
  box-shadow:none;
}
.ans-orb.off span{color:var(--ink-3)}

.ans-head-text{flex:1;min-width:0}
.ans-chap{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;margin-bottom:.3rem}
.ans-num{font-size:.74rem;color:var(--cinnabar);letter-spacing:.16em}
.ans-title{font-size:1.14rem;letter-spacing:.12em;color:var(--ink)}
.ans-depth{
  font-size:.64rem;letter-spacing:.14em;
  padding:.02rem .45rem;border-radius:3px;
}
.ans-depth.deep{color:var(--paper);background:var(--gold)}
.ans-depth.shallow{color:var(--ink-3);border:1px solid var(--line)}
.ans-jue{font-size:.9rem;color:var(--ink-2);letter-spacing:.08em;line-height:1.75}
.ans-jue::before{content:'「';color:var(--gold-2)}
.ans-jue::after{content:'」';color:var(--gold-2)}
.ans-order{
  flex:0 0 auto;font-size:.78rem;color:var(--line);
  letter-spacing:0;line-height:1;padding-top:.2rem;
}

.ans-why-wrap{margin-bottom:.9rem}
.ans-why{
  font-size:.82rem;line-height:1.9;color:var(--ink-2);
  background:rgba(168,132,60,.07);
  border-radius:4px;padding:.62rem .85rem;
}
.ans-why-tag{
  font-size:.68rem;letter-spacing:.18em;color:var(--gold);
  margin-right:.6rem;white-space:nowrap;
}
.ans-why b{color:var(--cinnabar);font-weight:600}

.ans-tags{display:flex;gap:.32rem;flex-wrap:wrap;margin-top:.5rem}
.ans-tags span{
  font-size:.64rem;color:var(--gold);
  border:1px solid rgba(168,132,60,.3);border-radius:3px;padding:.02rem .42rem;
}

.ans-original{
  font-size:.9rem;line-height:2.05;color:var(--ink-2);
  text-align:justify;letter-spacing:.03em;
  border-top:1px solid var(--line-2);padding-top:.85rem;margin-bottom:.85rem;
}
.ans-orig-tag{
  font-size:.66rem;letter-spacing:.2em;color:var(--ink-3);
  display:block;margin-bottom:.35rem;
}
.ans-shallow-note{
  font-size:.77rem;line-height:1.9;color:var(--ink-3);
  border-left:2px solid var(--line);padding-left:.85rem;
}
.ans-shallow-note b{color:var(--cinnabar);font-weight:600}
.ans-shallow-acts{margin-top:.6rem;display:flex;gap:1rem;flex-wrap:wrap}

.ans-body{margin-top:.4rem}
.ans-sec{margin-bottom:1.35rem}
.ans-sec:last-child{margin-bottom:0}
.ans-sec h4{
  font-size:.88rem;font-weight:500;letter-spacing:.18em;color:var(--cinnabar);
  margin-bottom:.6rem;display:flex;align-items:center;gap:.55rem;
}
.ans-sec h4::before{content:'';width:14px;height:1px;background:var(--cinnabar)}
.ans-sec h4 em{font-style:normal;font-size:.62rem;color:var(--ink-3);letter-spacing:.14em}
.ans-sec .body{font-size:.92rem;line-height:2.02;color:var(--ink-2);text-align:justify}
.ans-sec .body p{margin-bottom:.62rem}
.ans-sec .body ul{margin:.45rem 0 .7rem 1.15rem}
.ans-sec .body li{margin-bottom:.4rem;line-height:1.92}
.ans-sec .body strong{color:var(--ink);font-weight:600}

.ans-none{
  text-align:center;padding:2.4rem 1.6rem;
  border:1px dashed var(--line);border-radius:8px;
  background:rgba(255,255,255,.35);
}
.ans-none-mark{font-size:2rem;color:var(--line);margin-bottom:.7rem}
.ans-none h3{font-size:1rem;font-weight:500;letter-spacing:.2em;color:var(--ink-2);margin-bottom:.6rem}
.ans-none p{font-size:.85rem;color:var(--ink-3);line-height:1.95;max-width:32em;margin:0 auto}
.ans-none p b{color:var(--cinnabar);font-weight:600}

.ans-foot{
  text-align:center;margin-top:1.6rem;padding-top:1.1rem;
  border-top:1px solid var(--line);
}
.ans-foot p{font-size:.8rem;color:var(--ink-3);line-height:1.95}
.ans-foot b{color:var(--ink-2);font-weight:600}
.ans-foot-minor{margin-top:.7rem;font-size:.76rem}

/* ---------- 浏览 ---------- */
.browse{margin-bottom:1rem}
.browse-tabs{
  display:flex;justify-content:center;gap:.2rem;
  border-bottom:1px solid var(--line);margin-bottom:1.5rem;
}
.btab{
  position:relative;padding:.62rem 1rem .68rem;
  background:none;border:0;
  font-family:inherit;font-size:.86rem;letter-spacing:.2em;text-indent:.2em;
  color:var(--ink-3);cursor:pointer;transition:color .2s;
}
.btab:hover{color:var(--ink-2)}
.btab.on{color:var(--cinnabar)}
.btab.on::after{
  content:'';position:absolute;left:.5rem;right:.5rem;bottom:-1px;height:2px;
  background:var(--cinnabar);border-radius:2px;
}

.browse-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.75rem}
.bt-item{
  border:1px solid var(--line);border-radius:5px;
  background:var(--paper-2);padding:.85rem .9rem;
  cursor:pointer;transition:all .2s;
}
.bt-item:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 6px 18px rgba(60,45,20,.09)}
.bt-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.bt-name{font-size:.94rem;letter-spacing:.14em;color:var(--ink)}
.bt-n{font-size:.68rem;color:var(--ink-3)}
.bt-words{display:flex;flex-wrap:wrap;gap:.22rem}
.bt-w{
  font-size:.76rem;color:var(--ink-3);
  width:1.5em;height:1.5em;line-height:1.5em;text-align:center;
  border-radius:3px;background:rgba(0,0,0,.035);
}
.bt-w.deep{color:var(--paper);background:var(--gold)}

.browse-danzi{display:flex;flex-wrap:wrap;gap:.45rem}
.dz-chip{
  display:inline-flex;align-items:baseline;gap:.4rem;
  padding:.3rem .7rem;
  border:1px solid var(--line);border-radius:99px;
  background:transparent;font-family:inherit;cursor:pointer;
  transition:all .18s;
}
.dz-chip:hover{border-color:var(--gold);background:rgba(168,132,60,.06)}
.dz-zi{font-size:1rem;color:var(--ink-2);letter-spacing:0}
.dz-ids{font-size:.64rem;color:var(--ink-3);letter-spacing:0}
.dz-chip.deep{border-color:rgba(168,132,60,.55);background:rgba(212,168,83,.1)}
.dz-chip.deep .dz-zi{color:var(--gold);font-weight:600}
.dz-chip.deep .dz-ids{color:var(--gold)}

.browse-deep{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}
.bd-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;
  padding:1rem .95rem;
  border:1px solid rgba(168,132,60,.5);border-radius:5px;
  background:linear-gradient(165deg,#fffdf7,#faf4e6);
  font-family:inherit;text-align:left;cursor:pointer;
  box-shadow:0 2px 10px rgba(168,132,60,.1);
  transition:all .2s;
}
.bd-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 20px rgba(168,132,60,.2)}
.bd-orb{
  width:34px;height:34px;line-height:34px;text-align:center;
  font-size:1rem;color:#3d2a08;border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #fff8e2, #e8c877 45%, #b8892c 100%);
  box-shadow:0 0 0 1px rgba(168,132,60,.4), 0 0 12px rgba(212,168,83,.35);
}
.bd-title{font-size:.86rem;color:var(--ink);letter-spacing:.08em}
.bd-jue{font-size:.72rem;color:var(--gold);line-height:1.65}

.browse-hint{
  font-size:.75rem;color:var(--ink-3);text-align:center;
  margin-top:1.3rem;letter-spacing:.04em;
}

/* ==================== 首页：问道门与炉子降级 ==================== */
.home-ask{margin-bottom:1.3rem}
.home-answer{padding:0 .0rem}

.btn-to-ask{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;white-space:nowrap;
  padding:.88rem 1.05rem;letter-spacing:.14em;font-size:.84rem;
}

/* 答面里"读其全丹"一句 */
.ans-more{margin-top:.55rem;font-size:.78rem}

/* 炉子入口说明：明示此为内务，不是正门 */
.furnace-door{
  display:flex;align-items:center;gap:.85rem;
  max-width:640px;margin:0 auto 1.5rem;
  padding:.75rem 1rem;
  border:1px dashed var(--line);
  border-radius:5px;
  background:rgba(255,255,255,.42);
}
.fd-mark{
  flex:0 0 auto;width:30px;height:30px;line-height:30px;text-align:center;
  font-size:.86rem;border-radius:4px;
  background:var(--paper-3);color:var(--ink-3);
  border:1px solid var(--line);
}
.fd-text{flex:1;display:flex;flex-direction:column;gap:.15rem}
.fd-text b{font-size:.82rem;letter-spacing:.2em;color:var(--ink-2);font-weight:500}
.fd-text span{font-size:.72rem;color:var(--ink-3);line-height:1.75}

/* 炉内标题降为小号 */
.fh-sm{
  font-size:1.02rem;font-weight:500;letter-spacing:.32em;
  text-indent:.32em;color:var(--ink);
}

@media(max-width:640px){
  .home-ask{padding:1.2rem 1rem 1.05rem}
  .btn-to-ask{padding:.8rem .85rem;font-size:.78rem}
  .furnace-door{gap:.6rem;padding:.65rem .8rem}
  .fd-text b{font-size:.76rem;letter-spacing:.14em}
  .fd-text span{font-size:.68rem}
  .ans-card{padding:1.1rem 1rem 1rem}
  .ans-orb{width:48px;height:48px}
  .ans-orb span{font-size:1.3rem}
  .ans-title{font-size:1.02rem;letter-spacing:.08em}
  .ans-jue{font-size:.84rem}
  .ans-order{display:none}
  .ans-sec h4{font-size:.84rem;letter-spacing:.14em}
  .ans-sec .body{font-size:.88rem;line-height:1.98}
  .browse-themes{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.6rem}
  .browse-deep{grid-template-columns:1fr}
  .btab{padding:.56rem .7rem;font-size:.79rem;letter-spacing:.12em}
}

/* ==================== AI 智能炉 · 炉中三位 ==================== */

/* 抬头下的 AI 标识 */
.ai-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  margin-top:.85rem;padding:.26rem .85rem;
  border:1px solid rgba(74,124,111,.35);
  border-radius:99px;
  background:rgba(74,124,111,.06);
  font-size:.7rem;letter-spacing:.16em;color:var(--jade);
}
.ai-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--jade);
  box-shadow:0 0 0 0 rgba(74,124,111,.6);
  animation:aiPulse 2.4s ease-out infinite;
}
@keyframes aiPulse{
  0%{box-shadow:0 0 0 0 rgba(74,124,111,.55)}
  70%{box-shadow:0 0 0 7px rgba(74,124,111,0)}
  100%{box-shadow:0 0 0 0 rgba(74,124,111,0)}
}

/* ---------- 角色条 ---------- */
.spirit{
  display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;
  padding:.55rem .9rem;margin-bottom:.9rem;
  border-left:2px solid var(--jade);
  background:rgba(74,124,111,.055);
  border-radius:0 4px 4px 0;
  font-size:.79rem;line-height:1.8;
  animation:fadeUp .32s ease;
}
.spirit.sp-bad{border-left-color:var(--cinnabar);background:rgba(156,43,43,.055)}
.spirit.sp-good{border-left-color:var(--gold);background:rgba(168,132,60,.06)}

.sp-seal{
  flex:0 0 auto;
  width:19px;height:19px;line-height:19px;text-align:center;
  font-size:.68rem;border-radius:3px;
  background:var(--jade);color:var(--paper);
  transform:translateY(2px);
}
.sp-bad .sp-seal{background:var(--cinnabar)}
.sp-good .sp-seal{background:var(--gold)}

.sp-name{font-size:.79rem;letter-spacing:.2em;color:var(--ink);font-weight:500}
.sp-duty{
  font-size:.64rem;letter-spacing:.1em;color:var(--ink-3);
  border:1px solid var(--line);border-radius:3px;padding:0 .3rem;
}
.sp-say{flex:1;color:var(--ink-2);font-size:.79rem;min-width:8em}
.sp-ai{
  flex:0 0 auto;font-size:.58rem;letter-spacing:.12em;
  color:var(--jade);border:1px solid rgba(74,124,111,.4);
  border-radius:2px;padding:0 .28rem;
}
.sp-bad .sp-ai{color:var(--cinnabar);border-color:rgba(156,43,43,.4)}

/* ---------- 转交条：道童 → 丹师 / 炉灵 ---------- */
.handoff{
  display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;
  padding:.58rem .9rem;margin-bottom:.9rem;
  border-left:2px solid var(--jade);
  background:linear-gradient(90deg,rgba(74,124,111,.07),rgba(168,132,60,.045));
  border-radius:0 4px 4px 0;
  font-size:.78rem;line-height:1.8;
  animation:fadeUp .32s ease;
}
.ho-who{display:inline-flex;align-items:baseline;gap:.3rem;flex:0 0 auto}
.ho-seal{
  flex:0 0 auto;width:18px;height:18px;line-height:18px;text-align:center;
  font-size:.66rem;border-radius:3px;
  background:var(--jade);color:var(--paper);
  transform:translateY(2px);
}
.ho-name{letter-spacing:.18em;color:var(--ink);font-weight:500}
.ho-say{color:var(--ink-2);font-size:.78rem}
.ho-arrow{
  flex:0 0 auto;font-size:.6rem;letter-spacing:.16em;
  color:var(--gold);border:1px dashed rgba(168,132,60,.5);
  border-radius:2px;padding:.05rem .34rem;
  transform:translateY(-1px);
}
.handoff .sp-ai{margin-left:auto}

/* 料识回执：角色条 + 明细两行 */
.intake-status{display:block;padding:.7rem .9rem .6rem}
.intake-status .is-meta{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;
  font-size:.78rem;
}
.intake-status .spirit{margin-bottom:.5rem}

/* ---------- 三个节点小标题 ---------- */
.sect-head{
  display:flex;align-items:center;gap:.75rem;
  margin-bottom:1rem;
}
.sect-k{
  flex:0 0 auto;
  width:22px;height:22px;line-height:22px;text-align:center;
  font-size:.7rem;border-radius:50%;
  background:var(--cinnabar);color:var(--paper);
}
.sect-t{flex:1;display:flex;flex-direction:column;gap:.1rem}
.sect-t b{font-size:.94rem;letter-spacing:.22em;color:var(--ink);font-weight:500}
.sect-t span{font-size:.72rem;color:var(--ink-3);letter-spacing:.04em}
.sect-toggle{
  flex:0 0 auto;font-size:.72rem;letter-spacing:.12em;color:var(--ink-3);
  cursor:pointer;user-select:none;
}
.sect-toggle:hover{color:var(--cinnabar)}

/* 炼化区小标题在框外还是框内：这里在框内顶部留白处 */
.sect-head-in{margin:0 0 1.4rem}

/* ---------- 折叠：更多 ---------- */
.more{margin:1.4rem 0 .6rem}
.more-toggle{
  width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.85rem 1rem;
  border:1px solid var(--line);border-radius:5px;
  background:rgba(255,255,255,.42);
  font-family:inherit;font-size:.82rem;letter-spacing:.24em;text-indent:.24em;
  color:var(--ink-2);cursor:pointer;
  transition:all .2s;
}
.more-toggle:hover{border-color:var(--gold);color:var(--gold);background:rgba(168,132,60,.05)}
.more-toggle.on{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}
.mt-arrow{font-size:.9rem;transition:transform .25s ease;letter-spacing:0}
.more-toggle.on .mt-arrow{transform:rotate(180deg)}

.more-body{
  border:1px solid var(--line);border-top:0;
  border-radius:0 0 5px 5px;
  padding:1.4rem 1.2rem 1.2rem;
  background:rgba(255,255,255,.28);
  animation:fadeUp .3s ease;
}
.more-body .gateways{margin-bottom:1.8rem}

/* ---------- 三位合影 ---------- */
.trio-wrap{border-top:1px solid var(--line);padding-top:1.4rem}
.trio-title{
  font-size:.9rem;font-weight:500;letter-spacing:.3em;text-indent:.3em;
  color:var(--ink);text-align:center;margin-bottom:.45rem;
}
.trio-title em{font-style:normal;font-size:.6rem;color:var(--jade);letter-spacing:.16em}
.trio-sub{
  font-size:.72rem;color:var(--ink-3);text-align:center;
  margin-bottom:1.2rem;letter-spacing:.06em;
}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.trio-item{
  display:flex;gap:.7rem;align-items:flex-start;
  padding:.95rem 1rem;
  border:1px solid var(--line);border-left:2px solid var(--jade);
  border-radius:0 5px 5px 0;
  background:var(--paper-2);
  transition:border-left-color .2s,transform .2s;
}
.trio-item:hover{border-left-color:var(--gold);transform:translateY(-2px)}
.trio-seal{
  flex:0 0 auto;
  width:30px;height:30px;line-height:30px;text-align:center;
  font-size:1rem;border-radius:5px;
  background:linear-gradient(150deg,#5d9384,#3f6a5d);
  color:#f6fbf9;
  box-shadow:0 2px 8px rgba(74,124,111,.28);
}
.trio-text{flex:1;min-width:0}
.trio-head{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;margin-bottom:.15rem}
.trio-name{font-size:.86rem;letter-spacing:.16em;color:var(--ink)}
.trio-en{font-size:.58rem;color:var(--ink-3);letter-spacing:.14em}
.trio-ai{
  font-size:.56rem;letter-spacing:.1em;color:var(--jade);
  border:1px solid rgba(74,124,111,.4);border-radius:2px;padding:0 .24rem;
}
.trio-duty{font-size:.66rem;color:var(--gold);letter-spacing:.1em;margin-bottom:.35rem}
.trio-intro{font-size:.74rem;line-height:1.85;color:var(--ink-3);text-align:justify}

@media(max-width:760px){
  .trio{grid-template-columns:1fr;gap:.6rem}
  .ai-badge{font-size:.64rem;letter-spacing:.1em}
  .sect-t b{font-size:.88rem;letter-spacing:.16em}
  .spirit{padding:.5rem .75rem;gap:.45rem}
  .sp-say{min-width:100%;flex-basis:100%}
  .more-body{padding:1.1rem .9rem 1rem}
}

/* ============================================================
   随取炉 —— 挥之即来，用之即去
   ------------------------------------------------------------
   右下角一枚小炉钮，点开即用，收起即去。
   不占版面、不打断阅读，随处可用。
   ============================================================ */
.pocket{position:fixed;right:1.15rem;bottom:1.15rem;z-index:60}

.pocket-btn{
  display:flex;align-items:center;gap:.45rem;
  padding:.6rem .85rem .6rem .7rem;
  border:1px solid #7e2020;border-radius:999px;
  background:linear-gradient(168deg,#a83030,#882323);
  color:#fdf6e8;font-family:inherit;cursor:pointer;
  box-shadow:0 6px 20px rgba(120,30,30,.3), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .18s,box-shadow .2s;
}
.pocket-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(120,30,30,.4), inset 0 1px 0 rgba(255,255,255,.24)}
.pocket-btn:active{transform:translateY(0) scale(.98)}
.pocket-ico{width:19px;height:19px;color:#f6e2b8;flex:0 0 auto}
.pocket-tip{font-size:.76rem;letter-spacing:.2em;text-indent:.2em}
.pocket.on .pocket-btn{opacity:0;pointer-events:none;transform:scale(.9)}

.pocket-sheet{
  position:fixed;right:1.15rem;bottom:1.15rem;
  width:min(94vw,30rem);max-height:min(78vh,44rem);overflow-y:auto;
  background:var(--paper-2);
  border:1px solid var(--line);border-radius:8px;
  box-shadow:0 18px 60px rgba(50,40,25,.3), 0 2px 8px rgba(50,40,25,.12);
  animation:pkIn .26s cubic-bezier(.2,.9,.3,1.05);
}
@keyframes pkIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}

.pk-head{
  display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  padding:.78rem 1rem .7rem;
  border-bottom:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(168,132,60,.07),transparent);
  position:sticky;top:0;z-index:2;
  background-color:var(--paper-2);
}
.pk-k{font-size:.82rem;letter-spacing:.24em;color:var(--ink);font-weight:500}
.pk-note{font-size:.66rem;letter-spacing:.12em;color:var(--ink-3)}
.pk-close{
  margin-left:auto;background:none;border:none;cursor:pointer;
  font-size:1.15rem;line-height:1;color:var(--ink-3);
  padding:.1rem .3rem;border-radius:3px;
}
.pk-close:hover{color:var(--cinnabar);background:rgba(156,43,43,.07)}

.pk-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem}
.pk-row{display:flex;flex-direction:column;gap:.5rem}
.pk-lab{font-size:.7rem;letter-spacing:.2em;color:var(--ink-3)}
.pk-row textarea,.pk-row input{
  width:100%;padding:.62rem .78rem;
  border:1px solid var(--line);border-radius:4px;
  background:#fffdf8;color:var(--ink);font-family:inherit;
  font-size:.88rem;line-height:1.7;resize:vertical;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.pk-row textarea{min-height:52px}
.pk-row textarea:focus,.pk-row input:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(156,43,43,.07)}
.pk-row ::placeholder{color:#b3aa9b;font-size:.82rem}

.pk-acts{display:flex;gap:.5rem}
.btn-forge-sm,.btn-ask-sm{
  padding:.5rem 1rem;font-size:.82rem;letter-spacing:.2em;text-indent:.2em;
  border-radius:4px;
}
.btn-ask-sm{flex:0 0 auto;background:linear-gradient(170deg,#4a7c6f,#3d6a5e);border-color:#35604f;box-shadow:0 3px 12px rgba(61,106,94,.26)}
.btn-clear-sm{padding:.5rem .9rem;font-size:.8rem}

.pk-tong{margin-top:.1rem}
.pk-out{
  border-top:1px dashed var(--line);padding-top:.8rem;
  font-size:.8rem;line-height:1.85;color:var(--ink-2);
}
.pk-out .pk-title{font-size:.86rem;color:var(--ink);letter-spacing:.06em;margin:0 0 .3rem}
.pk-out .pk-orig{color:var(--ink-3);font-size:.78rem;margin:.25rem 0 .5rem;line-height:1.85}
.pk-out .pk-more{display:inline-block;margin-top:.55rem;font-size:.78rem}
.pk-out .pk-bad{color:var(--cinnabar)}
.pk-foot{
  display:flex;align-items:center;gap:.5rem;font-size:.74rem;color:var(--ink-3);
  padding-top:.2rem;border-top:1px solid var(--line-2);
}

@media (max-width:760px){
  .pocket{right:.8rem;bottom:.8rem}
  .pocket-tip{display:none}
  .pocket-btn{padding:.62rem;border-radius:50%}
  .pocket-sheet{right:.5rem;left:.5rem;bottom:.5rem;width:auto;max-height:82vh}
}

/* ---------- 通路图：一条闭环，一个门 ---------- */
.pathway{
  margin:0 0 1.4rem;padding:1rem 1.1rem;
  border:1px solid var(--line-2);border-radius:6px;
  background:linear-gradient(180deg,rgba(168,132,60,.045),transparent);
}
.pw-title{font-size:.7rem;letter-spacing:.24em;color:var(--ink-3);margin-bottom:.85rem}
.pw-flow{
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  font-size:.76rem;line-height:1.7;
}
.pw-node{
  display:inline-flex;align-items:baseline;gap:.28rem;
  padding:.26rem .62rem;border-radius:4px;
  border:1px solid var(--line);background:var(--paper-2);
  letter-spacing:.12em;color:var(--ink-2);
}
.pw-node i{
  font-style:normal;font-size:.6rem;letter-spacing:.06em;
  color:var(--ink-3);opacity:.85;
}
.pw-gate{background:none;border-style:dashed;color:var(--ink-3)}
.pw-tong{border-color:rgba(74,124,111,.45);color:var(--jade)}
.pw-shi{border-color:rgba(168,132,60,.45);color:var(--gold)}
.pw-ling{border-color:rgba(156,43,43,.4);color:var(--cinnabar)}
.pw-out{border-color:rgba(168,132,60,.5);background:rgba(168,132,60,.07);color:var(--gold)}
.pw-branch{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.pw-arrow{color:var(--ink-3);font-size:.8rem;opacity:.7}
.pw-note{
  margin-top:.85rem;font-size:.72rem;line-height:1.9;color:var(--ink-3);
  padding-top:.7rem;border-top:1px dashed var(--line-2);
}

@media (max-width:760px){
  .pw-flow{flex-direction:column;align-items:flex-start;gap:.3rem}
  .pw-arrow{transform:rotate(90deg);margin-left:1rem}
  .pw-branch{flex-direction:column}
  .pathway{padding:.9rem .85rem}
}

/* ============================================================
   顶栏 · 三模块固化
   ------------------------------------------------------------
   问道 / 炼丹 / 藏丹阁 钉在顶上，随手一点就跳。
   签要够大够醒目：三等分铺满一行，点起来不费力。
   ============================================================ */
.topbar{
  position:sticky;top:0;z-index:50;
  margin:0 -1.5rem 1.5rem;
  background:rgba(244,239,228,.94);
  backdrop-filter:blur(10px) saturate(1.35);
  -webkit-backdrop-filter:blur(10px) saturate(1.35);
  border-bottom:1px solid var(--line-2);
  transition:box-shadow .25s,border-color .25s;
}
.topbar.stuck{
  box-shadow:0 6px 26px rgba(60,48,30,.13);
  border-bottom-color:var(--line);
}
.tb-inner{
  max-width:940px;margin:0 auto;
  padding:.55rem 1.5rem .6rem;
}

/* 三签三等分：撑满一行，各自居中，边界清晰 */
.tb-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.55rem;
}
.tb-tab{
  display:flex;align-items:center;justify-content:center;gap:.44rem;
  padding:.72rem .8rem;
  border:1px solid var(--line);border-radius:6px;
  background:rgba(255,253,248,.72);
  color:var(--ink-2);font-family:inherit;
  font-size:.95rem;letter-spacing:.22em;text-indent:.22em;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  box-shadow:0 1px 2px rgba(60,48,30,.04);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .16s;
}
.tb-tab:hover{
  background:#fffdf8;color:var(--cinnabar);
  border-color:rgba(156,43,43,.36);
  box-shadow:0 3px 12px rgba(156,43,43,.1);
  transform:translateY(-1px);
}
.tb-tab:active{transform:translateY(0) scale(.985)}
.tb-tab.on{
  background:linear-gradient(168deg,#a83030,#882323);
  color:#fdf6e8;border-color:#7e2020;
  box-shadow:0 4px 16px rgba(150,35,35,.3), inset 0 1px 0 rgba(255,255,255,.16);
}
.tb-k{
  font-size:.68rem;width:18px;height:18px;line-height:18px;text-align:center;
  border-radius:50%;background:rgba(156,43,43,.1);color:var(--cinnabar);
  flex:0 0 auto;text-indent:0;letter-spacing:0;
}
.tb-tab.on .tb-k{background:rgba(255,255,255,.2);color:#fdf6e8}
.tb-t{letter-spacing:.2em}

@media (max-width:760px){
  .topbar{margin:0 -.9rem 1.1rem}
  .tb-inner{padding:.48rem .9rem .52rem}
  .tb-tabs{gap:.36rem}
  .tb-tab{padding:.66rem .4rem;font-size:.86rem;letter-spacing:.08em;text-indent:.08em}
  .tb-k{display:none}
  .tb-t{letter-spacing:.1em}
}

/* 三模块分节：各自有锚点，顶栏可直达 */
.vault-sect{margin-top:1.8rem}
#homeAsk,#furnace,#vault{scroll-margin-top:5.2rem}
/* 说明：.scroll-tail 已随三模块拆页一并移除。
   它是「模块同页 + 滚动定位」时代的产物，用来给末节留出被顶栏顶到最上的缓冲；
   拆成独立页之后，每页本身就是终点，这块 306px 的空白纯属拉长页面。 */

/* ============================================================
   炼化过程 · 品质 · 藏丹阁分组（v6）
   ============================================================ */

/* ---------- 炼化过程：六阶段 ---------- */
.prog-box{margin:1.1rem 0 .2rem}
.prog{
  background:linear-gradient(168deg,#fdfaf3,#f5eedd);
  border:1px solid var(--gold);border-radius:7px;
  padding:.95rem 1rem .85rem;
}
.prog-bar{
  height:5px;border-radius:99px;background:rgba(31,28,25,.09);
  overflow:hidden;margin-bottom:.85rem;
}
.prog-fill{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#FFB300,#FF6D00,#9c2b2b);
  transition:width .38s ease;
}
.prog-cells{display:flex;align-items:flex-start;justify-content:space-between;gap:.2rem}
.ps-cell{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1;min-width:0}
.ps-link{
  flex:0 0 auto;width:14px;height:1px;margin-top:11px;
  background:var(--line);
}
.ps-dot{
  width:23px;height:23px;line-height:23px;border-radius:50%;
  font-size:.68rem;text-align:center;
  border:1px solid var(--line);background:#fff;color:var(--ink-3);
  transition:all .3s;
}
.ps-name{
  font-size:.66rem;letter-spacing:.06em;color:var(--ink-3);
  white-space:nowrap;
}
/* 已完成 */
.ps-cell.pw-done .ps-dot{
  background:var(--cinnabar);border-color:var(--cinnabar);color:#fdf6e8;
}
.ps-cell.pw-done .ps-name{color:var(--ink-2)}
/* 进行中 */
.ps-cell.pw-on .ps-dot{
  border-color:var(--gold);color:var(--gold);
  box-shadow:0 0 0 4px rgba(168,132,60,.15);
}
.ps-cell.pw-on .ps-name{color:var(--gold);font-weight:600}
/* 转圈 */
.pw-spin{
  display:inline-block;width:9px;height:9px;
  border:2px solid var(--gold);border-top-color:transparent;
  border-radius:50%;animation:pwspin .7s linear infinite;
  vertical-align:middle;
}
@keyframes pwspin{to{transform:rotate(360deg)}}
.prog-note{
  margin-top:.7rem;text-align:center;
  font-size:.74rem;color:var(--ink-3);letter-spacing:.05em;
}

/* ---------- 五级品质徽章 ---------- */
.dan-badge,.badge{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .7rem;border-radius:99px;
  font-size:.74rem;letter-spacing:.08em;
  border:1px solid var(--line);background:#fff;
  margin-bottom:.7rem;
}
.db-mark{font-size:.82rem}
.db-score{font-family:ui-monospace,Menlo,monospace;opacity:.75}
/* 极品：金 */
.g-top{background:linear-gradient(135deg,#FFF6D8,#FFE9A8);
  border-color:#E9B949;color:#8A5A00;
  box-shadow:0 0 14px rgba(233,185,73,.38)}
/* 上品：朱砂 */
.g-up{background:rgba(156,43,43,.09);border-color:var(--cinnabar);color:var(--cinnabar)}
/* 中品：青 */
.g-mid{background:rgba(74,124,111,.10);border-color:var(--jade);color:#3a6357}
/* 下品：灰蓝 */
.g-low{background:rgba(90,107,124,.09);border-color:#7d8a99;color:#5A6B7C}
/* 未成：灰 */
.g-none{background:rgba(31,28,25,.05);border-color:var(--line);color:var(--ink-3)}

/* 初丹卡 */
.dan-raw .dan-orb{background:linear-gradient(150deg,#e8e2d4,#d8d0be)}
.dan-note{
  margin:.9rem 0 0;padding:.7rem .9rem;
  border-left:3px solid var(--gold);background:rgba(168,132,60,.06);
  font-size:.78rem;line-height:1.85;color:var(--ink-2);text-align:left;
}
.dan-tag{
  display:inline-block;margin:0 .35rem .35rem 0;
  padding:.15rem .55rem;border:1px solid var(--line);border-radius:99px;
  font-size:.7rem;color:var(--ink-3);
}

/* ---------- 藏丹阁：你炼的丹 ---------- */
.group-mine{border-left-color:var(--cinnabar)}
.grid-mine{margin-bottom:1.4rem}
.card.mine{
  border-color:var(--gold);
  background:linear-gradient(168deg,#fffdf7,#faf3e2);
  box-shadow:0 2px 12px rgba(168,132,60,.14);
}
.card.mine .badge{margin:.1rem 0 .55rem}
.mine-foot{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  margin-top:.6rem;padding-top:.55rem;border-top:1px solid var(--line);
  font-size:.7rem;color:var(--ink-3);
}
.mf-score{font-family:ui-monospace,Menlo,monospace}
.mf-deep{padding:.1rem .45rem;border-radius:99px;
  background:rgba(156,43,43,.1);color:var(--cinnabar)}
.mf-raw{padding:.1rem .45rem;border-radius:99px;
  background:rgba(168,132,60,.14);color:#8a6a1e}

/* ---------- 藏丹阁：可折叠分组 ---------- */
.vault-fold{
  margin:1.2rem 0;border:1px solid var(--line);border-radius:6px;
  background:rgba(255,255,255,.5);overflow:hidden;
}
.vault-fold>summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:.8rem 1rem;cursor:pointer;list-style:none;
  font-size:.84rem;letter-spacing:.16em;color:var(--ink-2);
  border-bottom:1px solid transparent;
  transition:background .2s;
}
.vault-fold>summary::-webkit-details-marker{display:none}
.vault-fold>summary:hover{background:rgba(168,132,60,.06)}
.vault-fold>summary::before{
  content:'▸';margin-right:.55rem;color:var(--gold);
  transition:transform .2s;display:inline-block;
}
.vault-fold[open]>summary::before{transform:rotate(90deg)}
.vault-fold[open]>summary{border-bottom-color:var(--line);background:rgba(255,255,255,.7)}
.vault-fold>summary em{
  font-style:normal;font-size:.74rem;color:var(--ink-3);letter-spacing:.04em;
}
.vault-fold .grid{padding:1rem}

@media(max-width:640px){
  .ps-name{font-size:.6rem}
  .ps-dot{width:20px;height:20px;line-height:20px;font-size:.62rem}
  .prog-cells{gap:0}
}

/* ------------------------------------------------------------
   v6.1 · 随身炉炼化过程 + 归属说明
   随身炉与正炉同一套过程条，只是收得更窄（抽屉里放得下）
   ------------------------------------------------------------ */
.pk-prog{
  margin:.5rem 0 .1rem;
}
.pk-prog .prog{
  padding:.6rem .5rem;
}
.pk-prog .ps-name{font-size:.6rem}
.pk-prog .ps-dot{width:20px;height:20px;line-height:20px;font-size:.6rem}
.pk-prog .prog-note{font-size:.66rem}

/* 随身炉出丹：品质徽章与旁参说明 */
.pk-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.pk-badge{
  font-size:.64rem;padding:.08rem .4rem;border-radius:999px;
  letter-spacing:.06em;
}
.pk-alt{
  font-size:.7rem;color:var(--ink-3);margin:.32rem 0 0;line-height:1.6;
}
.pk-alt .dan-link{font-size:.7rem}

@media(max-width:640px){
  .pk-prog .ps-name{display:none}
}
