/* AI办公学习站 · 全站样式（墨青主题） */
:root{
  --bg:#f2f7f5; --card:#fff; --ink:#14261f; --sub:#5c6f69; --line:#e2eae7;
  --p1:#0F6E56; --p1d:#085041; --p1bg:#E1F5EE;
  --cyan:#0e7490; --cyanbg:#e0f4f8;
  --amber:#BA7517; --amberbg:#FAEEDA;
  --green:#3B6D11; --greenbg:#EAF3DE;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);line-height:1.75}
a{color:var(--p1);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1000px;margin:0 auto;padding:0 18px}

/* 顶栏 */
nav{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
nav .inner{max-width:1000px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav .logo{font-weight:800;font-size:17px;color:var(--p1);letter-spacing:.5px;white-space:nowrap}
nav .links{display:flex;gap:16px;font-size:14.5px;flex-wrap:wrap}
nav .links a{color:var(--ink);font-weight:600;white-space:nowrap}
nav .links a.on{color:var(--p1)}
/* ── 移动端导航（2026-10-07 重写）────────────────────────
   旧方案：grid + 伪占位把「资讯+副业」固定在第 2 行第 2/3 格，
   结果第二行整体偏左、与第一行视觉不对齐（用户截图反馈）。
   新方案：居中 flex 换行 —— 放不下自动折行，每行都以中轴居中，
   项数无论 7 还是 8 都整齐，无需按项数写死网格。 */
@media(max-width:640px){
  nav .inner{padding:9px 14px;gap:7px;flex-direction:column;align-items:stretch}
  nav .logo{font-size:15px;letter-spacing:0;text-align:center}
  nav .links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px 13px;
    font-size:13.5px;
  }
}
@media(max-width:400px){
  nav .links{font-size:12.5px;gap:5px 10px}
}

/* 首屏 */
.hero{background:linear-gradient(135deg,#085041 0%,#0F6E56 58%,#14876a 100%);color:#fff;padding:52px 0 62px}
.hero h1{font-size:31px;line-height:1.35;letter-spacing:.5px}
.hero h1 span{color:#FAC775}
.hero p.sub{margin-top:14px;font-size:16px;opacity:.93;max-width:640px}
.hero .cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:11px 22px;border-radius:99px;font-size:15px;font-weight:700;border:1.5px solid transparent}
.btn.solid{background:#fff;color:var(--p1d)}
.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn.solid:hover,.btn.ghost:hover{text-decoration:none;opacity:.9}
.stats{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap;font-size:14px;opacity:.92}
.stats b{display:block;font-size:22px}

/* 内容区 */
section{margin:40px 0}
h1.sec,h2.sec{font-size:21px;display:flex;align-items:center;gap:9px}
h1.sec::before,h2.sec::before{content:"";width:5px;height:21px;background:var(--p1);border-radius:3px}
p.secdesc{color:var(--sub);font-size:14.5px;margin:8px 0 18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.grid2,.grid3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.2s}
.card:hover{box-shadow:0 8px 24px rgba(15,110,86,.13);transform:translateY(-1px)}
.card h3{font-size:17px;margin-bottom:6px}
.card p{font-size:14px;color:var(--sub)}
.tag{display:inline-block;font-size:12px;padding:2px 9px;border-radius:99px;font-weight:700;margin-right:6px}
.t-blue{background:var(--p1bg);color:var(--p1d)}
.t-cyan{background:var(--cyanbg);color:var(--cyan)}
.t-amber{background:var(--amberbg);color:var(--amber)}
.t-green{background:var(--greenbg);color:var(--green)}

/* 工具卡 */
.tool{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.tool .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tool h3{font-size:16px}
.tool .desc{font-size:13.5px;color:var(--sub);margin:7px 0}
.tool .meta{font-size:12.5px;color:#7f948e;margin-top:6px}
.tool .meta b{color:var(--p1d)}
.tool .go{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--p1d);text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:5px 13px;transition:background .15s,border-color .15s}
.tool .go:hover{background:var(--p1bg);border-color:var(--p1)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 15px;font-size:13.5px;cursor:pointer;font-weight:600;color:var(--sub)}
.chip.on{background:var(--p1);border-color:var(--p1);color:#fff}

/* 教程 */
.lesson{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:14px}
.lesson .no{flex:0 0 42px;height:42px;border-radius:12px;background:var(--p1bg);color:var(--p1d);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.lesson h3{font-size:16.5px}
.lesson p{font-size:14px;color:var(--sub);margin-top:5px}
.lesson .lvl{font-size:12px;color:var(--green);font-weight:700}

/* 文章 */
article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;margin-top:26px}
article h1{font-size:26px;line-height:1.4}
article .info{color:var(--sub);font-size:13.5px;margin:10px 0 22px;padding-bottom:16px;border-bottom:1px dashed var(--line)}
article h2{font-size:19.5px;margin:28px 0 10px;padding-left:11px;border-left:4px solid var(--p1)}
article h3{font-size:16.5px;margin:18px 0 6px}
article p{margin:10px 0;font-size:15.5px}
article ul,article ol{margin:10px 0 10px 22px;font-size:15.5px}
article li{margin:6px 0}
.tip{background:var(--p1bg);border-left:4px solid var(--p1);border-radius:0 10px 10px 0;padding:13px 16px;margin:16px 0;font-size:14.5px}
.warn{background:var(--amberbg);border-left:4px solid var(--amber);border-radius:0 10px 10px 0;padding:13px 16px;margin:16px 0;font-size:14.5px}
.cmdbox{background:#0e2a23;color:#e6f2ee;border-radius:10px;padding:14px 16px;margin:12px 0;font-size:14px;font-family:ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;position:relative}
.copy{position:absolute;top:8px;right:10px;background:rgba(255,255,255,.15);border:0;color:#fff;font-size:12px;padding:3px 10px;border-radius:6px;cursor:pointer;font-family:inherit}
.pager{display:flex;justify-content:space-between;margin-top:26px;font-size:14.5px}

/* 提示词库 */
.prompt{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}
.prompt .ph{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.prompt h3{font-size:15.5px}
.prompt .body{background:#f7faf9;border:1px dashed var(--line);border-radius:8px;padding:12px;margin-top:10px;font-size:14px;white-space:pre-wrap}
.copy2{background:var(--p1);border:0;color:#fff;font-size:12.5px;padding:5px 13px;border-radius:8px;cursor:pointer;font-weight:700}

/* 广告位 */
.adslot{border:1.5px dashed #c9dcd5;border-radius:12px;padding:22px;text-align:center;color:#93a9a2;font-size:13.5px;background:#fbfdfc}

footer{margin-top:50px;background:#0b1f1a;color:#a8c4bb;font-size:13px;padding:28px 0 36px}
footer .in{max-width:1000px;margin:0 auto;padding:0 18px}
footer a{color:#bcd9cf}
footer .disc{margin-top:10px;font-size:12.5px;opacity:.8;line-height:1.7}
/* 浏览量 */
.views{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#9dc0b5}
.views b{color:#7ce0bd;font-weight:800;font-size:15px;margin-left:5px;font-variant-numeric:tabular-nums}
.views img.pvimg{height:20px;vertical-align:middle;margin-left:5px;border-radius:4px}
.views .upd{opacity:.8;margin-left:auto}

/* 站内搜索（tutorials.html 顶部） */
.searchbar{position:relative;margin:0 0 18px}
.searchbar input{width:100%;padding:11px 15px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff;color:var(--ink);font-family:inherit;outline:none}
.searchbar input:focus{border-color:var(--p1);box-shadow:0 0 0 3px rgba(15,110,86,.1)}
.searchbar .cnt{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:12.5px;color:var(--sub)}
mark{background:#fdf0c3;color:inherit;border-radius:3px;padding:0 2px}
.lesson.hidden,.card.hidden{display:none}
.empty{padding:26px;text-align:center;color:var(--sub);font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}

/* AI 资讯（首页 + news.html 共用，由 _fetch_news.py 生成片段） */
.news-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.news-list li{border-bottom:1px solid var(--line)}
.news-list li:last-child{border-bottom:0}
.news-list a{display:flex;flex-direction:column;gap:5px;padding:13px 17px;color:var(--ink)}
.news-list a:hover{background:#f7faf9;text-decoration:none}
.nl-t{font-size:14.8px;line-height:1.55;font-weight:600}
.news-list a:hover .nl-t{color:var(--p1d)}
.nl-m{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--sub)}
.nl-src{background:var(--p1bg);color:var(--p1d);padding:1px 8px;border-radius:99px;font-weight:700}
.nl-time{color:#7f948e}
.news-foot{font-size:12.2px;color:var(--sub);margin-top:11px;line-height:1.7}
.news-empty{padding:22px;text-align:center;color:var(--sub);font-size:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.news-2col{columns:2;column-gap:16px}
@media(max-width:760px){.news-2col{columns:1}}
.news-2col .news-list{column-break-inside:avoid}
