/* 论坛板块页（找工认知 .kn-page、选课经验 .cr-page、面试经验 .iv-page）：雪山 hero + 精致的卡片。 */
.cat-page{--cat-line:#e1e9f2;--cat-gold:#d8b24a;--cat-gold-ink:#8b6a18}

/* ── Hero 共用：白色卡片，雪山从右侧融入 ── */
.cat-page :is(.knowledge-hero,.course-hero,.interview-hero){position:relative;isolation:isolate;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.95);
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(16,36,58,.03),0 22px 54px -24px rgba(31,74,120,.28)}
.cat-page .cat-hero-art{position:absolute;z-index:-1;pointer-events:none;background:url(/assets/forum-knowledge-mountains.webp) no-repeat}
.cat-page .cat-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:#a87d16;font-size:12px;font-weight:700;letter-spacing:1px}
.cat-page .cat-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cat-gold);box-shadow:0 0 0 3px rgba(216,178,74,.18)}
.cat-page :is(.knowledge-map-stat,.course-map-stat,.interview-map-stat){background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);
  box-shadow:inset 0 1px 0 #fff,0 6px 18px rgba(31,74,120,.1)}

/* 找工认知：雪山占满右侧，向左淡出 */
.kn-page .knowledge-hero{padding:26px 32px 30px}
.kn-page .cat-hero-art{inset:0 0 0 30%;background-position:100% 78%;background-size:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 22%,#000 48%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 22%,#000 48%)}
.kn-page .knowledge-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 40%)}
.kn-page .knowledge-map-desc{max-width:540px;color:#2f3d50}
.kn-page .knowledge-map-status{max-width:540px;color:#7b8798}

/* 选课经验、面试经验：雪山在右上角，向左、向下淡出，地图压在上面 */
.cat-page :is(.course-hero,.interview-hero){padding:26px 32px 32px}
:is(.cr-page,.iv-page) .cat-hero-art{inset:0 0 auto 30%;height:330px;background-position:100% 100%;background-size:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.6) 24%,#000 50%),linear-gradient(180deg,#000 70%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.6) 24%,#000 50%),linear-gradient(180deg,#000 70%,transparent);mask-composite:intersect}
.cat-page :is(.course-map-head,.interview-map-head){margin-bottom:0;min-height:0}
.cat-page .cr-desc{margin:14px 0 0;max-width:560px;color:#2f3d50;font-size:15px;line-height:1.7;font-weight:600}
.cat-page .cr-sub{margin:6px 0 22px;max-width:560px;color:#7b8798;font-size:13px;line-height:1.6;font-weight:600}
/* 选课、面经：图片自带雪山和云雾，四周本来就淡出成白色，所以不叠加雪山层、不加边框；
   图片铺满卡片宽度、按原比例显示，顶部渐隐接住上面的文字 */
:is(.cr-page,.iv-page) .cat-hero-art{display:none}
.cr-page .course-map-card.image-map{display:block;max-width:none;width:auto;margin:-40px -32px -32px;aspect-ratio:auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 6%,#000 15%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 6%,#000 15%)}
.cr-page .course-map-card.image-map:after{display:none}
.cr-page .course-map-title{display:none}
.cr-page .course-map-img{width:100%;height:auto;aspect-ratio:1536/834;border-radius:0;object-fit:cover}
/* 面经：热点就是图里的定位针，平时透明，悬停时亮起一圈并显示提示 */
.iv-page .interview-map-card{display:block;max-width:none;width:auto;margin:-40px -32px -32px;aspect-ratio:auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 9%,#000 22%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 9%,#000 22%)}
.iv-page .interview-map-card:after{display:none}
.iv-page .interview-map-img{width:100%;height:auto;aspect-ratio:1600/667;border-radius:0;object-fit:cover}
.iv-page .company-hotspot{width:46px;height:46px;background:transparent;border-color:transparent;box-shadow:none}
.iv-page .company-hotspot:before{display:none}
.iv-page .company-hotspot:after{inset:-4px;border:2px solid rgba(255,228,112,.0);animation:none}
.iv-page .company-hotspot:hover,.iv-page .company-hotspot:focus-visible,.iv-page .company-hotspot.is-active,.iv-page .company-hotspot.is-selected{background:radial-gradient(circle,rgba(255,240,180,.35),rgba(255,240,180,0) 70%);border-color:rgba(255,214,90,.85);box-shadow:0 0 0 6px rgba(255,214,90,.18),0 0 24px rgba(216,178,74,.45)}

/* 学校 / 公司卡片 */
.cat-page .company-wall{gap:10px}
.cat-page .company-tile{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:11px 12px;border-radius:14px;border-color:var(--cat-line);
  background:linear-gradient(180deg,#fff,#fafcff)!important;box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(16,36,58,.03),0 8px 20px -12px rgba(31,74,120,.16)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.cat-page .company-tile:hover{transform:translateY(-2px);background:linear-gradient(180deg,#fff,#fffdf6)!important;border-color:#e6d197;box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(16,36,58,.03),0 16px 30px -14px rgba(31,74,120,.24)!important}
.cat-page .company-tile:hover .company-name{color:#163a5f}
.cat-page .company-tile.is-selected,.cat-page .company-tile:focus-visible{border-color:var(--cat-gold);background:linear-gradient(180deg,#fffdf4,#fff)!important;box-shadow:0 0 0 3px rgba(216,178,74,.14),0 12px 26px -14px rgba(155,120,29,.3)!important}
.cat-page .company-tile.company-all-tile{border-color:#efd88b;background:linear-gradient(135deg,#fffdf4,#f8fbff)!important}
.cat-page .company-logo{width:40px;height:40px;border-radius:11px;border-color:#e8eef5;box-shadow:inset 0 1px 0 #fff,0 2px 6px rgba(31,74,120,.08)}
.cat-page .company-name{font-size:13.5px;line-height:1.3;color:#1d3047;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat-page .company-count{margin-top:3px;font-size:11px}

/* ── 帖子卡片共用：更紧凑，右侧是数据 ── */
.cat-page .course-list{gap:12px}
.cat-page .course-row{grid-template-columns:44px minmax(0,1fr) auto;gap:18px;padding:16px 20px 16px 18px;border-radius:18px;border:1px solid var(--cat-line);
  background:#fff;box-shadow:0 1px 2px rgba(16,36,58,.03),0 8px 22px -12px rgba(31,74,120,.14);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cat-page .course-row:hover{transform:translateY(-2px);border-color:#e6d197;box-shadow:0 2px 4px rgba(16,36,58,.03),0 18px 36px -16px rgba(31,74,120,.22)}
.cat-page .course-rank{width:40px;height:40px;border-radius:12px;font-size:13px;background:#f6f9fc;color:#5b6f86;border:1px solid #e4ebf3}
.cat-page .course-row:nth-child(-n+3) .course-rank{background:linear-gradient(160deg,#fff8de,#f8e7b0);color:var(--cat-gold-ink);border-color:#efdb9f;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.cat-page .course-school-line{gap:7px;margin-bottom:6px}
.cat-page .course-school{font-size:11px;color:#8597ab}
.cat-page .course-flag{padding:3px 8px 3px 6px;font-size:10.5px}
.cat-page .course-state{padding:3px 8px;font-size:10.5px;background:#eef4fb;color:#3c5a7a}
.cat-page .course-title{font-size:16.5px;line-height:1.45;letter-spacing:-.1px}
.cat-page .course-row:hover .course-title{color:#163a5f}
.cat-page .course-excerpt{margin-top:4px;font-size:12.5px;color:#738196;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cat-page .forum-tags{margin-top:9px;gap:6px}
.cat-page .forum-tag{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;background:#f2f5f9;color:#5d6d80;border:0}
.cat-page .forum-tag:first-child{background:#eaf2fc;color:#2f5f8f}
.cat-page .cat-side{display:grid;justify-items:end}
.cat-page .course-metrics{gap:6px}
.cat-page .course-metric{min-width:56px;padding:6px 8px;border-radius:12px;font-size:10.5px;background:#f6f9fc;border-color:#edf2f7}
.cat-page .course-metric b{font-size:15px;line-height:1.3}

@media(max-width:700px){
  .cat-page :is(.knowledge-hero,.course-hero,.interview-hero){border-radius:22px}
  .kn-page .knowledge-hero{padding:20px 18px 92px}
  .kn-page .cat-hero-art{inset:auto 0 0 0;height:62%;background-position:72% 100%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 55%);mask-image:linear-gradient(180deg,transparent 0,#000 55%)}
  /* 手机：图片铺满卡片宽度 */
  .cat-page :is(.course-hero,.interview-hero){display:flex;flex-direction:column;padding:20px 16px 16px}
  :is(.cr-page,.iv-page) .cat-eyebrow{align-self:flex-start}
  :is(.cr-page,.iv-page) .cat-hero-art{position:relative;order:1;inset:auto;height:150px;margin:-36px -16px 0;background-position:80% 100%;background-size:cover;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 38%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 38%,#000 62%,transparent 100%)}
  .cr-page .course-map-card.image-map{order:2;align-self:stretch;width:auto;margin:-10px -16px -16px}
  .iv-page .interview-map-card{order:2;align-self:stretch;width:auto;margin:-14px -16px -16px}
  .iv-page .company-hotspot{width:30px;height:30px}
  /* 副标题：字号收小、字重变轻，只在标点处换行（不把「追问方向」拆成两行） */
  .cat-page :is(.cr-desc,.knowledge-map-desc){margin:16px 0 0;max-width:none;font-size:12px;line-height:1.7;font-weight:500;color:#34465c;word-break:keep-all;overflow-wrap:anywhere}
  .cat-page :is(.cr-sub,.knowledge-map-status){margin:5px 0 0;max-width:none;font-size:10.5px;line-height:1.6;font-weight:500;color:#8a96a6;word-break:keep-all;overflow-wrap:anywhere}
  /* 学校 / 公司卡片：一行两个 */
  .cat-page .company-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .cat-page .company-tile{grid-template-columns:32px minmax(0,1fr);gap:9px;padding:10px;border-radius:12px}
  .cat-page .company-logo{width:32px;height:32px;border-radius:9px}
  .cat-page .company-name{font-size:12px}
  .cat-page .company-count{font-size:10.5px;margin-top:2px}
  /* 帖子：序号固定在左上角，和首行同一行；其余内容共用一条左边线 */
  .cat-page .course-row{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:0 12px;padding:14px 16px 13px 14px}
  .cat-page .course-rank{width:28px;height:28px;border-radius:9px;font-size:11px}
  .cat-page .course-school-line{min-height:28px;margin-bottom:6px}
  .cat-page .course-title{font-size:15px}
  .cat-page .forum-tags{margin-top:8px}
  .cat-page .cat-side{grid-column:2;justify-items:start;margin-top:12px;padding-top:10px;border-top:1px solid #eef2f7}
  .cat-page .course-metrics{display:flex;grid-template-columns:none;width:auto;gap:14px}
  .cat-page .course-metric{min-width:0;padding:0;background:none;border:0;display:inline-flex;align-items:baseline;gap:3px}
  .cat-page .course-metric b{font-size:13px;display:inline}
  .cat-page .course-metric.is-active{background:none;border:0}
}
@media(prefers-reduced-motion:reduce){.cat-page .course-row,.cat-page .company-tile{transition:none}.cat-page .course-row:hover,.cat-page .company-tile:hover{transform:none}}

/* 找工认知第一屏卡片和知识分享同高，切换板块时下面的内容不跳 */
.kn-page .knowledge-hero{box-sizing:border-box;min-height:285px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:768px) and (min-width:701px){.kn-page .knowledge-hero{min-height:285px;height:285px}}
@media(max-width:700px){
  .kn-page .knowledge-hero{min-height:254px;padding:20px 18px 18px;justify-content:flex-start}
  .kn-page .knowledge-hero .knowledge-map-status{display:none}
}
@media(min-width:921px){.kn-page .knowledge-map-stats{position:relative;top:40px}}
