/* =========================================================
   VILLAIN DOSSIER — 暗面人格档案
   视觉方向：纸质卷宗 + 红色印章 + 胶片颗粒
   ========================================================= */

:root{
  --ink:#0d0b0a;
  --ink-2:#151110;
  --ink-3:#221b19;
  --paper:#ece3d2;
  --paper-2:#ded2bd;
  --blood:#c9342a;
  --blood-deep:#8d1e17;
  --acid:#d6c14b;
  --ash:#8b8076;
  --line:rgba(236,227,210,.14);
  --line-strong:rgba(236,227,210,.28);
  --display:"Songti SC","STSong","Noto Serif SC",Baskerville,"Times New Roman",serif;
  --body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --mono:"Courier New",Consolas,monospace;
  --max:720px;
}

*,*::before,*::after{box-sizing:border-box;}

[hidden]{display:none !important;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* 胶片颗粒 */
.grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.22'/></svg>");
  mix-blend-mode:overlay;
}
/* 暗红辉光 */
.glow{
  position:fixed;z-index:0;pointer-events:none;
  top:-30vh;right:-25vw;width:75vw;height:75vh;
  background:radial-gradient(circle at 50% 50%,rgba(201,52,42,.34),transparent 62%);
  filter:blur(20px);
}

/* ---------- 顶栏 ---------- */
.topbar{
  position:relative;z-index:5;
  display:flex;align-items:center;gap:10px;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  font-family:var(--mono);
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  max-width:var(--max);margin:0 auto;
}
.topbar-mark{
  border:1px solid var(--blood);color:var(--blood);
  padding:2px 5px;line-height:1;font-weight:700;letter-spacing:.05em;
}
.topbar-title{color:var(--paper);}
.topbar-sub{color:var(--ash);margin-left:auto;letter-spacing:.16em;}

/* ---------- 屏幕容器 ---------- */
main{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:0 20px 64px;}
.screen{animation:screenIn .22s ease both;}
@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- 首屏 ---------- */
.screen-hero{display:flex;flex-direction:column;min-height:calc(100svh - 60px);padding-top:18px;}
.hero-inner{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 0 8px;}

.fileline{
  display:flex;gap:14px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ash);
  padding-bottom:18px;border-bottom:1px solid var(--line);
  animation:rise .5s .02s both;
}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.stamp{
  position:absolute;top:8px;right:-2px;
  width:88px;height:88px;border-radius:50%;
  border:2.5px solid var(--blood);
  color:var(--blood);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;
  font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.14em;
  line-height:1.1;
  transform:rotate(-13deg);
  opacity:.82;
  box-shadow:inset 0 0 0 4px rgba(201,52,42,.16);
  animation:stampIn .6s .35s both;
}
.stamp::after{
  content:"";position:absolute;inset:6px;border:1px solid rgba(201,52,42,.45);border-radius:50%;
}
@keyframes stampIn{from{opacity:0;transform:rotate(-13deg) scale(1.6)}to{opacity:.82;transform:rotate(-13deg) scale(1)}}

.hero-title{
  font-family:var(--display);
  font-weight:700;
  margin:34px 0 0;
  line-height:.96;
  letter-spacing:-.02em;
  font-size:clamp(52px,15vw,92px);
}
.hero-title .line1{display:block;color:var(--paper);}
.hero-title .line2{
  display:block;
  color:transparent;
  -webkit-text-stroke:2px var(--blood);
  letter-spacing:.01em;
}
@media (prefers-reduced-motion:no-preference){
  .hero-title .line1{animation:rise .55s .1s both;}
  .hero-title .line2{animation:rise .55s .2s both;}
}

.hero-en{
  font-family:var(--mono);
  font-size:10.5px;letter-spacing:.42em;color:var(--acid);
  margin:18px 0 0;
  animation:rise .5s .3s both;
}

.hero-copy{
  margin:22px 0 0;
  color:rgba(236,227,210,.72);
  font-size:15px;line-height:1.95;
  animation:rise .5s .38s both;
}
.hero-copy br{content:"";}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--body);
  font-size:15px;font-weight:600;
  padding:15px 26px;
  border:1px solid transparent;
  border-radius:1px;
  cursor:pointer;
  background:none;color:inherit;
  transition:transform .16s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .16s;
  -webkit-tap-highlight-color:transparent;
}
.btn:active{transform:translateY(1px);}
.btn-primary{
  background:var(--blood);
  color:#f7ece1;
  border-color:var(--blood);
  box-shadow:5px 5px 0 rgba(201,52,42,.22);
}
.btn-primary:hover{background:#dd3d32;}
.btn-arrow{font-family:var(--mono);font-size:16px;transition:transform .2s;}
.btn-primary:hover .btn-arrow{transform:translateX(4px);}
.btn-ghost{border-color:var(--line-strong);color:var(--paper);}
.btn-ghost:hover{border-color:var(--paper);}
.btn-outline{border-color:rgba(201,52,42,.6);color:var(--blood);}
.btn-outline:hover{background:rgba(201,52,42,.1);}
.btn-sm{padding:10px 16px;font-size:13px;}
#btn-start{margin-top:30px;align-self:flex-start;animation:rise .5s .46s both;}

.hero-meta{
  display:flex;flex-wrap:wrap;gap:0 18px;
  list-style:none;margin:20px 0 0;padding:0;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--ash);
  animation:rise .5s .54s both;
}
.hero-meta li{position:relative;}
.hero-meta li+li::before{
  content:"·";position:absolute;left:-11px;color:var(--blood);
}

.hero-foot{
  padding-top:22px;margin-top:26px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:rgba(139,128,118,.8);
}

/* ---------- 购买说明 ---------- */
.gate{
  margin-top:24px;padding:20px;
  border:1px solid var(--line-strong);
  background:linear-gradient(180deg,rgba(236,227,210,.05),rgba(236,227,210,.015));
  animation:rise .35s both;
}
.gate[hidden]{display:none;}
.gate-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.gate-tag{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  color:var(--blood);border:1px solid var(--blood);padding:2px 5px;
}
.gate-head strong{font-size:14.5px;font-weight:600;}
.gate-steps{
  margin:0;padding-left:18px;font-size:13.5px;line-height:1.9;color:rgba(236,227,210,.78);
}
.gate-steps b{color:var(--acid);font-weight:600;}
.gate-note{
  font-size:12px;color:var(--ash);line-height:1.8;margin:14px 0 16px;
  padding-top:12px;border-top:1px dashed var(--line);
}

/* ---------- 答题 ---------- */
.screen-quiz{padding-top:26px;}
.quiz-head{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ash);
}
.quiz-count b{color:var(--blood);font-size:16px;letter-spacing:0;}
.quiz-hint{font-size:10px;letter-spacing:.1em;}

.progress{
  height:2px;background:var(--line);margin:12px 0 30px;overflow:hidden;
}
.progress i{
  display:block;height:100%;width:0;background:var(--blood);
  transition:width .32s cubic-bezier(.4,0,.2,1);
}

.quiz-q{
  font-family:var(--display);
  font-size:clamp(23px,6vw,30px);
  font-weight:700;line-height:1.5;letter-spacing:.01em;
  margin:0 0 26px;
}

.options{display:flex;flex-direction:column;gap:10px;}
.opt{
  position:relative;
  display:flex;gap:14px;align-items:flex-start;
  width:100%;text-align:left;
  padding:16px 16px 16px 14px;
  background:rgba(236,227,210,.035);
  border:1px solid var(--line);
  border-left:2px solid transparent;
  color:rgba(236,227,210,.9);
  font-family:var(--body);font-size:14.5px;line-height:1.65;
  cursor:pointer;
  transition:background .16s,border-color .16s,transform .16s,color .16s;
  animation:optIn .18s both;
  animation-delay:calc(var(--i,0) * 55ms + 60ms);
}
@keyframes optIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.opt:hover{background:rgba(236,227,210,.08);border-left-color:var(--blood);transform:translateX(3px);}
.opt:active{transform:translateX(3px) scale(.995);}
.opt .num{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--blood);
  padding-top:4px;flex:0 0 auto;
}
.opt.picked{background:rgba(201,52,42,.16);border-color:rgba(201,52,42,.55);border-left-color:var(--blood);}

.quiz-back{
  margin-top:22px;background:none;border:0;padding:6px 0;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ash);
  cursor:pointer;
}
.quiz-back:hover{color:var(--paper);}

/* ---------- 结果 ---------- */
.screen-result{padding-top:22px;}
.result-head{
  display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ash);
  padding-bottom:14px;border-bottom:1px solid var(--line);
}
.result-head b{color:var(--blood);}

/* 主卡（纸质卷宗） */
.dossier{
  position:relative;
  margin:22px 0 0;
  padding:26px 22px 24px;
  background:var(--paper);
  color:#171210;
  box-shadow:0 28px 60px -30px rgba(0,0,0,.9),0 2px 0 rgba(0,0,0,.35);
  animation:cardIn .6s .05s both;
}
.dossier::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='120' height='120' filter='url(%23p)' opacity='.28'/></svg>");
  mix-blend-mode:multiply;opacity:.5;
}
@keyframes cardIn{from{opacity:0;transform:translateY(18px) rotate(-.6deg)}to{opacity:1;transform:none}}

.dossier-tape{
  position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-1.2deg);
  background:var(--blood);
  color:#f7ece1;
  font-family:var(--mono);font-size:8.5px;letter-spacing:.28em;
  padding:3px 12px;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.dossier-kicker{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;
  color:rgba(23,18,16,.55);margin:6px 0 0;
}
.dossier-code{
  font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--blood);
  margin:14px 0 2px;
}
.dossier-name{
  font-family:var(--display);
  font-size:clamp(32px,8.6vw,44px);
  line-height:1.16;letter-spacing:-.01em;
  margin:2px 0 0;color:#120e0c;font-weight:700;
}
.dossier-en{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
  color:rgba(23,18,16,.5);margin:10px 0 0;
}
.dossier-line{
  margin:18px 0 0;padding:14px 0 0;
  border-top:1px solid rgba(23,18,16,.16);
  font-family:var(--display);font-size:17px;line-height:1.75;color:#241a17;
}

.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:16px 0 0;padding:0;}
.chips li{
  font-size:11.5px;letter-spacing:.06em;
  border:1px solid rgba(23,18,16,.28);
  padding:3px 9px;color:#2a201c;
}
.chips li:first-child{background:var(--blood);color:#f4ece0;border-color:var(--blood);}

.corruption{margin-top:18px;padding-top:14px;border-top:1px solid rgba(23,18,16,.16);}
.corruption-top{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:rgba(23,18,16,.6);
}
.corruption-top b{font-family:var(--display);font-size:26px;letter-spacing:0;color:var(--blood-deep);}
.corruption-bar{height:3px;background:rgba(23,18,16,.14);margin-top:8px;overflow:hidden;}
.corruption-bar i{display:block;height:100%;width:0;background:var(--blood);transition:width .9s .3s cubic-bezier(.4,0,.2,1);}

/* 区块 */
.block{margin-top:34px;animation:rise .3s both;}
.block-title{
  display:flex;align-items:baseline;gap:10px;
  font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.02em;
  margin:0 0 16px;
}
.block-title span{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--blood);
}
.block-note{font-size:12px;color:var(--ash);line-height:1.8;margin:12px 0 0;}

/* 维度 */
.dims{display:flex;flex-direction:column;gap:13px;}
.dim{display:grid;grid-template-columns:60px 1fr 42px;align-items:center;gap:12px;}
.dim-name{font-size:12.5px;letter-spacing:.1em;color:rgba(236,227,210,.86);}
.dim-track{height:6px;background:rgba(236,227,210,.08);position:relative;overflow:hidden;}
.dim-track i{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--blood-deep),var(--blood));
  transition:width .8s cubic-bezier(.4,0,.2,1);
}
.dim.high .dim-track i{background:linear-gradient(90deg,var(--blood),#e5644f);}
.dim-val{font-family:var(--mono);font-size:11px;color:var(--ash);text-align:right;}

/* 结论 */
.verdict{
  border-left:2px solid var(--blood);
  padding:4px 0 4px 16px;
}
.verdict p{
  margin:0 0 12px;font-size:15.5px;line-height:1.85;color:rgba(236,227,210,.92);
  font-family:var(--display);
}
.verdict p:last-child{margin-bottom:0;}
.verdict-sub{margin-top:18px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;}
.verdict-sub .secondary{
  margin:0;font-size:13px;color:rgba(236,227,210,.66);
}
.small-label{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:var(--ash);
  margin:0 0 8px;text-transform:uppercase;
}

/* 锁定区 */
.locked{position:relative;}
.lock-body{position:relative;}
.locked.is-locked .lock-body{
  filter:blur(5.5px);opacity:.55;user-select:none;pointer-events:none;
  max-height:290px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.25) 88%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 45%,rgba(0,0,0,.25) 88%,transparent 100%);
}
#block-deep.is-locked .lock-body{max-height:330px;}
.lock-item+.lock-item{margin-top:20px;}
.lock-mask{
  display:none;
  margin-top:6px;padding:22px 18px;
  border:1px dashed rgba(201,52,42,.45);
  background:linear-gradient(180deg,rgba(201,52,42,.09),rgba(201,52,42,.02));
  text-align:center;
}
.locked.is-locked .lock-mask{display:block;}
.lock-icon{font-size:20px;margin:0 0 6px;filter:grayscale(1) brightness(1.4);}
.lock-title{font-family:var(--display);font-size:16px;font-weight:700;margin:0 0 8px;}
.lock-copy{font-size:12.5px;color:rgba(236,227,210,.66);line-height:1.8;margin:0 0 14px;}

/* 免费露出 + 动效遮罩 */
.peek-tag{
  font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;
  color:var(--acid);border:1px solid rgba(214,193,75,.4);
  padding:1px 5px;margin-left:6px;vertical-align:middle;
}
.veiled{
  position:relative;
  filter:blur(5px);opacity:.4;
  user-select:none;pointer-events:none;
  transition:filter .7s cubic-bezier(.2,.7,.3,1),opacity .7s ease;
  transition-delay:calc(var(--i, 0) * 110ms);
}
.veiled::after{
  content:"";position:absolute;inset:-2px;pointer-events:none;
  background:linear-gradient(105deg,transparent 34%,rgba(214,193,75,.14) 48%,rgba(214,193,75,.03) 56%,transparent 68%);
  background-size:280% 100%;
  animation:sweep 3.4s linear infinite;
  animation-delay:calc(var(--i, 0) * 140ms);
}
@keyframes sweep{
  0%{background-position:180% 0;}
  100%{background-position:-80% 0;}
}
.is-unlocked .veiled{filter:none;opacity:1;pointer-events:auto;}
.is-unlocked .peek-tag{display:none;}

.paywall-cta{
  margin-top:18px;padding:18px;
  border:1px dashed rgba(201,52,42,.42);
  background:linear-gradient(180deg,rgba(201,52,42,.1),rgba(201,52,42,.02));
  text-align:center;
}
.paywall-copy{font-size:12.5px;color:rgba(236,227,210,.72);line-height:1.8;margin:0 0 12px;}

/* 解锁动效：扫描光 + 呼吸 */
.unlocking{position:relative;animation:unlockPulse 1.6s ease;}
.unlocking::before{
  content:"";position:absolute;inset:-14px;pointer-events:none;z-index:3;
  background:linear-gradient(180deg,transparent 0%,rgba(214,193,75,.28) 46%,rgba(201,52,42,.22) 52%,transparent 100%);
  animation:scanline 1.15s cubic-bezier(.25,.8,.3,1) 1 both;
}
@keyframes scanline{
  0%{transform:translateY(-64%);opacity:0;}
  18%{opacity:1;}
  100%{transform:translateY(560%);opacity:0;}
}
@keyframes unlockPulse{
  0%{filter:brightness(1);}
  22%{filter:brightness(1.22);}
  100%{filter:brightness(1);}
}

.list{margin:0;padding-left:18px;font-size:14px;line-height:1.9;color:rgba(236,227,210,.86);}
.list li{margin-bottom:6px;}
.kv{display:flex;gap:12px;margin:0 0 6px;font-size:13.5px;}
.kv span{color:var(--ash);font-size:11.5px;letter-spacing:.08em;flex:0 0 auto;min-width:74px;}
.kv b{font-weight:600;color:rgba(236,227,210,.94);}
.warn{
  margin:0;font-family:var(--display);font-size:15px;line-height:1.85;
  color:var(--acid);
}

/* 12 原型图谱 */
.atlas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.atlas li{
  font-size:12px;padding:8px 9px;border:1px solid var(--line);
  color:rgba(236,227,210,.66);line-height:1.5;
}
.atlas li b{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--ash);}
.atlas li.me{
  border-color:var(--blood);background:rgba(201,52,42,.16);color:#f6ebe0;
}
.atlas li.me b{color:#e8a69c;}

/* 踩雷地图 */
.map{display:flex;flex-direction:column;gap:10px;}
.map-row{
  display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:start;
  padding:10px 0;border-top:1px solid var(--line);
  font-size:12.5px;line-height:1.7;
}
.map-row:first-child{border-top:0;}
.map-row b{color:var(--blood);font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding-top:3px;}
.map-row span{color:rgba(236,227,210,.8);}

/* 解锁区 */
.unlock-lead{font-size:13px;color:var(--ash);margin:0 0 16px;}
.plans{display:grid;grid-template-columns:1fr;gap:12px;}
.plan{
  padding:18px 16px;
  border:1px solid var(--line-strong);
  background:rgba(236,227,210,.03);
}
.plan-acid{border-color:rgba(214,193,75,.42);background:rgba(214,193,75,.05);}
.plan-top{display:flex;align-items:baseline;gap:10px;}
.plan-price{
  font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em;
  animation:priceBreath 3.6s ease-in-out infinite;
}
@keyframes priceBreath{
  0%,100%{opacity:.94;}
  50%{opacity:1;text-shadow:0 0 18px rgba(201,52,42,.45);}
}
.plan-acid .plan-price{color:var(--acid);}
.plan-name{font-size:13px;letter-spacing:.1em;color:rgba(236,227,210,.8);}
.plan-desc{font-size:12.5px;color:var(--ash);line-height:1.75;margin:8px 0 14px;}
.plan-list{
  list-style:none;margin:14px 0 16px;padding:0;
  font-size:12.5px;line-height:1.75;color:rgba(236,227,210,.72);
}
.plan-list li{
  position:relative;padding-left:16px;margin-bottom:8px;
}
.plan-list li::before{
  content:"›";position:absolute;left:2px;top:0;color:var(--blood);font-weight:700;
}
.plan .btn{width:100%;}
.plan.done{display:none;}
.plan-code{
  font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:rgba(236,227,210,.5);
  text-align:center;margin:10px 0 0;
}

.redeem{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line);}
.redeem-steps{
  display:flex;flex-wrap:wrap;gap:6px 12px;
  font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ash);
  margin:0 0 16px;
}
.redeem-label{
  display:block;font-size:12.5px;color:rgba(236,227,210,.7);margin-bottom:9px;
}
.redeem-row{display:flex;gap:8px;}
.redeem-row input{
  flex:1;min-width:0;
  background:rgba(236,227,210,.05);
  border:1px solid var(--line-strong);
  color:var(--paper);
  font-family:var(--mono);font-size:13px;letter-spacing:.1em;
  padding:11px 12px;border-radius:0;
  outline:none;
  transition:border-color .18s,background .18s;
}
.redeem-row input::placeholder{color:rgba(139,128,118,.75);letter-spacing:.06em;}
.redeem-row input:focus{border-color:var(--blood);background:rgba(201,52,42,.07);}
.redeem-msg{font-size:12.5px;margin:10px 0 0;line-height:1.7;}
.redeem-msg.ok{color:var(--acid);}
.redeem-msg.err{color:#e88176;}

/* 分享 */
#share-canvas{
  display:block;width:100%;height:auto;
  border:1px solid var(--line);
  background:var(--ink-2);
}
.share-fallback{display:block;border:1px solid var(--line);}
.share-img{display:block;width:100%;height:auto;}
.share-actions{display:flex;gap:10px;margin-top:14px;}
.share-actions .btn{flex:1;}
.share-msg{font-size:12px;color:var(--ash);margin:10px 0 0;}

/* 页脚 */
.result-foot{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  text-align:center;
}
.linkish{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  color:var(--ash);text-decoration:underline;text-underline-offset:4px;
}
.linkish:hover{color:var(--paper);}
.disclaimer{
  font-size:10.5px;line-height:1.9;color:rgba(139,128,118,.9);
  margin:18px 0 0;text-align:left;
}

/* 打勾提示 */
.toast{
  position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  z-index:80;
  background:var(--paper);color:#15100e;
  font-size:12.5px;letter-spacing:.04em;
  padding:11px 18px;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.8);
  opacity:0;pointer-events:none;
  transition:opacity .22s,transform .22s;
}
.toast.show{opacity:1;transform:translate(-50%,0);}

@media (min-width:560px){
  .plans{grid-template-columns:1fr;justify-items:center;}
  .plan{width:100%;max-width:520px;}
  .atlas{grid-template-columns:1fr 1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
