/* ==========================================================================
   计算机文化基础 · 其他页面样式
   --------------------------------------------------------------------------
   原先内嵌在首页、课程介绍、作品赏析、往年课程、学习资源、沙龙讲座、教学团队
   等 Markdown 页面 <style> 块中的样式，集中到本文件。
   课程页面（classes/）的样式见 classes.css。
   同名但取值不同的组件已用命名区分（如 cc-course-*）。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 首页（docs/index.md）
   -------------------------------------------------------------------------- */
.cc-hero{background:linear-gradient(135deg,#2b1a4e 0%,#49115e 45%,#7c1a8a 100%);color:#fff;border-radius:18px;padding:34px 30px;margin:18px 0 26px;text-align:center;box-shadow:0 12px 40px rgba(73,17,94,.35);}
.cc-hero h2{margin:0 0 10px;color:#fff;font-size:1.7em;font-weight:800;}
.cc-hero p{margin:0 0 16px;font-size:1.05em;opacity:.92;line-height:1.7;}
.cc-hero .cc-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 16px;font-size:.9em;margin:4px 4px;}
.cc-heroimg{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;margin-top:20px;}
.cc-heroimg img{flex:1 1 45%;max-width:46%;height:auto;border-radius:10px;box-shadow:0 6px 22px rgba(0,0,0,.35);}
.cc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:14px;margin:20px 0;}
.cc-stat{background:#f7f5fb;border:1px solid #e6e0f0;border-radius:14px;padding:16px 12px;text-align:center;}
.cc-stat .n{font-size:1.35em;font-weight:800;color:#49115e;}
.cc-stat .l{font-size:.85em;color:#555;margin-top:4px;}
.cc-principle{text-align:center;margin:26px 0;}
.cc-principle code{font-size:2.2em;font-weight:800;color:#2563eb;background:#eef2ff;padding:6px 26px;border-radius:12px;display:inline-block;}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:18px 0;}
.cc-card{background:#fff;border:1px solid #eee7f6;border-radius:16px;padding:20px 22px;box-shadow:0 4px 16px rgba(73,17,94,.06);}
.cc-card h3{margin-top:0;color:#49115e;}
.cc-books{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:18px;place-items:center;margin:20px 0;}
.cc-book{text-align:center;}
.cc-book img{height:160px;max-width:100%;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .18s;}
.cc-book a:hover img{transform:translateY(-4px);}
.cc-book .t{font-size:.85em;margin-top:6px;max-width:130px;}

/* --------------------------------------------------------------------------
   2. 课程介绍（course/index.md）
      与首页同为统计/卡片布局，但用色不同，故加 cc-course- 前缀区分。
   -------------------------------------------------------------------------- */
.cc-course-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;margin:20px 0;}
.cc-course-stat{background:#f7f5fb;border:1px solid #e6e0f0;border-radius:14px;padding:16px 12px;text-align:center;}
.cc-course-stat .n{font-size:1.25em;font-weight:800;color:#7c3aed;}
.cc-course-stat .l{font-size:.85em;color:#555;margin-top:4px;}
.cc-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:18px 0;}
.cc-course-card{background:#fff;border:1px solid #eee7f6;border-radius:16px;padding:20px 22px;box-shadow:0 4px 16px rgba(124,58,237,.07);}
.cc-course-card h3{margin-top:0;color:#7c3aed;}
.cc-course-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:20px 0;}
.cc-course-photo{text-align:center;}
.cc-course-photo img{width:100%;height:220px;object-fit:cover;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.15);}
.cc-course-photo .t{margin-top:8px;font-size:.95em;color:#555;}

/* --------------------------------------------------------------------------
   3. 作品赏析（works/）
   -------------------------------------------------------------------------- */
.wk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:18px 0;}
.wk-card{background:#fff;border:1px solid #eee7f6;border-radius:16px;padding:16px;text-align:center;box-shadow:0 4px 16px rgba(124,58,237,.07);transition:.15s;}
.wk-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(124,58,237,.16);}
.wk-card img{width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:10px;margin-bottom:10px;background:#faf7ff;}
.wk-card h3{margin:0 0 6px;font-size:1.05em;}
.wk-card h3 a{color:inherit;text-decoration:none;}
.wk-card p{font-size:.88em;color:#555;margin:0;}
.wk-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0;}
.wk-item{display:block;text-align:center;}
.wk-item img{width:100%;height:auto;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.12);transition:.15s;}
.wk-item:hover img{transform:scale(1.02);}
.wk-item-missing{cursor:default;}
.wk-item-missing:hover img{transform:none;}
.wk-missing{display:block;margin-top:6px;font-size:13px;color:#9ca3af;}

/* --------------------------------------------------------------------------
   4. 往年课程（past/index.md）
   -------------------------------------------------------------------------- */
.pc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:18px 0;}
.pc-card{background:#fff;border:1px solid #eee7f6;border-radius:16px;padding:20px 22px;box-shadow:0 4px 16px rgba(73,17,94,.06);transition:.15s;}
.pc-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(73,17,94,.14);}
.pc-card h3{margin:0 0 8px;color:#49115e;}
.pc-card p{margin:0 0 6px;color:#555;line-height:1.7;}
.pc-card .pc-link{display:inline-block;margin-top:10px;font-weight:700;color:#6d28d9;text-decoration:none;}
.pc-card .pc-link:hover{text-decoration:underline;}
.pc-tag{display:inline-block;font-size:.78em;color:#6d28d9;background:#f0e9f5;border:1px solid #e0d3ef;border-radius:999px;padding:1px 10px;margin-bottom:8px;}

/* --------------------------------------------------------------------------
   5. 学习资源（resources/index.md）
   -------------------------------------------------------------------------- */
.rs-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px;place-items:center;margin:18px 0;}
.rs-res a{display:inline-block;background:#ffffff;border:1px solid #e6e0f0;border-radius:12px;padding:4px 8px;text-decoration:none;transition:.15s;}
.rs-res a img{width:72px;border-radius:6px;}
.rs-res a:hover{transform:translateY(-3px);border-color:#49115e;box-shadow:0 6px 16px rgba(73,17,94,.22);}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:18px 0;}
.bk-card{background:#fff;border:1px solid #eee7f6;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(124,58,237,.06);display:flex;flex-direction:column;transition:.15s;}
.bk-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(124,58,237,.14);}
.bk-ph{height:210px;background:#f4f2fb;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bk-ph img{width:100%;height:100%;object-fit:contain;background:#fff;}
.bk-bd{padding:14px 16px 18px;display:flex;flex-direction:column;flex:1;}
.bk-bd h3{margin:0 0 6px;font-size:1.02em;color:#3f3763;}
.bk-meta{font-size:.85em;color:#777;line-height:1.6;margin:0 0 8px;}
.bk-desc{font-size:.9em;color:#555;line-height:1.65;flex:1;}
.bk-link{display:inline-block;margin-top:12px;font-size:.9em;font-weight:700;color:#6d28d9;text-decoration:none;}
.bk-link:hover{text-decoration:underline;}
.bk-ext{background:#f7f5fb;border:1px solid #e6e0f0;}
.bk-ext .bk-bd h3{color:#6d28d9;}
.bk-sec>h3{font-size:1.15em;color:#6d28d9;border-bottom:2px solid #edeafe;padding-bottom:8px;margin:24px 0 4px;}
.bk-warn{font-size:.9em;color:#8a6d3b;background:#fdf6e3;border:1px solid #f2e2c4;border-radius:8px;padding:10px 14px;margin:10px 0 0;}
.lb-note{font-size:.9em;color:#666;background:#f7f5fb;border-left:4px solid #a78bfa;border-radius:6px;padding:10px 14px;margin:10px 0 0;}

/* --------------------------------------------------------------------------
   6. 沙龙讲座（salons/index.md）
   -------------------------------------------------------------------------- */
.sl-hero{background:linear-gradient(135deg,#edeafe,#e8f4ff);border:1px solid #dcd4f5;border-radius:16px;padding:24px 26px;margin:16px 0;box-shadow:0 4px 18px rgba(124,58,237,.07);}
.sl-hero h3{margin:0 0 12px;color:#6d28d9;}
.sl-hero p{margin:0;font-size:1.02em;line-height:1.8;}
.sl-hero p strong{color:#6d28d9;}
.sl-posters{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:18px 0;}
.sl-posters img{height:220px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.16);}
.sl-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:18px 0;}
.sl-card{background:#fff;border:1px solid #eee7f6;border-radius:16px;padding:22px;box-shadow:0 4px 16px rgba(124,58,237,.06);}
.sl-card h3{margin:0 0 14px;color:#6d28d9;}
.sl-card ul{margin:0;padding-left:20px;line-height:2;}
.sl-card li{margin-bottom:4px;}
.sl-note{background:#f7f5fb;border-left:4px solid #a78bfa;border-radius:6px;padding:12px 16px;margin:14px 0;font-size:.96em;}
.sl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0;}
.sl-item{text-align:center;background:#fff;border:1px solid #eee7f6;border-radius:14px;padding:12px;box-shadow:0 4px 14px rgba(124,58,237,.06);}
.sl-item img{width:100%;height:200px;object-fit:cover;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.sl-item .t{margin-top:10px;font-weight:700;color:#4b4453;}
.sl-banner{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0;}
.sl-banner>div{flex:1 1 320px;}
.sl-banner img{width:100%;height:auto;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.16);display:block;}
.sl-banner .c{margin-top:8px;font-weight:700;color:#6d28d9;text-align:center;}
.sl-video{max-width:860px;margin:16px auto;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.2);background:#000;}
.sl-video video{display:block;width:100%;}
@media (max-width:820px){.sl-two{grid-template-columns:1fr;}.sl-posters img{height:160px;}}

/* --------------------------------------------------------------------------
   7. 教学团队（team/index.md）
   -------------------------------------------------------------------------- */
.tm-featured{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start;background:#fff;border:1px solid #e4f0f5;border-radius:16px;padding:24px;box-shadow:0 4px 18px rgba(19,85,160,.08);margin:18px 0;}
.tm-featured .ph{flex:0 0 200px;text-align:center;}
.tm-featured .ph img{width:180px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.18);}
.tm-featured .bd{flex:1 1 420px;}
.tm-featured h3{margin:0 0 10px;color:#1355a0;}
.tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:18px;margin:18px 0;}
.tm-card{background:#fff;border:1px solid #e6eef4;border-radius:16px;padding:18px;text-align:center;box-shadow:0 4px 16px rgba(19,85,160,.06);}
.tm-card img{width:130px;height:150px;object-fit:cover;border-radius:12px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.tm-card h4{margin:0 0 8px;color:#1355a0;}
.tm-card p{font-size:.94em;text-align:left;}
.tm-lib{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;background:#f3f8fa;border:1px solid #dceaf0;border-radius:16px;padding:20px 22px;margin:18px 0;}
.tm-lib .ph{flex:0 0 130px;text-align:center;}
.tm-lib .ph img{width:120px;height:150px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.tm-lib .tt{flex:1 1 260px;}
.tm-lib .tt h3{margin:0 0 10px;color:#1355a0;}
.tm-lib ul{margin:0;padding-left:20px;}
.tm-tag{display:inline-block;background:#e6f2f5;border:1px solid #bcdde7;color:#1355a0;border-radius:999px;padding:3px 12px;font-size:.84em;margin:2px 3px;}
