/* ==========================================================================
   ICPEDI 资质资讯网 - 科技幻境主题（theme-scifi）
   依赖：在 style.css 之后加载，对同一套页面结构做深空暗色 + 霓虹光效重绘
   切换：后台「系统设置 → 前台主题」，配置键 site_theme = scifi
   ========================================================================== */

/* ---- 主题变量：整套配色换为深空霓虹 ---- */
:root {
    --color-primary: #00e5ff;
    --color-primary-dark: #00b8d4;
    --color-primary-light: rgba(0, 229, 255, 0.12);
    --color-secondary: #00ffa3;
    --color-accent: #a78bfa;
    --color-danger: #ff4d6d;
    --color-success: #00ffa3;

    --color-text: #e6edf7;
    --color-text-secondary: #94a8c3;
    --color-text-light: #6b7f9b;
    --color-border: rgba(120, 160, 220, 0.18);
    --color-bg: #0a1122;
    --color-bg-white: #0d1526;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.35);
    --shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 1px rgba(0, 229, 255, 0.2);
    --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 229, 255, 0.25);
}

/* ---- 全局：深空底 + 星域网格 ---- */
body {
    color: var(--color-text);
    background:
        radial-gradient(1200px 600px at 85% -10%, rgba(0, 229, 255, 0.09), transparent 60%),
        radial-gradient(1000px 520px at -10% 35%, rgba(124, 58, 237, 0.08), transparent 60%),
        linear-gradient(rgba(0, 229, 255, 0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 229, 255, 0.028) 1px, transparent 1px),
        #060a14;
    background-size: auto, auto, 44px 44px, 44px 44px, auto;
    background-attachment: fixed;
}
::selection { background: rgba(0, 229, 255, 0.32); color: #ffffff; }

/* 滚动条 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0f1e; }
::-webkit-scrollbar-thumb { background: rgba(0, 229, 255, 0.28); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0, 229, 255, 0.5); }

/* ---- 顶部导航：暗色玻璃 + 霓虹描边 ---- */
.header {
    background: rgba(8, 13, 26, 0.92);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 229, 255, 0.28);
    box-shadow: 0 0 24px rgba(0, 229, 255, 0.12);
}
.logo { color: var(--color-primary); text-shadow: 0 0 14px rgba(0, 229, 255, 0.55); }
.logo .logo-icon {
    background: linear-gradient(135deg, #00e5ff 0%, #4f7cff 60%, #7c3aed 100%);
    box-shadow: 0 0 16px rgba(0, 229, 255, 0.45);
}
.nav a { color: var(--color-text-secondary); }
.nav a:hover {
    background: rgba(0, 229, 255, 0.1);
    color: #7df3ff;
    text-shadow: 0 0 10px rgba(0, 229, 255, 0.55);
}
.nav a.active {
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.92), rgba(124, 58, 237, 0.92));
    color: #04121f;
    box-shadow: 0 0 14px rgba(0, 229, 255, 0.4);
}
.header-search {
    border-color: rgba(0, 229, 255, 0.32);
    background: rgba(6, 10, 20, 0.6);
}
.header-search input { background: transparent; color: var(--color-text); }
.header-search input::placeholder { color: #5d7290; }
.header-search button {
    background: linear-gradient(135deg, #00e5ff, #00b8d4);
    color: #04121f;
    font-weight: 600;
}
.header-search button:hover { box-shadow: 0 0 14px rgba(0, 229, 255, 0.55); }
.header-msg-btn { color: #8fa3bf; }
.header-msg-btn:hover { background: rgba(0, 229, 255, 0.12); color: var(--color-primary); }
.msg-badge { box-shadow: 0 0 0 2px #0a0f1e; }

/* ---- 按钮：霓虹渐变 ---- */
.btn-primary {
    background: linear-gradient(135deg, #00e5ff 0%, #4f7cff 55%, #7c3aed 100%);
    color: #04121f;
    font-weight: 600;
    box-shadow: 0 0 16px rgba(0, 229, 255, 0.22);
}
.btn-primary:hover {
    filter: brightness(1.18);
    box-shadow: 0 0 24px rgba(0, 229, 255, 0.45);
    color: #04121f;
}
.btn-outline { border: 1px solid var(--color-primary); }
.btn-outline:hover { background: rgba(0, 229, 255, 0.1); box-shadow: 0 0 12px rgba(0, 229, 255, 0.25); }
.btn-secondary { color: #04121f; }

/* ---- 卡片：深空面板 ---- */
.card {
    background: linear-gradient(180deg, rgba(17, 27, 50, 0.94) 0%, rgba(11, 18, 36, 0.94) 100%);
    border: 1px solid rgba(120, 160, 220, 0.16);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}
.card-header { border-bottom: 1px solid rgba(120, 160, 220, 0.2); }
.sidebar-title { border-bottom-color: var(--color-primary); text-shadow: 0 0 10px rgba(0, 229, 255, 0.4); }

/* ---- 首页 Hero：深空战场 ---- */
.hero {
    background:
        radial-gradient(800px 400px at 72% 18%, rgba(0, 229, 255, 0.2), transparent 62%),
        radial-gradient(620px 320px at 18% 92%, rgba(124, 58, 237, 0.18), transparent 62%),
        linear-gradient(135deg, #071022 0%, #0a1832 55%, #0b1030 100%);
    border-bottom: 1px solid rgba(0, 229, 255, 0.28);
    box-shadow: inset 0 -40px 80px rgba(0, 229, 255, 0.05);
}
.hero::before { background: radial-gradient(circle, rgba(0, 229, 255, 0.16) 0%, transparent 70%); }
.hero h1 { text-shadow: 0 0 26px rgba(0, 229, 255, 0.4); letter-spacing: 1px; }
.hero::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #00e5ff 30%, #7c3aed 70%, transparent);
    opacity: 0.7;
    animation: scifi-scan 4s linear infinite;
}
@keyframes scifi-scan {
    0% { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}
@media (prefers-reduced-motion: reduce) {
    .hero::after { animation: none; }
}
.hero-search {
    background: rgba(6, 10, 20, 0.88);
    border: 1px solid rgba(0, 229, 255, 0.38);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.15);
}
.hero-search input { background: transparent; color: var(--color-text); }
.hero-search input::placeholder { color: #5d7290; }
.hero-search button {
    background: linear-gradient(135deg, #00e5ff, #4f7cff);
    color: #04121f;
    font-weight: 600;
}
.hero-search button:hover { box-shadow: 0 0 18px rgba(0, 229, 255, 0.55); }
.hero-tags a { border-color: rgba(0, 229, 255, 0.4); color: rgba(214, 240, 255, 0.9); }
.hero-tags a:hover { background: rgba(0, 229, 255, 0.15); }

/* ---- 资讯列表 ---- */
.news-list .news-item:hover { background: rgba(0, 229, 255, 0.05); }
.badge-hot { background: rgba(255, 77, 109, 0.16); color: #ff7d97; }
.badge-top { background: rgba(167, 139, 250, 0.16); color: #c4b5fd; }
.badge-original { background: rgba(0, 255, 163, 0.12); color: #5cffc4; }
.news-text-list .news-rank { background: rgba(120, 160, 220, 0.18); }
.news-text-list .news-item:nth-child(2) .news-rank { background: #f97316; }

/* ---- 分类标签 / 词云 ---- */
.tag-cloud a { background: rgba(16, 26, 48, 0.8); border-color: rgba(120, 160, 220, 0.2); }
.tag-cloud a:hover {
    background: rgba(0, 229, 255, 0.1);
    color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.2);
}
.cat-nav a {
    background: rgba(16, 26, 48, 0.85);
    border: 1px solid rgba(120, 160, 220, 0.2);
    color: var(--color-text-secondary);
}
.cat-nav a:hover, .cat-nav a.active {
    background: linear-gradient(135deg, rgba(0, 229, 255, 0.88), rgba(79, 124, 255, 0.88));
    color: #04121f;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.35);
}

/* ---- 产品 / 服务商卡片 ---- */
.product-card {
    background: linear-gradient(180deg, rgba(17, 27, 50, 0.9), rgba(11, 18, 36, 0.9));
    border: 1px solid rgba(120, 160, 220, 0.2);
}
.product-card:hover {
    border-color: rgba(0, 229, 255, 0.55);
    box-shadow: 0 0 24px rgba(0, 229, 255, 0.18), 0 8px 24px rgba(0, 0, 0, 0.45);
    transform: translateY(-2px);
}
.provider-card {
    background: linear-gradient(180deg, rgba(17, 27, 50, 0.9), rgba(11, 18, 36, 0.9));
}
.provider-card:hover { border-color: rgba(0, 229, 255, 0.5); box-shadow: 0 0 20px rgba(0, 229, 255, 0.15); }
.provider-logo {
    background: rgba(0, 229, 255, 0.12);
    color: var(--color-primary);
    text-shadow: 0 0 10px rgba(0, 229, 255, 0.5);
    border: 1px solid rgba(0, 229, 255, 0.3);
}

/* ---- 文章详情 ---- */
.article-content blockquote {
    background: rgba(0, 229, 255, 0.06);
    border-left-color: var(--color-primary);
}
.article-content pre {
    background: #060b18;
    border: 1px solid rgba(0, 229, 255, 0.2);
    box-shadow: inset 0 0 24px rgba(0, 229, 255, 0.05);
}

/* ---- 分页 ---- */
.pagination .current { color: #04121f; box-shadow: 0 0 12px rgba(0, 229, 255, 0.35); }
.pagination a:hover { box-shadow: 0 0 10px rgba(0, 229, 255, 0.2); }

/* ---- 页脚 ---- */
.footer {
    background: linear-gradient(180deg, #070c18 0%, #04070f 100%);
    border-top: 1px solid rgba(0, 229, 255, 0.22);
    box-shadow: 0 -8px 40px rgba(0, 229, 255, 0.05);
}
.footer-bottom { border-top: 1px solid rgba(120, 160, 220, 0.15); }
.footer-col a:hover { color: var(--color-primary); text-shadow: 0 0 8px rgba(0, 229, 255, 0.5); }

/* ---- 表单 ---- */
.form-input, .form-textarea, .search-form input {
    background: rgba(6, 10, 20, 0.65);
    color: var(--color-text);
    border-color: rgba(120, 160, 220, 0.25);
}
.form-input::placeholder, .form-textarea::placeholder, .search-form input::placeholder { color: #5d7290; }
.form-input:focus, .form-textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.15), 0 0 12px rgba(0, 229, 255, 0.2);
}
.search-form input:focus { border-color: var(--color-primary); }

/* ---- 用户中心 / 表格 / 统计 ---- */
.user-avatar {
    background: linear-gradient(135deg, #00e5ff, #7c3aed);
    color: #04121f;
    box-shadow: 0 0 16px rgba(0, 229, 255, 0.4);
}
.user-menu a { border-color: rgba(120, 160, 220, 0.25); }
.user-menu a:hover, .user-menu a.active { border-color: transparent; }
.data-table th { background: rgba(0, 229, 255, 0.06); }
.data-table tr:hover { background: rgba(0, 229, 255, 0.04); }
.stat-card .stat-value { text-shadow: 0 0 14px rgba(0, 229, 255, 0.45); }

/* ---- 封面占位图 ---- */
.ph-thumb {
    background: linear-gradient(135deg, #0a1832 0%, #0d2244 55%, #221046 100%);
    border: 1px solid rgba(0, 229, 255, 0.25);
}
.ph-thumb .ph-mark {
    background: rgba(0, 229, 255, 0.12);
    border-color: rgba(0, 229, 255, 0.45);
    color: #7df3ff;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.25);
}

/* ---- 404 ---- */
.error-code { text-shadow: 0 0 30px rgba(0, 229, 255, 0.5); }
.error-search-form { background: rgba(6, 10, 20, 0.65); }
.error-search-form input { background: transparent; color: var(--color-text); }

/* ---- 搜索框 ---- */
.search-box {
    background: linear-gradient(180deg, rgba(17, 27, 50, 0.94), rgba(11, 18, 36, 0.94));
    border: 1px solid rgba(120, 160, 220, 0.16);
}

/* ---- 主题切换按钮（科幻态） ---- */
.theme-toggle {
    border-color: rgba(0, 229, 255, 0.35);
    color: #7df3ff;
}
.theme-toggle:hover {
    border-color: var(--color-primary);
    color: #7df3ff;
    background: rgba(0, 229, 255, 0.12);
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.35);
}

/* ---- 科幻主题专属封面占位图（无文字深空场景） ---- */
.ph-thumb {
    background:
        linear-gradient(rgba(6, 12, 26, 0.35), rgba(6, 12, 26, 0.55)),
        url('/static/images/cover-scifi-thumb.png') center / cover no-repeat,
        #060a14;
    border: 1px solid rgba(0, 229, 255, 0.3);
}
