*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;background:radial-gradient(circle at top,#fff1d6 0,#f8d4ab 35%,#efbc79 100%);color:#5c3217}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,92vw);margin:0 auto}.site-frame{min-height:100vh;display:flex;flex-direction:column}.site-header{background:linear-gradient(90deg,#6f1d1b,#b91c1c,#f59e0b);color:#fff;box-shadow:0 10px 30px rgba(110,42,10,.2);position:sticky;top:0;z-index:10}.site-main{flex:1}.site-footer{margin-top:auto;background:linear-gradient(90deg,#5b1b18,#7f1d1d,#9a3412);color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 0;font-weight:700}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}.footer-link{text-decoration:underline;text-underline-offset:3px}.footer-link:hover{color:#fde68a}.footer-links-label{opacity:.85}.banner-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.top-nav{display:flex;flex-wrap:wrap;gap:10px}.top-nav a{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:700}.brand-big{font-size:30px;font-weight:900;letter-spacing:3px}.brand-sub{margin-top:6px;opacity:.92}.page-body{padding:22px 0 40px}.panel{background:rgba(255,255,255,.84);border:1px solid rgba(150,74,16,.12);border-radius:22px;box-shadow:0 16px 36px rgba(129,66,21,.1);padding:18px}.main-grid{display:grid;grid-template-columns:2.1fr .9fr;gap:22px}.hero-panel{display:flex;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff7ed,#fff0d7)}.hero-kicker{color:#cf4a11;font-weight:800;letter-spacing:2px;margin-bottom:8px}.hero-copy h1{font-size:38px;margin:0 0 10px;color:#8d3a12}.hero-copy p{margin:0;line-height:1.8;max-width:620px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-width:320px}.stat-box{background:linear-gradient(180deg,#fff,#fff1dd);border:1px solid #f0cfaa;border-radius:18px;padding:16px;text-align:center}.stat-box span{color:#9a6640;font-size:14px}.stat-box strong{display:block;margin-top:8px;color:#b24d12;font-size:20px}.section-panel{margin-top:18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-head h2,.panel-title,.side-panel h2{margin:0;font-size:20px;color:#8c3b14}.modern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modern-card{display:block;padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#fff8ef);border:1px solid #f0d4b0;transition:.2s}.modern-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(145,74,17,.12)}.server-name{font-size:18px;font-weight:900;color:#b91c1c}.server-version{margin-top:6px;color:#8d6345;font-size:14px}.server-top{display:flex;justify-content:space-between;gap:10px}.score-pill{background:linear-gradient(90deg,#b91c1c,#f59e0b);color:#fff;font-weight:800;padding:7px 11px;border-radius:999px;white-space:nowrap}.server-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#7d5940;font-size:13px}.server-desc{margin-top:10px;color:#6d4630;line-height:1.7}.card-actions{margin-top:14px}.btn-ghost{background:#fff;color:#b45309;border:1px solid #efc596}.article-list{display:grid;gap:12px}.article-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed #ebcba0}.article-date{flex:0 0 64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#f59e0b,#b91c1c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;box-shadow:0 10px 20px rgba(180,83,9,.18)}.article-content h3{margin:0 0 6px;font-size:18px}.article-content p{margin:0;color:#7a5133;line-height:1.7}.side-col{display:grid;gap:18px}.quick-links{display:grid;gap:10px}.quick-links a{display:block;padding:12px 14px;background:linear-gradient(180deg,#fff,#fff2e3);border:1px solid #f0d2a9;border-radius:14px;color:#a64f12;font-weight:700;position:relative}.quick-links a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:linear-gradient(180deg,#b91c1c,#f59e0b)}.tag-box{display:flex;flex-wrap:wrap;gap:10px}.tag{background:#fff0dd;color:#9a4d13;padding:8px 12px;border-radius:999px;border:1px solid #efc596;font-weight:700}.warm-tag{background:linear-gradient(180deg,#fff1df,#ffe2be);border:1px solid #efc48b;color:#9a4d13;font-weight:800}.form{display:grid;gap:12px}.input,textarea,select{width:100%;padding:12px 14px;border:1px solid #e3b98d;border-radius:12px;background:#fff;font:inherit}.btn{display:inline-block;background:linear-gradient(90deg,#b45309,#ea7c21);color:#fff;border:none;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #efd5bc;text-align:left}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-tile{display:block;padding:18px;border-radius:18px;border:1px solid #f0d4b0;background:linear-gradient(180deg,#fff,#fff6ec)}.admin-tile strong{display:block;font-size:18px;margin-bottom:8px;color:#b91c1c}.detail-panel{margin-bottom:18px}.detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;color:#8d6345;font-weight:700}.tag-admin-list{display:grid;gap:10px;margin-top:14px}.tag-admin-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #efd5bc;border-radius:14px;background:#fff8ef}.table-wrap{overflow:auto}@media(max-width:900px){.main-grid,.hero-panel,.banner-inner,.admin-grid{display:block}.hero-stats,.modern-grid{grid-template-columns:1fr}.top-nav{margin-top:14px}.footer-inner{display:block}.footer-links{margin:8px 0}}

.w2-refresh-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;color:#8d6345;font-size:13px}.w2-status-line{margin-top:10px;color:#7d5940;font-size:13px}.w2-status{display:inline-block;min-width:4.5em;text-align:center;white-space:nowrap;border-radius:999px;padding:3px 8px;font-weight:700;background:#fff0dd;color:#9a4d13}.w2-status-hot{background:#fee2d5;color:#a83219}.w2-status-smooth{background:#e8f4dd;color:#4d7025}.w2-status-new{background:#fff0ca;color:#995500}.w2-status-pending{background:#eee8df;color:#6d6257}.w2-refresh-note{margin:12px 0 0;color:#7d5940;font-size:13px}.table .w2-status{min-width:4.5em}
/* ===== T2-04 站点主题覆盖块（追加层，勿改上方母站规则） ===== */
/* ---------------------------------------------------------------------------
   T2-04「深色分区 · 琥珀夜航」主题层（append-only）
   1) 本块及以下全部规则追加在母站基线之后，用同名选择器层叠覆盖母站外观；
      母站基线前 6451 字节逐字节未改动（SHA256 5b445859bca41caee496bc854ddaf0de1d7aeb997f6f4c884bc9eb884ca0d9d1）。
   2) 设计 token 一律照抄《T2_设计交付_待审/T2-04/DESIGN.md》第 2 节，不自行发挥：
      近黑页面底 #0E1116、区块底 #151A21、卡片 #1B222B、次级卡 #222B35、分隔线 #2A333E；
      琥珀 #E0A33E、朱红 #C9452F、青 #3FB0A8；大标题 #F2F5F8、正文 #C9D2DC、辅助 #8B97A5；
      焦点环 #E0A33E；圆角 6 / 10 / 16；版心 min(1200px,93vw)；区块间距 72px（移动 40px）；
      字号：H1 52px/1.15（移动 32px）、区块大标题 40px/1.2、H2 24px/1.4、H3 17px/1.5、
      正文 15px/1.9、长文 16px/1.95、辅助 13px；正文行宽 700px。
   3) 本站是**深色主题**：页面底、面板、卡片、页脚、表格全部换成深色系；
      13px 辅助文字 / 链接 / 状态标签在深色底上的实测对比度见文末「施工校正块 3」。
   4) 本块为纯 CSS：不引用任何外部资源（无外部字体 / 图片 / CDN / JS）、不含脚本、
      不使用强制优先级写法；字体只走系统字体栈。
   --------------------------------------------------------------------------- */

/* ===== 0. 设计 token —— 深色分区主题（照抄 T2-04 DESIGN.md 第 2 节） ===== */
:root{
--t2-04-bg:#0E1116;
--t2-04-block:#151A21;
--t2-04-card:#1B222B;
--t2-04-card-2:#222B35;
--t2-04-line:#2A333E;
--t2-04-accent:#E0A33E;
--t2-04-accent-2:#C9452F;
--t2-04-teal:#3FB0A8;
--t2-04-ink:#F2F5F8;
--t2-04-text:#C9D2DC;
--t2-04-muted:#8B97A5;
--t2-04-focus:#E0A33E;
/* 「文字用」色阶：与上面的装饰 token 分开，只用于承载文字，保证深色底上 ≥ 4.5:1
   （实测值全部写在文末「施工校正块 3」里）。 */
--t2-04-muted-ink:#A9B5C2;
--t2-04-kicker-ink:#E8B45A;
--t2-04-link-ink:#5FC9C0;
--t2-04-ok-ink:#5FD9A6;
--t2-04-run-ink:#5FD8CF;
--t2-04-hot-ink:#F7B3A0;
--t2-04-wait-ink:#E5A08D;
/* 状态标签底色 / 编号底色（只做标签底与描边，不做大面积填充） */
--t2-04-ok-bg:#0E2E23;
--t2-04-run-bg:#0E2B2E;
--t2-04-hot-bg:#3A1B12;
--t2-04-wait-bg:#241615;
--t2-04-num-bg:#2A2110;
--t2-04-num-line:#5A4620;
--t2-04-row-even:#161C23;
--t2-04-font:"Noto Sans SC","Microsoft YaHei",sans-serif;
--t2-04-font-num:"Bahnschrift","DIN Alternate",Consolas,monospace;
--t2-04-radius-s:6px;
--t2-04-radius-m:10px;
--t2-04-radius-l:16px;
--t2-04-wrap:min(1200px,93vw);
--t2-04-gap-block:72px;
--t2-04-read-width:700px;
--t2-04-header-h:64px;
}

/* ===== A. 母站选择器换肤覆盖 ===== */
/* A1. 页面底 / 文字 / 链接 —— 深色底 */
html{overflow-x:clip}
body{margin:0;background:#0E1116;color:#C9D2DC;font-family:var(--t2-04-font);font-size:15px;line-height:1.7;-webkit-text-size-adjust:100%;overflow-x:clip;overflow-wrap:break-word}
a{text-decoration:none;color:#5FC9C0}
a:hover{color:#8ADCD4}
.site-frame{background:#0E1116}

/* A2. 版心 */
.wrap{width:var(--t2-04-wrap);margin:0 auto}

/* A3. 页头 —— 区块底 + 描边，sticky */
.site-header{background:#151A21;color:#E8EDF2;border-bottom:1px solid #2A333E;box-shadow:none;position:sticky;top:0;z-index:20}
.site-header a{color:#E8EDF2}
.banner-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0;min-height:var(--t2-04-header-h)}
.brand-big{font-size:24px;font-weight:900;letter-spacing:2px;line-height:1.25;color:#F2F5F8}
.brand-sub{margin-top:4px;font-size:13px;line-height:1.6;color:#A9B5C2}
.top-nav{display:flex;flex-wrap:wrap;gap:8px}
.top-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:var(--t2-04-radius-s);background:#222B35;border:1px solid #2A333E;color:#E8EDF2;font-weight:700;font-size:14px;line-height:1.5;transition:.2s}
.top-nav a:hover{background:#E0A33E;border-color:#E0A33E;color:#0E1116}

/* A4. 页脚 —— 页面底 + 顶部描边 */
.site-footer{margin-top:auto;background:#0E1116;color:#C9D2DC;border-top:1px solid #2A333E}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:20px 0;font-weight:700;font-size:14px;line-height:1.6;color:#C9D2DC}
.footer-copy{color:#C9D2DC}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
.footer-link{text-decoration:underline;text-underline-offset:3px;color:#C9D2DC}
.footer-link:hover{color:#E8B45A}
.footer-links-label{opacity:1;font-weight:400;font-size:13px;line-height:1.6;color:#A9B5C2}

/* A5. 主区与面板 */
.page-body{padding:24px 0 48px}
.panel{background:#151A21;border:1px solid #2A333E;border-radius:var(--t2-04-radius-l);box-shadow:none;padding:22px}
.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.main-col{min-width:0}
.hero-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;background:#151A21;border:1px solid #2A333E;border-top:3px solid #E0A33E;border-radius:var(--t2-04-radius-l);box-shadow:none;padding:28px 30px}
.hero-kicker{color:#E8B45A;font-weight:800;letter-spacing:2px;margin-bottom:10px;font-size:13px;line-height:1.6;font-family:var(--t2-04-font-num)}
.hero-copy h1{font-size:52px;line-height:1.15;margin:0 0 10px;color:#F2F5F8;font-weight:800;letter-spacing:.5px}
.hero-copy p{margin:0;font-size:15px;line-height:1.9;max-width:720px;color:#C9D2DC}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.stat-box{background:#1B222B;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);padding:14px;text-align:center}
.stat-box span{display:block;color:#A9B5C2;font-size:13px;line-height:1.6}
.stat-box strong{display:block;margin-top:6px;color:#E8B45A;font-size:19px;line-height:1.3;font-weight:800;font-family:var(--t2-04-font-num)}
.section-panel{margin-top:var(--t2-04-gap-block)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #2A333E}
.section-head h2{margin:0;font-size:24px;line-height:1.4;color:#F2F5F8;font-weight:800}
/* 区块编号（页面写在栏目标题里的 <span>02</span> …）：琥珀等宽，与大标题并排（DESIGN 01~07 编号） */
.section-head h2>span:first-child{color:#E8B45A;font-family:var(--t2-04-font-num);font-size:15px;font-weight:800;letter-spacing:2px;line-height:1.6;margin-right:10px}
.panel-title{margin:0;font-size:24px;line-height:1.4;color:#F2F5F8;font-weight:800}
.side-panel h2{margin:0 0 12px;font-size:20px;line-height:1.4;color:#F2F5F8;font-weight:800}

/* A6. 列表卡（母站 modern-card / server-*） */
.modern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.server-list{min-width:0}
.modern-card{display:block;padding:18px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none;transition:.2s}
.modern-card:hover{transform:translateY(-2px);border-color:#E0A33E;background:#222B35;box-shadow:none}
.server-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.server-name{display:block;font-size:18px;line-height:1.5;font-weight:800;color:#F2F5F8}
.server-version{display:block;margin-top:6px;color:#A9B5C2;font-size:13px;line-height:1.6}
.score-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;border-radius:var(--t2-04-radius-s);background:#2A2110;border:1px solid #5A4620;color:#E0A33E;font-size:13px;line-height:1.5;font-weight:800;white-space:nowrap}
.server-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#A9B5C2;font-size:13px;line-height:1.6}
.server-desc{margin-top:10px;color:#C9D2DC;font-size:14px;line-height:1.8}
.card-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}

/* A7. 按钮 —— 琥珀主按钮 + 深底次按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border-radius:var(--t2-04-radius-m);border:1px solid #E0A33E;background:#E0A33E;color:#0E1116;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;text-align:center;transition:.2s}
.btn:hover{background:#EFC06E;border-color:#EFC06E;color:#0E1116}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border-radius:var(--t2-04-radius-m);background:#1B222B;color:#E8B45A;border:1px solid #5A4620;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:center;transition:.2s}
.btn-ghost:hover{background:#E0A33E;border-color:#E0A33E;color:#0E1116}

/* A8. 资讯列表（母站 article-*） */
.article-list{display:grid;gap:12px}
.article-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #2A333E}
.article-date{flex:0 0 60px;height:60px;border-radius:var(--t2-04-radius-m);background:#222B35;border:1px solid #2A333E;color:#E8B45A;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1.2;font-weight:800;box-shadow:none;font-family:var(--t2-04-font-num)}
.article-content h2{margin:0 0 6px;font-size:18px;line-height:1.5;color:#F2F5F8;font-weight:800}
.article-content h3{margin:0 0 6px;font-size:17px;line-height:1.5;color:#F2F5F8;font-weight:800}
.article-content p{margin:0;color:#C9D2DC;font-size:14px;line-height:1.75}

/* A9. 侧栏（母站 side-col / quick-links / tag） */
.side-col{display:grid;gap:20px}
.quick-links{display:grid;gap:10px}
.quick-links a{display:flex;align-items:center;min-height:44px;padding:10px 14px;background:#1B222B;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);color:#E8EDF2;font-weight:700;font-size:14px;line-height:1.6;position:relative;transition:.2s}
.quick-links a:hover{border-color:#E0A33E;background:#222B35;color:#F2F5F8}
.quick-links a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--t2-04-radius-m) 0 0 var(--t2-04-radius-m);background:#E0A33E}
.tag-box{display:flex;flex-wrap:wrap;gap:10px}
.tag{display:inline-flex;align-items:center;min-height:32px;background:#222B35;color:#C9D2DC;padding:6px 12px;border-radius:999px;border:1px solid #2A333E;font-weight:700;font-size:13px;line-height:1.6}
.warm-tag{display:inline-flex;align-items:center;min-height:32px;background:#2A2110;border:1px solid #5A4620;color:#E8B45A;font-weight:800;font-size:13px;line-height:1.6;padding:6px 12px;border-radius:999px}

/* A10. 表单 */
.form{display:grid;gap:12px}
.input,textarea,select{width:100%;padding:11px 13px;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);background:#1B222B;color:#C9D2DC;font:inherit;font-size:15px;line-height:1.6;min-height:44px;transition:.2s}
.input:focus,textarea:focus,select:focus{outline:2px solid #E0A33E;outline-offset:1px;border-color:#E0A33E}
textarea{min-height:120px}

/* A11. 表格 —— 暗底行、琥珀表头、hover 高亮 */
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;line-height:1.6}
.table th{padding:12px;border-bottom:2px solid #E0A33E;background:#1B222B;color:#E8B45A;text-align:left;font-size:13px;line-height:1.5;font-weight:700;white-space:nowrap;overflow-wrap:anywhere}
.table td{padding:12px;border-bottom:1px solid #2A333E;text-align:left;color:#C9D2DC;vertical-align:middle;overflow-wrap:anywhere}
.table tbody tr:nth-child(even) td{background:#161C23}
.table tbody tr:hover td{background:#222B35}
.table-wrap{overflow-x:auto;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);background:#151A21}
/* 641~1024px：宽表横向滚动 + 首列吸附（首列吸附只放在平板档，≤640px 走卡片化） */
@media (min-width:641px) and (max-width:1024px){
.table-wrap .table{min-width:680px}
.table-wrap .table td:first-child{position:sticky;left:0;z-index:1;background:#151A21}
.table-wrap .table th:first-child{position:sticky;left:0;z-index:2;background:#1B222B}
.table-wrap .table tbody tr:nth-child(even) td:first-child{background:#151A21}
}

/* A12. 后台瓦片与详情元信息 */
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.admin-tile{display:block;padding:18px;border-radius:var(--t2-04-radius-m);border:1px solid #2A333E;background:#1B222B;box-shadow:none}
.admin-tile strong{display:block;font-size:17px;line-height:1.5;margin-bottom:8px;color:#F2F5F8}
.detail-panel{margin-bottom:18px}
.detail-meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin:14px 0;color:#A9B5C2;font-weight:700;font-size:13px;line-height:1.6}
.tag-admin-list{display:grid;gap:10px;margin-top:14px}
.tag-admin-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);background:#1B222B}

/* A13. 状态与刷新说明（状态四色只用于文字标签底色，不做大面积填充） */
.w2-refresh-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;color:#A9B5C2;font-size:13px;line-height:1.6}
.w2-status-line{margin-top:10px;color:#A9B5C2;font-size:13px;line-height:1.6}
.w2-status{display:inline-flex;align-items:center;justify-content:center;min-width:4.5em;text-align:center;white-space:nowrap;border-radius:var(--t2-04-radius-s);padding:3px 10px;font-weight:700;font-size:13px;line-height:1.5;background:#222B35;border:1px solid #2A333E;color:#C9D2DC}
.w2-status-hot{background:#3A1B12;border-color:#7A3A28;color:#F7B3A0}
.w2-status-smooth{background:#0E2B2E;border-color:#1A5A57;color:#5FD8CF}
.w2-status-new{background:#0E2E23;border-color:#1D5A44;color:#5FD9A6}
.w2-status-pending{background:#241615;border-color:#5A2A20;color:#E5A08D}
.w2-refresh-note{margin:12px 0 0;color:#A9B5C2;font-size:13px;line-height:1.6}
.table .w2-status{min-width:4.5em}

/* ===== B. T2-04 新组件（类名契约_T2.md 第 1~3 节：70 个 t2- 类 + footer-note） ===== */
/* B1. 通用文字与按钮 */
.t2-h1-sub{display:block;margin-top:8px;font-size:13px;line-height:1.6;font-weight:600;letter-spacing:.4px;color:#A9B5C2}
.t2-h1-sub b,.t2-h1-sub strong{color:#E8B45A;font-family:var(--t2-04-font-num);font-weight:800}
.t2-sub{margin:0 0 16px;font-size:15px;line-height:1.85;color:#C9D2DC}
.t2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;border-radius:var(--t2-04-radius-m);background:#E0A33E;color:#0E1116;border:1px solid #E0A33E;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;text-align:center;transition:.2s}
.t2-btn:hover{background:#EFC06E;border-color:#EFC06E;color:#0E1116}
.t2-btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;border-radius:var(--t2-04-radius-m);background:#1B222B;color:#E8B45A;border:1px solid #5A4620;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;text-align:center;transition:.2s}
.t2-btn-ghost:hover{background:#E0A33E;border-color:#E0A33E;color:#0E1116}
.t2-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;border-radius:var(--t2-04-radius-s);background:#222B35;border:1px solid #3A4756;color:#E8EDF2;font-size:13px;line-height:1.5;font-weight:800;white-space:nowrap}
.t2-row-badge{display:inline-flex;align-items:center}
.t2-empty{display:grid;place-items:center;align-content:center;gap:12px;text-align:center;padding:36px 20px;border:2px dashed #2A333E;border-radius:var(--t2-04-radius-m);background:#151A21;color:#A9B5C2;font-size:14px;line-height:1.8}
.t2-empty p{margin:0;max-width:560px}
.t2-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;font-size:13px;line-height:1.6;color:#A9B5C2}
.t2-crumb a{color:#5FC9C0;font-weight:700}
.t2-crumb a+a::before{content:"/";margin-right:8px;color:#A9B5C2;font-weight:400}
.t2-readnote{background:#1B222B;border:1px solid #2A333E;border-left:3px solid #E0A33E;border-radius:var(--t2-04-radius-m);padding:14px 16px;margin-bottom:16px;font-size:13px;line-height:1.8;color:#C9D2DC}
.t2-articlebody{max-width:var(--t2-04-read-width);font-size:16px;line-height:1.95;color:#C9D2DC}
.t2-articlebody p{margin:0 0 16px}
.t2-articlebody h2{margin:28px 0 12px;font-size:22px;line-height:1.4;color:#F2F5F8;font-weight:800}
.t2-articlebody h3{margin:22px 0 10px;font-size:17px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-articlebody ul,.t2-articlebody ol{margin:0 0 16px;padding-left:22px}
.t2-articlebody li{margin:0 0 8px}
.t2-endnote{display:block;margin-top:24px;padding:20px;background:#1B222B;border:1px dashed #3A4756;border-radius:var(--t2-04-radius-m);box-shadow:none;font-size:14px;line-height:1.8;color:#C9D2DC}
.t2-endnote-title{margin:0 0 10px;font-size:17px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-endnote ol,.t2-endnote ul{margin:0 0 10px;padding-left:22px}
.t2-endnote li{margin:0 0 6px}
.t2-endnote a{color:#5FC9C0;font-weight:700}
.footer-note{width:100%;margin-top:12px;padding-top:12px;border-top:1px solid #2A333E;font-size:12.5px;line-height:1.8;font-weight:400;color:#A9B5C2}

/* B2. 页面骨架 */
.t2-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
.t2-side{position:sticky;top:84px;display:grid;gap:20px;min-width:0}
.t2-side-block{background:#151A21;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);box-shadow:none;padding:18px}
.t2-side-title{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #2A333E;font-size:16px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-tags{display:flex;flex-wrap:wrap;gap:8px}
.t2-tags a,.t2-tags span{display:inline-flex;align-items:center;min-height:32px;padding:6px 12px;border-radius:var(--t2-04-radius-s);background:#222B35;border:1px solid #2A333E;color:#C9D2DC;font-size:13px;line-height:1.6;font-weight:700}
.t2-tags a{color:#5FC9C0}
.t2-tags a:hover{background:#1B222B;border-color:#E0A33E;color:#F2F5F8}
.t2-rank{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.t2-rank a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border-bottom:1px solid #222B35;color:#C9D2DC;font-size:14px;line-height:1.6;font-weight:600;transition:.2s}
.t2-rank a:hover{background:#1B222B;color:#F2F5F8}
.t2-legend{background:#1B222B;border:1px solid #2A333E;border-left:3px solid #3FB0A8;border-radius:var(--t2-04-radius-m);padding:16px 18px;margin:0 0 16px}
.t2-legend-title{margin:0 0 10px;font-size:13px;line-height:1.6;font-weight:800;letter-spacing:1px;color:#5FC9C0}
.t2-legend-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;line-height:1.7;color:#C9D2DC}
.t2-legend-list li{padding-left:14px;position:relative}
.t2-legend-list li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:2px;background:#3FB0A8}
.t2-tips{background:#1B222B;border:1px solid #2A333E;border-left:3px solid #E0A33E;border-radius:var(--t2-04-radius-m);padding:18px}
.t2-tips-title{margin:0 0 8px;font-size:16px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-tips p,.t2-tips li{font-size:14px;line-height:1.8;color:#C9D2DC}
.t2-tips p{margin:0 0 8px}
.t2-tips ul,.t2-tips ol{margin:0;padding-left:22px}
.t2-tips li{margin:0 0 6px}
.t2-detail-meta{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px 18px;background:#1B222B;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);font-size:13px;line-height:1.7;color:#C9D2DC}
.t2-detail-meta>span{display:inline-flex;align-items:baseline;gap:6px}
.t2-detail-block{background:#151A21;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);box-shadow:none;padding:20px;margin-top:16px}
.t2-detail-block-title{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #2A333E;font-size:17px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-detail-block p{margin:0 0 12px;font-size:15px;line-height:1.9;color:#C9D2DC}
.t2-detail-block p:last-child{margin-bottom:0}
.t2-detail-block ul,.t2-detail-block ol{margin:0 0 12px;padding-left:22px}
.t2-detail-block li{margin:0 0 8px;font-size:15px;line-height:1.85;color:#C9D2DC}

/* B3. 首页模块 —— 01 HERO 深色区 */
.t2-hero{position:relative;background:#151A21;border:1px solid #2A333E;border-top:3px solid #E0A33E;border-radius:var(--t2-04-radius-l);box-shadow:none;padding:28px 30px}
.t2-hero-grid{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;width:100%}
.t2-hero-grid>*{min-width:0}
.t2-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* B4. 首页模块 —— 三步说明卡 */
.t2-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.t2-step{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:180px;padding:20px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none}
.t2-step-no{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:var(--t2-04-radius-s);background:#2A2110;border:1px solid #5A4620;color:#E8B45A;font-size:14px;line-height:1;font-weight:800;font-family:var(--t2-04-font-num)}
.t2-step-title{margin:4px 0 0;font-size:16px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-step-desc{margin:0;font-size:13px;line-height:1.8;color:#A9B5C2}

/* B5. 首页模块 —— 今日新服大卡（02 开服记录区，4 列 × 2 行） */
.t2-cardgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.t2-bigcard{display:flex;flex-direction:column;padding:18px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none;min-height:180px;transition:.2s}
.t2-bigcard:hover{border-color:#E0A33E;background:#222B35;box-shadow:none}
.t2-bigcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
/* 大卡左上角的序号（页面文案手写的 01 / 02 …），排成琥珀等宽编号 */
.t2-bigcard-top>span:first-child{color:#E8B45A;font-family:var(--t2-04-font-num);font-weight:800;font-size:13px;letter-spacing:1px;line-height:1.6;padding-top:2px}
.t2-bigcard-name{margin:0;font-size:17px;line-height:1.5;font-weight:800;color:#F2F5F8}
.t2-bigcard-ver{display:inline-flex;align-items:center;min-height:24px;margin-top:6px;padding:2px 8px;border-radius:var(--t2-04-radius-s);background:#222B35;border:1px solid #2A333E;color:#A9B5C2;font-size:13px;line-height:1.5}
.t2-bigcard-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;color:#A9B5C2;font-size:13px;line-height:1.6}
.t2-bigcard-cta{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}

/* B6. 首页模块 —— 4 图块横排（03 信息看板） */
.t2-quick4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.t2-quick4-item{display:block;min-height:200px;padding:20px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;border-top:2px solid #E0A33E;box-shadow:none;transition:.2s}
.t2-quick4-item:hover{border-color:#E0A33E;background:#222B35}
.t2-quick4-title{margin:0;font-size:16px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-quick4-desc{margin:8px 0 0;font-size:13px;line-height:1.8;color:#A9B5C2}

/* B7. 首页模块 —— 服型三分区（04） */
.t2-version-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.t2-version-card{padding:20px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none;display:grid;gap:10px;align-content:start;min-height:260px}
.t2-version-name{margin:0;padding-bottom:8px;border-bottom:2px solid #E0A33E;font-size:18px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-version-desc{margin:0;font-size:14px;line-height:1.85;color:#C9D2DC}
.t2-version-fit{margin:0;font-size:13px;line-height:1.8;color:#A9B5C2}
.t2-version-check{margin:0;padding-top:12px;border-top:1px dashed #2A333E;font-size:13px;line-height:1.8;color:#C9D2DC}
.t2-version-check strong{color:#E8B45A}

/* B8. 首页模块 —— 热门推荐（横向可滑动一排；进侧栏时自动竖排） */
.t2-hotrow{display:flex;gap:12px;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:2px 2px 14px}
.t2-hotcard{flex:0 0 240px;scroll-snap-align:start;min-height:150px;padding:16px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none;display:flex;flex-direction:column;gap:8px;transition:.2s}
.t2-hotcard:hover{border-color:#E0A33E;background:#222B35;box-shadow:none}
.t2-hot-no{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:var(--t2-04-radius-s);background:#2A2110;border:1px solid #5A4620;color:#E8B45A;font-size:13px;line-height:1;font-weight:800;font-family:var(--t2-04-font-num)}
.t2-hot-name{margin:0;font-size:15px;line-height:1.5;font-weight:800;color:#F2F5F8}
.t2-hot-meta{margin:0;color:#A9B5C2;font-size:13px;line-height:1.6}
.t2-hot-desc{margin:0;color:#C9D2DC;font-size:13px;line-height:1.8}
.t2-side .t2-hotrow{flex-direction:column;overflow-x:visible;padding-bottom:0}
.t2-side .t2-hotcard{flex:1 1 auto;min-height:0}
.t2-hotrow::-webkit-scrollbar{height:6px}
.t2-hotrow::-webkit-scrollbar-thumb{background:#3A4756;border-radius:3px}
.t2-hotrow::-webkit-scrollbar-track{background:#151A21;border-radius:3px}

/* B9. 首页模块 —— 深度长文（左目录 + 右正文） */
.t2-guide{display:flex;align-items:flex-start;gap:28px;max-width:1120px}
.t2-guide>h2,.t2-guide>.section-head{order:-1;flex:0 0 100%}
.t2-toc{order:0;flex:0 0 220px;position:sticky;top:84px;padding:16px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none}
.t2-toc h3,.t2-toc strong{display:block;margin:0 0 8px;font-size:13px;line-height:1.6;font-weight:800;letter-spacing:1px;color:#E8B45A}
.t2-toc a{display:flex;align-items:center;min-height:44px;padding:4px 0;border-bottom:1px solid #222B35;font-size:13px;line-height:1.6;color:#C9D2DC}
/* 小目录用无序列表呈现：关掉默认的序号与缩进 */
.t2-toc ol,.t2-toc ul{list-style:none;margin:0;padding:0}
.t2-toc li{list-style:none}
.t2-toc a:hover{color:#5FC9C0}
.t2-guide-body{order:1;flex:1 1 auto;min-width:0;max-width:var(--t2-04-read-width);font-size:16px;line-height:1.95;color:#C9D2DC}
.t2-guide-body p{margin:0 0 16px}
.t2-guide-sec{margin:0 0 32px;scroll-margin-top:84px}
.t2-guide-sec h3{margin:0 0 12px;padding-left:12px;border-left:3px solid #E0A33E;font-size:22px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-guide-sec ul,.t2-guide-sec ol{margin:0 0 16px;padding-left:22px}
.t2-guide-sec li{margin:0 0 8px}

/* B10. 首页模块 —— 常见问题（06：Q 24px / A 15px 上下排列，卡片分隔） */
.t2-faq{display:grid;gap:14px;max-width:1120px}
.t2-faq-item{background:#151A21;border:1px solid #2A333E;border-radius:var(--t2-04-radius-m);padding:18px 20px}
.t2-faq-q{margin:0 0 10px;font-size:24px;line-height:1.4;font-weight:800;color:#F2F5F8}
/* 序号由页面文案手写，放在问题标题的首个子元素里，用 CSS 做琥珀胶囊；不使用 counter 自动编号 */
.t2-faq-q>:first-child{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:2px 10px;border-radius:var(--t2-04-radius-s);background:#2A2110;border:1px solid #5A4620;color:#E8B45A;font-size:13px;line-height:1.5;font-weight:800;letter-spacing:.5px;font-family:var(--t2-04-font-num);margin-right:10px;vertical-align:middle}
.t2-faq-a{margin:0;font-size:15px;line-height:1.9;color:#C9D2DC}

/* B11. 首页模块 —— 资讯卡（07 右栏） */
.t2-newsgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.t2-newscard{display:flex;flex-direction:column;padding:18px;border-radius:var(--t2-04-radius-m);background:#1B222B;border:1px solid #2A333E;box-shadow:none;transition:.2s}
.t2-newscard:hover{border-color:#E0A33E;background:#222B35}
.t2-newscard-date{font-size:13px;line-height:1.6;color:#A9B5C2;font-weight:700;font-family:var(--t2-04-font-num)}
.t2-newscard-title{margin:8px 0 0;font-size:16px;line-height:1.5;color:#F2F5F8;font-weight:800}
.t2-newscard-sum{margin:8px 0 0;font-size:14px;line-height:1.8;color:#C9D2DC}

/* ===== C. 响应式（1440 / 1024 / 768 / 640 / 360 均不出现整页横向滚动条） ===== */
@media (max-width:1440px){
.t2-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.t2-guide{gap:24px;max-width:1080px}
.t2-hotcard{flex:0 0 220px}
.t2-cardgrid{gap:14px}
.t2-quick4{gap:14px}
}
@media (max-width:1024px){
.wrap{width:94vw}
.main-grid,.t2-layout{grid-template-columns:minmax(0,1fr);gap:20px}
.t2-side{position:static;top:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hero-panel{display:block;padding:24px}
.t2-hero{padding:24px}
.t2-hero-grid{flex-direction:column;align-items:stretch;gap:20px}
.t2-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.t2-quick4{grid-template-columns:repeat(2,minmax(0,1fr))}
.t2-version-grid{grid-template-columns:minmax(0,1fr)}
.t2-newsgrid{grid-template-columns:minmax(0,1fr)}
.t2-guide{display:block;max-width:var(--t2-04-read-width)}
.t2-guide-body{max-width:100%;margin:0 auto}
.t2-toc{position:static;width:auto;margin:0 0 20px;padding:14px 16px}
.t2-side .t2-hotrow{flex-direction:row;overflow-x:auto;padding-bottom:14px}
.t2-side .t2-hotcard{flex:0 0 200px;min-height:150px}
}
@media (max-width:768px){
body{font-size:15px;line-height:1.75}
.page-body{padding:16px 0 32px}
.panel{padding:16px}
.section-panel{margin-top:40px}
.section-head h2,.panel-title{font-size:20px}
.hero-copy h1{font-size:32px;line-height:1.2}
.t2-h1-sub{font-size:12.5px}
.hero-panel{padding:18px}
.t2-hero{padding:18px}
.t2-hero-btns{gap:10px}
.t2-hero-btns .t2-btn,.t2-hero-btns .t2-btn-ghost{flex:1 1 100%}
.t2-side{grid-template-columns:minmax(0,1fr)}
.t2-faq-q{font-size:20px}
.t2-faq-a{font-size:14px}
.t2-guide-sec h3{font-size:19px}
.t2-guide-body{font-size:15px;line-height:1.9}
.t2-articlebody{font-size:15px;line-height:1.9}
.t2-empty{padding:28px 16px}
}
@media (max-width:640px){
.wrap{width:94vw}
.section-panel{margin-top:40px}
.hero-copy h1{font-size:32px;line-height:1.15}
.t2-cardgrid{grid-template-columns:minmax(0,1fr);gap:12px}
.t2-quick4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.t2-quick4-item{min-height:0;padding:14px}
.t2-quick4-desc{margin-top:6px}
.t2-steps{grid-template-columns:minmax(0,1fr)}
.t2-step{min-height:0;padding:16px}
.t2-hotcard{flex:0 0 calc((100% - 16px) / 2.2);min-width:140px}
.t2-legend,.t2-tips{padding:14px}
.t2-detail-meta{padding:14px}
.t2-detail-block{padding:14px}
.t2-endnote{padding:16px}
.t2-faq-item{padding:14px}
.t2-faq-q{font-size:18px}
.t2-newscard{padding:16px}
.t2-version-card{padding:16px;min-height:0}
.t2-side-block{padding:16px}
.t2-guide-body{font-size:15px;line-height:1.9}
}
@media (max-width:360px){
.wrap{width:92vw}
body{font-size:14px}
.panel{padding:14px}
.hero-copy h1{font-size:32px}
.t2-quick4{grid-template-columns:minmax(0,1fr)}
.t2-hotcard{flex:0 0 82%;min-width:0}
.t2-faq-q{font-size:17px}
.t2-newscard-title{font-size:15px}
.t2-hot-name{font-size:14px}
}

/* ===== D. T2-04 施工校正块 ===== */
/* ===== 施工校正块 1：全站 H1 字号统一 =====
   母站只给 .hero-copy h1 定了字号，其它页面的 <h1> 会退回浏览器默认 2em，
   导致"首页与其它页字号不一致"。字号取值以 T2-04/DESIGN.md 第 2 节为准：
   首页 H1 52px/1.15（DESIGN 明写），移动端 H1 32px（DESIGN 明写），
   1024 / 768 两档为过渡值（DESIGN 未指定，向 32px 收拢）。 */
.page-body .panel > h1,
.page-body .section-head h1{font-size:52px;line-height:1.2;margin:0 0 10px;color:#F2F5F8;font-weight:800}

/* ===== 施工校正块 2：表格里"服务器名"是独立链接，天然只有 ~21px 高，补足到 44px 触控目标
   T2-04 的链接色用青（DESIGN：青用于链接下划线），深色底上 8.09~8.82:1 达标 */
.table-wrap .table td:first-child a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#5FC9C0}
/* 推荐页的名称在第 2 列，同样补足触控高度 */
.table-wrap .table td:nth-child(2) a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#5FC9C0}
/* 正文段落里的链接只靠颜色区分会被判 link-in-text-block，加下划线 */
.t2-articlebody a{text-decoration:underline;text-underline-offset:3px;font-weight:600;color:#5FC9C0}
.t2-articlebody a:hover{text-decoration-thickness:2px}
/* 页脚友链是独立链接，母站只有 21px 高，补足触控高度（URL / target / rel 一律不动） */
.footer-link{display:inline-flex;align-items:center;min-height:44px}

/* ===== 施工校正块 3：深色底上的对比度（WCAG AA，13px 文字需 ≥ 4.5:1） =====
   本站是深色主题，母站的浅色底全部换成深色系，因此"次级块底"也换成深色并重新实测。
   设计 token 原值（只作装饰 / 描边 / 大面积底，不直接承载小字）：
     --t2-04-muted  #8B97A5  页面底 #0E1116 6.36:1 / 区块底 #151A21 5.88:1 /
                     卡片底 #1B222B 5.39:1 / 次级卡 #222B35 4.82:1  → 达标但余量小，不用于正文小字
     --t2-04-accent #E0A33E  页面底 8.54:1 / 区块底 7.89:1 / 卡片底 7.23:1 / 次级卡 6.47:1 ✅
     --t2-04-teal   #3FB0A8  页面底 7.19:1 / 区块底 6.65:1 / 卡片底 6.10:1 / 次级卡 5.45:1 ✅
     --t2-04-accent-2 #C9452F 页面底 3.94:1 / 区块底 3.64:1 / 卡片底 3.34:1 → 不达标，
                     朱红只作描边与状态标签底色，绝不直接承载文字
   「文字用」色阶（实际写进 color 的全部取值，实测对比度）：
     --t2-04-ink       #F2F5F8  页面底 17.28:1 / 区块底 15.97:1 / 卡片底 14.65:1 / 次级卡 13.10:1 ✅
     --t2-04-text      #C9D2DC  页面底 12.37:1 / 区块底 11.43:1 / 卡片底 10.48:1 / 次级卡 9.38:1 ✅
     --t2-04-muted-ink #A9B5C2  页面底  9.07:1 / 区块底  8.39:1 / 卡片底  7.69:1 / 次级卡 6.88:1 ✅
     --t2-04-kicker-ink #E8B45A 页面底 10.00:1 / 区块底  9.24:1 / 卡片底  8.48:1 / 次级卡 7.58:1 ✅
     --t2-04-link-ink  #5FC9C0  页面底  9.55:1 / 区块底  8.82:1 / 卡片底  8.09:1 / 次级卡 7.24:1 ✅
   状态标签四色（只用于文字标签底色，深底浅字）：
     新开   #5FD9A6 on #0E2E23 = 8.34:1（落在卡片底 #1B222B 上也是 9.13:1）✅
     流畅   #5FD8CF on #0E2B2E = 8.70:1（落在卡片底 #1B222B 上也是 9.32:1）✅
     火爆   #F7B3A0 on #3A1B12 = 8.85:1（落在卡片底 #1B222B 上也是 9.09:1）✅
     待开服 #E5A08D on #241615 = 8.12:1（落在卡片底 #1B222B 上也是 7.44:1）✅
   其它实测：
     主按钮 #0E1116 on #E0A33E = 8.54:1（hover #EFC06E = 11.20:1）✅
     页头导航 chip #E8EDF2 on #222B35 = 12.17:1 ✅
     编号胶囊 #E8B45A on #2A2110 = 8.39:1 ✅
     表头 #E8B45A on #1B222B = 8.48:1 ✅
     页脚小字 #A9B5C2 on #0E1116 = 9.07:1 ✅
     表格正文 #C9D2DC on 隔行 #161C23 = 11.22:1；表格链接 #5FC9C0 on #161C23 = 8.66:1 ✅ */
:root{--t2-04-muted-ink:#A9B5C2;--t2-04-kicker-ink:#E8B45A;--t2-04-link-ink:#5FC9C0;--t2-04-ok-ink:#5FD9A6;--t2-04-run-ink:#5FD8CF;--t2-04-hot-ink:#F7B3A0;--t2-04-wait-ink:#E5A08D}
/* 13px 辅助文字统一走「文字用」muted-ink（深色底专用） */
.stat-box span,.server-version,.server-meta,.detail-meta,.w2-refresh-info,.w2-status-line,.w2-refresh-note,
.t2-step-desc,.t2-bigcard-ver,.t2-bigcard-meta,.t2-quick4-desc,.t2-version-fit,.t2-hot-meta,.t2-empty,
.t2-crumb,.t2-h1-sub,.t2-newscard-date,.footer-note,.footer-links-label,
.table-wrap .table td:nth-child(n)::before{color:#A9B5C2}
/* 编号 / 强调短句走「文字用」kicker-ink */
.hero-kicker,.t2-step-no,.t2-hot-no,.t2-version-check strong,.t2-version-name,.t2-toc h3,.t2-toc strong{color:#E8B45A}
/* 链接走「文字用」link-ink */
a,.t2-crumb a,.t2-toc a:hover,.t2-endnote a,.t2-articlebody a,.t2-tags a,.t2-rank a:hover{color:#5FC9C0}
/* 状态标签文字（加深后） */
.w2-status-new{color:#5FD9A6}
.w2-status-smooth{color:#5FD8CF}
.w2-status-hot{color:#F7B3A0}
.w2-status-pending{color:#E5A08D}

/* ===== 施工校正块 4：移动端表格卡片化（≤640px） =====
   母站表格没有 <thead>，表头是一行裸的 <tr><th>…</th></tr>。
   卡片化后单元格已用 data-label 显示列名，因此整行表头必须隐藏，
   否则移动端会出现两行重复列名。
   （T2-04/DESIGN.md 5.2 写的是"移动端保持表格横滚"，
     但《施工规约_T2.md》6.10 规定卡片化优先 —— 以规约为准，360px 不出横向滚动条。） */
@media (max-width:640px){
.table-wrap .table{display:block;width:100%}
.table-wrap .table tr{display:block;width:100%;border:1px solid #2A333E;border-radius:14px;margin-bottom:10px;padding:8px 10px;background:#151A21}
.table-wrap .table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 0;text-align:right}
.table-wrap .table td:nth-child(n)::before{content:attr(data-label);flex:0 0 auto;text-align:left;color:#A9B5C2;font-size:13px;font-weight:700}
.table-wrap .table tr:first-child{display:none}
.table-wrap .table th{display:none}
/* 表格元素改成 display:block 后，行组会被包进「匿名表格盒」并按内容收缩，
   卡片就会缩成一小条；这里把行组也改成块级并给行 100% 宽，卡片才铺满容器。 */
.table-wrap .table tbody{display:block;width:100%}
.table-wrap .table tr{width:100%}
.table-wrap .table td{min-height:44px;align-items:center}
.table-wrap .table td:not([data-label])::before{content:none}
.table-wrap .table tbody tr:nth-child(even) td,.table-wrap .table tbody tr:hover td{background:transparent}
.table-wrap .table tr:last-child{margin-bottom:0}
.table-wrap{border:0;background:transparent;border-radius:0}
}

/* ===== 施工校正块 5：窄屏换行兜底 =====
   1) 卡片化后单元格里的长服名 / 长链接必须能断行，否则 360px 下会把整页撑出横向滚动条；
   2) 页脚、面包屑、侧栏排行等长文本同样允许断行，任何宽度都不出现整页横向滚动条。 */
@media (max-width:640px){
.table-wrap .table td{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.table-wrap .table td>*{min-width:0;max-width:100%}
.table-wrap .table td a{overflow-wrap:anywhere;word-break:break-word}
}
.footer-note,.footer-links-label,.footer-link,.t2-crumb,.t2-rank a,.t2-hot-name,.t2-newscard-title,
.t2-articlebody,.t2-bigcard-name,.t2-version-name,.server-name,.quick-links a{overflow-wrap:anywhere}

/* ===== 施工校正块 6：页面级 H1 的移动断点（DESIGN.md 移动端 H1 32px） =====
   放在最后，确保覆盖前面 C 段的任何同优先级规则。 */
@media (max-width:1024px){
.page-body .panel > h1,
.page-body .section-head h1{font-size:44px;line-height:1.2;letter-spacing:0}
}
@media (max-width:768px){
.page-body .panel > h1,
.page-body .section-head h1{font-size:38px;line-height:1.2;letter-spacing:0}
}
@media (max-width:640px){
.page-body .panel > h1,
.page-body .section-head h1{font-size:32px;line-height:1.2;letter-spacing:0}
}
@media (max-width:360px){
.page-body .panel > h1,
.page-body .section-head h1{font-size:32px;line-height:1.2;letter-spacing:0}
}

/* ===== 施工校正块 7：结构兜底 =====
   1) 排行模块的子元素是链接而不是列表项，关闭列表计数并补齐链接样式；
   2) 面包屑分隔符若由文案手写（› / >），关掉自动插入的斜杠，避免出现两个分隔符；
   3) 常见问题的序号由页面文案手写，不使用自动编号；
   4) 指南容器假定 .t2-toc 与 .t2-guide-body 都是 .t2-guide 的直接子元素，用 order 兜底；
   5) 资讯卡标题是独立链接，补到 24px 触控下限。 */
.t2-faq-q::before{content:none}
.t2-rank li{list-style:none}
.t2-rank a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;color:#C9D2DC;font-size:14px;line-height:1.6;font-weight:600}
.t2-detail-meta>span{display:inline-flex;align-items:baseline;gap:6px}
.t2-crumb a+a::before{content:none}
.t2-crumb span.sep{color:#A9B5C2}
.t2-newscard-title a{display:inline-flex;align-items:center;min-height:24px;color:#F2F5F8}
.t2-hot-name a,.t2-bigcard-name a{display:inline-flex;align-items:center;min-height:24px;color:#F2F5F8}

/* ===== 施工校正块 8：分区编号装饰（可选钩子） =====
   DESIGN.md 的"01 / 02 / 03…"编号由页面文案手写。若页面给区块元素加了
   data-sec="01" 这类属性，这里自动排成等宽琥珀编号；没有该属性时不产生任何内容。 */
[data-sec]{font-family:var(--t2-04-font-num)}
[data-sec]::before{content:attr(data-sec);display:block;color:#E8B45A;font-weight:800;letter-spacing:2px;font-size:13px;line-height:1.6;margin-bottom:6px}

/* ===== T2-04 施工校正块（总控追加） =====
   已批准 DESIGN 第 3 节：「07 热门推荐 + 资讯（两栏 1fr 1fr）」。
   页面里 07 这一行是 .t2-layout 里相邻的两个 .panel；而 05「深度长文 + 右侧摘要栏」
   那一行是 div + aside.t2-side（设计要求就是 1fr + 300px），不会命中下面的选择器。
   修正前 07 的第二列被压到 300px，资讯卡只剩 119px 宽。 */

/* ===== T2-04 施工校正块（总控追加） =====
   已批准 DESIGN 第 3 节：「07 热门推荐 + 资讯（两栏 1fr 1fr）」。
   页面里 07 这一行是 .t2-layout 里相邻的两个 .panel；而 05「深度长文 + 右侧摘要栏」
   那一行是 div + aside.t2-side（设计要求就是 1fr + 300px），不会命中下面的选择器。
   修正前 07 的第二列被压到 300px，资讯卡只剩 119px 宽。
   注意：:has() 的特异度高于媒体查询里的 .t2-layout，因此必须限定在 ≥1025px，
   否则会覆盖掉 ≤1024px 的单列堆叠规则。 */
@media (min-width:1025px){
.t2-layout:has(> .panel + .panel){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* ===== 可访问性校正：正文块内的行内链接不能只靠颜色区分（WCAG 1.4.1 / Lighthouse link-in-text-block） ===== */
.t2-article-body a,
.t2-guide-body a,
.t2-articlebody a,
.t2-faq-a a,
.t2-version-check a{text-decoration:underline;text-underline-offset:3px}