/* ============================================================
   SQUAD RANK · 硬核主题包 (Hardcore Theme Pack v3.0)
   --------------------------------------------------------------
   本文件只定义"硬核黑色基底 UI" —— 背景/网格/霓虹/切角/滚动条
   等所有非颜色部分。7 套配色方案的 CSS 变量由 index.php 中
   的 THEMES 注册表用 body.style.setProperty 动态注入，行内
   样式 > 任何 CSS 选择器，彻底杜绝特异性冲突。

   启用方式：body 上挂 `theme-hardcore` 类（不挂即为原版蓝白）
   ============================================================ */


/* ============================================================
   0. 关键帧动画定义
   ============================================================ */

/* 霓虹随机闪烁 - 用于主标题、LOGO 高亮字 */
@keyframes hc-neon-flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
        opacity: 1;
        text-shadow:
            0 0 4px rgba(255, 255, 255, 0.9),
            0 0 11px var(--c-accent),
            0 0 19px var(--c-accent),
            0 0 40px var(--c-accent),
            0 0 80px var(--c-accent);
    }
    20%, 24%, 55% {
        opacity: 0.78;
        text-shadow: 0 0 4px rgba(255, 255, 255, 0.4);
    }
    22% {
        opacity: 0.4;
        text-shadow: none;
    }
}

/* 光晕呼吸脉冲 - 用于数字、徽章 */
@keyframes hc-glow-pulse {
    0%, 100% {
        text-shadow: 0 0 8px var(--c-accent-glow), 0 0 16px var(--c-accent-glow);
        filter: brightness(1);
    }
    50% {
        text-shadow:
            0 0 12px var(--c-accent),
            0 0 24px var(--c-accent),
            0 0 40px var(--c-accent-glow-strong);
        filter: brightness(1.12);
    }
}

/* 金色扫光 - 用于段落标题、详情名字 */
@keyframes hc-text-shimmer {
    0%   { background-position: -200% 50%; }
    100% { background-position:  200% 50%; }
}

/* CRT 扫描线垂直滚动 */
@keyframes hc-scan-move {
    0%   { background-position: 0 0; }
    100% { background-position: 0 48px; }
}

/* 网格缓慢漂移 */
@keyframes hc-grid-drift {
    0%   { background-position: 0 0, 0 0, 0 0, 0 0; }
    100% { background-position: 0 0, 0 0, 50px 50px, 50px 50px; }
}

/* 双光斑呼吸 */
@keyframes hc-bg-pulse {
    0%, 100% { opacity: 0.9; transform: scale(1); }
    50%      { opacity: 0.55; transform: scale(1.05); }
}

/* Top1 边框内光游走 */
@keyframes hc-border-glow {
    0%, 100% { box-shadow: inset 4px 0 20px var(--c-accent-glow); }
    50%      { box-shadow: inset 4px 0 34px var(--c-accent), 0 0 22px var(--c-accent-glow); }
}

/* 状态点快闪 */
@keyframes hc-dot-blink {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 8px var(--hc-glow), 0 0 16px var(--hc-glow);
    }
    50% {
        opacity: 0.35;
        box-shadow: 0 0 4px var(--hc-glow);
    }
}

/* 排名 #1 金光 */
@keyframes hc-rank-shine {
    0%, 100% { box-shadow: 0 0 12px var(--hc-glow); }
    50%      { box-shadow: 0 0 22px var(--c-accent), 0 0 36px var(--hc-glow); }
}

/* 按钮主按钮金光慢扫 */
@keyframes hc-btn-sweep {
    0%   { transform: translateX(-120%); }
    100% { transform: translateX(220%); }
}


/* ============================================================
   1. 主题变量（黄白配色）
   ============================================================ */

body.theme-hardcore {
    /* 通用硬核底色(可被 body.style 注入的 inline 值覆盖) */
    --hc-bg-deep: #050505;
    --hc-bg-main: #0a0a0a;
    --hc-bg-panel: #131313;
    --hc-bg-panel-hover: #1c1c1c;
    --hc-border: #2a2a2a;
    --hc-border2: #3a3a3a;
    --hc-text: #ffffff;
    --hc-text2: #f3f4f6;
    --hc-text3: #9ca3af;
    --hc-scanline: rgba(0, 0, 0, 0.35);

    /* 默认配色(冠军金) —— JS 会根据所选主题覆盖这些变量 */
    --c-accent: #fbbf24;
    --c-accent2: #f59e0b;
    --c-accent-light: #fcd34d;
    --c-accent-glow: rgba(251, 191, 36, 0.22);
    --c-accent-glow-strong: rgba(251, 191, 36, 0.6);
    --c-accent-grid: rgba(251, 191, 36, 0.05);
    --hc-glow: rgba(251, 191, 36, 0.5);

    /* 辅助状态色(胜/负/警告) */
    --c-green: #10b981;
    --c-green-dim: rgba(16, 185, 129, 0.18);
    --c-red: #ef4444;
    --c-red-dim: rgba(239, 68, 68, 0.18);
    --c-orange: #f59e0b;
    --c-orange-dim: rgba(245, 158, 11, 0.18);

    /* 重写原有变量,确保所有组件继承 */
    --c-bg: var(--hc-bg-main);
    --c-bg2: var(--hc-bg-panel);
    --c-bg3: var(--hc-bg-deep);
    --c-surface: var(--hc-bg-panel);
    --c-surface2: var(--hc-bg-panel-hover);
    --c-border: var(--hc-border);
    --c-border2: var(--hc-border2);
    --c-text: var(--hc-text);
    --c-text2: var(--hc-text2);
    --c-text3: var(--hc-text3);
    --c-silver: #a1a1aa;
    --shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.7);

    /* 战术几何切角 */
    --hc-radius: 4px;
    --hc-cut: 14px;
    --hc-clip-cut: polygon(var(--hc-cut) 0, 100% 0, 100% calc(100% - var(--hc-cut)), calc(100% - var(--hc-cut)) 100%, 0 100%, 0 var(--hc-cut));
    --hc-clip-cut-rev: polygon(0 0, calc(100% - var(--hc-cut)) 0, 100% var(--hc-cut), 100% 100%, var(--hc-cut) 100%, 0 calc(100% - var(--hc-cut)));
    --hc-font-display: 'Oswald', 'Impact', 'Arial Narrow Bold', sans-serif;
}


/* ============================================================
   2. 全局基底 + 多层动画背景
   ============================================================ */

body.theme-hardcore {
    background: var(--hc-bg-main) !important;
    color: var(--hc-text);
    background-image:
        radial-gradient(circle at 15% 10%, var(--c-accent-glow) 0%, transparent 35%),
        radial-gradient(circle at 85% 90%, var(--c-accent-glow) 0%, transparent 35%),
        linear-gradient(to right, var(--c-accent-grid) 1px, transparent 1px),
        linear-gradient(to bottom, var(--c-accent-grid) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 50px 50px, 50px 50px;
    background-attachment: fixed;
    animation: hc-grid-drift 25s linear infinite;
}

/* 光斑呼吸叠加层（z-index=1 不挡交互） */
body.theme-hardcore > #app::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(ellipse 60% 40% at 20% 15%, var(--c-accent-glow) 0%, transparent 50%),
        radial-gradient(ellipse 50% 40% at 80% 85%, var(--c-accent-glow) 0%, transparent 50%);
    animation: hc-bg-pulse 7s ease-in-out infinite;
    mix-blend-mode: screen;
}

/* 流动 CRT 扫描线 */
body.theme-hardcore::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 2px,
        var(--hc-scanline) 3px,
        transparent 4px
    );
    opacity: 0.5;
    mix-blend-mode: multiply;
    animation: hc-scan-move 9s linear infinite;
}

/* 确保内容层在动画层之上 */
body.theme-hardcore #app { position: relative; z-index: 2; }

/* 全局字体微调（硬核大写标题） */
body.theme-hardcore .nav-logo-text,
body.theme-hardcore .hero-title,
body.theme-hardcore .hero-stat-val,
body.theme-hardcore .section-title,
body.theme-hardcore .hero-badge-text,
body.theme-hardcore .tab-item,
body.theme-hardcore .btn,
body.theme-hardcore .rank-badge,
body.theme-hardcore .tier-badge,
body.theme-hardcore .player-detail-name,
body.theme-hardcore .modal-header h3,
body.theme-hardcore .lb-thead {
    font-family: var(--hc-font-display);
    letter-spacing: 0.06em;
}

/* 选区高亮 */
body.theme-hardcore ::selection {
    background: var(--c-accent);
    color: var(--hc-bg-deep);
}

/* 滚动条 */
body.theme-hardcore ::-webkit-scrollbar { width: 8px; height: 8px; }
body.theme-hardcore ::-webkit-scrollbar-track { background: var(--hc-bg-deep); }
body.theme-hardcore ::-webkit-scrollbar-thumb { background: var(--hc-border2); border-radius: 0; }
body.theme-hardcore ::-webkit-scrollbar-thumb:hover { background: var(--c-accent); }


/* ============================================================
   3. 导航栏
   ============================================================ */

body.theme-hardcore .nav-bar {
    background: rgba(10, 10, 10, 0.85) !important;
    border-bottom: 1px solid var(--c-accent);
    box-shadow: 0 2px 30px var(--c-accent-glow);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

body.theme-hardcore .nav-logo-icon {
    background: var(--c-accent);
    box-shadow: 0 0 16px var(--hc-glow);
    border-radius: 0;
    clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
    animation: hc-glow-pulse 3s ease-in-out infinite;
}
body.theme-hardcore .nav-logo-icon svg { fill: var(--hc-bg-deep); }

body.theme-hardcore .nav-logo-text {
    color: var(--hc-text);
    text-transform: uppercase;
    font-weight: 900;
    font-size: 18px;
}
/* LOGO 高亮字：霓虹闪烁 */
body.theme-hardcore .nav-logo-text span {
    color: var(--c-accent);
    animation: hc-neon-flicker 4s infinite;
}

body.theme-hardcore .nav-link {
    text-transform: uppercase;
    font-weight: 700;
    color: var(--hc-text2);
    border-radius: 0;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}
body.theme-hardcore .nav-link:hover,
body.theme-hardcore .nav-link--active {
    color: var(--c-accent);
    background: transparent;
    border-bottom-color: var(--c-accent);
    text-shadow: 0 0 8px var(--hc-glow);
}


/* ============================================================
   4. 按钮系统
   ============================================================ */

body.theme-hardcore .btn {
    text-transform: uppercase;
    font-weight: 700;
    border-radius: 0;
    transition: all 0.2s;
    position: relative;
    overflow: hidden;
}

body.theme-hardcore .btn-primary {
    background: var(--c-accent);
    color: var(--hc-bg-deep);
    clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
    box-shadow: 0 0 20px var(--c-accent-glow);
}
/* 主按钮悬停金光扫过 */
body.theme-hardcore .btn-primary::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
    transform: translateX(-120%);
    pointer-events: none;
}
body.theme-hardcore .btn-primary:hover {
    background: var(--c-accent2);
    box-shadow: 0 0 28px var(--hc-glow);
    transform: translateY(-1px);
}
body.theme-hardcore .btn-primary:hover::after {
    animation: hc-btn-sweep 0.9s ease-out;
}

body.theme-hardcore .btn-secondary {
    background: var(--hc-bg-panel);
    color: var(--hc-text);
    border: 1px solid var(--c-border2);
    clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
body.theme-hardcore .btn-secondary:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
    background: var(--hc-bg-panel-hover);
    text-shadow: 0 0 8px var(--hc-glow);
}

body.theme-hardcore .btn-green  { background: var(--c-green);  color: var(--hc-bg-deep); }
body.theme-hardcore .btn-red    { background: var(--c-red);    color: #fff; }
body.theme-hardcore .btn-orange { background: var(--c-orange); color: var(--hc-bg-deep); }

body.theme-hardcore .btn-icon {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    color: var(--hc-text2);
    border-radius: 0;
}
body.theme-hardcore .btn-icon:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
    box-shadow: 0 0 12px var(--c-accent-glow);
}

/* 用户菜单 */
body.theme-hardcore .user-btn {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-radius: 0;
}
body.theme-hardcore .user-btn:hover { border-color: var(--c-accent); }
body.theme-hardcore .user-avatar { border-radius: 0; }
body.theme-hardcore .user-avatar--admin { background: var(--c-red-dim); color: var(--c-red); }
body.theme-hardcore .user-avatar--user  { background: var(--c-accent-glow); color: var(--c-accent); }

body.theme-hardcore .dropdown {
    background: var(--hc-bg-deep);
    border: 1px solid var(--c-accent);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8), 0 0 20px var(--c-accent-glow);
    border-radius: 0;
}
body.theme-hardcore .dropdown-item:hover {
    background: var(--c-accent-glow);
    color: var(--c-accent);
}


/* ============================================================
   5. Hero 区（英雄区）- 主标题霓虹闪烁
   ============================================================ */

body.theme-hardcore .hero {
    background: linear-gradient(180deg, transparent 0%, var(--hc-bg-deep) 100%);
    border-bottom: 1px solid var(--c-border);
    overflow: hidden;
}

/* 背景巨型 "HARDCORE" 字 */
body.theme-hardcore .hero::before {
    content: 'HARDCORE';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--hc-font-display);
    font-weight: 900;
    font-size: clamp(80px, 18vw, 220px);
    line-height: 1;
    color: var(--hc-text);
    opacity: 0.035;
    pointer-events: none;
    white-space: nowrap;
    z-index: 0;
}
body.theme-hardcore .hero-bg { opacity: 0.15; }
body.theme-hardcore .hero-content { position: relative; z-index: 2; }

body.theme-hardcore .hero-badge {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-accent);
    border-radius: 0;
    clip-path: var(--hc-clip-cut);
}
/* 状态点闪烁 */
body.theme-hardcore .hero-badge-dot {
    background: var(--c-accent);
    animation: hc-dot-blink 1.4s ease-in-out infinite;
}
body.theme-hardcore .hero-badge-text {
    color: var(--c-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

body.theme-hardcore .hero-title {
    color: var(--hc-text);
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: 0.02em;
}
/* 主标题高亮字：霓虹闪烁（最主要的闪烁效果） */
body.theme-hardcore .hero-title span {
    color: var(--c-accent);
    animation: hc-neon-flicker 5s infinite;
}
body.theme-hardcore .hero-sub { color: var(--hc-text2); }

body.theme-hardcore .hero-stats {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border2);
    border-radius: 0;
    clip-path: var(--hc-clip-cut);
    overflow: visible;
}
body.theme-hardcore .hero-stat { border-right-color: var(--c-border); }
/* 统计数字：光晕呼吸 */
body.theme-hardcore .hero-stat-val {
    color: var(--c-accent);
    animation: hc-glow-pulse 3s ease-in-out infinite;
}
body.theme-hardcore .hero-stat-label {
    color: var(--hc-text3);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}


/* ============================================================
   6. 段位分布
   ============================================================ */

body.theme-hardcore .tier-section {
    border-bottom-color: var(--c-border);
    background: var(--hc-bg-deep);
}
body.theme-hardcore .tier-bar {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-radius: 0;
}
body.theme-hardcore .tier-bar-item {
    font-family: var(--hc-font-display);
    font-weight: 700;
}


/* ============================================================
   7. 功能卡片
   ============================================================ */

body.theme-hardcore .features { background: var(--hc-bg-deep); }
body.theme-hardcore .feature-card {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-radius: 0;
    clip-path: var(--hc-clip-cut-rev);
    transition: all 0.3s;
}
body.theme-hardcore .feature-card:hover {
    border-color: var(--c-accent);
    box-shadow: 0 0 30px var(--c-accent-glow);
    transform: translateY(-4px);
}
body.theme-hardcore .feature-card h3 {
    text-transform: uppercase;
    color: var(--hc-text);
    letter-spacing: 0.05em;
}

/* 段落标题：金色扫光文字 */
body.theme-hardcore .section-title {
    text-transform: uppercase;
    color: var(--hc-text);
    letter-spacing: 0.05em;
    background: linear-gradient(
        90deg,
        var(--hc-text) 0%,
        var(--hc-text) 40%,
        var(--c-accent) 50%,
        var(--hc-text) 60%,
        var(--hc-text) 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: hc-text-shimmer 4s linear infinite;
}
body.theme-hardcore .section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--c-accent);
    margin: 12px auto 0;
    box-shadow: 0 0 12px var(--hc-glow);
    animation: hc-glow-pulse 2s ease-in-out infinite;
}
body.theme-hardcore .section-sub {
    color: var(--hc-text3);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 12px;
}


/* ============================================================
   8. 排行榜
   ============================================================ */

body.theme-hardcore .leaderboard-section { background: transparent; }

body.theme-hardcore .lb-toolbar {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-accent);
    border-radius: 0;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
}

body.theme-hardcore .tab-bar {
    background: var(--hc-bg-deep);
    border: 1px solid var(--c-border);
    border-radius: 0;
    padding: 4px;
}
body.theme-hardcore .tab-item {
    border-radius: 0;
    text-transform: uppercase;
    color: var(--hc-text3);
    font-weight: 700;
    transition: all 0.2s;
}
body.theme-hardcore .tab-item:hover { color: var(--hc-text); }
body.theme-hardcore .tab-item.active {
    background: var(--c-accent);
    color: var(--hc-bg-deep);
    box-shadow: 0 0 12px var(--c-accent-glow);
}

body.theme-hardcore .lb-table {
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
}
body.theme-hardcore .lb-thead {
    background: var(--hc-bg-deep);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-border2);
    color: var(--hc-text3);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    margin-bottom: 8px;
}
body.theme-hardcore .lb-row {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
    margin-bottom: 4px;
    transition: all 0.15s;
}
body.theme-hardcore .lb-row:hover {
    background: var(--hc-bg-panel-hover);
    border-left-color: var(--c-accent);
    transform: translateX(2px);
}
body.theme-hardcore .lb-row.selected {
    background: var(--c-accent-glow);
    border-left-color: var(--c-accent);
    box-shadow: 0 0 20px var(--c-accent-glow);
}
body.theme-hardcore .lb-row.top-1,
body.theme-hardcore .lb-row.top-2,
body.theme-hardcore .lb-row.top-3 {
    border-left-color: var(--c-accent);
    background: var(--hc-bg-panel);
}
/* Top 1 专属边框光游走 */
body.theme-hardcore .lb-row.top-1 {
    animation: hc-border-glow 2.5s ease-in-out infinite;
}

body.theme-hardcore .rank-badge {
    border-radius: 0;
    font-family: var(--hc-font-display);
    font-weight: 900;
}
/* Rank#1 金光呼吸 */
body.theme-hardcore .rank-1 {
    background: var(--c-accent);
    color: var(--hc-bg-deep);
    animation: hc-rank-shine 2s ease-in-out infinite;
}
body.theme-hardcore .rank-2 { background: #e5e7eb; color: var(--hc-bg-deep); }
body.theme-hardcore .rank-3 { background: #d97706; color: var(--hc-bg-deep); }
body.theme-hardcore .rank-default {
    background: var(--hc-bg-deep);
    color: var(--hc-text3);
    border: 1px solid var(--c-border);
}

body.theme-hardcore .tier-badge {
    border-radius: 0;
    border: 1px solid currentColor;
    background: transparent !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
/* SS+ 段位：金色脉冲 */
body.theme-hardcore .tier-ss-plus {
    color: var(--c-accent);
    border-color: var(--c-accent);
    animation: hc-glow-pulse 2.2s ease-in-out infinite;
}
body.theme-hardcore .tier-ss { color: var(--c-accent2); border-color: var(--c-accent2); }
body.theme-hardcore .tier-s  { color: var(--c-accent-light); border-color: var(--c-accent-light); }
body.theme-hardcore .tier-a  { color: #ffffff; border-color: #ffffff; }
body.theme-hardcore .tier-b  { color: #d1d5db; border-color: #d1d5db; }
body.theme-hardcore .tier-c  { color: #9ca3af; border-color: #9ca3af; }
body.theme-hardcore .tier-d  { color: var(--hc-text3); border-color: var(--hc-text3); }

body.theme-hardcore .player-name  { color: var(--hc-text); font-weight: 700; }
body.theme-hardcore .player-steam { color: var(--hc-text3); }

/* 玩家详情侧栏 */
body.theme-hardcore .player-detail {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-radius: 0;
    overflow: hidden;
}
body.theme-hardcore .player-detail-header {
    background: var(--hc-bg-deep);
    border-bottom: 2px solid var(--c-accent);
    color: var(--hc-text);
    position: relative;
}
body.theme-hardcore .player-detail-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 100%, var(--c-accent-glow) 0%, transparent 70%);
    pointer-events: none;
    animation: hc-bg-pulse 4s ease-in-out infinite;
}
body.theme-hardcore .player-avatar-lg {
    background: var(--c-accent);
    color: var(--hc-bg-deep);
    border-radius: 0;
    clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
    box-shadow: 0 0 16px var(--hc-glow);
    font-family: var(--hc-font-display);
    animation: hc-glow-pulse 3s ease-in-out infinite;
}
/* 玩家名：金色扫光 */
body.theme-hardcore .player-detail-name {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: linear-gradient(
        90deg,
        var(--hc-text) 0%,
        var(--hc-text) 40%,
        var(--c-accent) 50%,
        var(--hc-text) 60%,
        var(--hc-text) 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: hc-text-shimmer 5s linear infinite;
}
body.theme-hardcore .player-detail-row { border-bottom-color: var(--c-border); }
body.theme-hardcore .player-detail-label { color: var(--hc-text3); text-transform: uppercase; font-size: 11px; letter-spacing: 0.08em; }
body.theme-hardcore .player-stat-grid { border-top-color: var(--c-border); }
body.theme-hardcore .player-stat-item { border-color: var(--c-border); }
body.theme-hardcore .player-stat-val { color: var(--c-accent); font-family: var(--hc-font-display); }
body.theme-hardcore .player-stat-lbl { color: var(--hc-text3); text-transform: uppercase; letter-spacing: 0.08em; }
body.theme-hardcore .player-empty {
    background: var(--hc-bg-panel);
    border: 1px dashed var(--c-border2);
    color: var(--hc-text3);
    border-radius: 0;
}

/* 分页 */
body.theme-hardcore .page-btn {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    color: var(--hc-text2);
    border-radius: 0;
    font-family: var(--hc-font-display);
    font-weight: 700;
}
body.theme-hardcore .page-btn:hover:not(:disabled) {
    border-color: var(--c-accent);
    color: var(--c-accent);
    box-shadow: 0 0 12px var(--c-accent-glow);
}
body.theme-hardcore .page-info { color: var(--hc-text2); font-family: var(--hc-font-display); }


/* ============================================================
   9. 服务器列表
   ============================================================ */

body.theme-hardcore .servers-section { background: var(--hc-bg-deep); }
body.theme-hardcore .server-card {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    border-radius: 0;
    clip-path: var(--hc-clip-cut-rev);
    transition: all 0.25s;
}
body.theme-hardcore .server-card:hover {
    border-color: var(--c-accent);
    box-shadow: 0 0 24px var(--c-accent-glow);
    transform: translateY(-3px);
}
body.theme-hardcore .server-icon {
    background: var(--c-accent-glow);
    color: var(--c-accent);
    border-radius: 0;
}
body.theme-hardcore .server-name {
    color: var(--hc-text);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
body.theme-hardcore .server-status { border-radius: 0; text-transform: uppercase; letter-spacing: 0.06em; }
body.theme-hardcore .server-online  { background: var(--c-green-dim); color: var(--c-green); }
body.theme-hardcore .server-offline { background: var(--c-red-dim); color: var(--c-red); }
body.theme-hardcore .server-date { border-top-color: var(--c-border); color: var(--hc-text3); }


/* ============================================================
   10. 模态框
   ============================================================ */

body.theme-hardcore .modal-backdrop {
    background: rgba(0, 0, 0, 0.85);
}
body.theme-hardcore .modal {
    background: var(--hc-bg-deep);
    border: 1px solid var(--c-accent);
    border-radius: 0;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.9), 0 0 30px var(--c-accent-glow);
    animation: hc-glow-pulse 4s ease-in-out infinite;
}
body.theme-hardcore .modal-header {
    border-bottom-color: var(--c-border);
    background: var(--hc-bg-panel);
}
body.theme-hardcore .modal-header h3 {
    color: var(--hc-text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
body.theme-hardcore .modal-body {
    background: var(--hc-bg-deep);
    color: var(--hc-text2);
}

/* 表单 */
body.theme-hardcore .form-label {
    color: var(--hc-text2);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
body.theme-hardcore .form-input {
    background: var(--hc-bg-deep);
    border: 1px solid var(--c-border2);
    color: var(--hc-text);
    border-radius: 0;
    font-family: var(--hc-font-display);
    letter-spacing: 0.04em;
}
body.theme-hardcore .form-input:focus {
    border-color: var(--c-accent);
    box-shadow: 0 0 0 2px var(--c-accent-glow), 0 0 12px var(--c-accent-glow);
    outline: none;
}
body.theme-hardcore .form-input::placeholder { color: var(--hc-text3); }

/* 状态标签 */
body.theme-hardcore .status-tag {
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

/* 公告头 - 强制覆盖内联样式 */
body.theme-hardcore .modal-header[style*="background:#d97706"],
body.theme-hardcore .modal-header[style*="background: #d97706"] {
    background: var(--hc-bg-panel) !important;
    border-bottom: 2px solid var(--c-accent);
    color: var(--c-accent) !important;
}
body.theme-hardcore .modal-header[style*="background:#d97706"] h3,
body.theme-hardcore .modal-header[style*="background: #d97706"] h3 {
    color: var(--c-accent) !important;
}
body.theme-hardcore .announcement-header {
    background: var(--hc-bg-panel) !important;
    border-bottom: 2px solid var(--c-accent);
    color: var(--c-accent) !important;
}


/* ============================================================
   11. 页脚
   ============================================================ */

body.theme-hardcore .footer {
    border-top-color: var(--c-border);
    background: var(--hc-bg-deep);
}
body.theme-hardcore .footer-link {
    color: var(--hc-text3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 11px;
}
body.theme-hardcore .footer-link:hover {
    color: var(--c-accent);
    text-shadow: 0 0 8px var(--hc-glow);
}
body.theme-hardcore .footer-copy { color: var(--hc-text3); }
body.theme-hardcore .footer-gh {
    background: var(--hc-bg-panel);
    border: 1px solid var(--c-border);
    color: var(--hc-text2);
    border-radius: 0;
}
body.theme-hardcore .footer-gh:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
}


/* ============================================================
   12. Loading & 工具类调整
   ============================================================ */

body.theme-hardcore .loading-center,
body.theme-hardcore .empty-state { color: var(--hc-text3); }
body.theme-hardcore .loading-center .icon { color: var(--c-accent); }
body.theme-hardcore .text-muted  { color: var(--hc-text3); }
body.theme-hardcore .text-accent { color: var(--c-accent); }
body.theme-hardcore .bg-surface  { background: var(--hc-bg-panel); }
body.theme-hardcore .bg-bg       { background: var(--hc-bg-deep); }
body.theme-hardcore .border-t    { border-top-color: var(--c-border); }
body.theme-hardcore .rounded,
body.theme-hardcore .rounded-lg  { border-radius: 0; }

/* 覆盖内联 hex 颜色 */
body.theme-hardcore [style*="background:#4ade80"],
body.theme-hardcore [style*="background: #4ade80"] { background: var(--c-accent) !important; }

/* 触摸点击放大（触摸设备） */
@media (hover: none) and (pointer: coarse) {
    body.theme-hardcore .btn,
    body.theme-hardcore .nav-link,
    body.theme-hardcore .tab-item,
    body.theme-hardcore .page-btn,
    body.theme-hardcore .hc-theme-swatch {
        min-height: 44px;
        min-width: 44px;
    }
}


/* ============================================================
   13. 平板适配（641px ~ 1024px）
   ============================================================ */

@media (min-width: 641px) and (max-width: 1024px) {
    body.theme-hardcore .hero::before {
        font-size: clamp(70px, 16vw, 180px);
    }
    body.theme-hardcore .lb-toolbar {
        padding: 12px;
    }
    body.theme-hardcore .feature-card {
        padding: 16px;
    }
    /* 平板上动画保留但适度降速 */
    body.theme-hardcore {
        animation-duration: 35s;
    }
}


/* ============================================================
   14. 手机适配（≤640px）- 降低动画强度 + 重要视觉保留
   ============================================================ */

@media (max-width: 640px) {
    /* 基底：关闭消耗大的漂移动画，保留扫描线 */
    body.theme-hardcore {
        animation: none;
        background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px;
    }
    body.theme-hardcore > #app::before {
        animation-duration: 10s;
    }
    body.theme-hardcore::before {
        opacity: 0.35;
        animation-duration: 12s;
    }

    /* Hero 巨型文字缩小（避免撑破屏幕） */
    body.theme-hardcore .hero::before {
        font-size: clamp(50px, 14vw, 120px);
    }

    /* 标题：保留霓虹闪烁（核心视觉） */
    body.theme-hardcore .hero-title {
        font-size: clamp(28px, 7vw, 48px);
    }
    body.theme-hardcore .hero-title span {
        animation-duration: 6s;
    }

    /* 手机端减少扫光动画频率 */
    body.theme-hardcore .section-title {
        animation-duration: 6s;
    }
    body.theme-hardcore .player-detail-name {
        animation-duration: 7s;
    }

    /* 禁用 hover 位移（触摸设备无效且影响滚动） */
    body.theme-hardcore .lb-row:hover { transform: none; }
    body.theme-hardcore .feature-card:hover { transform: none; }
    body.theme-hardcore .server-card:hover { transform: none; }

    /* 表格横向滚动 */
    body.theme-hardcore .lb-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* 模态框金光呼吸：仅降低频率，保留视觉 */
    body.theme-hardcore .modal {
        animation-duration: 6s;
    }

    /* Rank#1 边框动画仍保留（作为激励） */
    body.theme-hardcore .lb-row.top-1 {
        animation-duration: 3s;
    }

    /* 手机端字体整体缩 1 档 */
    body.theme-hardcore .section-title { font-size: clamp(20px, 5vw, 28px); }
    body.theme-hardcore .modal-header h3 { font-size: 16px; }

    /* 手机端内边距紧凑 */
    body.theme-hardcore .lb-toolbar { padding: 10px; }
    body.theme-hardcore .feature-card { padding: 14px; clip-path: none; }
    body.theme-hardcore .server-card { clip-path: none; }
    body.theme-hardcore .hero-stats { clip-path: none; }

    /* 按钮主按钮的扫光仅 hover 触发（在触摸端基本不跑） */
    body.theme-hardcore .btn-primary { clip-path: none; }
    body.theme-hardcore .btn-secondary { clip-path: none; }
}


/* ============================================================
   15. 小屏手机（≤380px）- 更激进的收缩
   ============================================================ */

@media (max-width: 380px) {
    body.theme-hardcore .nav-logo-text { font-size: 15px; }
    body.theme-hardcore .hero { padding: 60px 12px 30px; }
    body.theme-hardcore .hero::before {
        font-size: 42px;
    }
    body.theme-hardcore .hero-title {
        font-size: 24px;
    }
}


/* ============================================================
   16. 无障碍：用户偏好减弱动画时全部停用
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    body.theme-hardcore,
    body.theme-hardcore *,
    body.theme-hardcore *::before,
    body.theme-hardcore *::after {
        animation: none !important;
        transition: none !important;
    }
    body.theme-hardcore .hero-title span {
        text-shadow: 0 0 12px var(--hc-glow);
    }
}


/* ============================================================
   17. 打印样式 - 去除深色 & 动画
   ============================================================ */

@media print {
    body.theme-hardcore {
        background: white !important;
        color: black !important;
        animation: none !important;
    }
    body.theme-hardcore::before,
    body.theme-hardcore::after,
    body.theme-hardcore > #app::before {
        display: none !important;
    }
}