/* 刻熵实训学院公开站的补充样式。
   基础设计语言来自 Eleventy LibDoc 0.14.9 的 core/assets/css（ds.css / ds__defaults.css /
   ds__colors.css / ds__dark_mode.css），与公司官网 ketrace.com 使用同一套；本文件只做站点级补充，
   不覆盖上游选择器。与参考站点 assets/company.css 的差别：
     1. 类名前缀 company-* → academy-*；
     2. 去掉人物照片相关规则（.academy-people / .academy-team-feature）——实训学院公开站不放团队
        与学员照片，团队成员介绍在公司官网 ketrace.com/team/，留在这里只会成为死代码；
     3. 新增实训业务需要的组件：事实卡片、流程步骤、角色/模块网格、提示框、FAQ 条目。 */

/* ---------- 通用内容组件 ---------- */
.academy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.academy-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.academy-card { overflow: hidden; background: var(--ita-colors-neutral-100); }
.academy-card > a { display: block; height: 100%; color: inherit; }
.academy-card picture { display: block; }
.academy-card img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.academy-card h3 { line-height: 1.4; overflow-wrap: anywhere; }
.academy-card h4 { line-height: 1.45; overflow-wrap: anywhere; }
.academy-lede { font-size: 1.0625rem; line-height: 1.85; }
.academy-callout { display: flex; gap: 12px; margin: 24px 0; padding: 16px 20px; background: var(--ita-colors-primary-100); border: 1px dashed var(--ita-colors-neutral-500); border-radius: 6px; }
.academy-callout p { margin: 0; font-size: .9375rem; line-height: 1.8; }
.academy-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.academy-pill { display: inline-flex; align-items: center; padding: 2px 10px; font-size: .8125rem; line-height: 1.6; color: var(--ita-colors-primary-900); background: var(--ita-colors-primary-200); border: 1px solid var(--ita-colors-primary-400); border-radius: 100px; }
.academy-note { font-size: .875rem; color: var(--ita-colors-neutral-700); }

/* ---------- 平台事实卡片（角色数 / 模块数 / 访问方式 / 数据范围） ---------- */
.academy-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 28px 0; }
.academy-fact { padding: 18px 20px; background: var(--ita-colors-neutral-100); border: 1px dashed var(--ita-colors-neutral-500); border-radius: 6px; }
.academy-fact__label { font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ita-colors-neutral-700); }
.academy-fact__value { margin-top: 6px; font-size: 1.6rem; font-weight: 600; line-height: 1.3; color: var(--ita-colors-primary-900); }
.academy-fact__hint { margin-top: 6px; font-size: .8125rem; line-height: 1.7; color: var(--ita-colors-neutral-700); }

/* ---------- 实训流程步骤（入职 → 日常 → 学习 → 结业） ---------- */
.academy-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 28px 0; }
.academy-step { padding-top: 16px; border-top: 1px dashed var(--ita-colors-neutral-500); }
.academy-step__index { font-size: .8125rem; letter-spacing: .12em; color: var(--ita-colors-primary-600); }
.academy-step__title { margin-top: 4px; font-size: 1.15rem; font-weight: 600; color: var(--ita-colors-primary-900); }
.academy-step__desc { margin-top: 8px; font-size: .9375rem; line-height: 1.8; }

/* ---------- 角色工作台 ---------- */
.academy-role { margin: 32px 0; padding-top: 4px; }
.academy-role__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.academy-role ul { margin-top: 10px; }

/* ---------- 常见问题 ---------- */
.academy-faq { margin: 8px 0 0; }
.academy-faq h3 { margin-top: 2rem; }
.academy-faq p { margin-top: .5rem; }

/* ---------- 页脚备案信息 ---------- */
.academy-filings { display: flex; flex-wrap: wrap; gap: 16px 25px; }
.academy-filings a { display: inline-flex; align-items: center; gap: 6px; }
.academy-filings img { width: 18px!important; height: 20px!important; min-width: 18px; display: inline-block; }
.academy-footer { padding-bottom: 90px; }
.academy-footer > .pt-11 { padding-top: 15px; }
.academy-skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px; background: white; }
.academy-skip:focus { top: 20px; }
.academy-related { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2.5rem; padding-block: 1.5rem; border-top: 1px dashed var(--ita-colors-neutral-500); }
@media(max-width: 899px) { .academy-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .academy-facts, .academy-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 600px) { .academy-grid, .academy-grid--3, .academy-facts, .academy-flow { grid-template-columns: 1fr; gap: 20px; } .academy-filings { flex-direction: column; } }

/* Chinese reading rhythm, using LibDoc's existing colors and components. */
:root { --libdoc-font-family: "Recursive", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }
main { min-width: 0; }
main > p, main > ul, main > ol, main > table { font-size: 1rem; line-height: 1.85; }
main > h2 { margin-top: 2.75rem; line-height: 1.45; scroll-margin-top: 1.5rem; }
main > h3 { line-height: 1.55; scroll-margin-top: 1.5rem; }
main > header h1 { letter-spacing: -.025em; line-height: 1.25; }
main > header > p { line-height: 1.65; letter-spacing: 0; text-wrap: pretty; }
.academy-card { transition: border-color .18s ease, background-color .18s ease; }
.academy-card:hover, .academy-card:focus-within { border-color: var(--ita-colors-primary-600); background: var(--ita-colors-primary-100); }
.academy-card .fs-3 { font-size: .875rem; }
.academy-card h3 { font-size: 1.35rem; letter-spacing: -.015em; }
.academy-card p { line-height: 1.7; }
.academy-filings { line-height: 1.7; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline: 2px solid var(--ita-colors-primary-600); outline-offset: 4px; }
#nav_primary_checkbox:focus-visible + label { outline: 2px solid var(--ita-colors-primary-600); outline-offset: -4px; }
.academy-skip { background: var(--ita-colors-neutral-100); color: var(--ita-colors-neutral-900); }
@media (max-width: 899px) {
    main > header h1 { font-size: clamp(1.9rem, 7vw, 2.6rem); overflow-wrap: anywhere; }
    #nav_small_devices { height: calc(60px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--ita-colors-neutral-100); }
    #nav_small_devices .fs-1 { font-size: .8125rem; letter-spacing: 0; }
    .academy-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
    main > table { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
