/* ═══════════════════════════════════════════════════════════════
   WARDS · KARDS 官网风格主题
   设计语言：深灰 #1f1f1f · 米白 #ebebdc · 白描边按钮 · Oswald 标题
   所有页面统一引入本文件：<link rel="stylesheet" href="css/kards.css">
   ═══════════════════════════════════════════════════════════════ */
:root{
  --kd-bg:#1f1f1f; --kd-bg2:#1a1a1a; --kd-bg3:#171717;
  --kd-card:#232323; --kd-line:rgba(235,235,220,.12); --kd-line3:rgba(235,235,220,.35);
  --kd-ink:#ebebdc; --kd-ink-2:#f5f5ea; --kd-muted:#8f8f84;
  --kd-sub:#a8a8a0; --kd-gold:#d8b34f; --kd-green:#6fbf5f; --kd-red:#cf5a48; --kd-blue:#5f8fb8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--kd-bg);color:var(--kd-ink);font-family:'Noto Sans SC','Open Sans',sans-serif;min-height:100vh;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:'Oswald','Noto Sans SC',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0}

/* ── 导航 ── */
.kd-nav{position:sticky;top:0;z-index:100;background:rgba(31,31,31,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--kd-line)}
.kd-nav .wrap{display:flex;align-items:center;gap:30px;padding:13px 28px}
.kd-logo{font-family:'Oswald',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:.16em;color:var(--kd-ink);white-space:nowrap}
.kd-logo b{color:#fff;font-weight:600}
.kd-links{display:flex;gap:26px;flex:1;align-items:center;flex-wrap:wrap}
.kd-links>a{font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#b8b8ac;padding:4px 0;transition:color .2s;position:relative}
.kd-links>a:hover,.kd-links>a.active{color:#fff}
.kd-drop{position:relative}
.kd-drop-menu{position:absolute;top:100%;left:0;min-width:180px;background:#262626;border:1px solid var(--kd-line);padding:6px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .22s;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.kd-drop:hover .kd-drop-menu,.kd-drop:focus-within .kd-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.kd-drop-menu a{display:block;padding:9px 18px;font-size:.68rem;color:#b8b8ac;letter-spacing:.04em;transition:all .18s;white-space:nowrap}
.kd-drop-menu a:hover{background:rgba(235,235,220,.06);color:#fff}
.kd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 30px;font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s;background:transparent;color:var(--kd-ink);border:2px solid var(--kd-ink)}
.kd-btn:hover{background:var(--kd-ink);color:var(--kd-bg)}
.kd-btn.small{padding:8px 22px;font-size:.68rem;border-width:1px}
.kd-btn.filled{background:var(--kd-ink);color:var(--kd-bg)}
.kd-btn.filled:hover{background:#fff;border-color:#fff}
.kd-btn:disabled{opacity:.4;cursor:not-allowed}
.nav-cta{padding:7px 20px;border:1px solid var(--kd-ink);font-size:.68rem;letter-spacing:.1em;color:var(--kd-ink);text-transform:uppercase;font-family:'Oswald',sans-serif;transition:all .2s;white-space:nowrap}
.nav-cta:hover{background:var(--kd-ink);color:var(--kd-bg)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;margin-left:auto}
.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--kd-ink);transition:transform .3s,opacity .2s}
.nav-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.kd-mobile{display:none;position:fixed;inset:0;top:54px;z-index:99;background:#1a1a1a;padding:18px 26px;flex-direction:column;gap:2px;overflow-y:auto}
.kd-mobile.open{display:flex}
.kd-mobile a{padding:12px 4px;border-bottom:1px solid var(--kd-line);font-size:.8rem;color:#c9c9bd;letter-spacing:.04em}
.kd-mobile a:hover{color:#fff}

/* ── 页面头部 ── */
.kd-page-head{padding:52px 0 6px}
.kd-page-head .eyebrow{font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--kd-muted);margin-bottom:12px}
.kd-page-head h1{font-size:clamp(1.9rem,4vw,2.6rem);color:#f0f0e4;line-height:1.1}
.kd-page-head p{color:var(--kd-sub);font-size:.86rem;line-height:1.9;margin-top:14px;max-width:680px}

/* ── HERO ── */
.kd-hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:url('assets/kards/kards-keyart.jpg') center 28%/cover no-repeat #161616}
.kd-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,14,.95) 0%,rgba(14,14,14,.82) 38%,rgba(14,14,14,.28) 72%,rgba(14,14,14,.05) 100%),linear-gradient(0deg,rgba(14,14,14,.6),transparent 42%)}
.kd-hero::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(235,235,220,.02) 0 1px,transparent 1px 5px);pointer-events:none}
.kd-hero .wrap{position:relative;padding:96px 28px 88px}
.kd-hero .kicker{display:inline-flex;align-items:center;gap:14px;font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:#c9c9bd;margin-bottom:22px}
.kd-hero .kicker::before{content:'';width:44px;height:1px;background:#c9c9bd}
.kd-hero h1{font-size:clamp(2.6rem,6.4vw,4.2rem);line-height:1.05;color:var(--kd-ink-2);margin-bottom:20px}
.kd-hero h1 em{font-style:normal;color:#fff}
.kd-hero p{color:#c0c0b4;font-size:.92rem;line-height:1.95;max-width:560px;margin-bottom:30px}
.kd-hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.kd-serv{display:flex;gap:12px;flex-wrap:wrap;margin-top:44px}
.kd-serv .ks{display:flex;align-items:center;gap:10px;background:rgba(20,20,20,.55);border:1px solid var(--kd-line);border-left:2px solid #6fbf5f;padding:11px 18px;backdrop-filter:blur(8px)}
.kd-serv .ks.dev{border-left-color:#5f8fb8}
.kd-serv .ks.gold{border-left-color:#d8b34f}
.kd-serv .dot{width:7px;height:7px;border-radius:50%;background:#6fbf5f;box-shadow:0 0 8px #6fbf5f;animation:pulse 2s infinite}
.kd-serv .ks.dev .dot{background:#5f8fb8;box-shadow:0 0 8px #5f8fb8}
.kd-serv .ks.gold .dot{background:#d8b34f;box-shadow:0 0 8px #d8b34f}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.kd-serv b{font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.62rem;letter-spacing:.12em;color:#ebebdc;text-transform:uppercase;font-weight:500}
.kd-serv em{font-family:'JetBrains Mono',monospace;font-style:normal;font-size:1.05rem;color:#fff;font-weight:500;min-width:34px;text-align:right}
.kd-serv small{font-size:.55rem;color:#8f8f84;letter-spacing:.06em}

/* ── 区块通用 ── */
.kd-sec{position:relative;padding:88px 0}
.kd-sec.alt{background:var(--kd-bg2);border-top:1px solid var(--kd-line);border-bottom:1px solid var(--kd-line)}
.kd-sec-head{max-width:680px;margin-bottom:40px}
.kd-sec-head .eyebrow{font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--kd-muted);margin-bottom:12px}
.kd-sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem);color:#f0f0e4;line-height:1.1}
.kd-sec-head p{color:var(--kd-sub);font-size:.86rem;line-height:1.9;margin-top:16px}
.kd-sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.kd-link{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kd-ink);border-bottom:1px solid var(--kd-ink);padding-bottom:4px;transition:all .2s}
.kd-link:hover{color:#fff;border-color:#fff;gap:14px}

/* ── 通用卡片 / 网格 ── */
.kd-card{background:var(--kd-card);border:1px solid var(--kd-line);transition:all .25s}
.kd-card:hover{border-color:var(--kd-line3)}
.kd-grid{display:grid;gap:16px}
.kd-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.kd-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.kd-grid.cols-4{grid-template-columns:repeat(4,1fr)}

/* ── 表格 ── */
.kd-table-wrap{background:var(--kd-card);border:1px solid var(--kd-line);overflow:hidden}
.kd-table{width:100%;border-collapse:collapse;font-size:.74rem}
.kd-table th{font-family:'Oswald',sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kd-muted);text-align:left;padding:13px 16px;border-bottom:1px solid var(--kd-line);font-weight:500}
.kd-table td{padding:13px 16px;border-bottom:1px solid var(--kd-line);color:#cfcfc2}
.kd-table tr:hover td{background:rgba(235,235,220,.03)}
.kd-table tr:last-child td{border-bottom:none}

/* ── 表单 ── */
.kd-label{display:block;font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kd-muted);margin-bottom:8px}
.kd-input,.kd-select,.kd-textarea{width:100%;background:#141414;border:1px solid var(--kd-line);color:var(--kd-ink);padding:10px 14px;font-family:'Noto Sans SC',sans-serif;font-size:.78rem;transition:border-color .2s,box-shadow .2s}
.kd-input:focus,.kd-select:focus,.kd-textarea:focus{outline:none;border-color:var(--kd-line3);box-shadow:0 0 0 3px rgba(235,235,220,.07)}
.kd-input::placeholder,.kd-textarea::placeholder{color:#5c5c52}
.kd-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8f8f84 50%),linear-gradient(135deg,#8f8f84 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.kd-search{display:flex;gap:10px;align-items:center}
.kd-search .kd-input{flex:1}

/* ── 徽章 / 头像 ── */
.kd-badge{display:inline-flex;align-items:center;gap:6px;font-family:'Oswald',sans-serif;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:2px;border:1px solid var(--kd-line);color:#c9c9bd;white-space:nowrap}
.kd-badge.gold{color:#d8b34f;border-color:rgba(216,179,79,.5)}
.kd-badge.green{color:#6fbf5f;border-color:rgba(111,191,95,.5)}
.kd-badge.red{color:#cf5a48;border-color:rgba(207,90,72,.5)}
.kd-badge.blue{color:#5f8fb8;border-color:rgba(95,143,184,.5)}
.kd-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--kd-line)}

/* ── Tabs ── */
.kd-tabs{display:flex;gap:0;border-bottom:1px solid var(--kd-line);flex-wrap:wrap;margin-bottom:26px}
.kd-tab{font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:12px 22px;cursor:pointer;color:#9a9a8e;border-bottom:2px solid transparent;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none}
.kd-tab:hover{color:#fff}
.kd-tab.active{color:#fff;border-bottom-color:#fff}

/* ── 分页 / 空状态 ── */
.kd-pagination{display:flex;gap:8px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.kd-pagination a,.kd-pagination span{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--kd-line);font-size:.7rem;color:#b8b8ac;padding:0 8px;transition:all .2s}
.kd-pagination a:hover{border-color:var(--kd-line3);color:#fff}
.kd-pagination .cur{background:var(--kd-ink);color:var(--kd-bg);border-color:var(--kd-ink)}
.kd-empty{text-align:center;color:var(--kd-muted);font-size:.78rem;padding:60px 20px;font-family:'JetBrains Mono',monospace}

/* ── 统计条 ── */
.kd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.kd-stats>div{background:var(--kd-card);border:1px solid var(--kd-line);padding:26px 22px;text-align:center;transition:all .25s;position:relative;overflow:hidden}
.kd-stats>div::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 0%,rgba(235,235,220,.05),transparent 60%);pointer-events:none}
.kd-stats>div:hover{border-color:var(--kd-line3);transform:translateY(-3px)}
.kd-stats b{display:block;font-family:'Oswald','JetBrains Mono',sans-serif;font-size:2.2rem;font-weight:600;color:#fff;line-height:1}
.kd-stats span{font-size:.62rem;color:var(--kd-muted);letter-spacing:.14em;text-transform:uppercase;display:block;margin-top:10px}

/* ── 分栏 ── */
.kd-split{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.kd-shot{position:relative;border:1px solid var(--kd-line);border-radius:6px;overflow:hidden;background:#161616;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.kd-shot img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:block}

/* ── 背景时间线 ── */
.kd-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.kd-tl{position:relative;background:var(--kd-card);border:1px solid var(--kd-line);border-top:2px solid rgba(235,235,220,.28);padding:20px 16px 18px;transition:all .25s}
.kd-tl:hover{border-color:var(--kd-line3);transform:translateY(-4px)}
.kd-tl .no{font-family:'Oswald',sans-serif;font-size:.54rem;letter-spacing:.22em;color:var(--kd-muted);display:block;margin-bottom:14px}
.kd-tl .yr{display:block;font-family:'Oswald',sans-serif;font-size:1.45rem;font-weight:600;color:#fff;line-height:1;margin-bottom:8px}
.kd-tl p{font-size:.62rem;color:var(--kd-sub);line-height:1.8}

/* ── 玩家优质模组 ── */
.kd-mods{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.kd-mod{position:relative;overflow:hidden;background:var(--kd-card);border:1px solid var(--kd-line);transition:all .25s;cursor:pointer;display:block;text-align:left}
.kd-mod:hover{border-color:var(--kd-line3);transform:translateY(-4px)}
.kd-mod .mv{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(150deg,#2c2c2c,#171717);display:flex;align-items:center;justify-content:center}
.kd-mod .mv img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.85);transition:filter .25s}
.kd-mod:hover .mv img{filter:brightness(1)}
.kd-mod .mv .mv-ic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.9rem;opacity:.5}
.kd-mod .cat{position:absolute;top:8px;left:8px;z-index:2;font-family:'Oswald',sans-serif;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--mc,#6fbf5f);padding:2px 8px;border-radius:2px}
.kd-mod .likes{position:absolute;top:8px;right:8px;z-index:2;font-size:.58rem;color:#f0f0e4;background:rgba(8,8,8,.6);padding:2px 8px;border-radius:2px}
.kd-mod .mb{padding:12px 12px 14px}
.kd-mod .mb b{display:block;font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.74rem;letter-spacing:.04em;color:#f0f0e4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}
.kd-mod .mb p{font-size:.6rem;color:var(--kd-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;min-height:1.9em}
.kd-mod .au{display:flex;align-items:center;gap:6px;font-size:.56rem;color:#9a9a8e}
.kd-mod .au img{width:16px;height:16px;border-radius:50%;object-fit:cover;background:#333;flex-shrink:0}
.kd-mod .sv{margin-left:auto;font-family:'Oswald',sans-serif;font-size:.5rem;letter-spacing:.1em;color:var(--mc,#6fbf5f);border:1px solid rgba(111,191,95,.4);padding:1px 6px;border-radius:2px;flex-shrink:0}

/* ── 卡牌图鉴 ── */
.kd-royal{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.kd-royal .c{position:relative;border:1px solid var(--kd-line);border-radius:6px;overflow:hidden;background:#161616;cursor:pointer;transition:all .25s;display:block}
.kd-royal .c:hover{transform:translateY(-5px);border-color:var(--kd-line3)}
.kd-royal .c img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:brightness(.88);transition:filter .25s}
.kd-royal .c:hover img{filter:brightness(1)}
.kd-royal .c .cap{position:absolute;left:0;right:0;bottom:0;padding:9px 10px;background:linear-gradient(0deg,rgba(8,8,8,.94),rgba(8,8,8,.25) 60%,transparent);font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.62rem;letter-spacing:.08em;color:#f0f0e4;text-transform:uppercase}
.kd-royal .c .n{position:absolute;top:8px;right:10px;font-family:'Oswald',sans-serif;font-size:.56rem;letter-spacing:.14em;color:#cfcfc2;background:rgba(8,8,8,.6);padding:2px 7px;border-radius:3px}
.kd-royal .load-note,.kd-mods .load-note,.kd-news .load-note{grid-column:1/-1;text-align:center;color:var(--kd-muted);font-size:.72rem;padding:40px 0;font-family:'JetBrains Mono',monospace}

/* ── WARDS 特色 ── */
.kd-feat-hl{flex:1;min-width:260px;border-left:2px solid rgba(216,179,79,.6);padding:4px 0 4px 20px}
.kd-feat-hl b{display:block;font-family:'Oswald','Noto Sans SC',sans-serif;font-size:1.02rem;color:#f0f0e4;letter-spacing:.04em}
.kd-feat-hl span{display:block;font-size:.7rem;color:var(--kd-muted);margin-top:4px}
.kd-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kd-feat{background:var(--kd-card);border:1px solid var(--kd-line);padding:24px 20px;transition:all .25s;position:relative;overflow:hidden}
.kd-feat::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 0%,rgba(235,235,220,.05),transparent 60%);pointer-events:none}
.kd-feat:hover{border-color:var(--kd-line3);transform:translateY(-4px)}
.kd-feat svg{width:30px;height:30px;color:#d8b34f;margin-bottom:16px;position:relative;display:block}
.kd-feat h4{font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.82rem;letter-spacing:.06em;color:#f0f0e4;margin-bottom:8px;position:relative}
.kd-feat p{font-size:.68rem;color:var(--kd-muted);line-height:1.85;position:relative}

/* ── 新闻 / DIY ── */
.kd-news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kd-news-card{background:var(--kd-card);border:1px solid var(--kd-line);overflow:hidden;transition:all .25s;cursor:pointer;display:block}
.kd-news-card:hover{border-color:var(--kd-line3);transform:translateY(-4px)}
.kd-news-card .thumb{height:150px;position:relative;overflow:hidden;background:linear-gradient(140deg,#303030,#1d1d1d);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--kd-line)}
.kd-news-card .thumb img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82)}
.kd-news-card .thumb span{position:relative;z-index:2;font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:#d6d6c9;text-shadow:0 1px 10px rgba(0,0,0,.85)}
.kd-news-card .body{padding:18px 20px 20px}
.kd-news-card .date{display:block;font-size:.6rem;color:var(--kd-muted);letter-spacing:.08em;margin-bottom:10px}
.kd-news-card h3{font-size:1rem;color:#f0f0e4;line-height:1.4;margin-bottom:14px}
.kd-news-card .more{font-family:'Oswald',sans-serif;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#c9c9bd;display:inline-flex;align-items:center;gap:8px}
.kd-news-card:hover .more{color:#fff}

/* ── 开发组 ── */
.kd-team{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kd-member{background:var(--kd-card);border:1px solid var(--kd-line);padding:28px 20px 22px;text-align:center;transition:all .25s}
.kd-member:hover{border-color:var(--kd-line3);transform:translateY(-4px)}
.kd-member .av{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;position:relative}
.kd-member .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:2px solid rgba(235,235,220,.25)}
.kd-member .av::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(235,235,220,.28);animation:spin 16s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.kd-member .bd{display:inline-block;font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.54rem;letter-spacing:.14em;color:#191919;background:#d8b34f;padding:2px 11px;margin-bottom:10px;text-transform:uppercase}
.kd-member h4{font-family:'Oswald','Noto Sans SC',sans-serif;font-size:.95rem;color:#fff;letter-spacing:.05em}
.kd-member .role{font-size:.6rem;color:var(--kd-muted);display:block;margin:4px 0 10px}
.kd-member p{font-size:.62rem;color:var(--kd-sub);line-height:1.8}

/* ── 社区 ── */
.kd-community{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:var(--kd-card);border:1px solid var(--kd-line);padding:40px 44px}
.kd-community::before{content:'';position:absolute;inset:0;background:url('assets/kards/kards-cardbacks.png') center right/cover no-repeat;opacity:.16}
.kd-community>*{position:relative;z-index:2}
.kd-community .ct h3{font-size:1.5rem;color:#f0f0e4;margin-bottom:10px}
.kd-community .ct p{color:var(--kd-sub);font-size:.82rem;line-height:1.85;max-width:520px}
.kd-community .cd{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* ── CTA ── */
.kd-cta{position:relative;text-align:center;padding:64px 24px;border:1px solid var(--kd-line);background:linear-gradient(150deg,rgba(235,235,220,.05),transparent 45%),var(--kd-card);overflow:hidden}
.kd-cta::before{content:'';position:absolute;inset:-40%;background:radial-gradient(closest-side,rgba(216,179,79,.15),transparent);pointer-events:none}
.kd-cta h2{font-size:clamp(1.8rem,4vw,2.6rem);color:#fff;margin-bottom:12px;position:relative}
.kd-cta p{color:var(--kd-sub);font-size:.85rem;margin-bottom:28px;position:relative}
.kd-cta .kd-btn{position:relative}

/* ── 页脚 ── */
.kd-footer{border-top:1px solid var(--kd-line);background:var(--kd-bg3);padding:56px 0 40px;margin-top:88px}
.kd-footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-bottom:40px}
.kd-footer h4{font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--kd-ink);margin-bottom:16px}
.kd-footer a{display:block;font-size:.72rem;color:#9a9a8e;padding:5px 0;transition:color .2s}
.kd-footer a:hover{color:#fff}
.kd-footer .legal{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--kd-line);padding-top:26px;font-size:.62rem;color:var(--kd-muted)}

/* ── 响应式 ── */
@media(max-width:1000px){
  .kd-links{display:none}
  .nav-toggle{display:flex}
  .kd-split{grid-template-columns:1fr}
  .kd-mods{grid-template-columns:repeat(3,1fr)}
  .kd-royal{grid-template-columns:repeat(4,1fr)}
  .kd-news{grid-template-columns:1fr 1fr}
  .kd-stats{grid-template-columns:1fr 1fr}
  .kd-footer .cols{grid-template-columns:repeat(2,1fr)}
  .kd-timeline{grid-template-columns:repeat(3,1fr)}
  .kd-feats{grid-template-columns:repeat(2,1fr)}
  .kd-team{grid-template-columns:repeat(3,1fr)}
  .kd-grid.cols-4{grid-template-columns:repeat(2,1fr)}
  .kd-grid.cols-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .kd-hero{min-height:auto}
  .kd-hero .wrap{padding:64px 22px}
  .kd-mods{grid-template-columns:repeat(2,1fr)}
  .kd-royal{grid-template-columns:repeat(2,1fr)}
  .kd-news{grid-template-columns:1fr}
  .kd-stats{grid-template-columns:1fr 1fr;gap:10px}
  .kd-stats b{font-size:1.6rem}
  .kd-timeline{grid-template-columns:1fr}
  .kd-feats{grid-template-columns:1fr}
  .kd-team{grid-template-columns:1fr}
  .kd-grid.cols-2,.kd-grid.cols-3,.kd-grid.cols-4{grid-template-columns:1fr}
}
