/* ============================================================
   随境英语 · 英文练习小记 — 共享样式（设计方向 Z）
   配色 薄荷/鲜黄/天蓝/珊瑚/墨/纸底 · 卡片 · 翻面 · 进场 · 响应式 · reduced-motion
   仅静态样式，无构建。所有页 <link> 本文件。
   ============================================================ */

:root{
  /* 明快配色：薄荷 / 鲜黄 / 天蓝 / 珊瑚 / 墨 / 纸底 */
  --mint:#3ddc97;
  --yellow:#ffd60a;
  --sky:#4cc2ff;
  --coral:#ff6b6b;
  --ink:#1b1b2f;
  --paper:#fdfcf7;
  --ink-soft:#3a3a52;

  --en:"Fraunces","Georgia",serif;
  --en-body:"Space Grotesk","Helvetica Neue",sans-serif;
  --zh:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --zh-serif:"Noto Serif SC","Songti SC",serif;

  --shadow-flat:6px 6px 0 var(--ink);
  --shadow-lift:12px 14px 0 var(--ink);
  --r:24px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--zh);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* 背景色斑底，靠色彩立住，不用图片 */
body::before{
  content:"";
  position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(circle at 12% 18%, rgba(61,220,151,.16), transparent 38%),
    radial-gradient(circle at 88% 12%, rgba(76,194,255,.16), transparent 36%),
    radial-gradient(circle at 78% 88%, rgba(255,107,107,.14), transparent 40%),
    radial-gradient(circle at 18% 82%, rgba(255,214,10,.16), transparent 38%);
  pointer-events:none;
}

a{color:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* 跳到正文（无障碍） */
.skip-link{
  position:absolute;left:-9999px;top:0;
  background:var(--ink);color:var(--paper);
  padding:10px 16px;border-radius:0 0 12px 0;z-index:100;
  font-family:var(--zh);font-size:14px;
}
.skip-link:focus{left:0;}

/* ============ 顶部导航 ============ */
header.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(253,252,247,.86);
  backdrop-filter:blur(10px);
  border-bottom:3px solid var(--ink);
}
.nav-inner{
  max-width:1120px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand .mark{
  width:42px;height:42px;border-radius:12px;flex:0 0 auto;
  background:var(--mint);border:3px solid var(--ink);
  display:grid;place-items:center;transform:rotate(-6deg);
  font-family:var(--en);font-weight:900;font-size:22px;color:var(--ink);
  box-shadow:3px 3px 0 var(--ink);
}
.brand .txt{line-height:1.15;}
.brand .txt b{font-family:var(--zh);font-weight:700;font-size:16px;display:block;}
.brand .txt span{font-family:var(--en-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
nav.menu{display:flex;gap:4px;flex-wrap:wrap;}
nav.menu a{
  text-decoration:none;font-family:var(--zh);font-weight:500;font-size:14px;
  padding:7px 13px;border-radius:999px;border:2px solid transparent;
  transition:background .18s, border-color .18s, color .18s, transform .18s;
}
nav.menu a small{font-family:var(--en-body);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-top:-2px;}
nav.menu a:hover{background:var(--yellow);border-color:var(--ink);transform:translateY(-2px);}
nav.menu a.active{background:var(--ink);color:var(--paper);}
nav.menu a.active small{color:rgba(255,255,255,.6);}

/* ============ Hero（首页） ============ */
.hero{padding:60px 0 28px;position:relative;}
.hero .eyebrow{
  display:inline-block;font-family:var(--en-body);font-weight:700;
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  background:var(--sky);color:var(--ink);border:3px solid var(--ink);
  padding:6px 16px;border-radius:999px;box-shadow:4px 4px 0 var(--ink);
  transform:rotate(-2deg);
}
.hero h1{
  font-family:var(--en);font-weight:600;
  font-size:clamp(34px,6vw,62px);line-height:1.18;margin:22px 0 4px;
  max-width:20ch;
}
/* 两句分两行、各自成块；视觉上分开 */
.hero h1.hero-h1{display:block;}
.hero h1 .l1,
.hero h1 .l2{display:block;}
.hero h1 .l2{margin-top:.16em;}
/* 绿色高亮只落在第二行；inline-block + box-decoration:clone 保证不跨行断成两截，
   这一行文字短、在常见宽度下单行排布，是一条完整不断的高亮条 */
.hero h1 .hl{
  display:inline;
  background:linear-gradient(transparent 60%, var(--mint) 60%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:0 .08em;
}
.hero .sub-zh{
  font-family:var(--zh-serif);font-weight:500;
  font-size:clamp(18px,2.6vw,26px);color:var(--ink);margin-top:12px;max-width:30ch;
}

/* 浮动彩块（视差） */
.floaters{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.floaters span{position:absolute;border:3px solid var(--ink);border-radius:18px;opacity:.9;}
.f1{width:90px;height:90px;background:var(--coral);top:30px;right:8%;}
.f2{width:60px;height:60px;background:var(--yellow);top:160px;right:24%;border-radius:50%;}
.f3{width:120px;height:46px;background:var(--sky);bottom:8px;right:14%;}
.f4{width:54px;height:54px;background:var(--mint);bottom:60px;right:38%;}

/* 子页页头（每日句子 / 关于） */
.page-hero{padding:56px 0 24px;position:relative;}
.page-hero .eyebrow{display:inline-block;font-family:var(--en-body);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:var(--coral);color:var(--ink);border:3px solid var(--ink);padding:6px 16px;border-radius:999px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg);}
.page-hero h1{font-family:var(--zh-serif);font-weight:700;font-size:clamp(32px,5.4vw,56px);line-height:1.12;margin:22px 0 6px;}
.page-hero h1 .hl{background:linear-gradient(transparent 62%, var(--sky) 62%);padding:0 .1em;}
.page-hero .sub-en{font-family:var(--en);font-style:italic;font-weight:500;font-size:clamp(16px,2.2vw,22px);color:var(--ink-soft);max-width:46ch;}
.page-hero .src{margin-top:14px;font-family:var(--en-body);font-size:13px;letter-spacing:.06em;color:var(--ink-soft);}
.page-hero .src b{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:5px 13px;font-weight:500;color:var(--ink);}
.ff1{width:78px;height:78px;background:var(--mint);top:40px;right:10%;}
.ff2{width:50px;height:50px;background:var(--yellow);top:140px;right:26%;border-radius:50%;}
.ff3{width:110px;height:40px;background:var(--coral);bottom:0;right:16%;}

/* ============ 通用 section 标题 ============ */
.sec{padding:44px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px;}
.sec-head h2{
  font-family:var(--zh-serif);font-weight:700;font-size:clamp(26px,3.6vw,40px);line-height:1.1;
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
}
.sec-head h2 .num{
  font-family:var(--en);font-weight:900;font-size:.7em;
  color:var(--ink);background:var(--yellow);border:3px solid var(--ink);
  border-radius:12px;padding:0 .35em;transform:rotate(-3deg);display:inline-block;
}
.sec-head h2 .en{font-family:var(--en);font-style:italic;font-weight:500;font-size:.6em;color:var(--ink-soft);}
.sec-head .hint{
  font-family:var(--zh);font-size:13px;color:var(--ink-soft);
  background:var(--paper);border:2px dashed var(--ink);border-radius:999px;padding:6px 14px;
}

/* ============ 句子卡：英主中辅，点句显隐中文 ============ */
/* 通用「条目卡」：默认显英文，点英文句出中文（紧贴下方，弱化，不左右并排） */
.entry{
  border:4px solid var(--ink);border-radius:var(--r);
  padding:clamp(24px,3.4vw,40px);box-shadow:var(--shadow-flat);
  background:var(--paper);
}
.entry .entry-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.entry .tag{
  font-family:var(--en-body);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--sky);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:5px 12px;
}
.entry .tag.daily{background:var(--mint);}
.entry .tag.reading{background:var(--yellow);}
.entry .tag.blog{background:var(--coral);}
.entry .relation{
  font-family:var(--zh);font-size:11px;font-weight:500;
  border:2px dashed var(--ink);border-radius:999px;padding:4px 11px;color:var(--ink-soft);
}
.entry .date{margin-left:auto;font-family:var(--en-body);font-size:13px;color:var(--ink-soft);}

/* 点句显隐：英文句是按钮，点开切换其后的中文 */
.line{margin:6px 0 14px;}
.sent{
  display:block;width:100%;text-align:left;cursor:pointer;
  font-family:var(--en);font-weight:600;font-size:clamp(19px,2.6vw,28px);line-height:1.32;
  color:var(--ink);background:none;border:none;padding:0;
  border-bottom:3px dashed transparent;transition:border-color .18s, background .18s;
}
.sent:hover{border-bottom-color:var(--ink);}
.sent:focus-visible{outline:3px solid var(--sky);outline-offset:4px;border-radius:6px;}
.sent[aria-expanded="true"]{background:linear-gradient(transparent 70%, var(--yellow) 70%);}
.sent-zh{
  font-family:var(--zh);font-size:clamp(14px,1.8vw,17px);line-height:1.7;
  color:var(--ink-soft);margin-top:6px;max-width:46ch;
}
.sent-zh[hidden]{display:none;}

/* 句内点词出释义（vocab popover） */
.term{
  cursor:help;border-bottom:2px dotted var(--coral);
  font-weight:inherit;color:inherit;position:relative;
}
.term:hover,.term:focus-visible{background:rgba(255,214,10,.4);outline:none;}
.pop{
  position:fixed;z-index:80;max-width:240px;
  background:var(--ink);color:var(--paper);
  border:3px solid var(--ink);border-radius:14px;
  padding:12px 14px;box-shadow:var(--shadow-flat);
  font-family:var(--zh);font-size:14px;line-height:1.5;
  pointer-events:none;
}
.pop .pop-en{font-family:var(--en);font-weight:600;font-size:16px;}
.pop .pop-ipa{font-family:var(--en-body);font-size:12px;color:var(--sky);margin:2px 0 6px;}
.pop[hidden]{display:none;}

.entry .note{
  margin-top:8px;font-family:var(--zh-serif);font-weight:500;font-size:15px;line-height:1.7;
  color:var(--ink);border-left:4px solid var(--mint);padding-left:14px;
}
.entry .source{
  margin-top:14px;font-family:var(--en-body);font-size:13px;letter-spacing:.05em;color:var(--ink-soft);
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.entry .source .dot{width:10px;height:10px;border-radius:50%;background:var(--coral);border:2px solid var(--ink);flex:0 0 auto;}

/* ============ 最近条目缩略列 ============ */
.recent-list{display:grid;gap:16px;}
.recent-card{
  display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;
  border:4px solid var(--ink);border-radius:var(--r);
  padding:20px 22px;background:var(--sky);box-shadow:var(--shadow-flat);
  transition:transform .2s ease, box-shadow .2s ease;text-decoration:none;color:var(--ink);
}
.recent-card:nth-child(4n+2){background:var(--yellow);}
.recent-card:nth-child(4n+3){background:var(--coral);}
.recent-card:nth-child(4n){background:var(--mint);}
.recent-card:hover{transform:translate(-3px,-5px) rotate(-.4deg);box-shadow:var(--shadow-lift);}
.recent-card .no{
  font-family:var(--en);font-weight:900;font-size:clamp(30px,4.6vw,50px);
  line-height:1;background:var(--paper);border:3px solid var(--ink);border-radius:14px;
  padding:8px 14px;min-width:74px;text-align:center;
}
.recent-card .meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.recent-card .meta-row .tag{font-family:var(--en-body);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;}
.recent-card .meta-row .date{font-family:var(--en-body);font-size:12px;color:var(--ink-soft);}
.recent-card h3{font-family:var(--en);font-weight:600;font-size:clamp(17px,2.4vw,23px);line-height:1.25;}
.recent-card .first-zh{font-family:var(--zh);font-size:14px;color:var(--ink-soft);margin-top:3px;}

/* ============ 翻面句子卡（每日句子页） ============ */
/* 极小一次性翻面提示：一行、弱化，不做成说明方框 */
.flip-cue{font-family:var(--en-body);font-size:12px;letter-spacing:.1em;color:var(--ink-soft);margin:6px 0 0;}
.cards{padding:24px 0;display:grid;gap:28px;}
.scene{perspective:1700px;}
/* 正反两面用 grid 叠放在同一格：父高度自动等于较高那面，不再用 min-height 漏底。
   两面都 backface-visibility:hidden；正面平时朝前、背面平时背对（旋转 180°）。 */
.flip{
  position:relative;width:100%;cursor:pointer;
  display:grid;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
  transform-style:preserve-3d;
}
.flip.flipped{transform:rotateY(180deg);}
.flip .face{
  grid-area:1 / 1;            /* 两面占同一格，父高度取较高一面，等高叠放 */
  min-height:230px;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  overflow:hidden;           /* 兜底：内容再长也不溢出卡边 */
  border:4px solid var(--ink);border-radius:var(--r);
  padding:clamp(24px,4vw,44px);
  display:flex;flex-direction:column;justify-content:space-between;gap:16px;
  box-shadow:var(--shadow-flat);
}
.flip .back{color:var(--paper);background:var(--ink);transform:rotateY(180deg);}
.scene:nth-child(5n+1) .front{background:var(--mint);}
.scene:nth-child(5n+2) .front{background:var(--sky);}
.scene:nth-child(5n+3) .front{background:var(--yellow);}
.scene:nth-child(5n+4) .front{background:var(--coral);}
.scene:nth-child(5n) .front{background:var(--mint);}
.flip .head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.flip .idx{font-family:var(--en);font-weight:900;font-size:clamp(30px,4.5vw,46px);line-height:1;background:var(--paper);border:3px solid var(--ink);border-radius:14px;padding:4px 14px;}
.flip .back .idx{background:var(--yellow);color:var(--ink);}
.flip .tag{font-family:var(--en-body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:2px solid currentColor;border-radius:999px;padding:5px 13px;}
.flip .front .tag{background:var(--paper);}
.flip .quote-en{font-family:var(--en);font-weight:600;font-size:clamp(20px,3vw,33px);line-height:1.28;}
.flip .quote-zh{font-family:var(--zh-serif);font-weight:500;font-size:clamp(19px,2.6vw,28px);line-height:1.5;}
.flip .foot{font-family:var(--en-body);font-size:13px;letter-spacing:.05em;display:flex;align-items:center;gap:10px;}
.flip .foot .dot{width:10px;height:10px;border-radius:50%;background:var(--ink);border:2px solid var(--ink);}
.flip .back .foot .dot{background:var(--sky);}

/* 卡底「上一句/下一句/同主题」导航 */
.card-nav{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0 4px;}
.card-nav a, .card-nav span{
  font-family:var(--zh);font-weight:500;font-size:14px;text-decoration:none;
  border:3px solid var(--ink);border-radius:999px;padding:8px 16px;background:var(--paper);
  transition:transform .15s,box-shadow .15s,background .15s;
}
.card-nav a:hover{background:var(--yellow);transform:translate(-1px,-2px);box-shadow:3px 4px 0 var(--ink);}
.card-nav span[aria-disabled="true"]{opacity:.45;}

/* 回首页条 */
.backline{padding:8px 0 12px;}
.backline a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--zh);font-weight:500;font-size:14px;border:3px solid var(--ink);border-radius:999px;padding:9px 18px;background:var(--yellow);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s;}
.backline a:hover{transform:translate(-1px,-2px);box-shadow:5px 6px 0 var(--ink);}

/* ============ 连续读 N 天 + 订阅入口 ============ */
.streak-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--zh);font-size:15px;color:var(--ink);}
.streak-row .badge{
  font-family:var(--en);font-weight:900;font-size:26px;
  background:var(--mint);border:3px solid var(--ink);border-radius:14px;
  padding:2px 14px;box-shadow:3px 3px 0 var(--ink);
}
.subscribe-row{
  margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--zh);font-size:15px;color:var(--ink-soft);
}
.subscribe-row a{
  text-decoration:none;font-weight:500;color:var(--ink);
  border:2px solid var(--ink);border-radius:999px;padding:6px 14px;background:var(--paper);
  transition:background .15s,transform .15s;
}
.subscribe-row a:hover{background:var(--sky);transform:translateY(-2px);}

/* ============ 关于：四层立意 ============ */
.about-hero{
  border:4px solid var(--ink);border-radius:var(--r);
  background:var(--ink);color:var(--paper);
  padding:clamp(28px,5vw,56px);box-shadow:var(--shadow-flat);position:relative;overflow:hidden;margin-bottom:36px;
}
.about-hero::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--mint);right:-70px;bottom:-70px;opacity:.5;}
.about-hero .label{font-family:var(--en-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);}
.about-hero .lead-en{font-family:var(--en);font-style:italic;font-weight:500;font-size:clamp(20px,3vw,30px);line-height:1.4;margin:14px 0 10px;max-width:30ch;position:relative;z-index:1;}
.about-hero .lead-zh{font-family:var(--zh-serif);font-weight:500;font-size:clamp(16px,2.2vw,21px);line-height:1.7;color:rgba(255,255,255,.82);max-width:42ch;position:relative;z-index:1;}

.layer{
  border:4px solid var(--ink);border-radius:var(--r);
  padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-flat);background:var(--paper);margin-bottom:22px;
}
.layer:nth-child(4n+1){background:var(--mint);}
.layer:nth-child(4n+2){background:var(--sky);}
.layer:nth-child(4n+3){background:var(--yellow);}
.layer:nth-child(4n){background:var(--coral);}
.layer .layer-no{
  font-family:var(--en);font-weight:900;font-size:clamp(34px,5vw,54px);line-height:1;
  background:var(--paper);border:3px solid var(--ink);border-radius:14px;padding:4px 16px;
  display:inline-block;margin-bottom:14px;
}
.layer h2{font-family:var(--zh-serif);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.25;margin-bottom:6px;}
.layer h2 .en{font-family:var(--en);font-style:italic;font-weight:500;font-size:.62em;color:var(--ink-soft);display:block;margin-top:4px;}
.layer p{font-family:var(--zh);font-size:clamp(15px,1.9vw,17px);line-height:1.85;margin-top:12px;max-width:60ch;}
.layer p.en-line{font-family:var(--en);font-style:italic;color:var(--ink);}

.about-tail{
  font-family:var(--zh-serif);font-weight:500;font-size:clamp(16px,2.2vw,20px);line-height:1.8;
  color:var(--ink);max-width:46ch;margin:30px auto 0;text-align:center;
}

/* ============ 博客：摘要式 + 按年归档 ============ */
.year-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.year-filter .yf-btn{
  font-family:var(--zh);font-weight:500;font-size:14px;cursor:pointer;
  border:3px solid var(--ink);border-radius:999px;padding:7px 16px;background:var(--paper);color:var(--ink);
  transition:background .15s,transform .15s,box-shadow .15s;
}
.year-filter .yf-btn:hover{background:var(--yellow);transform:translate(-1px,-2px);box-shadow:3px 4px 0 var(--ink);}
.year-filter .yf-btn.active{background:var(--ink);color:var(--paper);}
.post-list{display:grid;gap:0;}
.post-card .post-title{
  font-family:var(--zh-serif);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.25;margin-bottom:8px;
}
.post-card .post-summary{
  font-family:var(--zh);font-size:clamp(15px,1.9vw,17px);line-height:1.8;color:var(--ink-soft);max-width:60ch;
}
.post-card[hidden]{display:none;}
.post-more{margin-top:14px;}
.post-more>summary{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;
  font-family:var(--zh);font-weight:500;font-size:14px;color:var(--ink);
  border:2px solid var(--ink);border-radius:999px;padding:7px 16px;background:var(--yellow);
  transition:transform .15s,box-shadow .15s;
}
.post-more>summary::-webkit-details-marker{display:none;}
.post-more>summary::after{content:"↓";font-family:var(--en-body);}
.post-more[open]>summary::after{content:"↑";}
.post-more>summary:hover{transform:translate(-1px,-2px);box-shadow:3px 4px 0 var(--ink);}
.post-more>summary:focus-visible{outline:3px solid var(--sky);outline-offset:3px;}
.post-body{margin-top:16px;}
.post-body p{font-family:var(--zh);font-size:clamp(15px,1.9vw,17px);line-height:1.85;margin-top:12px;max-width:60ch;}

/* ============ 页脚 ============ */
footer{border-top:3px solid var(--ink);margin-top:40px;background:var(--paper);}
.foot-inner{max-width:1120px;margin:0 auto;padding:34px 24px;display:flex;flex-direction:column;gap:16px;}
.foot-links{display:flex;gap:8px;flex-wrap:wrap;}
.foot-links a{
  text-decoration:none;font-family:var(--zh);font-size:13px;
  border:2px solid var(--ink);border-radius:999px;padding:5px 13px;
  transition:background .15s,transform .15s;
}
.foot-links a small{font-family:var(--en-body);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-left:6px;}
.foot-links a:hover{background:var(--mint);transform:translateY(-2px);}
.foot-legal{font-family:var(--zh);font-size:13px;color:var(--ink-soft);line-height:1.9;}
.foot-legal a{color:var(--ink);}
.foot-legal .copy{font-weight:500;color:var(--ink);}

/* ============ 滚动进场动画 ============ */
.reveal{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1;transform:none;}

/* ============ 关闭动效（无障碍） ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .flip,.recent-card,.sent,.card-nav a,.backline a,nav.menu a,.foot-links a,.brand .mark,.subscribe-row a{transition:none !important;}
  .flip.flipped{transform:rotateY(180deg);} /* 翻面仍即时生效，保留学习功能 */
}

@media (max-width:640px){
  header.nav{position:static;}
  .recent-card{grid-template-columns:1fr;text-align:left;}
  .recent-card .no{justify-self:start;}
  .nav-inner{justify-content:center;}
}
