*{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-01 站点主题覆盖块（追加层，勿改上方母站规则） ===== */
/* 设计 token —— 紫金主题 */
:root{
--t2-01-bg:#F4F1F7;
--t2-01-surface:#FFFFFF;
--t2-01-surface-2:#FAF7FC;
--t2-01-brand:#4C2A85;
--t2-01-brand-2:#7B5BC7;
--t2-01-accent:#C99700;
--t2-01-ink:#241C33;
--t2-01-text:#4B4359;
--t2-01-muted:#8A8199;
--t2-01-line:#E4DEEE;
--t2-01-ok:#2E7D5B;
--t2-01-run:#3E6FB0;
--t2-01-hot:#B23A48;
--t2-01-wait:#7A6A55;
--t2-01-font:"Noto Sans SC","Source Han Sans SC","Microsoft YaHei",sans-serif;
--t2-01-num:"DIN Alternate","Bahnschrift",Consolas,monospace;
--t2-01-shadow-panel:0 2px 0 rgba(76,42,133,.06);
--t2-01-shadow-hover:0 8px 20px rgba(76,42,133,.10);
}
/* ===== A. 母站选择器换肤覆盖 ===== */
body{margin:0;background:#F4F1F7;color:#4B4359;font-family:var(--t2-01-font);font-size:15px;line-height:1.85;-webkit-text-size-adjust:100%}
a{text-decoration:none;color:#7B5BC7}
a:hover{color:#4C2A85}
.site-header a{color:#fff}
.wrap{width:min(1280px,94vw);margin:0 auto}
.site-header{background:linear-gradient(90deg,#4C2A85 0%,#5E368F 45%,#7B5BC7 100%);color:#fff;box-shadow:0 2px 0 rgba(76,42,133,.06);position:sticky;top:0;z-index:10}
.site-footer{margin-top:auto;background:#4C2A85;color:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:20px 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;color:#EDE6F8}
.footer-link:hover{color:#C99700}
.footer-links-label{opacity:.75;font-weight:400;font-size:13px;line-height:1.6}
.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{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:700;transition:.2s}
.top-nav a:hover{background:rgba(255,255,255,.26)}
.brand-big{font-size:30px;font-weight:900;letter-spacing:3px;line-height:1.25;color:#fff}
.brand-sub{margin-top:6px;opacity:.9;font-size:13px;line-height:1.6;color:#E4DAF3}
.page-body{padding:24px 0 40px}
.panel{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:18px}
.hero-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#FAF7FC 0%,#EFE8FA 100%);border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:24px}
.hero-kicker{color:#C99700;font-weight:800;letter-spacing:2px;margin-bottom:8px;font-size:13px;line-height:1.6}
.hero-copy h1{font-size:38px;line-height:1.25;margin:0 0 10px;color:#241C33;font-weight:800;letter-spacing:.5px}
.hero-copy p{margin:0;font-size:15px;line-height:1.85;max-width:620px;color:#4B4359}
.stat-box{background:#FAF7FC;border:1px solid #E4DEEE;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 0 rgba(76,42,133,.06)}
.stat-box span{color:#8A8199;font-size:13px;line-height:1.6}
.stat-box strong{display:block;margin-top:8px;color:#4C2A85;font-size:20px;line-height:1.25;font-family:var(--t2-01-num);font-weight:700}
.section-panel{margin-top:32px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.section-head h2{margin:0;font-size:22px;line-height:1.4;color:#241C33;font-weight:800}
.panel-title{margin:0;font-size:22px;line-height:1.4;color:#241C33;font-weight:800}
.side-panel h2{margin:0 0 12px;font-size:22px;line-height:1.4;color:#241C33;font-weight:800}
.modern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.modern-card{display:block;padding:16px;border-radius:12px;background:#FFFFFF;border:1px solid #E4DEEE;box-shadow:0 2px 0 rgba(76,42,133,.06);transition:.2s}
.modern-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(76,42,133,.10);border-color:#C9B9E8}
.server-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.server-name{display:block;font-size:17px;line-height:1.5;font-weight:800;color:#4C2A85}
.server-version{display:block;margin-top:6px;color:#8A8199;font-size:13px;line-height:1.6}
.score-pill{background:linear-gradient(90deg,#C99700,#A97400);color:#fff;font-weight:800;font-size:13px;line-height:1.6;padding:6px 11px;border-radius:999px;white-space:nowrap}
.server-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:#8A8199;font-size:13px;line-height:1.6}
.server-desc{margin-top:10px;color:#4B4359;font-size:15px;line-height:1.85}
.card-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:#FFFFFF;color:#4C2A85;border:1px solid #7B5BC7;border-radius:12px;min-height:44px;padding:12px 20px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:.2s}
.btn-ghost:hover{background:#FAF7FC;border-color:#4C2A85}
.article-list{display:grid;gap:12px}
.article-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #E4DEEE}
.article-date{flex:0 0 64px;height:64px;border-radius:12px;background:linear-gradient(135deg,#4C2A85,#7B5BC7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1.25;font-weight:900;font-family:var(--t2-01-num);box-shadow:0 2px 0 rgba(76,42,133,.06)}
.article-content h3{margin:0 0 6px;font-size:17px;line-height:1.5;color:#241C33;font-weight:800}
.article-content p{margin:0;color:#4B4359;font-size:15px;line-height:1.85}
.side-col{display:grid;gap:16px}
.quick-links{display:grid;gap:10px}
.quick-links a{display:block;padding:12px 14px;min-height:44px;background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;color:#4C2A85;font-weight:700;font-size:15px;line-height:1.6;position:relative;transition:.2s}
.quick-links a:hover{border-color:#7B5BC7;background:#FAF7FC}
.quick-links a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px;background:linear-gradient(180deg,#4C2A85 0%,#C99700 100%)}
.tag-box{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;background:#FAF7FC;color:#4C2A85;padding:8px 12px;border-radius:999px;border:1px solid #E4DEEE;font-weight:700;font-size:13px;line-height:1.6}
.warm-tag{display:inline-flex;align-items:center;background:linear-gradient(180deg,#FFF8E6,#F9EDCB);border:1px solid #E7D29C;color:#6E5100;font-weight:800;font-size:13px;line-height:1.6;padding:8px 12px;border-radius:999px}
.form{display:grid;gap:12px}
.input,textarea,select{width:100%;padding:12px 14px;border:1px solid #E4DEEE;border-radius:12px;background:#FFFFFF;color:#4B4359;font:inherit;font-size:15px;line-height:1.6;min-height:44px;transition:.2s}
.input:focus,textarea:focus,select:focus{outline:2px solid rgba(123,91,199,.35);outline-offset:1px;border-color:#7B5BC7}
textarea{min-height:120px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:#4C2A85;color:#fff;border:none;border-radius:12px;padding:12px 20px;min-height:44px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:.2s}
.btn:hover{background:#3E2069}
.table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6}
.table th{padding:12px;border-bottom:1px solid #E4DEEE;text-align:left;background:#FAF7FC;color:#241C33;font-weight:800;font-size:13px;white-space:nowrap}
.table td{padding:12px;border-bottom:1px solid #E4DEEE;text-align:left;color:#4B4359}
.table tbody tr:hover td{background:#FAF7FC}
.table-wrap{overflow:auto;border:1px solid #E4DEEE;border-radius:12px;background:#FFFFFF}
.admin-tile{display:block;padding:18px;border-radius:12px;border:1px solid #E4DEEE;background:#FFFFFF;box-shadow:0 2px 0 rgba(76,42,133,.06)}
.admin-tile strong{display:block;font-size:17px;line-height:1.5;margin-bottom:8px;color:#4C2A85}
.detail-meta{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0;color:#8A8199;font-weight:700;font-size:13px;line-height:1.6}
.w2-refresh-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;color:#8A8199;font-size:13px;line-height:1.6}
.w2-status-line{margin-top:10px;color:#8A8199;font-size:13px;line-height:1.6}
.w2-status{display:inline-block;min-width:4.5em;text-align:center;white-space:nowrap;border-radius:999px;padding:3px 8px;font-weight:700;font-size:13px;line-height:1.6;background:#FAF7FC;color:#4B4359}
.w2-status-hot{background:rgba(178,58,72,.12);color:#B23A48}
.w2-status-smooth{background:rgba(62,111,176,.12);color:#3E6FB0}
.w2-status-new{background:rgba(46,125,91,.12);color:#2E7D5B}
.w2-status-pending{background:rgba(122,106,85,.12);color:#7A6A55}
.w2-refresh-note{margin:12px 0 0;color:#8A8199;font-size:13px;line-height:1.6}
/* ===== B. T2-01 新增组件 ===== */
.t2-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.t2-rail{position:sticky;top:88px;display:grid;gap:16px;min-width:0}
.t2-rail-title{margin:0 0 8px;font-size:13px;line-height:1.6;font-weight:800;color:#8A8199;letter-spacing:2px}
.t2-rail-nav{display:grid;gap:8px}
.t2-rail-nav a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid #E4DEEE;background:#FFFFFF;color:#4C2A85;font-weight:700;font-size:14px;line-height:1.6;transition:.2s}
.t2-rail-nav a:hover{background:#FAF7FC;border-color:#7B5BC7;color:#4C2A85}
.t2-rail-block{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:16px}
.t2-main{min-width:0;display:grid;gap:32px}
.t2-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:28px;align-items:start}
.t2-hero-grid > *{min-width:0}
.t2-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.t2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border-radius:12px;background:#4C2A85;color:#fff;border:1px solid #4C2A85;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;text-align:center;transition:.2s}
.t2-btn:hover{background:#3E2069;border-color:#3E2069}
.t2-btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border-radius:12px;background:#FFFFFF;color:#4C2A85;border:1px solid #7B5BC7;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;text-align:center;transition:.2s}
.t2-btn-ghost:hover{background:#FAF7FC;border-color:#4C2A85}
.t2-quick{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:16px}
.t2-quick-title{margin:0 0 8px;font-size:13px;line-height:1.6;font-weight:800;letter-spacing:1px;color:#8A8199}
.t2-quick-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;border-bottom:1px solid #E4DEEE;font-size:14px;line-height:1.6;color:#4B4359}
.t2-quick-item .t2-quick-time{font-family:var(--t2-01-num);color:#8A8199;font-size:13px;white-space:nowrap}
.t2-quick-more{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:13px;font-weight:700;color:#7B5BC7}
.t2-infoboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.t2-infoboard-item{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;padding:14px 16px;box-shadow:0 2px 0 rgba(76,42,133,.06)}
.t2-infoboard-label{display:inline-block;padding:2px 8px;border-radius:6px;background:#FAF7FC;border:1px solid #E4DEEE;color:#8A8199;font-size:13px;line-height:1.6;font-weight:700}
.t2-infoboard-value{display:block;margin-top:8px;font-family:var(--t2-01-num);font-size:26px;line-height:1.25;color:#4C2A85;font-weight:700;letter-spacing:.5px}
.t2-rowlist{display:grid;gap:12px}
.t2-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:16px;min-height:56px;padding:12px 16px;background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;box-shadow:0 2px 0 rgba(76,42,133,.06)}
.t2-row-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}
.t2-row-name{font-size:17px;line-height:1.5;font-weight:800;color:#4C2A85}
.t2-row-name:hover{color:#7B5BC7}
.t2-row-version{font-size:13px;line-height:1.6;color:#8A8199}
.t2-row-time{font-family:var(--t2-01-num);font-size:13px;line-height:1.6;color:#4B4359;white-space:nowrap}
.t2-row-badge{display:inline-flex}
.t2-row-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.t2-row-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:12px;border:1px solid #7B5BC7;background:#FFFFFF;color:#4C2A85;font-family:inherit;font-size:13px;font-weight:700;white-space:nowrap;transition:.2s}
.t2-row-cta:hover{background:#FAF7FC;border-color:#4C2A85}
.t2-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:6px;background:linear-gradient(180deg,#FFF7E2,#F6E7BC);border:1px solid #E3CD8B;color:#6E5100;font-size:12px;line-height:1.6;font-weight:800;white-space:nowrap}
.t2-version-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.t2-version-card{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;padding:16px;box-shadow:0 2px 0 rgba(76,42,133,.06);display:grid;gap:10px;align-content:start}
.t2-version-name{margin:0;font-size:17px;line-height:1.5;color:#241C33;font-weight:800}
.t2-version-desc{margin:0;font-size:13px;line-height:1.6;color:#4B4359}
.t2-version-fit{margin:0;font-size:13px;line-height:1.6;color:#8A8199}
.t2-version-check{margin:0;padding-top:10px;border-top:1px dashed #E4DEEE;font-size:13px;line-height:1.7;color:#4B4359}
.t2-version-check strong{color:var(--t2-01-kicker-ink)}
.t2-hot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.t2-hot-card{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;padding:14px;box-shadow:0 2px 0 rgba(76,42,133,.06);transition:.2s}
.t2-hot-card:hover{box-shadow:0 8px 20px rgba(76,42,133,.10);border-color:#C9B9E8}
.t2-hot-no{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:linear-gradient(180deg,#F7E7BE,#E9CE84);border:1px solid #D9B765;color:#6B4E00;font-family:var(--t2-01-num);font-size:14px;line-height:1;font-weight:800}
.t2-hot-name{margin:10px 0 0;font-size:15px;line-height:1.5;font-weight:800;color:#241C33}
.t2-hot-meta{margin:6px 0 0;font-family:var(--t2-01-num);font-size:13px;line-height:1.6;color:#8A8199}
.t2-article-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}
.t2-article-body{font-size:15px;line-height:1.85;color:#4B4359}
.t2-article-body p{margin:0 0 16px}
.t2-article-sec{margin:0 0 24px}
.t2-article-sec h3{margin:0 0 10px;padding-left:10px;border-left:3px solid #C99700;font-size:17px;line-height:1.5;color:#241C33;font-weight:800}
.t2-article-sec ul,.t2-article-sec ol{margin:0 0 16px;padding-left:20px}
.t2-article-sec li{margin:0 0 8px}
.t2-aside-note{background:#FAF7FC;border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:16px;font-size:14px;line-height:1.7;color:#4B4359}
.t2-aside-note h3,.t2-aside-note strong{margin:0 0 8px;display:block;font-size:15px;line-height:1.5;color:#241C33;font-weight:800}
.t2-aside-note ul,.t2-aside-note ol{margin:0;padding-left:20px}
.t2-aside-note li{margin:0 0 8px}
.t2-faq{display:grid;gap:12px;counter-reset:t2faq}
.t2-faq-item{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:12px;padding:14px 16px;counter-increment:t2faq}
.t2-faq-q{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;font-size:15px;line-height:1.6;font-weight:800;color:#241C33}
.t2-faq-q::before{content:counter(t2faq,decimal-leading-zero);flex:0 0 auto;font-family:var(--t2-01-num);color:#C99700;font-weight:800}
.t2-faq-a{margin:0;max-width:720px;font-size:15px;line-height:1.85;color:#4B4359}
.t2-tips{background:#FAF7FC;border:1px solid #E4DEEE;border-left:3px solid #C99700;border-radius:12px;padding:16px}
.t2-tips-title{margin:0 0 8px;font-size:15px;line-height:1.5;font-weight:800;color:#241C33}
.t2-tips p,.t2-tips li{font-size:14px;line-height:1.7;color:#4B4359}
.t2-tips p{margin:0 0 8px}
.t2-tips ul,.t2-tips ol{margin:0;padding-left:20px}
.t2-tips li{margin:0 0 6px}
.t2-empty{display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:32px 16px;border:2px dashed #E4DEEE;border-radius:18px;background:#FFFFFF;color:#8A8199;font-size:14px;line-height:1.6}
.t2-legend{background:#FAF7FC;border:1px solid #E4DEEE;border-radius:12px;padding:14px 16px;margin:0 0 12px}
.t2-legend-title{margin:0 0 8px;font-size:13px;line-height:1.6;font-weight:800;letter-spacing:1px;color:#8A8199}
.t2-legend-list{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13px;line-height:1.6;color:#4B4359}
.t2-legend-list li{padding-left:14px;position:relative}
.t2-legend-list li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:2px;background:#C99700}
.t2-rank{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:t2rank}
.t2-rank li{counter-increment:t2rank;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid #E4DEEE;border-radius:12px;background:#FFFFFF;font-size:14px;line-height:1.6;color:#4B4359}
.t2-rank li::before{content:counter(t2rank,decimal-leading-zero);flex:0 0 auto;font-family:var(--t2-01-num);color:#C99700;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 10px;border-radius:6px;background:#FAF7FC;border:1px solid #E4DEEE;color:#4C2A85;font-size:13px;line-height:1.6;font-weight:700}
.t2-detail-meta{display:flex;flex-wrap:wrap;gap:12px 20px;padding:14px 16px;background:#FAF7FC;border:1px solid #E4DEEE;border-radius:12px;font-size:13px;line-height:1.6;color:#4B4359}
.t2-detail-meta-item{display:flex;align-items:baseline;gap:6px}
.t2-detail-meta-label{color:#8A8199}
.t2-detail-meta-value{font-weight:800;color:#241C33}
.t2-detail-meta-value.t2-num{font-family:var(--t2-01-num)}
.t2-detail-block{background:#FFFFFF;border:1px solid #E4DEEE;border-radius:18px;box-shadow:0 2px 0 rgba(76,42,133,.06);padding:20px;margin-top:16px}
.t2-detail-block h2,.t2-detail-block h3{margin:0 0 12px;font-size:17px;line-height:1.5;color:#241C33;font-weight:800}
.t2-detail-block p{margin:0 0 12px;font-size:15px;line-height:1.85;color:#4B4359}
.t2-detail-block p:last-child{margin-bottom:0}
.t2-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;line-height:1.6;color:#8A8199}
.t2-crumb a{color:#7B5BC7;font-weight:700}
.t2-crumb a + a::before{content:"/";margin-right:8px;color:#E4DEEE;font-weight:400}
.t2-readnote{background:#FAF7FC;border:1px solid #E4DEEE;border-left:3px solid #7B5BC7;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:13px;line-height:1.6;color:#4B4359}
.t2-endnote{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:16px;background:#FFFFFF;border:1px dashed #E4DEEE;border-radius:12px;font-size:14px;line-height:1.7;color:#4B4359}
.footer-note{width:100%;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;line-height:1.7;font-weight:400;color:rgba(255,255,255,.62)}
/* ===== C. 响应式 ===== */
@media (max-width:1024px){
.t2-layout{grid-template-columns:minmax(0,1fr);gap:24px}
.t2-rail{position:static;top:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.t2-rail-title{display:none}
.t2-rail-block{display:none}
.t2-rail-nav{display:flex;flex:0 0 auto;gap:8px}
.t2-rail-nav a{flex:0 0 auto;white-space:nowrap}
.t2-hero-grid{grid-template-columns:minmax(0,1fr);gap:20px}
.hero-panel{display:block}
}
@media (max-width:768px){
.t2-version-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.t2-hot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
body{font-size:15px;line-height:1.85}
.hero-copy h1{font-size:28px;line-height:1.25}
.hero-panel{padding:16px}
.t2-main{gap:24px}
.t2-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:0;padding:14px}
.t2-row-main{flex:1 1 100%;min-width:0}
.t2-row-time{flex:0 0 auto}
.t2-row-badge{flex:0 0 auto}
.t2-row-status{flex:1 1 auto;justify-content:flex-end}
.t2-row-cta{flex:1 1 100%;width:100%;min-height:40px}
.t2-version-grid,.t2-hot-grid,.t2-infoboard,.t2-article-grid{grid-template-columns:minmax(0,1fr)}
.t2-hero-btns{gap:8px}
.t2-infoboard-value{font-size:22px}
.t2-detail-block{padding:16px}
.table-wrap{border:0;background:transparent;border-radius:0}
.table-wrap .table{display:block;width:100%}
.table-wrap .table thead{display:none}
.table-wrap .table tbody{display:block}
.table-wrap .table tr{display:block;border:1px solid #E4DEEE;border-radius:12px;margin-bottom:10px;padding:8px 10px;background:#FFFFFF}
.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:#8A8199;font-size:13px;font-weight:700}
.table-wrap .table td:not([data-label])::before{content:none}
.table-wrap .table tbody tr:hover td{background:transparent}
}
/* ===== T2-01 施工校正块（追加层，与上方主题块同源，仅覆盖本页实际 DOM 的差异） =====
   1) FAQ 序号由页面文案手写（"Q1 · …"），关闭 CSS counter 以免重复编号。
   2) 排行/快查列表在本页是 <a> 直接子元素，不是 <li>，补齐对应样式。
   3) 面包屑的分隔符由页面文案手写（"›"），关闭自动插入的 "/"。
   4) 补齐本页实际使用但主题块未定义的类：.t2-h1-sub / .t2-sub / .t2-hot-desc /
      .t2-detail-block-title / .t2-endnote-title / .t2-quick-list。
   5) 详情页信息条为直接 <span> 子元素，补齐子项样式。
   ============================================================================== */
.t2-faq-q::before{content:none}
.t2-rank{display:grid;gap:8px}
.t2-rank a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid #E4DEEE;border-radius:12px;background:#FFFFFF;font-size:14px;line-height:1.6;color:#4B4359}
.t2-rank a:hover{border-color:#C9B9E8;color:#4C2A85}
.t2-crumb a + a::before{content:none}
.t2-h1-sub{display:block;margin-top:6px;font-size:14px;line-height:1.6;font-weight:600;letter-spacing:.3px;color:#7B5BC7}
.hero-copy h1 .t2-h1-sub{color:#7B5BC7}
.panel > h1 .t2-h1-sub{color:#7B5BC7}
.t2-sub{margin:0 0 14px;font-size:14px;line-height:1.85;color:#4B4359}
.t2-hot-desc{display:block;margin-top:8px;font-size:13px;line-height:1.7;color:#4B4359}
.t2-detail-block-title{margin:0 0 10px;font-size:17px;line-height:1.5;color:#241C33;font-weight:800}
.t2-endnote{display:block;margin-top:24px;padding:16px;background:#FFFFFF;border:1px dashed #E4DEEE;border-radius:12px;font-size:14px;line-height:1.7;color:#4B4359}
.t2-endnote-title{margin:0 0 10px;font-size:15px;line-height:1.5;color:#241C33;font-weight:800}
.t2-endnote ol{margin:0 0 10px;padding-left:20px}
.t2-endnote li{margin:0 0 6px}
.t2-endnote a{color:#7B5BC7;font-weight:700}
.t2-quick-list{display:grid;gap:8px}
.t2-detail-meta > span{display:inline-flex;align-items:baseline;gap:6px}
.t2-quick-item{justify-content:flex-start;gap:10px}
.t2-infoboard-value{font-size:17px;line-height:1.5}

/* ===== T2-01 施工校正块 2：移动端表格表头 ===== 
   母站表格没有 <thead>，表头是一行裸 <tr><th>...</th></tr>。
   卡片化后 td 已用 data-label 显示列名，因此整行表头必须隐藏，否则移动端会出现两行重复列名。 */
@media (max-width:640px){
.table-wrap .table tr:first-child{display:none}
.table-wrap .table th{display:none}
}
/* ===== T2-01 施工校正块 3：可访问性对比度（WCAG AA） =====
   Lighthouse 对 13px 辅助文字报 color-contrast 不通过：
     --t2-01-muted #8A8199 在白底上仅 3.70:1，在 #FAF7FC 上 3.48:1（AA 要求 4.5:1）
     .hero-kicker 用的 #C99700 在页面底色上仅 2.37:1
     状态标签 流畅/新开/待开服 在 12% 淡色底上为 4.19~4.43:1，同样不达标
   处理：保留已批准的设计 token 原值不动，另开一组"文字用"色阶把对比度提到 AA 以上。
   文字用 muted-ink #6B6480：白底 5.59:1 / #FAF7FC 5.26:1 / 页面底色 4.99:1
   文字用 kicker-ink #8A6600：白底 5.27:1 / 页面底色 4.71:1
   状态标签文字加深：流畅 #2F5A96、新开 #1F6647、待开服 #6A5B47（火爆 #B23A48 原为 5.01:1 保持不变） */
:root{--t2-01-muted-ink:#6B6480;--t2-01-kicker-ink:#8A6600}
.stat-box span,.server-version,.server-meta,.detail-meta,.w2-refresh-info,.w2-status-line,.w2-refresh-note,
.t2-rail-title,.t2-quick-title,.t2-quick-item .t2-quick-time,.t2-infoboard-label,.t2-row-version,.t2-version-fit,
.t2-hot-meta,.t2-empty,.t2-legend-title,.t2-detail-meta-label,.t2-crumb,.t2-sub,.t2-readnote,.t2-h1-sub,
.table-wrap .table td:nth-child(n)::before{color:var(--t2-01-muted-ink)}
.hero-kicker{color:var(--t2-01-kicker-ink)}
.w2-status-smooth{color:#2F5A96}
.w2-status-new{color:#1F6647}
.w2-status-pending{color:#6A5B47}
.t2-tags a,.t2-tags span{color:#4C2A85}
.t2-legend-list li::before{background:#A87F00}
/* ===== T2-01 施工校正块 4：H1 字号统一 + 触控目标高度 =====
   1) 首页 HERO 的 H1 由 .hero-copy h1 给出 38px，但其余页面的 H1 没有字号规则，
      浏览器默认 2em（正文 15px 时 = 30px），导致"首页 38px、其它页 30px"不一致。
      按设计稿（H1 38px/1.25，移动端 28px）统一。
   2) 列表页表格里"服务器名"是独立链接（不是句内行内链接），实测高度仅 21px，
      低于设计稿"触控目标 ≥44px"与 WCAG 2.5.8 的 24px 下限，补足到 44px。 */
.page-body .panel > h1,
.page-body .section-head h1{
  font-size:38px;
  line-height:1.25;
  margin:0 0 10px;
  color:#241C33;
  font-weight:800;
  letter-spacing:1px;
}
.table-wrap .table td:first-child a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-weight:700;
  color:#4C2A85;
}
@media (max-width:640px){
  .page-body .panel > h1,
  .page-body .section-head h1{font-size:28px;line-height:1.25;letter-spacing:0}
  .hero-copy h1{font-size:28px;line-height:1.25}
}
/* ===== T2-01 施工校正块 5：正文内链接的可辨识性 =====
   Lighthouse 对文章页报 link-in-text-block：正文段落里的链接只靠颜色区分。
   给正文链接加下划线（不只靠颜色），符合 WCAG 1.4.1。 */
.t2-articlebody a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.t2-articlebody a:hover{text-decoration-thickness:2px}
/* ===== T2-01 施工校正块 6：标题层级 =====
   资讯列表页的条目标题由 <h3> 改为 <h2>：页面只有一个 <h1>（栏目名），
   条目标题是它的直接下级，跳过 H2 会被 Lighthouse 判为 heading-order 不通过。
   视觉上与原 h3 保持一致，因此同时给出等价的 h2 样式。 */
.article-content h2{margin:0 0 6px;font-size:18px;line-height:1.5;font-weight:700;color:#241C33}
/* ===== T2-01 施工校正块 7：页脚友链触控高度 =====
   母站 .footer-link 只有 21px 高，低于设计稿"触控目标 ≥44px"与 WCAG 2.5.8 的 24px 下限。
   只改展示层样式，友链的 URL / target / rel 不动。 */
.footer-link{display:inline-flex;align-items:center;min-height:44px}
/* ===== 可访问性校正：正文块内的行内链接不能只靠颜色区分（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}