/* ===== 北大光华 26P6 班级门户 · 设计系统 =====
   风格：MBA 学习资料风 —— 暗色底 #16161a ｜ 米白字 #f3e6cf ｜ 金点缀 #d4a857 ｜ 暖灰 #b9ad97
   （参照课前阅读资料库：近黑底 + 奶油字 + 克金线，权威、安静、像资料库） */

:root{
  --pk-red:#d4a857;                       /* 主色=金 accent：标题/强调/active */
  --pk-red-dark:#b8933f;                  /* 深金：hover/按下 */
  --pk-red-soft:rgba(212,168,87,.12);     /* 淡金底：hover/soft 背景 */
  --gold:#d4a857;
  --gold-soft:#e6c578;                    /* 亮金：hero 名/激活点/描边 */
  --bg:#16161a;                           /* 近黑底 */
  --surface:#21212a;                      /* 卡片 */
  --ink:#f3e6cf;                          /* 米白字 */
  --muted:#b9ad97;                        /* 暖灰次要 */
  --line:#3a3a46;                         /* 分隔线 */
  --line-strong:#4a4a58;                  /* 强线 */
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 6px 24px rgba(0,0,0,.35);
  --shadow-lg:0 16px 48px rgba(0,0,0,.5);
  --maxw:1080px;
  --nav-h:60px;
  --serif:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);line-height:1.7;font-size:16px;
  -webkit-font-smoothing:antialiased;padding-top:var(--nav-h);
  display:flex;flex-direction:column;min-height:100vh;
}
main{flex:1;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.3;margin:0 0 .5em;}
a{color:var(--pk-red);text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 18px;}
.muted{color:var(--muted);}
.center{text-align:center;}
.gold{color:var(--gold);}

/* ===== 顶部导航（暗色） ===== */
.nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:50;
  background:rgba(22,22,26,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;
}
.nav .container{display:flex;align-items:center;justify-content:space-between;width:100%;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;color:var(--ink);}
.brand .logo-img{
  width:48px;height:48px;border-radius:0;object-fit:contain;display:block;
}
.brand .sub{font-size:12px;color:var(--muted);font-family:var(--sans);font-weight:400;letter-spacing:.04em;}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:auto;justify-content:flex-end;}
.nav-links .nav-item{position:relative;}
.nav-links a.nav-link{
  display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;
  color:var(--ink);font-size:14.5px;transition:.18s;
}
.nav-links a.nav-link:hover{background:var(--pk-red-soft);color:var(--pk-red-dark);}
.nav-links a.nav-link.active{color:var(--pk-red);font-weight:600;}
.nav-links a.nav-link .caret{font-size:10px;opacity:.6;}
.dropdown{position:absolute;top:100%;left:0;min-width:170px;background:#1c1c22;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:60;}
.nav-item:hover .dropdown{display:block;}
.dropdown a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);font-size:14px;}
.dropdown a:hover{background:var(--pk-red-soft);color:var(--pk-red-dark);}
.dropdown a.active{color:var(--pk-red);font-weight:600;}

.user-menu{display:flex;align-items:center;gap:10px;margin-left:8px;}
.user-chip{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px 10px;border-radius:20px;border:1px solid var(--line);background:#1c1c22;}
.user-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover;}
.user-chip .nm{font-size:13.5px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.user-pop{position:absolute;top:100%;right:0;min-width:180px;background:#1c1c22;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:60;}
.user-menu:hover .user-pop{display:block;}
.user-pop .user-pop-head{display:flex;align-items:center;gap:10px;padding:10px 12px 12px;
  border-bottom:1px dashed var(--line);margin-bottom:6px;}
.user-pop .user-pop-head img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--line-strong);}
.user-pop a,.user-pop button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;
  background:none;border:none;font-size:14px;color:var(--ink);cursor:pointer;font-family:var(--sans);}
.user-pop a:hover,.user-pop button:hover{background:var(--pk-red-soft);color:var(--pk-red-dark);}

.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.hamburger span{width:22px;height:2px;background:var(--ink);border-radius:2px;}
.drawer{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:#1c1c22;z-index:49;
  transform:translateX(-100%);transition:.25s;overflow-y:auto;padding:18px;}
.drawer.open{transform:translateX(0);}
.drawer .dgroup{margin-bottom:18px;}
.drawer .dgroup h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;}
.drawer .dgroup a{display:block;padding:11px 14px;border-radius:10px;color:var(--ink);font-size:16px;border:1px solid var(--line);margin-bottom:6px;}
.drawer .dgroup a.active{background:var(--pk-red);color:#16161a;border-color:var(--pk-red);}
.drawer .duser{padding:14px;border-radius:12px;background:var(--pk-red-soft);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.drawer .duser img{width:42px;height:42px;border-radius:50%;object-fit:cover;}

/* ===== 页脚 ===== */
.footer, #site-footer{margin-top:120px;border-top:1px solid var(--line);background:#1c1c22;padding:60px 0;color:var(--muted);font-size:13px;}
.footer .container, #site-footer .container{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;align-items:center;}
.footer a, #site-footer a{color:var(--muted);}

/* ===== Hero（暗色金） ===== */
.hero{
  background:linear-gradient(135deg,#1c1c24 0%,#16161a 100%);
  color:var(--ink);padding:54px 0 46px;position:relative;overflow:hidden;
}
.hero::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:120px;height:3px;background:linear-gradient(90deg,transparent,var(--gold-soft),transparent);}
.hero .kicker{font-size:12px;text-transform:uppercase;color:var(--gold);margin:0 0 12px;display:flex;justify-content:flex-start;letter-spacing:0;}
.hero-title-wrap{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;}
.hero h1{font-size:30px;margin:0 0 10px;color:var(--ink);}
.hero p{color:var(--muted);font-size:15.5px;max-width:640px;margin:0;}
.hero .hero-logo{
  width:84px;height:84px;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.hero .hero-logo img{
  width:100%;height:100%;object-fit:contain;display:block;
}

/* ===== Hero 通知轮播 ===== */
.hero{padding-bottom:64px;}
.hero .hero-title{
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:22px;margin-bottom:18px;
}
.hero .hi{font-size:30px;margin:0;color:var(--ink);line-height:1.3;}
.hero .hi .name{color:var(--gold-soft);}
.hero .hi-sub{color:var(--muted);font-size:14.5px;margin-top:8px;}
.hero .hi-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;}
.hero .hi-actions a{
  display:inline-flex;align-items:center;gap:6px;padding:9px 17px;border-radius:20px;
  font-size:13.5px;font-weight:600;background:rgba(255,255,255,.06);color:var(--ink);border:1px solid rgba(255,255,255,.14);
  transition:.18s;
}
.hero .hi-actions a:hover{background:var(--gold);color:#16161a;border-color:transparent;}

/* ===== Hero 未登录状态：居中欢迎页 ===== */
.hero-guest .kicker{justify-content:center;}
.hero-guest .hero-title{align-items:center;text-align:center;}
.hero-guest .hero-title-wrap{align-items:center;text-align:center;}
.hero-guest .hi-actions{justify-content:center;}
.hero-guest .hi-sub{margin-top:8px;margin-left:auto;margin-right:auto;}
.carousel{
  position:relative;overflow:hidden;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  backdrop-filter:blur(6px);margin-top:32px;
}
.carousel .slides{display:flex;transition:transform .55s cubic-bezier(.4,.0,.2,1);}
.carousel .slide{
  flex:0 0 100%;min-width:100%;padding:28px 64px;box-sizing:border-box;
  display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:170px;
}
.carousel .slide .row1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);letter-spacing:.04em;}
.carousel .slide .row1 .cat{padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.1);color:var(--ink);font-weight:600;}
.carousel .slide .row1 .top-chip{padding:3px 10px;border-radius:20px;background:var(--gold);color:#16161a;font-weight:700;}
.carousel .slide .row1 .top{display:none;}
.carousel .slide h3{font-size:24px;color:var(--ink);margin:2px 0 0;line-height:1.3;font-family:var(--serif);}
.carousel .slide p{color:var(--muted);font-size:14.5px;margin:0;line-height:1.7;max-width:760px;}
.carousel .slide .foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:10px;flex-wrap:wrap;}
.carousel .slide .foot .more{color:var(--ink);font-size:13px;opacity:.85;}
.carousel .slide .foot .more:hover{opacity:1;color:var(--gold-soft);}
.carousel .arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;
  transition:.18s;backdrop-filter:blur(6px);
}
.carousel .arrow:hover{background:rgba(255,255,255,.16);}
.carousel .arrow.prev{left:14px;}
.carousel .arrow.next{right:14px;}
.carousel .dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;}
.carousel .dots .d{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:.2s;}
.carousel .dots .d.on{background:var(--gold-soft);width:22px;border-radius:6px;}

/* ===== 知识库轮播（教程 / 动态 / 贡献榜） =====
   复用首页 .carousel 的骨架（箭头/dots/滑动），只补三块内容各自的排版。 */
.kb-carousel{margin-top:0;margin-bottom:22px;cursor:default;}
.kb-carousel .slide{min-height:196px;padding:24px 64px 34px;}
.kb-slide-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.kb-slide-title h3{font-size:20px;margin:0;}
.kb-slide-title .kb-slide-tip{margin-left:auto;color:var(--muted);font-size:12.5px;}
.kb-slide-hint{color:var(--muted);font-size:13.5px;line-height:1.7;margin:0;}
/* 动态：左右分栏（最近更新 / 本周最热） */
.kb-slide-2col{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:4px;}
.kb-slide-2col .col-title{
  color:var(--muted);font-size:12px;letter-spacing:.5px;font-weight:600;margin:0 0 8px;
  display:flex;align-items:center;gap:6px;
}
.kb-mini-list{display:flex;flex-direction:column;gap:7px;}
.kb-mini{
  display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:8px;
  border:1px solid transparent;cursor:pointer;transition:.15s;background:rgba(255,255,255,.025);
}
.kb-mini:hover{background:rgba(212,168,87,.08);border-color:var(--line);}
.kb-mini-no{
  flex:0 0 auto;color:var(--gold);font-weight:700;font-size:11.5px;letter-spacing:.4px;
  background:rgba(212,168,87,.12);padding:2px 7px;border-radius:5px;
  font-family:ui-monospace,"SF Mono",monospace;
}
.kb-mini-title{
  flex:1 1 auto;color:var(--text);font-size:13.5px;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.kb-mini-meta{flex:0 0 auto;color:var(--muted);font-size:11.5px;display:flex;gap:7px;align-items:center;}
.kb-mini-heat{
  flex:0 0 auto;color:var(--gold);font-size:11.5px;font-weight:700;
  background:rgba(212,168,87,.14);padding:2px 8px;border-radius:20px;
}
.kb-mini-empty{
  padding:16px 14px;border:1px dashed var(--line);border-radius:8px;
  color:var(--muted);font-size:12.5px;line-height:1.7;text-align:center;
}
/* 贡献榜 */
.kb-rank{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.kb-rank-item{
  display:flex;align-items:center;gap:11px;padding:8px 13px;border-radius:9px;
  background:rgba(255,255,255,.03);border:1px solid var(--line);transition:.15s;
}
.kb-rank-item.top1{background:linear-gradient(90deg,rgba(212,168,87,.18),rgba(212,168,87,.03));border-color:rgba(212,168,87,.4);}
.kb-rank-medal{flex:0 0 auto;width:26px;text-align:center;font-size:16px;line-height:1;}
.kb-rank-name{flex:1 1 auto;color:var(--text);font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kb-rank-bar{flex:0 0 auto;width:110px;height:6px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;}
.kb-rank-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#b8924a);border-radius:4px;}
.kb-rank-count{flex:0 0 auto;color:var(--gold-soft);font-size:13px;font-weight:700;min-width:34px;text-align:right;}
/* 动态屏：最近更新/本周最热各最多 10 条，超出在屏内滚动，避免撑破轮播高度 */
#kb-slide-feed .kb-mini-list{max-height:162px;overflow-y:auto;padding-right:5px;}
.kb-carousel #kb-slide-feed{min-height:244px;}
/* 检索结果条：筛选激活时显示「共 N 条 + 清除」 */
.kb-resultbar{margin:0 0 12px;font-size:13px;color:var(--muted);}
.kb-resultbar b{color:var(--gold);font-size:14px;}
.kb-clear{color:var(--gold);text-decoration:none;border-bottom:1px dashed var(--gold);cursor:pointer;margin-left:6px;}
.kb-clear:hover{color:var(--gold-soft);}
/* 教程 modal 内的排版 */
.kb-tutor h4{color:var(--gold-soft);font-size:15px;margin:20px 0 10px;display:flex;align-items:center;gap:8px;}
.kb-tutor h4:first-child{margin-top:0;}
.kb-tutor ol,.kb-tutor ul{margin:0;padding-left:20px;color:var(--text);font-size:14px;line-height:1.9;}
.kb-tutor li{margin-bottom:4px;}
.kb-tutor code{background:rgba(212,168,87,.14);color:var(--gold-soft);padding:1px 6px;border-radius:4px;font-size:12.5px;}
.kb-tutor .kb-tutor-note{
  margin-top:14px;padding:11px 14px;border-radius:8px;background:rgba(212,168,87,.07);
  border-left:3px solid var(--gold);color:var(--muted);font-size:13px;line-height:1.8;
}
.kb-step-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 4px;}
.kb-step{
  padding:6px 13px;border-radius:20px;background:rgba(255,255,255,.05);
  border:1px solid var(--line);color:var(--text);font-size:13px;
}
.kb-step-arrow{color:var(--gold);font-size:14px;}

@media (max-width:820px){
  .kb-slide-2col{grid-template-columns:1fr;gap:16px;}
  .kb-carousel .slide{padding:20px 52px 32px;min-height:0;}
  .kb-rank-bar{display:none;}
}

/* ===== 通用区块 ===== */
.section{padding:38px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:23px;display:flex;align-items:center;gap:10px;margin:0;color:var(--ink);}
.section-head h2::before{content:"";width:5px;height:22px;background:var(--gold);border-radius:3px;display:inline-block;}
.section-head .more{font-size:13.5px;color:var(--muted);}

/* ===== 卡片 ===== */
.grid{display:grid;gap:16px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.change-pwd-form{display:flex;flex-direction:column;gap:10px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow);transition:.18s;}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--line-strong);}
.card h3{font-size:17px;margin:0 0 8px;color:var(--ink);}
.card p{margin:0;color:var(--muted);font-size:14px;}
.card .meta{margin-top:12px;font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;}

/* ===== 徽标 / 标签 ===== */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;}
.badge-red{background:var(--pk-red-soft);color:var(--pk-red-dark);}
.badge-gold{background:rgba(212,168,87,.14);color:var(--gold);}
.badge-gray{background:#2c2c36;color:var(--muted);}
.badge-green{background:rgba(143,191,154,.14);color:#8fbf9a;}
.tag{display:inline-block;padding:2px 9px;border-radius:6px;background:rgba(212,168,87,.14);color:var(--gold);font-size:12px;margin:2px 4px 2px 0;}
.kb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.kb-chip{padding:6px 15px;border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;font-size:13px;cursor:pointer;color:var(--muted);transition:.15s;font-family:var(--sans);}
.kb-chip:hover{border-color:var(--gold);color:var(--ink);}
.kb-chip.active{background:var(--gold);border-color:var(--gold);color:#16161a;font-weight:600;}

/* ===== 知识库专用排版（简洁列表） ===== */
.kb-desc{margin:-4px 0 16px;font-size:14px;color:var(--muted);}
.kb-desc code{color:var(--gold);background:rgba(212,168,87,.10);padding:2px 6px;border-radius:5px;font-size:13px;}
.kb-tabs{display:flex;gap:0;margin:4px 0 14px;border-bottom:1px solid var(--line);}
.kb-tabs .tab{background:transparent;border:none;border-radius:0;padding:8px 4px 10px;margin-right:22px;color:var(--muted);font-size:15px;cursor:pointer;position:relative;transition:.15s;}
.kb-tabs .tab:hover{color:var(--ink);}
.kb-tabs .tab.active{color:var(--gold);font-weight:600;background:transparent;}
.kb-tabs .tab.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold);border-radius:2px;}
.kb-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 14px;flex-wrap:wrap;}
.kb-toolbar input,.kb-toolbar select{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--ink);font-size:14px;font-family:inherit;transition:.15s;}
.kb-toolbar input:focus,.kb-toolbar select:focus{outline:none;border-color:var(--gold);}
.kb-toolbar input{min-width:180px;flex:1 1 260px;}
.kb-toolbar select{flex:0 0 auto;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d4a857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.kb-scope{display:flex;gap:0;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;background:var(--surface);}
.kb-scope-btn{padding:7px 14px;border:none;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:.15s;border-right:1px solid var(--line-strong);}
.kb-scope-btn:last-child{border-right:none;}
.kb-scope-btn.active{background:var(--gold);color:#16161a;font-weight:600;}
.kb-scope-btn:not(.active):hover{background:var(--pk-red-soft);color:var(--ink);}
.kb-chips-label{font-size:12.5px;color:var(--muted);margin-bottom:8px;letter-spacing:.02em;}
.kb-list{display:flex;flex-direction:column;gap:12px;}
.kb-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;cursor:pointer;transition:.15s;border-left:3px solid transparent;}
.kb-card:hover{border-color:var(--line-strong);border-left-color:var(--gold);transform:translateY(-1px);}
.kb-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.kb-card-top h3{font-size:16.5px;margin:0;color:var(--ink);line-height:1.35;font-weight:600;}
.kb-card-summary{color:var(--muted);font-size:13.5px;line-height:1.6;margin:8px 0 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.kb-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12.5px;color:var(--muted);}
.kb-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.kb-card-tags .tag{margin:0;}

/* ===== 课程知识库：课程聚合卡片（点开看笔记列表） ===== */
.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;transition:.18s;}
.ccard:hover{border-color:var(--line-strong);box-shadow:var(--shadow);}
.ccard-empty{opacity:.6;background:transparent;border-style:dashed;}
.ccard-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;user-select:none;}
.ccard-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;letter-spacing:.4px;}
.ccard-badge-must{background:linear-gradient(90deg,var(--gold),#b8924a);color:#1a1206;border-color:transparent;}
.ccard-badge-elect{background:transparent;color:var(--gold-soft);border-color:var(--gold);}
.ccard-name{flex:1 1 auto;font-size:16.5px;font-weight:700;color:var(--gold-soft);min-width:0;}
.ccard-meta{color:var(--muted);font-size:12.5px;margin-top:6px;}
.ccard-toggle{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--muted);padding:4px 12px;border-radius:999px;font-size:12px;cursor:pointer;font-family:var(--sans);transition:.15s;}
.ccard-toggle:hover{border-color:var(--gold);color:var(--gold);}
.ccard-toggle.open{background:rgba(212,168,87,.14);color:var(--gold);border-color:var(--gold);}
.ccard-body{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);display:none;}
.ccard-body.open{display:block;}
.ccard-empty-hint{margin:0;padding:12px 14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13.5px;line-height:1.7;}
.ccard-empty-hint b{color:var(--gold-soft);}
.ccard-section-title{color:var(--muted);font-size:12.5px;letter-spacing:.5px;font-weight:600;margin:0 0 12px;}
.ccard-section-title span{color:var(--gold-soft);}

.ccard-note{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:.15s;border:1px solid transparent;}
.ccard-note:hover{background:rgba(212,168,87,.07);border-color:var(--line);}
.ccard-note-no{flex:0 0 auto;color:var(--gold);font-weight:700;font-size:13px;font-family:ui-monospace,"SF Mono",monospace;letter-spacing:.5px;background:rgba(212,168,87,.12);padding:2px 8px;border-radius:6px;}
.ccard-note-title{flex:1 1 auto;color:var(--text);font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ccard-note-meta{flex:0 0 auto;color:var(--muted);font-size:12px;display:flex;gap:8px;align-items:center;}

.cm-list{padding:6px 0 12px;}
.cm-list .ccard-note{border:1px solid var(--line);margin-bottom:9px;padding:12px 14px;}
.cm-list .ccard-note-title{white-space:normal;font-size:14.5px;line-height:1.5;}
.cm-list-empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7;}


/* ===== 蹭课大全（audit） ===== */
/* 层级切换：全部 / 硕博 / 本科（放在星期筛选之上） */
.aud-levels{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px;}
.aud-levels .cal-view{font-weight:700;letter-spacing:.3px;}
.aud-levels .cal-view.active{background:linear-gradient(135deg,var(--gold),#b8924a);color:#1a1206;border-color:transparent;}
/* 卡片右上角徽章组：层级 + 必修/选修 */
.aud-badges{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
/* 使用说明：多层级时的小标题 */
.notes-title{font-size:13.5px;font-weight:700;color:var(--gold);margin:6px 0 2px;}
.aud-bar{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;}
.aud-search-wrap{position:relative;display:flex;align-items:center;flex:0 1 260px;min-width:180px;max-width:280px;}
.aud-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted);pointer-events:none;}
.aud-search{flex:0 0 auto;width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 12px 9px 34px;color:var(--ink);font-size:14px;font-family:inherit;}
.aud-search::placeholder{color:var(--muted);}
.aud-search:focus{outline:none;border-color:var(--gold);}
.aud-search-wrap:focus-within .aud-search-icon{color:var(--gold);}
.aud-count{font-size:13px;color:var(--muted);margin-bottom:8px;}
.aud-list{display:flex;flex-direction:column;gap:12px;}
.aud-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;transition:.15s;}
.aud-card:hover{border-color:var(--line-strong);}
.aud-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;flex-wrap:wrap;}
.aud-name{font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;}
.aud-meta{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.6;}
.aud-meta b{color:var(--gold);font-weight:600;}
.aud-time{font-size:13px;color:var(--gold);margin-top:8px;line-height:1.6;}
.aud-note{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.6;background:rgba(212,168,87,.06);border-left:3px solid var(--gold);padding:7px 10px;border-radius:6px;word-break:break-word;}
.aud-code{font-size:11.5px;color:var(--muted);margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.aud-more{display:block;margin:16px auto 0;background:transparent;border:1px dashed var(--line);color:var(--gold);border-radius:9px;padding:9px 22px;font-size:13.5px;cursor:pointer;font-family:var(--sans);transition:.15s;}
.aud-more:hover{border-color:var(--gold);background:var(--pk-red-soft);}
.aud-jump{text-align:center;}
.aud-jump-btn{display:inline-block;margin:4px auto 0;background:linear-gradient(135deg,rgba(212,168,87,.16),rgba(212,168,87,.06));border:1px solid var(--gold);color:var(--gold);border-radius:11px;padding:13px 26px;font-size:15px;font-weight:700;letter-spacing:.3px;text-decoration:none;font-family:var(--sans);transition:.18s;box-shadow:0 2px 14px rgba(212,168,87,.12);}
.aud-jump-btn:hover{background:var(--gold);color:#1a1a1a;box-shadow:0 4px 20px rgba(212,168,87,.28);transform:translateY(-1px);}
.aud-jump-sub{display:block;font-size:13px;font-weight:600;opacity:.9;margin-top:3px;}
.notes-list{display:flex;flex-direction:column;gap:10px;}
.note-item{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;}
.note-item .n{flex:0 0 auto;min-width:24px;height:24px;border-radius:50%;background:rgba(212,168,87,.14);color:var(--gold);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.note-item .t{font-size:14px;color:var(--ink);line-height:1.7;min-width:0;flex:1 1 auto;overflow-wrap:anywhere;word-break:break-word;}

/* ===== 独立课表页（对外分享，无系统导航 / 无登录墙） ===== */
body.standalone{padding-top:0;}
.standalone-head{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 0;}
.standalone-head .sh-brand{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--ink);letter-spacing:.5px;}
.standalone-head .sh-sub{font-size:12.5px;color:var(--muted);margin-top:2px;}
.standalone-foot{border-top:1px solid var(--line);padding:18px 0;margin-top:28px;color:var(--muted);font-size:12.5px;text-align:center;}

/* 课程详情：弹层 + 课表页底部卡片共用 .cd-row/.cd-k */
.cd-row{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.cd-row:last-child{border-bottom:none;}
.cd-k{flex:0 0 76px;color:var(--muted);}
.cd-row>span:last-child{flex:1;}
/* 课程资料链接列表化：课前阅读/学习笔记/讲义等竖排成一行一个链接 */
.link-list{display:flex;flex-direction:column;gap:7px;align-items:stretch;}
.link-list .tag,.link-list .tag-btn{display:block;width:100%;box-sizing:border-box;text-align:left;margin:0;padding:8px 12px;border-radius:8px;font-size:13.5px;line-height:1.4;word-break:break-all;}
.link-list .tag::before{content:"↗ ";color:var(--gold);font-weight:700;}
.link-list .tag-btn::before{content:"▸ ";color:var(--gold);font-weight:700;}
/* 知识库：合并课前阅读/课程讲义/学习笔记 为带标签的列表（取代原三行分散字段） */
.kb-unified-list{display:flex;flex-direction:column;gap:7px;align-items:stretch;}
.kb-uni-item{display:flex;align-items:flex-start;gap:10px;}
.kb-tag{flex:0 0 auto;display:inline-block;padding:3px 9px;border-radius:6px;font-size:11.5px;font-weight:600;line-height:1.5;margin-top:1px;white-space:nowrap;}
.kb-tag-reading{background:rgba(212,168,87,.16);color:var(--gold);}
.kb-tag-handout{background:rgba(127,176,224,.16);color:#7fb0e0;}
.kb-tag-notes{background:rgba(154,184,127,.16);color:#9ab87f;}
.kb-uni-link{flex:1;color:var(--ink-2);text-decoration:none;font-size:14px;line-height:1.5;word-break:break-all;padding:2px 0;}
.kb-uni-link:hover{color:var(--gold);}
.kb-uni-btn{flex:1;text-align:left;background:transparent;border:none;cursor:pointer;font-family:inherit;color:var(--ink-2);font-size:14px;line-height:1.5;padding:2px 0;word-break:break-all;}
.kb-uni-btn:hover{color:var(--gold);}
/* 上课教室：重要字段，金色加粗突出（弹层置顶显示） */
.cd-row .cd-room{color:var(--gold);font-weight:600;}
/* 课程详情卡片（课表页底部“课程详情”区块，每门课一张，课前阅读为其中一项） */
/* 外层容器去掉面板外壳，仅作卡片排布的容器 */
#course-details-card.card{background:transparent;border:none;box-shadow:none;padding:0;border-radius:0;}
#course-details-card{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media (max-width:720px){ #course-details-card{grid-template-columns:1fr;} }
/* 展开/收起按钮：占满整行、居中、金色胶囊 */
.cd-toggle{grid-column:1/-1;justify-self:center;margin-top:4px;padding:9px 22px;border:1px solid var(--gold);background:transparent;color:var(--gold);border-radius:999px;font-size:13.5px;cursor:pointer;font-family:var(--sans);transition:background .15s,border-color .15s;}
.cd-toggle:hover{background:rgba(212,168,87,.14);}
/* 每张卡：独立面板 + 间距，视觉上一门课一张卡 */
.cd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px 17px;transition:.18s;}
.cd-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);}
.cd-card-ori{border-color:rgba(212,168,87,.35);background:rgba(212,168,87,.05);}
.cd-card-name{font-size:16px;font-weight:700;color:var(--gold-soft);margin-bottom:9px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.cd-badge{display:inline-block;margin-right:8px;padding:2px 9px;border-radius:999px;background:rgba(212,168,87,.16);color:var(--gold-soft);font-size:11.5px;font-weight:600;vertical-align:middle;border:1px solid rgba(212,168,87,.32);}
.cd-badge-must{background:linear-gradient(90deg,var(--gold),#b8924a);color:#1a1206;border-color:transparent;}

/* ===== 按钮 ===== */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:10px;font-size:14.5px;
  font-weight:600;cursor:pointer;border:1px solid transparent;transition:.18s;font-family:var(--sans);}
.btn-primary{background:var(--pk-red);color:#16161a;}
.btn-primary:hover{background:var(--pk-red-dark);}
.btn-outline{border-color:var(--gold);color:var(--gold);background:transparent;}
.btn-outline:hover{background:var(--pk-red-soft);}
.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--line-strong);}
.btn-sm{padding:6px 12px;font-size:13px;}

/* ===== 表单 ===== */
.field{margin-bottom:16px;}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.field input,.field textarea,.field select{
  width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;
  font-size:15px;font-family:var(--sans);background:var(--bg);color:var(--ink);
}
.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d4a857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;}
/* 通用暗金下拉皮肤（列表页筛选等）：药丸形 + 金色箭头，覆盖系统原生感 */
.wb-select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:var(--surface)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d4a857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    right 12px center no-repeat;
  color:var(--ink);font-family:var(--sans);font-size:14px;color-scheme:dark;
  border:1px solid var(--line-strong);border-radius:20px;
  padding:8px 32px 8px 14px;min-width:110px;cursor:pointer;
  transition:border-color .18s,box-shadow .18s,background-color .18s;
}
.wb-select:hover,.wb-select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(212,168,87,.12);}
.wb-select option{background:var(--surface);color:var(--ink);font-size:14px;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--pk-red);box-shadow:0 0 0 3px var(--pk-red-soft);}
/* 覆盖浏览器自动填充（Chrome/Safari/Edge）染的浅蓝底色，强制与 .field input 默认底色一致 */
.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus,
.field textarea:-webkit-autofill,.field select:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--bg) inset !important;
  -webkit-text-fill-color:var(--ink) !important;
  caret-color:var(--ink);
  transition:background-color 5000s ease-in-out 0s;
}
.form-card{max-width:420px;margin:40px auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);}
.form-card h2{text-align:center;font-size:22px;color:var(--ink);}

/* ===== 表格 / 课表 ===== */
.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14.5px;color:var(--ink);}
.table th{background:#2a2a34;color:var(--pk-red-dark);font-weight:600;font-size:13.5px;}
.schedule{display:grid;grid-template-columns:64px repeat(7,1fr);gap:8px;}
.schedule .slot-head{font-size:12.5px;color:var(--muted);text-align:center;padding:8px 0;font-weight:600;}
.schedule .day-head{text-align:center;padding:8px 0;font-weight:600;background:#2a2a34;border-radius:8px;font-size:13.5px;color:var(--ink);}
.schedule .cell{min-height:78px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px;font-size:12.5px;color:var(--ink);}
.schedule .cell.has{background:var(--pk-red-soft);border-color:rgba(212,168,87,.35);}
.schedule .cell.now{outline:2px solid var(--gold);outline-offset:-2px;}
.schedule .cell .c-name{font-weight:600;color:var(--pk-red-dark);}
.schedule .cell .c-room{color:var(--muted);font-size:11.5px;}

/* ===== 月历课表 ===== */
.cal-bar{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
.cal-navrow{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;}
.cal-navrow .cal-title{flex:1;min-width:0;margin-left:0;text-align:left;}
.cal-title{font-size:18px;font-weight:600;color:var(--ink);min-width:120px;}
.cal-nav{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:14px;}
.cal-nav:hover{border-color:var(--gold);}
.cal-hint{font-size:12.5px;margin-left:auto;}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px;}
.cal-weekdays div{text-align:center;font-size:13px;color:var(--muted);font-weight:600;padding:4px 0;}
.cal-weekdays .we{color:var(--gold);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.cal-cell{position:relative;min-height:72px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 8px 14px;font-size:12px;color:var(--ink);cursor:pointer;transition:border-color .15s;}
.cal-cell:hover{border-color:var(--gold);}
.cal-cell.empty-cell{background:transparent;border:none;cursor:default;}
.cal-cell.we{background:rgba(212,168,87,.06);}
.cal-cell.today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;}
.cal-d{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:4px;}
.cal-cell.we .cal-d{color:var(--gold);}
.cal-chips{display:flex;flex-direction:column;gap:4px;}
.cal-chip{background:var(--pk-red-soft);border:1px solid rgba(212,168,87,.3);border-radius:6px;padding:3px 5px;line-height:1.25;}
.cal-chip .t{display:block;font-size:10.5px;color:var(--muted);}
.cal-chip .n{font-weight:600;font-size:12px;color:var(--gold);}
.cal-chip.evt{background:rgba(212,168,87,.12);}
/* 课表紧凑视图里的「同学笔记」金色标记：有笔记才显示，点去知识库 */
.kb-flag{flex:0 0 auto;display:inline-flex;align-items:center;gap:1px;margin-top:4px;padding:1px 7px;border-radius:999px;background:rgba(212,168,87,.18);color:var(--gold);font-size:11px;font-weight:700;text-decoration:none;transition:.15s;}
.kb-flag:hover{background:var(--gold);color:#16161a;}
.cal-add{position:absolute;right:6px;bottom:5px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:14px;line-height:1;cursor:pointer;display:none;}
.cal-cell:hover .cal-add{display:block;}
.cal-add:hover{border-color:var(--gold);color:var(--gold);}
.cal-cell.sel{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;background:rgba(212,168,87,.10);}
.cal-marks{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px;min-height:16px;}
.cal-dot{background:var(--gold);color:#16161a;font-size:10.5px;font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:9px;padding:0 4px;}

/* 月视图：点日期后下方课程列表 */
.day-panel{margin-top:16px;border-top:1px dashed var(--line);padding-top:14px;}
.dp-hint{color:var(--muted);font-size:13px;padding:6px 2px;}
.dp-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;}
.dp-date{font-size:16px;font-weight:700;color:var(--ink);}
.dp-week{font-size:12px;color:var(--muted);}
.dp-week.we{color:var(--gold);}
.dp-empty{color:var(--muted);font-size:13px;padding:4px 2px;}
.dp-items{display:flex;flex-direction:column;gap:8px;}

/* 周视图：当周 7 列（周一~周日），每列竖向排课程小条 */
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.week-col{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px;min-height:120px;}
.week-col.we{background:rgba(212,168,87,.06);}
.week-col.today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;}
.week-hd{text-align:center;font-weight:600;font-size:13.5px;color:var(--ink);padding:6px 0 8px;border-bottom:1px solid var(--line);margin-bottom:2px;}
.week-hd .wd-d{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:2px;}
.week-col .week-empty{color:var(--muted);font-size:12px;text-align:center;margin-top:8px;opacity:.5;}
.week-col .cal-chip{margin:0;}

/* 视图切换（列表 / 周 / 月） */
.cal-views{display:inline-flex;background:#1c1c22;border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px;}
.cal-view{padding:6px 16px;border:none;background:transparent;color:var(--muted);font-size:14px;border-radius:7px;cursor:pointer;font-family:var(--sans);transition:.15s;}
.cal-view:hover{color:var(--ink);}
.cal-view.active{background:var(--pk-red);color:#16161a;font-weight:600;}
.cal-title{font-size:18px;font-weight:600;color:var(--ink);margin-left:4px;}

/* 列表视图（默认）：手机友好、零空白 */
.agenda-list{display:flex;flex-direction:column;gap:14px;}
.agenda-day{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);}
.ad-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.ad-date{font-size:16px;font-weight:600;color:var(--ink);}
.ad-week{font-size:13px;color:var(--muted);}
.ad-week.we{color:var(--gold);}
.ad-add{margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:5px 12px;font-size:13px;cursor:pointer;font-family:var(--sans);transition:.15s;}
.ad-add:hover{border-color:var(--gold);color:var(--gold);}
.ad-items{display:flex;flex-direction:column;gap:8px;}
.agenda-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#1c1c22;cursor:pointer;transition:border-color .15s,background .15s;}
.agenda-item:hover{border-color:var(--gold);background:var(--pk-red-soft);}
.ai-time{flex:0 0 auto;min-width:96px;font-size:12.5px;color:var(--gold);font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.ai-name{flex:1 1 auto;min-width:160px;font-weight:600;color:var(--ink);font-size:14.5px;}
.ai-room{flex:0 0 auto;font-size:12.5px;color:var(--muted);white-space:normal;word-break:break-word;line-height:1.45;}
.ai-note{flex:1 1 100%;font-size:12px;color:var(--gold);opacity:.9;margin-top:3px;padding-left:108px;line-height:1.4;word-break:break-word;}
.agenda-toggle{align-self:center;margin-top:4px;background:transparent;border:1px dashed var(--line);color:var(--gold);border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer;font-family:var(--sans);transition:.15s;}
.agenda-toggle:hover{border-color:var(--gold);background:var(--pk-red-soft);}

/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;}
.modal{width:min(460px,92vw);background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;max-height:90vh;display:flex;flex-direction:column;}
.modal-wide{width:min(720px,94vw);}
.wikilink{color:var(--gold);border-bottom:1px dashed var(--gold);cursor:pointer;text-decoration:none;}
.wikilink:hover{background:rgba(212,168,87,.12);}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);flex:0 0 auto;}
.modal-head h3{font-size:17px;color:var(--ink);}
.modal-x{background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1;}
.modal-body{padding:18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1 1 auto;min-height:0;}
.modal-body label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);}
.modal-body input{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--ink);font-size:14px;font-family:inherit;}
.modal-body .row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.modal-err{color:#e07a7a;font-size:13px;min-height:16px;}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line);}

/* ===== 学习笔记弹层（note-modal）：暗金排版 ===== */
.note-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:840px;width:min(840px,94vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;}
.note-modal.dragging{user-select:none;}
.note-modal .modal-head{cursor:move;touch-action:none;}
.note-modal .modal-head button,.note-modal .modal-head a{cursor:pointer;touch-action:auto;}
.note-body{padding:20px 26px;overflow-y:auto;max-height:calc(90vh - 64px);display:flex;flex-direction:column;gap:8px;}
/* 内容容器嵌套在可滚动外框里，自身不要再滚动/不要再 padding */
.note-body.kb-content-full{overflow:visible;max-height:none;padding:0;display:block;}
/* 知识库：课程信息卡 + 讲义全文（版式对齐对外课程页 cd-card） */
.kb-course-card{margin-bottom:2px;}
.kb-lecture{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:block;}
.kb-lecture-title{font-size:14px;font-weight:600;color:var(--gold);margin-bottom:10px;}
.kb-lecture-body{display:block;}
.note-body .nb-meta{color:var(--muted);font-size:12.5px;margin-bottom:4px;}
.note-body .nb-disclaimer{color:#c98a4a;font-size:12px;background:rgba(201,138,74,.10);border:1px solid rgba(201,138,74,.30);border-radius:6px;padding:8px 12px;margin-bottom:12px;}
.note-body .nb-h2{font-size:17px;font-weight:600;color:var(--gold);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);}
.note-body .nb-h3{font-size:15px;font-weight:600;color:var(--ink);margin:14px 0 6px;}
.note-body .nb-h4{font-size:14px;font-weight:600;color:var(--gold);margin:10px 0 4px;display:flex;align-items:center;gap:6px;}
.note-body .nb-h4::before{content:"▸";color:var(--gold);font-size:11px;opacity:.8;}
.note-body .nb-p{color:var(--ink);line-height:1.75;margin:5px 0;font-size:14px;}
.note-body .nb-ul,.note-body .nb-ol{margin:5px 0 5px 0;padding-left:22px;}
.note-body .nb-ul li,.note-body .nb-ol li{color:var(--ink);line-height:1.75;margin:4px 0;font-size:14px;}
.note-body .nb-ul li::marker{color:var(--gold);}
/* 嵌套列表：子级缩进 + 层级标记色递进（二级金/三级灰） */
.note-body .nb-ul ul,.note-body .nb-ul ol,.note-body .nb-ol ul,.note-body .nb-ol ol{margin:2px 0;padding-left:20px;}
.note-body .nb-ul ul li::marker{color:rgba(212,168,87,.65);}
.note-body .nb-ul ul ul li::marker{color:var(--muted);}
/* 引用块内部段落（多行合并展示） */
.note-body .nb-bq .nb-bq-p{margin:3px 0;line-height:1.7;}
/* 行内图片（列表项内嵌图） */
.note-body img.nb-inline-img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line);display:block;margin:8px 0;}
/* 原样内嵌 HTML 信息图卡片（豆包 SVG 信息图） */
.note-body .nb-html-card{margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55);overflow-x:auto;}
.note-body .nb-html-card svg{max-width:100%;height:auto;}
.note-body strong{color:var(--gold);font-weight:600;}
.note-body .nb-callout{background:rgba(212,168,87,.08);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:12px 14px;margin:8px 0 4px;}
.note-body .nb-callout-title{font-weight:600;color:var(--gold);margin-bottom:6px;font-size:14px;letter-spacing:.02em;}
.note-body .nb-callout ul{margin:4px 0 0;padding-left:20px;}
.note-body .nb-callout li{color:var(--ink);line-height:1.7;font-size:13.5px;margin:3px 0;}
.note-body .nb-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px;}
.note-body .nb-table caption{caption-side:top;text-align:left;color:var(--gold);font-weight:600;margin-bottom:6px;font-size:14px;padding-top:4px;}
.note-body .nb-table th,.note-body .nb-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;color:var(--ink);vertical-align:top;}
.note-body .nb-table th{background:rgba(212,168,87,.10);color:var(--gold);font-weight:600;}
.note-body .nb-table tr:nth-child(even) td{background:rgba(255,255,255,.015);}
.note-body .nb-bars{margin:8px 0 4px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;}
.note-body .nb-bars-title{color:var(--gold);font-weight:600;font-size:14px;margin-bottom:10px;}
.note-body .nb-bar-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:13px;color:var(--ink);}
.note-body .nb-bar-label{flex:0 0 90px;color:var(--ink);}
.note-body .nb-bar-track{flex:1;height:10px;background:rgba(255,255,255,.05);border-radius:5px;overflow:hidden;border:1px solid var(--line);}
.note-body .nb-bar-fill{height:100%;background:linear-gradient(90deg,var(--gold),#b8924a);border-radius:5px;display:block;}
.note-body .nb-bar-value{flex:0 0 64px;text-align:right;color:var(--gold);font-weight:600;}
.note-body .nb-caption{color:var(--muted);font-size:12.5px;font-style:italic;margin:2px 0 10px;text-align:center;}
/* 讲义目录（TOC）+ 课件图 */
.note-body .nb-toc{border:1px solid var(--line);border-radius:10px;padding:14px 16px 12px;margin:6px 0 18px;background:var(--surface);}
.note-body .nb-toc-title{font-weight:700;color:var(--gold);font-size:14px;margin-bottom:10px;letter-spacing:.5px;}
.note-body .nb-toc a{display:block;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.75;padding:2px 0;transition:color .15s;}
.note-body .nb-toc a:hover{color:var(--gold);}
.note-body .nb-toc a.nb-toc-lv1{font-weight:600;margin-top:8px;}
.note-body .nb-toc a.nb-toc-lv1:first-child{margin-top:0;}
.note-body .nb-toc a.nb-toc-lv2{padding-left:16px;color:var(--muted);}
.note-body .nb-toc a.nb-toc-lv2:hover{color:var(--gold);}
.note-body .nb-figure{margin:14px 0 18px;}
.note-body .nb-figure img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--line);display:block;background:#000;}
.note-body .nb-figure figcaption{color:var(--muted);font-size:12px;margin-top:6px;line-height:1.6;text-align:center;}
.note-body .nb-h2[id],.note-body .nb-h3[id]{scroll-margin-top:14px;}
/* 笔记按钮（无 url 的 tag 变成可点按钮，打开内嵌笔记） */
.tag-btn{border:none;cursor:pointer;font-family:inherit;}
.tag-btn:hover{background:rgba(212,168,87,.24);}
@media(max-width:640px){
  .note-body{padding:16px 18px;max-height:calc(95vh - 56px);}
  .note-body .nb-h2{font-size:16px;}
  .note-body .nb-bar-label{flex:0 0 70px;font-size:12px;}
  .note-body .nb-bar-value{flex:0 0 52px;font-size:12px;}
  .note-body .nb-table{font-size:12px;}
  .note-body .nb-table th,.note-body .nb-table td{padding:6px 8px;}
}

/* ===== 笔记评论 ===== */
.kb-comments{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.kb-comments-title{font-size:14px;font-weight:600;color:var(--gold);margin-bottom:10px;}
.kb-comment{padding:10px 0;border-bottom:1px solid var(--line);}
.kb-comment:last-child{border-bottom:none;}
.kb-comment-meta{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-size:12px;}
.kb-comment-author{color:var(--ink);font-weight:600;}
.kb-comment-time{color:var(--muted);}
.kb-comment-text{color:var(--ink);font-size:13.5px;line-height:1.7;white-space:pre-wrap;}
.kb-comment-empty{padding:10px 0;font-size:13px;}
.kb-comment-box{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.kb-comment-input{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);font-family:inherit;font-size:13px;line-height:1.6;resize:vertical;}
.kb-comment-input:focus{outline:none;border-color:var(--gold);}
#comment-submit{align-self:flex-end;}
/* 知识库 Markdown 渲染补充样式 */
.note-body .nb-bq{border-left:3px solid var(--gold);background:rgba(212,168,87,.06);color:var(--ink);padding:10px 14px;margin:8px 0;font-size:14px;line-height:1.7;border-radius:0 6px 6px 0;}
.note-body .nb-code{background:#0d0d0f;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:10px 0;overflow-x:auto;font-size:13px;line-height:1.6;}
.note-body .nb-code code{font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;color:#e8d5b7;}
.note-body .nb-inline-code{background:rgba(212,168,87,.12);color:var(--gold);padding:2px 6px;border-radius:4px;font-size:13px;font-family:'SF Mono',SFMono-Regular,Consolas,monospace;}
.note-body .nb-hr{border:none;border-top:1px solid var(--line);margin:16px 0;}
@media(max-width:640px){
  .cal-grid{gap:4px;}
  .cal-cell{min-height:56px;padding:6px 4px 12px;font-size:11px;}
  .cal-dot{font-size:9.5px;min-width:14px;height:14px;line-height:14px;}
  .cal-chip .n{font-size:11px;}
  .cal-hint{display:none;}
  .cal-views{margin-bottom:6px;}
  /* 周视图窄屏：7 列太挤，改为横向滚动 + 最小列宽 */
  .week-grid{grid-template-columns:repeat(7,minmax(104px,1fr));overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .week-col{min-height:88px;padding:6px 7px;}
  .week-hd{font-size:12px;padding:5px 0 6px;}
  .ai-room{width:100%;padding-left:0;font-size:11.5px;color:var(--muted);}
  .ai-note{width:100%;padding-left:0;margin-top:4px;font-size:11.5px;}
  /* 手机端拍平嵌套：外层日历卡片、按天面板透明化，只保留每条课程做面板，避免一层套一层 */
  .section{padding:34px 0 26px;}
  #cal-card.card{background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:18px;}
  .agenda-day{background:transparent;border:none;box-shadow:none;padding:0;}
  .agenda-list{gap:24px;}
  .ad-head{margin:0 0 24px;}
  .cd-card{padding:13px 14px;}
  .cd-card-name{font-size:15px;}
  /* 蹭课大全移动端：筛选条横向滚动，搜索框居中、上下间距紧凑 */
  .aud-bar{flex-direction:column;align-items:center;gap:8px;}
  #aud-views{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
  .aud-search-wrap{width:100%;max-width:320px;flex:0 0 auto;}  /* 纵向 bar 下 flex-basis 会变高度,必须钉死 auto */
  .aud-count{margin-bottom:6px;}
}

/* ===== 进度条 / DDL ===== */
.ddl{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);
  border-radius:var(--radius);background:var(--surface);margin-bottom:10px;box-shadow:var(--shadow);transition:.15s;}
.ddl:hover{border-color:rgba(212,168,87,.5);transform:translateY(-1px);}
.ddl.due{border-color:rgba(212,168,87,.4);background:rgba(212,168,87,.07);}
.ddl .matter-type{flex:0 0 auto;}                       /* 类型标签固定不收缩 */
.ddl-main{flex:1;min-width:0;}                           /* 主区：标题 + 副行，可收缩省略 */
.ddl-title{font-weight:600;color:var(--ink);font-size:14.5px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ddl-sub{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ddl .count{flex:0 0 auto;font-family:var(--serif);font-size:17px;font-weight:700;color:var(--pk-red);
  white-space:nowrap;padding:4px 10px;border-radius:10px;background:rgba(200,60,60,.1);}
.ddl .count.soon{color:#16161a;background:rgba(212,168,87,.22);}   /* 临期：金底更醒目 */
.ddl .count.ok{color:#8fbf9a;background:rgba(143,191,154,.12);}
/* 事项提醒：类型标签 + 过期置灰 + 筛选条 */
.matter-type{display:inline-block;font-size:11px;line-height:1;padding:3px 8px;border-radius:20px;font-weight:600;vertical-align:middle;white-space:nowrap;}
.type-作业{color:#d4a857;background:rgba(212,168,87,.15);border:1px solid rgba(212,168,87,.42);}
.type-活动{color:#7fb0e0;background:rgba(127,176,224,.14);border:1px solid rgba(127,176,224,.42);}
.type-通知{color:#9ab87f;background:rgba(154,184,127,.14);border:1px solid rgba(154,184,127,.42);}
.type-考试{color:#e09b9b;background:rgba(224,155,155,.14);border:1px solid rgba(224,155,155,.42);}
.ddl.overdue{opacity:.5;}
.ddl.overdue .ddl-title{text-decoration:line-through;text-decoration-color:rgba(185,173,151,.6);}
/* 已完成：整条变灰（标题灰+删除线），压掉临期高亮/闪动 */
.ddl.done{opacity:.55;}
.ddl.done .ddl-title{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(185,173,151,.5);}
.ddl.done.due{background:var(--surface);border-color:var(--line);animation:none;}
.ddl.done.urgent{animation:none;background:var(--surface);}
.ddl.done .count.soon{animation:none;}

/* 事项提醒：临期(距截止 0~3 天)脉冲闪动提醒 */
@keyframes matter-glow{
  0%,100%{box-shadow:0 0 0 0 rgba(224,90,90,0);border-color:rgba(224,90,90,.45);}
  50%{box-shadow:0 0 0 4px rgba(224,90,90,.22);border-color:rgba(224,90,90,.9);}
}
@keyframes matter-blink{
  0%,100%{opacity:1;}
  50%{opacity:.4;}
}
.ddl.urgent{background:rgba(224,90,90,.09);animation:matter-glow 1.5s ease-in-out infinite;}
.ddl.urgent .count.soon{animation:matter-blink 1.1s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){
  .ddl.urgent,.ddl.urgent .count.soon{animation:none;}
  .ddl.urgent{border-color:rgba(224,90,90,.7);}
}
.matter-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.matter-filters .chip{font-size:13px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:20px;background:var(--surface);color:var(--ink-2);cursor:pointer;transition:.15s;}
.matter-filters .chip.active{background:var(--gold);color:#16161a;border-color:var(--gold);font-weight:600;}

/* ===== 通讯录 ===== */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.person{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow);}
.person img{width:74px;height:74px;border-radius:50%;object-fit:cover;margin:0 auto 10px;border:2px solid var(--gold-soft);}
.person .nm{font-weight:600;font-size:15px;color:var(--ink);}
.person .mt{font-size:12.5px;color:var(--muted);margin-top:3px;}

/* ===== 时间线（活动） ===== */
.timeline{position:relative;padding-left:26px;}
.timeline::before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--line-strong);}
.tl-item{position:relative;margin-bottom:24px;}
.tl-item::before{content:"";position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--pk-red);border:2px solid #16161a;box-shadow:0 0 0 2px var(--gold-soft);}
.tl-item .date{font-size:13px;color:var(--gold);font-weight:600;}
.tl-item h3{font-size:18px;margin:4px 0 6px;color:var(--ink);}

/* ===== 相册 ===== */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;}
.album-grid .ph{aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:#2a2a34;}
.album-grid .ph img{width:100%;height:100%;object-fit:cover;transition:.25s;}
.album-grid .ph:hover img{transform:scale(1.05);}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92%;max-height:88%;border-radius:10px;}

/* ===== 笔记列表 ===== */
.list-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow);}
.list-item h3{font-size:17px;margin:0 0 6px;color:var(--ink);}
.list-item .body{color:var(--ink);font-size:14.5px;}
.list-item .actions{margin-top:10px;display:flex;gap:14px;font-size:13px;color:var(--muted);}
.list-item .actions a{cursor:pointer;}
.list-item .actions a.liked{color:var(--pk-red);font-weight:600;}

/* ===== 工具类 ===== */
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.spread{justify-content:space-between;}
.wrap{display:flex;flex-wrap:wrap;gap:8px;}
.mt8{margin-top:8px;}.mt16{margin-top:16px;}.mt24{margin-top:24px;}.mb16{margin-bottom:16px;}
.hide{display:none!important;}
.empty{text-align:center;color:var(--muted);padding:40px 0;}
.searchbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.searchbar input{flex:1;min-width:200px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:10px;font-size:15px;background:var(--bg);color:var(--ink);}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2a2a34;color:var(--ink);padding:12px 20px;border-radius:10px;font-size:14px;z-index:200;opacity:0;transition:.25s;pointer-events:none;}
.toast.show{opacity:1;}

/* ===== 知识库页面 ===== */
.badge-soft{background:var(--pk-red-soft);color:var(--pk-red-dark);}
.kb-content{margin:8px 0 4px;font-size:14px;line-height:1.65;color:var(--ink);white-space:pre-wrap;}
.keybox{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap;}
.keybox input{flex:1;min-width:220px;padding:10px 12px;border:1px dashed var(--pk-red);border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#1c1c22;color:var(--pk-red-dark);}
.tabs{display:flex;gap:6px;margin:14px 0 8px;}
.tab{padding:6px 16px;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;font-size:13.5px;cursor:pointer;color:var(--muted);}
.tab.active{background:var(--pk-red);border-color:var(--pk-red);color:#16161a;}
.codeblock{background:#0d0d10;color:#e8e2d4;padding:16px;border-radius:12px;font-size:12.5px;line-height:1.6;overflow-x:auto;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.form-err{background:rgba(212,168,87,.1);color:#e6c578;border:1px solid rgba(212,168,87,.3);padding:12px 14px;border-radius:10px;font-size:13.5px;white-space:pre-wrap;margin-bottom:12px;}

/* ===== 响应式 ===== */
@media(max-width:860px){
  .nav-links{display:none;}
  .hamburger{display:flex;margin-left:auto;}
  .user-menu{display:none;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:24px;}
  .schedule{grid-template-columns:48px repeat(7,1fr);gap:5px;font-size:11px;}
  .schedule .cell{min-height:60px;padding:4px;}
  .hero{padding-bottom:50px;}
  .hero .hi{font-size:22px;}
  .carousel .slide{padding:22px 50px 34px;min-height:160px;}
  .carousel .slide h3{font-size:19px;}
  .carousel .arrow{width:32px;height:32px;font-size:16px;}
  .carousel .arrow.prev{left:8px;}
  .carousel .arrow.next{right:8px;}
  .carousel .dots{bottom:8px;}
}
@media(max-width:480px){
  .grid-4{grid-template-columns:1fr 1fr;}
}

/* ===== P4.5 用户引导：模态框 / 引导步骤（局部新增，不重写全局） ===== */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;}
.modal-mask.hide{display:none;}
.modal-card{position:relative;background:var(--bg,#16161a);border:1px solid var(--gold-soft,rgba(212,168,87,.35));border-radius:16px;max-width:440px;width:100%;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:88vh;overflow:auto;}
.modal-card h3{margin:0 0 6px;color:var(--gold,#d4a857);font-size:19px;}
.modal-card .muted{font-size:13px;line-height:1.6;}
.modal-close{position:absolute;top:12px;right:14px;border:none;background:transparent;color:var(--ink-2,#bbb);font-size:18px;cursor:pointer;line-height:1;padding:4px;}
.modal-close:hover{color:var(--gold,#d4a857);}
.guide-step{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);}
.guide-step:first-of-type{border-top:none;margin-top:10px;}
.guide-step b{color:var(--ink,#eee);font-size:14.5px;}
.guide-step ol{margin:8px 0 0;padding-left:20px;color:var(--ink-2,#bbb);font-size:13.5px;line-height:1.9;}
.guide-step ol li{margin-bottom:2px;}
.guide-platform{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.guide-platform .badge{margin:0;}
