/* ==========================================================================
   计算机文化基础 · 课程页面（classes/）统一样式
   --------------------------------------------------------------------------
   原先内嵌在 classes/01、02、03 与 classes/index 各 Markdown 页面的 <style>
   中。classes 系列页面共用同一套样式，故集中到本文件。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 课件 PDF / 课堂视频 / 媒体懒加载
   -------------------------------------------------------------------------- */
.md-typeset .cc-pdf-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px;}
.md-typeset a.cc-pdf-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:10px;font-weight:700;font-size:.92em;line-height:1;text-decoration:none;background:#49115e;color:#fff;box-shadow:0 4px 14px rgba(73,17,94,.25);transition:.15s;}
.md-typeset a.cc-pdf-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(73,17,94,.32);color:#fff;}
.md-typeset a.cc-pdf-btn.cc-pdf-ghost{background:#fff;color:#49115e;border:1px solid #b9a3cc;box-shadow:none;}
.md-typeset a.cc-pdf-btn.cc-pdf-ghost:hover{background:#f5f0fa;color:#49115e;}
.cc-pdf-viewer{width:100%;height:600px;border:1px solid #e6e0f0;border-radius:12px;box-shadow:0 4px 16px rgba(73,17,94,.08);background:#fff;}
.cc-video-wrap{max-width:960px;margin:16px 0;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(73,17,94,.15);background:#000;}
.cc-video-wrap .video-js{width:100%;height:auto;}
.cc-bili-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px;}
.md-typeset a.cc-bili-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:10px;font-weight:700;font-size:.92em;line-height:1;text-decoration:none;background:#fb7299;color:#fff;box-shadow:0 4px 14px rgba(251,114,153,.35);transition:.15s;}
.md-typeset a.cc-bili-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(251,114,153,.45);color:#fff;}
.md-typeset a.cc-bili-btn .cc-bili-play{width:0;height:0;border-style:solid;border-width:6px 0 6px 11px;border-color:transparent transparent transparent currentColor;}
.cc-video-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px;}
.cc-douyin-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px;}
.md-typeset a.cc-douyin-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:10px;font-weight:700;font-size:.92em;line-height:1;text-decoration:none;background:#161823;color:#fff;box-shadow:0 4px 14px rgba(22,24,35,.35);transition:.15s;}
.md-typeset a.cc-douyin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(22,24,35,.45);color:#fff;}
.md-typeset a.cc-douyin-btn .cc-douyin-play{width:0;height:0;border-style:solid;border-width:6px 0 6px 11px;border-color:transparent transparent transparent #fe2c55;}
.md-typeset a.cc-bili-btn.cc-video-pending,
.md-typeset a.cc-douyin-btn.cc-video-pending{background:#e5e0ee;color:#7c6a91;box-shadow:none;cursor:not-allowed;pointer-events:none;}
.md-typeset .cc-media-lazy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:200px;margin:16px 0;border:1px dashed #c3aed8;border-radius:12px;background:#faf7fd;box-shadow:0 4px 16px rgba(73,17,94,.06);}
.md-typeset .cc-video-lazy{max-width:960px;height:320px;}
.md-typeset .cc-media-lazy.cc-media-loaded{display:block;height:auto;margin:0;border:0;background:none;box-shadow:none;}
.md-typeset .cc-media-lazy.cc-video-lazy.cc-media-loaded{max-width:960px;margin:16px 0;border-radius:12px;overflow:hidden;background:#000;}
.md-typeset .cc-media-load{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:0;border-radius:10px;font-family:inherit;font-weight:700;font-size:.92em;line-height:1;cursor:pointer;background:#49115e;color:#fff;box-shadow:0 4px 14px rgba(73,17,94,.25);transition:.15s;}
.md-typeset .cc-media-load:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(73,17,94,.32);}
.md-typeset .cc-media-load:disabled{cursor:default;opacity:.75;transform:none;box-shadow:none;}
.md-typeset .cc-video-lazy .cc-media-load{background:#fb7299;box-shadow:0 4px 14px rgba(251,114,153,.35);}
.md-typeset .cc-video-lazy .cc-media-load:hover{box-shadow:0 8px 20px rgba(251,114,153,.45);}
.md-typeset pre.cc-text-preview{margin:16px 0;padding:16px 18px;max-height:280px;overflow:auto;border:1px solid #e6e0f0;border-radius:12px;background:#faf7fd;box-shadow:0 4px 16px rgba(73,17,94,.06);font-family:inherit;font-size:.84em;line-height:1.75;white-space:pre-wrap;word-break:break-word;}
.md-typeset .cc-lab-enter{text-align:center;margin:28px 0 8px;}
.md-typeset .cc-lab-enter a{display:inline-block;padding:16px 44px;font-size:20px;font-weight:800;color:#fff;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:14px;text-decoration:none;box-shadow:0 8px 26px rgba(37,99,235,.4);}
.md-typeset .cc-lab-enter a:hover{color:#fff;transform:translateY(-2px);transition:.15s;}

/* --------------------------------------------------------------------------
   2. 课程安排表（classes/index.md）
   -------------------------------------------------------------------------- */
.md-typeset table.cc-schedule{border-collapse:collapse;width:100%;font-size:.88em;}
.md-typeset table.cc-schedule th,
.md-typeset table.cc-schedule td{border:1px solid #e6e0f0;padding:8px 10px;}
.md-typeset table.cc-schedule thead th{background:#f0e9f5;color:#49115e;font-weight:700;text-align:center;border-bottom:2px solid #b9a3cc;}
.md-typeset table.cc-schedule tbody.cc-modblock{border:2px solid #b9a3cc;}
.md-typeset table.cc-schedule td.cc-mod{background:#f0e9f5;color:#49115e;font-weight:700;text-align:center;vertical-align:middle;}
.md-typeset table.cc-schedule a.cc-go{display:inline-flex;align-items:center;gap:4px;padding:3px 13px;border-radius:999px;background:#49115e;color:#fff;font-weight:700;font-size:.86em;line-height:1.5;text-decoration:none;white-space:nowrap;box-shadow:0 2px 6px rgba(73,17,94,.25);transition:.15s;}
.md-typeset table.cc-schedule a.cc-go:hover{background:#6d28d9;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(73,17,94,.35);}
.md-typeset table.cc-schedule span.cc-wip{display:inline-flex;align-items:center;gap:4px;padding:3px 13px;border-radius:999px;background:#fef3c7;color:#b45309;font-weight:600;font-size:.84em;line-height:1.5;white-space:nowrap;}
