/* =====================================================================
   二级页 · 通用版式
   知识库 / 工具 / 测试 / 游戏 / 文章 / 关于 / 分类页 / 404
   ===================================================================== */

:root{--sec:var(--accent)}
body[data-section="learn"]{--sec:#c9f25f}
body[data-section="tools"]{--sec:#8af0d0}
body[data-section="tests"]{--sec:#ffd166}
body[data-section="games"]{--sec:#ff9f7a}
body[data-section="blog"]{--sec:#bdb3ff}
body[data-section="about"]{--sec:#d9e4da}

.wrap{max-width:1120px;margin:0 auto;padding:34px 24px 76px}
@media(max-width:640px){.wrap{padding:22px 16px 56px}}

.back{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--muted);text-decoration:none;font-size:12.5px;
  font-family:var(--font-mono);letter-spacing:.04em;
  padding:5px 10px;border:1px solid var(--line);border-radius:999px;
  margin-bottom:16px;transition:all .16s ease;
}
.back:hover{color:var(--ink);border-color:var(--line-2);background:var(--card)}

/* ---------------------------------------------------------------------
   页面头
   --------------------------------------------------------------------- */
.page-head{
  position:relative;padding:26px 0 34px;margin-bottom:34px;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.page-head .kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:9.5px;color:var(--muted);margin-bottom:16px;
}
.page-head .kicker .dot{
  width:7px;height:7px;border-radius:50%;background:var(--sec);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--sec) 18%,transparent);
}
.page-head h1{
  margin:0 0 16px;font-size:clamp(40px,6.2vw,74px);line-height:.98;
  letter-spacing:-.045em;font-weight:800;
}
.page-head h1 .accent{
  display:inline-block;width:.13em;height:.13em;border-radius:50%;
  background:var(--sec);margin-left:.06em;vertical-align:baseline;
}
.page-head .lead{max-width:640px;margin:0;color:var(--muted);font-size:15.5px;line-height:1.8}
.page-head .head-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.page-head .head-meta span{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;
  color:var(--muted);border:1px solid var(--line);border-radius:999px;
  padding:4px 10px;background:var(--card);
}
.page-head .head-meta span b{color:var(--ink);font-weight:600}
.page-head::after{
  content:attr(data-no);position:absolute;right:2px;bottom:6px;
  font-family:var(--font-mono);font-size:clamp(90px,13vw,170px);line-height:1;
  font-weight:600;color:var(--ink);opacity:.045;pointer-events:none;letter-spacing:-.06em;
}
@media(max-width:640px){
  .page-head{padding:16px 0 26px;margin-bottom:26px}
  .page-head h1{font-size:clamp(36px,11vw,52px)}
  .page-head .lead{font-size:14.5px}
  .page-head::after{font-size:90px;opacity:.035}
}

/* 分类页 / 工具详情页直接用 h1 时的兜底 */
.wrap > h1{
  margin:8px 0 10px;font-size:clamp(34px,5.2vw,58px);
  line-height:1.02;letter-spacing:-.04em;font-weight:800;
}
.wrap > .lead{max-width:640px;margin:0 0 26px;color:var(--muted);font-size:15px;line-height:1.8}
.wrap > h1::before{
  content:"KNOWLEDGE / 知识库";
  display:block;font-family:var(--font-mono);font-size:9px;
  letter-spacing:.18em;color:var(--muted);font-weight:400;margin-bottom:12px;
}
body[data-section="tests"] .wrap > h1::before{content:"QUIZ / 测一测"}
body[data-section="games"] .wrap > h1::before{content:"PLAYGROUND / 玩一下"}
body[data-section="tools"] .wrap > h1::before{content:"TOOLS / 计算器"}
body[data-section="blog"] .wrap > h1::before{content:"NOTES / 文章"}
body[data-section="about"] .wrap > h1::before{content:"ABOUT / 关于"}

/* ---------------------------------------------------------------------
   区块标题
   --------------------------------------------------------------------- */
.sec-block{margin-bottom:46px}
.sec-block:last-of-type{margin-bottom:26px}
.block-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:16px;flex-wrap:wrap;
}
.block-head h2{margin:0;font-size:clamp(20px,2.5vw,28px);letter-spacing:-.025em;font-weight:750}
.block-head p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
.block-head .more{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--muted);
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
}
.block-head .more:hover{color:var(--ink)}

/* ---------------------------------------------------------------------
   列表项（分类页普遍使用）
   --------------------------------------------------------------------- */
.list{display:grid;gap:10px;counter-reset:item}
.item{
  position:relative;display:block;
  background:var(--card);border:1px solid var(--line);border-radius:15px;
  padding:18px 54px 18px 60px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.item::before{
  counter-increment:item;content:counter(item,decimal-leading-zero);
  position:absolute;left:20px;top:21px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--faint);
}
.item::after{
  content:"↗";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  font-family:var(--font-mono);font-size:14px;color:var(--faint);
  transition:color .18s ease,transform .18s ease;
}
.item h2{margin:0 0 4px;font-size:16.5px;line-height:1.45;letter-spacing:-.015em;font-weight:650}
.item p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.item:hover{border-color:var(--ink);transform:translateX(4px);box-shadow:var(--shadow)}
.item:hover::after{color:var(--ink);transform:translateY(-50%) translate(2px,-2px)}
.item .soon{
  display:inline-block;margin-top:9px;font-family:var(--font-mono);
  font-size:9px;letter-spacing:.08em;color:var(--muted);
  background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px;
}
@media(max-width:560px){
  .item{padding:16px 44px 16px 46px}
  .item::before{left:15px;top:18px}
  .item::after{right:15px}
  .item h2{font-size:15px}
  .item p{font-size:12px}
}

/* ---------------------------------------------------------------------
   学习路径（知识页）
   --------------------------------------------------------------------- */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.path-card{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:18px;padding:24px;display:flex;flex-direction:column;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.path-card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.path-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.path-badge{
  font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;
  border:1px solid var(--line-2);border-radius:999px;padding:3px 8px;color:var(--muted);
}
.path-badge.hot{border-color:var(--brand);color:var(--brand)}
.path-card h3{margin:0 0 5px;font-size:21px;letter-spacing:-.025em}
.path-card > p{margin:0 0 18px;font-size:12.5px;color:var(--muted);line-height:1.6}
.path-steps{list-style:none;margin:0;padding:0;counter-reset:step;display:grid}
.path-steps li{position:relative;counter-increment:step;padding:0 0 15px 29px}
.path-steps li:not(:last-child)::before{content:"";position:absolute;left:8px;top:20px;bottom:0;width:1px;background:var(--line-2)}
.path-steps li::after{
  content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;
  width:17px;height:17px;border-radius:50%;display:grid;place-items:center;
  background:var(--card);border:1px solid var(--line-2);
  font-family:var(--font-mono);font-size:7.5px;color:var(--muted);
}
.path-steps a{display:block;font-size:13px;font-weight:600;line-height:1.45;transition:color .15s}
.path-steps a:hover{color:var(--brand)}
.path-steps small{display:block;font-size:10.5px;color:var(--faint);margin-top:2px;font-weight:400}
.path-more{margin-top:auto;padding-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--brand)}
.path-more:hover{color:var(--ink)}

/* ---------------------------------------------------------------------
   知识分类卡
   --------------------------------------------------------------------- */
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cat-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:22px 22px 18px;min-height:172px;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.cat-card::before{
  content:"";position:absolute;left:22px;right:22px;top:0;height:2px;
  background:var(--sec);transform:scaleX(.1);transform-origin:left;
  transition:transform .3s cubic-bezier(.2,.7,.2,1);
}
.cat-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:var(--shadow)}
.cat-card:hover::before{transform:scaleX(1)}
.cat-no{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--faint)}
.cat-card h3{margin:12px 0 5px;font-size:22px;letter-spacing:-.025em}
.cat-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.65;max-width:390px}
.cat-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px}
.cat-count{font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.cat-count b{font-size:22px;color:var(--ink);font-weight:600;margin-right:3px}
.cat-go{font-family:var(--font-mono);font-size:10px;color:var(--faint);transition:color .15s,transform .15s}
.cat-card:hover .cat-go{color:var(--ink);transform:translateX(3px)}

/* ---------------------------------------------------------------------
   工具列表
   --------------------------------------------------------------------- */
.tool-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.tool-item{
  position:relative;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:24px;min-height:250px;overflow:hidden;
  transition:all .2s ease;
}
.tool-item:hover{
  background:var(--accent);color:var(--accent-ink);border-color:var(--accent);
  transform:translateY(-4px);box-shadow:var(--shadow-hard);
}
.tool-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tool-item-no{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--faint)}
.tool-item-tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.tool-item:hover .tool-item-no,.tool-item:hover .tool-item-tag{color:rgba(19,29,6,.62);border-color:rgba(19,29,6,.25)}
.tool-item h2,.tool-item h3{margin:16px 0 6px;font-size:24px;letter-spacing:-.03em}
.tool-item p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted);max-width:400px}
.tool-item:hover p{color:rgba(19,29,6,.68)}
.tool-item-viz{margin-top:auto;padding-top:18px}
.tool-item-viz svg{width:100%;height:64px;display:block}
.tool-item-go{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--brand);
}
.tool-item:hover .tool-item-go{color:var(--accent-ink)}

/* ---------------------------------------------------------------------
   测试列表
   --------------------------------------------------------------------- */
.test-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.test-item{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:26px;min-height:260px;transition:all .2s ease;
}
.test-item.dark{background:var(--panel);color:var(--panel-ink);border-color:var(--panel)}
.test-item:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}
.test-item.dark:hover{border-color:var(--accent);box-shadow:5px 5px 0 var(--accent)}
.test-item-no{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--muted)}
.test-item.dark .test-item-no{color:var(--accent)}
.test-item h2{margin:16px 0 7px;font-size:27px;letter-spacing:-.03em;line-height:1.15}
.test-item p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted);max-width:390px}
.test-item.dark p{color:var(--panel-muted)}
.test-item-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:24px}
.test-meta{display:flex;gap:14px;font-family:var(--font-mono);font-size:9.5px;color:var(--muted)}
.test-meta b{color:var(--ink);font-weight:600}
.test-item.dark .test-meta{color:var(--panel-muted)}
.test-item.dark .test-meta b{color:var(--panel-ink)}
.test-go{
  width:34px;height:34px;border-radius:50%;border:1px solid currentColor;
  display:grid;place-items:center;opacity:.4;transition:all .2s ease;
}
.test-go svg{width:14px;height:14px}
.test-item:hover .test-go{opacity:1;transform:rotate(-45deg);background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.test-item.dark:hover .test-go{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* ---------------------------------------------------------------------
   游戏列表
   --------------------------------------------------------------------- */
.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.game-grid.two{grid-template-columns:1fr 1fr;gap:15px}
.game-item{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:var(--card);border:1px solid var(--line);border-radius:20px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.game-item:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:var(--shadow-hard)}
.game-visual{
  position:relative;height:124px;background:var(--panel);color:var(--accent);
  display:grid;place-items:center;overflow:hidden;flex:0 0 auto;
}
.game-visual::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(201,255,94,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(201,255,94,.05) 1px,transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 100%,#000,transparent 90%);
}
.game-visual svg{position:relative;z-index:1;width:100%;height:96px}
.game-grid.two .game-visual{height:150px}
.game-grid.two .game-visual svg{height:104px}

.game-body{padding:20px 22px 21px;display:flex;flex-direction:column;flex:1}
.game-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.game-tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;color:var(--muted)}
.game-time{
  font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em;
  color:var(--faint);white-space:nowrap;
}
.game-body h2{margin:9px 0 6px;font-size:21px;letter-spacing:-.025em}
.game-grid.two .game-body h2{font-size:24px}
.game-lede{margin:0 0 12px;font-size:13px;line-height:1.65;color:var(--ink-2);font-weight:500}

.game-points{
  list-style:none;margin:0 0 16px;padding:0;
  border-top:1px solid var(--line);
}
.game-points li{
  position:relative;padding:8px 0 8px 15px;
  font-size:12px;line-height:1.65;color:var(--muted);
  border-bottom:1px solid var(--line);
}
.game-points li::before{
  content:"";position:absolute;left:2px;top:15px;
  width:4px;height:4px;border-radius:50%;background:var(--line-2);
}
.game-points b{color:var(--ink-2);font-weight:600}

.game-foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:auto;padding-top:2px;
}
.game-play{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;
  color:var(--brand);transition:color .15s ease;
}
.game-item:hover .game-play{color:var(--ink)}
/* 夜盘：--brand 在深底上只有 2.6:1，改用强调色；--faint 也不够，一并提亮 */
html[data-mode="night"] .game-play{color:var(--accent)}
html[data-mode="night"] .game-item:hover .game-play{color:var(--ink)}
html[data-mode="night"] .game-total{color:var(--muted)}
.game-total{
  font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;
  color:var(--faint);white-space:nowrap;
}

/* 为什么用真实行情 */
.game-why{margin-top:44px}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.why-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;
}
.why-card b{display:block;font-size:13.5px;letter-spacing:-.01em;margin-bottom:5px}
.why-card p{margin:0;font-size:12px;line-height:1.72;color:var(--muted)}

/* ---------------------------------------------------------------------
   文章页列表 / 空状态
   --------------------------------------------------------------------- */
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.post-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;
  display:flex;flex-direction:column;min-height:190px;
  transition:transform .2s ease,border-color .2s ease;
}
.post-card:hover{transform:translateY(-3px);border-color:var(--ink)}
.post-card .tag{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;color:var(--brand)}
.post-card h2{margin:14px 0 7px;font-size:20px;letter-spacing:-.02em;line-height:1.35}
.post-card p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted)}
.post-card .soon{margin-top:auto;padding-top:18px;font-family:var(--font-mono);font-size:9px;color:var(--faint)}
.feed-note{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--paper-2);border:1px dashed var(--line-2);border-radius:16px;
  padding:20px 22px;margin-top:18px;
}
.feed-note .ic{font-family:var(--font-mono);font-size:20px;color:var(--ink);line-height:1}
.feed-note p{margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
.feed-note b{color:var(--ink)}

/* 知识精选行 */
.link-rows{display:grid;border-top:1px solid var(--line)}
.link-row{
  display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;
  padding:18px 4px;border-bottom:1px solid var(--line);transition:padding .18s ease,background .18s ease;
}
.link-row:hover{background:var(--card);padding-left:12px;padding-right:12px}
.link-row .no{font-family:var(--font-mono);font-size:9.5px;color:var(--faint)}
.link-row h3{margin:0;font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.link-row h3 small{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:3px}
.link-row .arrow{font-family:var(--font-mono);color:var(--faint)}
.link-row:hover .arrow{color:var(--ink)}
@media(max-width:560px){.link-row{grid-template-columns:28px 1fr auto;gap:10px}}

/* ---------------------------------------------------------------------
   知识库首页：三件基础设施入口
   --------------------------------------------------------------------- */
.hub-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:40px}
.hub-link{
  display:block;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;transition:all .18s ease;
}
.hub-link:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow)}
.hub-link b{display:block;font-size:14.5px;letter-spacing:-.01em;margin-bottom:4px}
.hub-link span{font-size:11.5px;line-height:1.6;color:var(--muted)}
@media(max-width:760px){.hub-links{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------
   全部笔记：筛选 / 排序 / 搜索
   --------------------------------------------------------------------- */
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--card);border:1px solid var(--line);border-radius:999px;
  padding:6px 13px;font-size:12.5px;color:var(--muted);
  transition:all .16s ease;
}
.chip b{font-family:var(--font-mono);font-size:10px;color:var(--faint);font-weight:500}
.chip:hover{color:var(--ink);border-color:var(--line-2)}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.chip.on b{color:var(--accent)}
.sort-box select{
  background:var(--card);border:1px solid var(--line);border-radius:9px;
  padding:7px 11px;font-size:12.5px;color:var(--ink-2);cursor:pointer;
}
.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.mini-search{flex:1;min-width:220px;position:relative;display:block}
.mini-search input{
  width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:10px 13px;font-size:13.5px;color:var(--ink);outline:none;
  transition:border-color .16s ease;
}
.mini-search input:focus{border-color:var(--ink)}
.mini-search input::placeholder{color:var(--faint)}
.filter-count{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);margin:0;white-space:nowrap}
.note-item .note-meta{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:9px;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em;color:var(--faint);
}
.note-item .note-meta span:first-child{color:var(--brand)}
/* 分类页列表项里的辅助信息 */
.item-meta{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.05em;color:var(--faint);
}
.cat-next{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:34px;
}
.cat-next a{
  background:var(--card);border:1px solid var(--line);border-radius:13px;
  padding:14px 17px;transition:all .16s ease;
}
.cat-next a:hover{border-color:var(--ink);transform:translateY(-2px)}
.cat-next a:last-child{text-align:right}
.cat-next small{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--faint);margin-bottom:3px}
.cat-next b{font-size:14.5px;letter-spacing:-.01em}
@media(max-width:600px){.cat-next{grid-template-columns:1fr}}

.empty-note{
  text-align:center;color:var(--muted);font-size:13px;
  padding:34px 0;border:1px dashed var(--line-2);border-radius:14px;margin:0 0 24px;
}
[hidden]{display:none!important}

/* ---------------------------------------------------------------------
   术语表
   --------------------------------------------------------------------- */
.gloss-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:12px}
.alpha-nav{display:flex;flex-wrap:wrap;gap:5px}
.alpha-link{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;
  border:1px solid var(--line);border-radius:7px;padding:5px 9px;color:var(--muted);
  transition:all .15s ease;
}
.alpha-link:hover{color:var(--ink);border-color:var(--ink);background:var(--card)}
.gloss-group{margin-bottom:34px}
.gloss-h{
  display:flex;align-items:baseline;gap:10px;
  font-size:15px;letter-spacing:-.01em;margin:0 0 4px;
  padding-bottom:8px;border-bottom:1px solid var(--line);
  scroll-margin-top:96px;
}
.gloss-h span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--faint);font-weight:400}
.gloss-list{margin:0;display:grid}
.gloss-item{
  display:grid;grid-template-columns:200px 1fr;gap:18px;
  padding:14px 4px;border-bottom:1px dashed var(--line);
}
.gloss-item dt{display:flex;flex-direction:column;gap:2px;margin:0}
.gloss-item dt b{font-size:14.5px;font-weight:650;letter-spacing:-.01em}
.gloss-item dt i{
  font-style:normal;font-family:var(--font-mono);font-size:9.5px;
  letter-spacing:.04em;color:var(--faint);
}
.gloss-item dd{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.gloss-more{font-size:11.5px;color:var(--brand);white-space:nowrap;text-decoration:none;border-bottom:1px solid transparent}
.gloss-more:hover{border-color:var(--brand)}
@media(max-width:680px){
  .gloss-item{grid-template-columns:1fr;gap:5px}
}

/* ---------------------------------------------------------------------
   新手起点 /start/
   --------------------------------------------------------------------- */
.start-bar{
  display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:18px 22px;margin:0 0 24px;
  /* 长页面滚动时让进度条常驻，滚回去看进度不用再翻到顶。
     只在够高够宽的屏上生效：矮屏会占掉太多可视区域。 */
  box-shadow:0 8px 24px -18px rgba(13,21,18,.35);
}
.start-prog{flex:1;min-width:240px}
.start-prog-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);
  margin-bottom:9px;
}
.start-prog-num{display:inline-flex;align-items:baseline;gap:8px}
.start-prog-num b{font-size:13px;color:var(--ink);letter-spacing:0}
.start-prog-num i{
  font-style:normal;font-size:10px;color:var(--brand);
  padding:1px 6px;border-radius:5px;
  background:color-mix(in srgb,var(--brand) 9%,transparent);
}
.start-bar-track{height:7px;background:var(--paper-2);border-radius:999px;overflow:hidden}
.start-bar-track i{
  display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--brand),var(--accent));
  transition:width .4s cubic-bezier(.4,0,.2,1);
}
.start-next{
  margin:9px 0 0;font-size:11.5px;line-height:1.6;color:var(--muted);
}
.start-next b{color:var(--ink);font-weight:600}
.start-next[data-done]{color:var(--brand)}
.btn-reset{
  background:transparent;border:1px solid var(--line);border-radius:9px;
  padding:8px 14px;font-size:12px;color:var(--muted);transition:all .16s ease;
  flex:0 0 auto;
}
.btn-reset:hover{color:var(--ink);border-color:var(--line-2);background:var(--paper-2)}

/* ---- 每周卡片 ---- */
.week{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:22px 24px;margin-bottom:14px;position:relative;
  transition:border-color .2s ease,box-shadow .2s ease;
}
/* 当前进行中的周：左侧加一条品牌色细边，视线一眼落上去 */
.week.is-active{border-color:color-mix(in srgb,var(--brand) 34%,var(--line))}
.week.is-active::before{
  content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;
  border-radius:0 3px 3px 0;background:var(--brand);
}
.week.is-done{border-color:color-mix(in srgb,var(--brand) 26%,var(--line))}
.week.is-done::before{background:var(--brand);opacity:.5}

.week-head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin-bottom:18px}
.week-no{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--brand);
  border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap;
  flex:0 0 auto;
}
.week-no i{
  font-style:normal;font-size:8px;letter-spacing:.02em;
  background:var(--brand);color:var(--card);border-radius:4px;
  padding:1px 4px;
}
.week-title{flex:1;min-width:210px}
.week-head h2{margin:0 0 5px;font-size:19px;letter-spacing:-.02em;line-height:1.35}
.week-head p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted)}
.week-meta{
  margin-top:7px !important;font-family:var(--font-mono);font-size:10px !important;
  letter-spacing:.02em;color:var(--muted) !important;
}

/* 周进度环 */
.week-prog{
  display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted);
}
.wp-ring{width:24px;height:24px;display:block}
.wp-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.wp-track{fill:none;stroke:var(--line);stroke-width:3}
.wp-fill{
  fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:97.4;stroke-dashoffset:97.4;
  transition:stroke-dashoffset .45s cubic-bezier(.4,0,.2,1);
}
.week.is-done .wp-txt{color:var(--brand)}

/* ---- 任务行 ---- */
.task-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.task-row{
  display:grid;grid-template-columns:auto 1fr auto auto;
  align-items:center;gap:12px;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;
  transition:border-color .16s ease,background .16s ease;
}
.task-row:hover{border-color:var(--line-2);background:var(--paper-2)}
.task-check{
  appearance:none;width:18px;height:18px;flex:0 0 18px;
  border:1.5px solid var(--line-2);border-radius:5px;background:transparent;
  display:grid;place-items:center;cursor:pointer;transition:all .16s ease;margin:0;
}
.task-check::after{
  content:"";width:9px;height:5px;border-left:2px solid var(--accent-ink);
  border-bottom:2px solid var(--accent-ink);
  transform:rotate(-45deg) scale(0);transition:transform .15s ease;
}
.task-check:checked{background:var(--accent);border-color:var(--accent)}
.task-check:checked::after{transform:rotate(-45deg) scale(1)}
.task-check:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.task-main{display:block;min-width:0;cursor:pointer}
.task-top{
  display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.5;
}
.task-desc{display:block;font-size:11.5px;line-height:1.6;color:var(--muted);margin-top:3px}
.task-type{
  font-style:normal;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;
  padding:2px 6px;border-radius:4px;background:var(--paper-2);color:var(--ink-2);flex:0 0 auto;
  font-weight:600;
}
/* 小字号徽章：字色要压到足够深才能过 4.5:1（原 #8a5800 只有 4.13） */
.task-type.t-读{color:#0a6558;background:color-mix(in srgb,#0a6558 10%,transparent)}
.task-type.t-用{color:#6d4400;background:color-mix(in srgb,#8a5800 12%,transparent)}
.task-type.t-测{color:#4a2495;background:color-mix(in srgb,#5f34b8 10%,transparent)}
.task-type.t-玩{color:#843420;background:color-mix(in srgb,#a8492a 10%,transparent)}

.task-min{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;
  color:var(--muted);white-space:nowrap;flex:0 0 auto;
  font-variant-numeric:tabular-nums;
}
.task-go{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.03em;
  color:var(--brand);white-space:nowrap;flex:0 0 auto;
  padding:4px 9px;border:1px solid transparent;border-radius:7px;
  transition:all .15s ease;
}
.task-go:hover{background:var(--card);border-color:var(--line);text-decoration:none}

/* 完成态：整行收敛，不再抢注意力 */
.task-row.is-done{background:var(--paper-2);border-color:var(--line)}
.task-row.is-done .task-top{color:var(--muted);text-decoration:line-through}
.task-row.is-done .task-desc{color:var(--muted)}
.task-row.is-done .task-min{color:var(--muted)}
.task-row.is-done .task-go{color:var(--muted)}

@media(min-width:761px) and (min-height:720px){
  .start-bar{position:sticky;top:72px;z-index:20}
}
@media(max-width:760px){
  .start-bar{position:static}
  .task-row{grid-template-columns:auto 1fr auto;gap:10px}
  .task-min{display:none}
  .task-go{grid-column:2/-1;justify-self:start;padding-left:0;margin-top:2px}
}
@media(max-width:600px){
  .week{padding:18px 16px;border-radius:14px}
  .week-head{gap:11px}
  .week-head h2{font-size:17px}
  .week-prog{align-self:flex-start}
  .task-row{padding:11px 12px}
  .task-desc{font-size:11px}
}

/* ---------------------------------------------------------------------
   关于
   --------------------------------------------------------------------- */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:13px}
.about-card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;
}
.about-card.dark{background:var(--panel);color:var(--panel-ink);border-color:var(--panel)}
.about-card h2{margin:0 0 10px;font-size:20px;letter-spacing:-.02em}
.about-card p{margin:0;font-size:13.5px;line-height:1.85;color:var(--muted)}
.about-card.dark p{color:var(--panel-muted)}
.about-card p + p{margin-top:10px}
.about-card strong{color:var(--ink)}
.about-card.dark strong{color:var(--accent)}
/* 全局 a{color:inherit;text-decoration:none}，卡片里的链接要自己长成链接的样子 */
.about-card a{
  color:var(--brand);text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--brand) 45%,transparent);
  text-underline-offset:2px;transition:color .15s ease,text-decoration-color .15s ease;
}
.about-card a:hover{text-decoration-color:currentColor}
.about-card a:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}
.about-card.dark a{color:var(--accent)}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}
.principle{
  background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;
}
.principle .n{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--faint);margin-bottom:10px}
.principle h3{margin:0 0 6px;font-size:16px}
.principle p{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}

/* ---------------------------------------------------------------------
   提示 / 广告 / 页脚
   --------------------------------------------------------------------- */
.notice-strip{
  display:flex;gap:10px;align-items:flex-start;
  background:var(--paper-2);border:1px dashed var(--line-2);border-radius:12px;
  padding:14px 16px;margin:28px 0;
  font-size:11.5px;line-height:1.7;color:var(--muted);
}
.notice-strip b{color:var(--ink);font-weight:600}
.notice-strip .ic{font-family:var(--font-mono);font-size:13px;color:var(--ink);line-height:1.2}

.ad{
  border:1px dashed var(--line-2);border-radius:12px;padding:18px;
  text-align:center;color:var(--faint);font-size:10.5px;
  font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;
  background:transparent;margin:28px 0;
}
footer{
  text-align:center;color:var(--muted);font-size:11.5px;
  margin-top:34px;padding-top:22px;border-top:1px solid var(--line);
  line-height:1.8;
}

/* ---------------------------------------------------------------------
   404
   --------------------------------------------------------------------- */
.notfound{min-height:calc(100vh - 80px);display:flex;flex-direction:column;justify-content:center}
.nf-visual{
  position:relative;background:var(--panel);color:var(--panel-ink);
  border-radius:24px;padding:34px;overflow:hidden;margin-bottom:22px;
  border:1px solid var(--panel);
}
.nf-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(to right,rgba(237,243,236,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(237,243,236,.06) 1px,transparent 1px);
  background-size:36px 36px;
  -webkit-mask-image:radial-gradient(ellipse at 40% 40%,#000,transparent 80%);
  mask-image:radial-gradient(ellipse at 40% 40%,#000,transparent 80%);
}
.nf-visual svg{position:relative;z-index:1;width:100%;height:auto;display:block}
.nf-code{
  font-family:var(--font-mono);font-size:clamp(80px,16vw,160px);
  line-height:.85;color:var(--accent);letter-spacing:-.06em;margin:0 0 10px;
}
.nf-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--panel-muted);margin:0}
.nf-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.nf-link{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px 18px;
  font-size:14px;font-weight:600;transition:all .18s ease;
}
.nf-link:hover{border-color:var(--ink);transform:translateX(3px)}
.nf-link span{font-family:var(--font-mono);font-size:10px;color:var(--muted)}

/* ---------------------------------------------------------------------
   进场（仅对列表项做轻量级增强）
   --------------------------------------------------------------------- */
html.js-reveal .list .item,
html.js-reveal .cat-grid .cat-card,
html.js-reveal .tool-list .tool-item,
html.js-reveal .test-list .test-item,
html.js-reveal .game-grid .game-item,
html.js-reveal .principle-grid .principle{
  opacity:0;transform:translateY(14px);
  transition:opacity .55s ease,transform .55s ease,border-color .2s ease,box-shadow .2s ease;
}
html.js-reveal .list .item.in,
html.js-reveal .cat-grid .cat-card.in,
html.js-reveal .tool-list .tool-item.in,
html.js-reveal .test-list .test-item.in,
html.js-reveal .game-grid .game-item.in,
html.js-reveal .principle-grid .principle.in{
  opacity:1;transform:none;
}

/* ---------------------------------------------------------------------
   响应式
   --------------------------------------------------------------------- */
@media(max-width:900px){
  .tool-list,.test-list,.post-grid,.about-grid{grid-template-columns:1fr}
  .game-grid,.game-grid.two{grid-template-columns:1fr 1fr}
  .principle-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .path-grid,.cat-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .game-grid,.game-grid.two{grid-template-columns:1fr}
  .nf-links{grid-template-columns:1fr}
  .game-grid.two .game-visual{height:132px}
  .game-grid.two .game-visual svg{height:92px}
}

/* 分类页：单列列表控制阅读宽度 */
.wrap > .list{max-width:860px}
.category-page .wrap{max-width:900px}
.notfound-page .wrap > h1::before{display:none}

/* ---- 起点页：走完之后 ---- */
.after-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.after-card{
  display:block;background:var(--card);border:1px solid var(--line);
  border-radius:15px;padding:18px 19px;transition:all .17s ease;
}
.after-card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow)}
.ac-no{
  display:block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;
  color:var(--muted);margin-bottom:8px;
}
.after-card h3{margin:0 0 6px;font-size:15.5px;letter-spacing:-.015em}
.after-card p{margin:0 0 11px;font-size:12px;line-height:1.7;color:var(--muted)}
.ac-go{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.03em;color:var(--brand);
}
@media(max-width:680px){
  .after-grid{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------------
   知识库首页：搜索 + 最近更新 + 分类卡的「先从这看起」
   --------------------------------------------------------------------- */
.hub-search{margin:0 0 16px}
.hs-box{
  display:flex;align-items:center;gap:10px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:0 14px;height:52px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.hs-box:focus-within{
  border-color:var(--brand);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent);
}
.hs-box svg{width:17px;height:17px;color:var(--muted);flex:0 0 auto}
.hs-box input{
  flex:1;min-width:0;background:transparent;border:0;outline:none;
  font-size:14px;color:var(--ink);
}
.hs-box input::placeholder{color:var(--faint)}
.hs-box kbd{
  font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;
  color:var(--faint);border:1px solid var(--line);border-radius:5px;
  padding:2px 5px;flex:0 0 auto;
}
.hs-hint{
  margin:8px 0 0;padding:0 4px;font-size:11.5px;line-height:1.6;color:var(--muted);
}
.hs-hint[hidden]{display:none}
.hs-hint[data-target]{cursor:pointer;color:var(--brand);font-weight:600}

/* 最近更新 */
.recent-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.recent-row{
  display:grid;grid-template-columns:46px 1fr auto auto;
  align-items:center;gap:12px;
  background:var(--card);padding:12px 16px;
  transition:background .14s ease;
}
.recent-row:hover{background:var(--paper-2)}
.rr-date{
  font-family:var(--font-mono);font-size:10.5px;color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.rr-title{font-size:13.5px;font-weight:600;letter-spacing:-.01em;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rr-cat{
  font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;
  color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,transparent);
  border-radius:4px;padding:2px 6px;white-space:nowrap;
}
.rr-min{font-family:var(--font-mono);font-size:10px;color:var(--muted);white-space:nowrap}

/* 分类卡补一行「先从这看起」 */
.cat-start{
  margin:7px 0 0 !important;font-size:11px !important;line-height:1.6;
  color:var(--muted) !important;
}
.cat-start b{color:var(--ink-2);font-weight:600}

/* 路径步骤里的阅读时长 */
.path-steps em{
  font-style:normal;font-family:var(--font-mono);font-size:9px;
  color:var(--muted);margin-left:6px;
  border:1px solid var(--line);border-radius:4px;padding:1px 4px;
  vertical-align:1px;
}

@media(max-width:680px){
  .recent-row{grid-template-columns:42px 1fr auto;gap:9px;padding:11px 13px}
  .rr-cat{display:none}
  .hs-box kbd{display:none}
  .path-steps em{display:none}
}

/* ---------------------------------------------------------------------
   工具页：从问题出发 + 按用途分组
   --------------------------------------------------------------------- */
.tool-ask{margin-bottom:40px}
.ask-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.ask-card{
  display:flex;flex-direction:column;gap:8px;
  background:var(--paper-2);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;transition:all .16s ease;
}
.ask-card:hover{
  background:var(--card);border-color:var(--brand);
  transform:translateY(-2px);box-shadow:var(--shadow);
}
.ask-q{
  font-size:12.5px;line-height:1.6;color:var(--ink-2);font-weight:600;
  letter-spacing:-.01em;
}
.ask-t{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;
  color:var(--brand);
}
.ask-card:hover .ask-t{color:var(--ink)}

/* 默认两个一排；「风险与成本」那组有 3 个，跨成三列更好看 */
.tool-list{grid-template-columns:1fr 1fr}
.tool-list.one{grid-template-columns:1fr}
.tool-list.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tool-list.three .tool-item{min-height:230px;padding:20px}
@media(max-width:980px){
  .tool-list.three{grid-template-columns:1fr 1fr}
}

@media(max-width:900px){
  .ask-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .ask-grid{grid-template-columns:1fr}
  /* 三列那组也要一起降到单列，否则 600px 下会出现「2 个一排 + 1 个孤零零」 */
  .tool-list,
  .tool-list.three{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------------
   测试入口页：上次成绩 / 两套分工 / 能拿到什么 / 建议顺序
   --------------------------------------------------------------------- */

/* 上次成绩条：回来的人第一眼想知道「我上次多少」 */
.last-score{
  display:flex;align-items:flex-start;gap:11px;
  background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:12px;padding:13px 16px;margin-bottom:18px;
}
.last-score .ls-ic{
  font-family:var(--font-mono);font-size:13px;color:var(--brand);
  line-height:1.6;flex:0 0 auto;
}
.last-score p{margin:0;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.last-score b{color:var(--ink);font-weight:650}

/* 卡内的题例：让人在点进去之前就知道题长什么样 */
.test-sample{
  margin-top:14px;padding:11px 13px;
  background:var(--paper-2);border:1px solid var(--line);border-radius:11px;
}
.test-item.dark .test-sample{
  background:rgba(237,243,236,.055);border-color:rgba(237,243,236,.14);
}
.ts-no{
  display:block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;
  color:var(--muted);text-transform:uppercase;margin-bottom:5px;
}
.test-item.dark .ts-no{color:var(--panel-muted)}
.ts-q{margin:0 0 3px;font-size:12px;line-height:1.6;color:var(--ink-2);font-weight:600}
.test-item.dark .ts-q{color:var(--panel-ink)}
.ts-a{margin:0;font-size:11.5px;line-height:1.6;color:var(--muted);font-family:var(--font-mono),ui-monospace}
.test-item.dark .ts-a{color:var(--panel-muted)}

/* 卡片右上角的历史成绩小标 */
.test-last{
  position:absolute;top:20px;right:22px;
  font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;
  color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--brand) 26%,transparent);
  border-radius:999px;padding:2px 8px;
}
.test-item.dark .test-last{
  color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);
  border-color:color-mix(in srgb,var(--accent) 30%,transparent);
}

/* 两套测试的分工对照 */
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.diff-col{
  background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:20px 22px;
}
.diff-tag{
  display:block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;
  color:var(--muted);margin-bottom:8px;
}
.diff-col h3{margin:0 0 4px;font-size:18px;letter-spacing:-.02em}
.diff-role{margin:0 0 12px;font-size:12.5px;color:var(--muted)}
.diff-role strong{color:var(--brand)}
.diff-col ul{list-style:none;margin:0;padding:0}
.diff-col li{
  position:relative;padding:7px 0 7px 16px;font-size:12.5px;line-height:1.65;
  color:var(--ink-2);border-top:1px solid var(--line);
}
.diff-col li:first-child{border-top:0}
.diff-col li::before{
  content:"";position:absolute;left:2px;top:15px;
  width:5px;height:5px;border-radius:50%;background:var(--line);
}
.diff-note{
  margin:12px 0 0;padding:13px 16px;font-size:12.5px;line-height:1.75;
  color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);
  border-radius:11px;
}

/* 答完能拿到什么 */
.gain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gain-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:17px 19px;
}
.gain-ic{display:block;font-size:19px;line-height:1;margin-bottom:9px}
.gain-card h3{margin:0 0 5px;font-size:14px;letter-spacing:-.01em}
.gain-card p{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}

/* 建议顺序 */
.order-list{list-style:none;margin:0;padding:0;counter-reset:step}
.order-list li{
  display:flex;gap:16px;padding:18px 0;
  border-top:1px solid var(--line);
}
.order-list li:first-child{border-top:0;padding-top:2px}
.order-no{
  flex:0 0 auto;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;
  color:var(--brand);padding-top:3px;
}
.order-body{flex:1;min-width:0}
.order-body h3{margin:0 0 4px;font-size:14.5px;letter-spacing:-.01em}
.order-body p{margin:0 0 6px;font-size:12.5px;line-height:1.7;color:var(--muted);max-width:620px}
.order-time{
  font-family:var(--font-mono);font-size:10px;color:var(--faint);
  letter-spacing:.03em;
}
.order-go{
  display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:11px;
  color:var(--brand);border-bottom:1px solid color-mix(in srgb,var(--brand) 35%,transparent);
}
.order-go:hover{color:var(--ink);border-color:currentColor}

/* 测完之后 */
.next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.next-card{
  display:block;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:15px 18px;transition:all .16s ease;
}
.next-card:hover{
  border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow);
}
.next-card b{display:block;font-size:13.5px;letter-spacing:-.01em;margin-bottom:3px}
.next-card span{display:block;font-size:11.5px;line-height:1.6;color:var(--muted)}

@media(max-width:820px){
  .diff-grid,.gain-grid,.next-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .test-last{position:static;display:inline-block;margin-top:10px}
  .diff-col{padding:17px}
}

/* 已读进度 */
.read-state{display:inline-block;margin-left:8px;padding:1px 7px;border:1px solid var(--line);border-radius:999px;font-size:10px;letter-spacing:.06em;color:var(--brand);vertical-align:middle;font-family:var(--font-mono)}
a.item.is-read{position:relative}
a.item.is-read::after{content:"已读";position:absolute;top:10px;right:12px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:10px;line-height:1.5;color:var(--brand);background:var(--card);font-family:var(--font-mono);pointer-events:none}

/* 继续阅读 */
.qh-continue{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink)}
.qh-continue span{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--brand)}
.qh-continue b{font-size:14px;letter-spacing:-.01em}
.qh-continue i{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted)}
.qh-continue:hover{border-color:var(--brand)}

/* 收藏 */
.fav-btn{margin-left:8px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:10.5px;line-height:1.8;cursor:pointer}
.fav-btn[aria-pressed="true"]{border-color:var(--brand);color:var(--brand)}
.qh-favs{margin:14px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft,var(--card))}
.qh-favs h2{margin:0 0 8px;font-size:13px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted)}
.qh-fav-list{display:flex;flex-wrap:wrap;gap:8px}
.qh-fav-list a{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:12px;text-decoration:none}
.qh-fav-list a:hover{border-color:var(--brand);color:var(--brand)}
