/*
 * laolicms 网站综合管理系统 v1.0.0
 * 作者：丿king　　联系 QQ：1735737677
 * 本文件作用：前台首页样式（原站 index.php 内联样式原样抽出）
 * 文件路径：application/template/laoli/public/pc/css/index.css
 */

/* ============================================================
   全局夜间模式变量
   ============================================================ */
:root {
    --bg-body: #f0f2f5;
    --bg-card: #ffffff;
    --bg-card-hover: #eff6ff;
    --bg-header: #f8fafc;
    --border-color: #eef2f6;
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --shadow: 0 2px 8px rgba(0,0,0,0.05);
    --shadow-hover: 0 4px 15px rgba(0,0,0,0.08);
    --primary: #3b82f6;
    --primary-hover: #2563eb;
    --radius: 12px;
    --transition: all 0.3s ease;
}

body.dark-mode {
    --bg-body: #0d1117;
    --bg-card: #161b22;
    --bg-card-hover: #1c2333;
    --bg-header: #0d1117;
    --border-color: #21262d;
    --text-primary: #e6edf3;
    --text-secondary: #c9d1d9;
    --text-muted: #8b949e;
    --shadow: 0 2px 8px rgba(0,0,0,0.3);
    --shadow-hover: 0 4px 15px rgba(0,0,0,0.5);
    --primary: #58a6ff;
    --primary-hover: #79c0ff;
}

*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg-body);font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:var(--text-primary);transition:background 0.3s,color 0.3s}
body.dark-mode{background:var(--bg-body);color:var(--text-primary)}
body.dark-mode ::-webkit-scrollbar{background:var(--bg-body)}
body.dark-mode ::-webkit-scrollbar-track{background:var(--bg-body)}
body.dark-mode ::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}
body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#484f58}
/* ============================================================
   Banner 搜索区域
   ============================================================ */
#banner-bear{position:relative;width:100%;margin:0;background:linear-gradient(135deg,#2c2c2c 0%,#1a1a1a 30%,#4a4a4a 60%,#e0e0e0 85%,#fff 100%);background-size:400% 400%;animation:gradientShift 12s ease infinite;z-index:1;overflow:visible}
body.dark-mode #banner-bear{background:linear-gradient(135deg,#0d1117 0%,#161b22 30%,#0d1117 60%,#1a2332 85%,#0d1117 100%)}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.clouds_one,.clouds_two,.clouds_three{position:absolute;top:0;left:0;width:100%;height:100%;background-repeat:repeat-x;background-position:0 0;pointer-events:none;animation:cloudMove linear infinite;overflow:hidden;z-index:1}
.clouds_one{background:url("../img/cloud_one.png") repeat-x;animation-duration:50s;opacity:.6;background-size:auto 100%}
.clouds_two{background:url("../img/cloud_two.png") repeat-x;animation-duration:75s;opacity:.5;background-size:auto 100%}
.clouds_three{background:url("../img/cloud_three.png") repeat-x;animation-duration:100s;opacity:.4;background-size:auto 100%}
@keyframes cloudMove{0%{background-position:0 0}100%{background-position:-200% 0}}
.goddess{position:absolute;width:60px;height:auto;pointer-events:none;z-index:5;background:url("../img/jiawu.png") no-repeat center center;background-size:contain;animation:goddessWander 100s ease-in-out infinite}
.goddess2{position:absolute;width:80px;height:auto;pointer-events:none;z-index:5;background:url("../img/jiawu1.png") no-repeat center center;background-size:contain;animation:goddessWander2 150s ease-in-out infinite}
@keyframes goddessWander{0%{left:0%;top:15%;transform:scaleX(1)}50%{left:65%;top:18%;transform:scaleX(1)}100%{left:0%;top:22%;transform:scaleX(1)}}
@keyframes goddessWander2{0%{left:100%;top:35%;transform:scaleX(-1)}50%{left:35%;top:38%;transform:scaleX(-1)}100%{left:100%;top:35%;transform:scaleX(-1)}}
body,html{overflow-x:hidden;max-width:100%}
.typing{font-size:28px;font-weight:600;color:#fff;text-align:center;padding-top:50px;margin-bottom:30px;text-shadow:0 2px 10px rgba(0,0,0,.3);position:relative;z-index:10}
#search{position:relative;z-index:100;max-width:800px;margin:0 auto 30px;padding:0 20px}
#search-list{position:relative;margin-bottom:16px;overflow:visible;display:flex;align-items:flex-start}
.s-type{position:relative;flex-shrink:0;z-index:1000;width:88px;height:46px}
.s-type>span{display:block;height:46px;line-height:46px;text-align:center;color:#fff;font-size:14px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.2);border-radius:30px 0 0 30px;cursor:pointer}
.s-type-list{display:none;position:absolute;top:100%;left:0;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);border-radius:12px;padding:8px 0;z-index:10000;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 20px rgba(0,0,0,.3);min-width:160px}
.s-type-list label{display:flex;align-items:center;padding:10px 16px;font-size:14px;color:#fff;cursor:pointer;white-space:nowrap}
.s-type-list label:hover{background:rgba(255,255,255,.15)}
.search-group{display:none;flex:1;min-width:0;padding-left:0}
.search-group.active{display:block}
.search-type{white-space:nowrap;margin:0;padding:0;overflow-x:auto;scrollbar-width:thin;line-height:46px}
.search-type li{display:inline-block;list-style:none}
.search-type li label{display:inline-block;padding:0 15px;font-size:14px;line-height:44px;cursor:pointer;color:rgba(255,255,255,.9);border-radius:8px}
.search-type input:checked+label,.search-type label:hover{background:rgba(255,255,255,.25);color:#fff}
#search form{position:relative;display:flex;background:rgba(0,0,0,.4);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;margin-top:10px}
#search-text{flex:1;height:50px;padding:0 16px;border:none;font-size:15px;outline:none;color:#fff;background:transparent}
#search-text::placeholder{color:rgba(255,255,255,.6)}
#search button{width:80px;height:50px;border:none;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;border-radius:0 50px 50px 0}
#search button:hover{background:rgba(255,255,255,.3)}
.bear-wrap{position:relative;height:80px;margin-top:5px;z-index:10;display:flex;justify-content:center;align-items:center}
.bear{width:50px;height:26px;background:url("../img/bear.png") 0 0 no-repeat;background-size:400px 100%;animation:bearRun .8s steps(8) infinite;display:block}
@keyframes bearRun{0%{background-position:0 0}100%{background-position:-400px 0}}

@media(max-width:768px){
    .typing{font-size:18px;padding-top:30px;margin-bottom:20px}
    .s-type,.s-type>span{height:42px;line-height:42px;font-size:13px}
    #search-text{height:44px;font-size:14px}
    #search button{width:70px;height:44px}
}
/* ============================================================
   网址导航系统
   ============================================================ */
.url-system-wrapper{margin-bottom:10px}
.url-system-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0;margin-bottom:16px;border-bottom:2px solid var(--border-color);flex-wrap:wrap;gap:10px}
.url-system-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap}
.url-top-row{display:flex;gap:5px;margin-bottom:5px}
.url-top-module{flex:1;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}
.url-top-module .module-title{padding:8px 12px;background:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}
.url-top-module .module-title h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:0}
.url-top-module .module-title a{font-size:11px;color:var(--primary);text-decoration:none}
.url-top-module .module-body{padding:5px}
.url-grid-5col{display:flex;flex-wrap:wrap;gap:5px}
.url-grid-item{display:flex;align-items:center;width:calc(20% - 4px);height:35px;padding:0 8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;text-decoration:none;transition:all .2s;box-sizing:border-box}
.url-grid-item:hover{background:var(--bg-card-hover);border-color:var(--primary)}
.url-grid-item img{width:16px;height:16px;border-radius:4px;object-fit:cover;flex-shrink:0;margin-right:8px}
.url-grid-item .info{flex:1;min-width:0}
.url-grid-item .name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:35px}
.url-grid-item.hit-10 .name {
    color: #FFB74D !important;  /* 暖橙色 - 低级别 */
}

.url-grid-item.hit-20 .name {
    color: #FF6B35 !important;  /* 橙红色 */
}

.url-grid-item.hit-30 .name {
    color: #FF1744 !important;  /* 亮红 */
}

.url-grid-item.hit-40 .name {
    color: #D500F9 !important;  /* 亮紫 */
}

.url-grid-item.hit-80 .name {
    color: #00BCD4 !important;  /* 亮青蓝 */
    font-weight: 700 !important;
}

.url-grid-item.hit-100 .name {
    color: #FFD700 !important;  /* 金色 */
    font-weight: 700 !important;
}
.url-middle-module{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;margin-bottom:5px}
.url-middle-module .module-title{padding:8px 12px;background:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}
.url-middle-module .module-title h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:0}
.url-middle-module .module-title a{font-size:11px;color:var(--primary);text-decoration:none}
.url-middle-module .module-body{padding:5px}
.url-grid-10col{display:flex;flex-wrap:wrap;gap:5px}
.url-grid-10col .url-grid-item{width:calc(10% - 4.5px);height:35px}
.url-bottom-row{display:flex;gap:5px;margin-bottom:5px}
.url-bottom-module{flex:1;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}
.url-bottom-module .module-title{padding:8px 12px;background:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}
.url-bottom-module .module-title h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:0}
.url-bottom-module .module-title a{font-size:11px;color:var(--primary);text-decoration:none}
.url-bottom-module .module-body{padding:5px}
.url-grid-3col{display:flex;flex-wrap:wrap;gap:5px}
.url-grid-3col .url-grid-item{width:calc(33.333% - 3.4px);height:35px}
/* ============================================================
   用户中心
   ============================================================ */
.module-user-center {
    margin-bottom: 10px;
}
.module-user-center .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--border-color);
}
.module-user-center .section-header h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}
.module-user-center .section-header .stats {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}
.module-user-center .section-header .stats span {
    font-size: 13px;
    color: var(--text-muted);
}
.module-user-center .section-header .stats strong {
    color: var(--primary);
}

/* 顶部统计卡片 - 6列 */
.user-stats-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 5px;
    margin-bottom: 5px;
}
.user-stat-card {
    border-radius: 12px;
    padding: 14px 10px;
    text-align: center;
    transition: all .3s;
    border: 1px solid var(--border-color);
}
.user-stat-card:nth-child(1) {
    background: linear-gradient(135deg, #dbeafe, #eff6ff);
    color: #1d4ed8;
}
.user-stat-card:nth-child(2) {
    background: linear-gradient(135deg, #d1fae5, #ecfdf5);
    color: #059669;
}
.user-stat-card:nth-child(3) {
    background: linear-gradient(135deg, #ede9fe, #f5f3ff);
    color: #7c3aed;
}
.user-stat-card:nth-child(4) {
    background: linear-gradient(135deg, #fef3c7, #fffbeb);
    color: #d97706;
}
.user-stat-card:nth-child(5) {
    background: linear-gradient(135deg, #fce7f3, #fdf2f8);
    color: #db2777;
}
.user-stat-card:nth-child(6) {
    background: linear-gradient(135deg, #cffafe, #ecfeff);
    color: #0891b2;
}
body.dark-mode .user-stat-card:nth-child(1) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #60a5fa;
}
body.dark-mode .user-stat-card:nth-child(2) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #34d399;
}
body.dark-mode .user-stat-card:nth-child(3) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #a78bfa;
}
body.dark-mode .user-stat-card:nth-child(4) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #fbbf24;
}
body.dark-mode .user-stat-card:nth-child(5) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #f472b6;
}
body.dark-mode .user-stat-card:nth-child(6) {
    background: linear-gradient(135deg, #1e293b, #1c2333);
    color: #22d3ee;
}
.user-stat-card .number {
    font-size: 22px;
    font-weight: 700;
}
.user-stat-card .label {
    font-size: 11px;
    opacity: 0.8;
    margin-top: 2px;
}

/* 用户列表 - 三列等宽 */
.user-lists-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    gap: 5px;
    margin-bottom: 10px;
}
.user-list-box {
    background: var(--bg-card);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.user-list-box .box-header {
    padding: 6px 12px;
    background: var(--bg-header);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.user-list-box .box-header .title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}
.user-list-box .box-header a {
    font-size: 11px;
    color: var(--primary);
    text-decoration: none;
}
.user-list-box .box-body {
    padding: 6px 10px;
}

/* 用户网格 - 一行2个 */
.user-grid-2col {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 4px;
}

.user-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px 4px 4px;
    background: var(--bg-header);
    border-radius: 20px;
    border: 1px solid var(--border-color);
    text-decoration: none;
    font-size: 12px;
    color: var(--text-primary);
    transition: all .2s;
}
.user-item:hover {
    background: var(--bg-card-hover);
    border-color: var(--primary);
}
.user-item .avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}
.user-item .badge {
    background: var(--primary);
    color: #fff;
    padding: 0 6px;
    border-radius: 8px;
    font-size: 9px;
    flex-shrink: 0;
}
.user-item .badge.hot {
    background: #ec4899;
}
.user-item .username {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comment-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: var(--bg-header);
    border-radius: 6px;
    text-decoration: none;
    transition: all .2s;
    border: 1px solid var(--border-color);
    margin-bottom: 4px;
}
.comment-item:hover {
    background: var(--bg-card-hover);
    border-color: var(--primary);
}
.comment-item .avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.comment-item .info {
    flex: 1;
    min-width: 0;
}
.comment-item .info .username {
    font-size: 11px;
    color: var(--text-secondary);
}
.comment-item .info .comment-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--primary);
}
.comment-item .info .content {
    font-size: 12px;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}
.comment-item .time {
    font-size: 10px;
    color: var(--text-muted);
    flex-shrink: 0;
}

/* ============================================================
   响应式 - 用户中心
   ============================================================ */
@media (max-width: 1000px) {
    .user-stats-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
    .user-lists-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
}
@media (max-width: 768px) {
    .user-stats-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .user-lists-grid {
        grid-template-columns: minmax(0,1fr);
    }
    .user-grid-2col {
        grid-template-columns: minmax(0,1fr);
    }
}
@media (max-width: 480px) {
    .user-stats-grid {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    }
}

/* ============================================================
   统一模块样式（通用：API中心、论坛、电台、壁纸、公众号、小程序、应用、工具系统）
   ============================================================ */
.module-box { margin-bottom: 10px; }
.module-box .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--border-color);
}
.module-box .section-header h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}
.module-box .section-header a {
    font-size: 13px;
    color: var(--primary);
    text-decoration: none;
}

/* 三列布局 */
.module-three-wrap {
    display: flex;
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
}
.module-three-item {
    background: var(--bg-card);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    box-sizing: border-box;
    transition: all 0.3s;
}
.module-three-item:hover {
    box-shadow: var(--shadow-hover);
}
.module-three-1 { width: 50%; }
.module-three-2 { width: 25%; }
.module-three-3 { width: 25%; }

.module-three-item .panel-header {
    padding: 8px 12px;
    background: var(--bg-header);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.module-three-item .panel-title {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}
.module-three-item .more-link {
    font-size: 11px;
    color: var(--primary);
    text-decoration: none;
}
.module-three-item .panel-body {
    padding: 5px;
    box-sizing: border-box;
}

/* 通用列表样式 */
.module-three-item .item-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
}
.module-three-1 .item-list li { width: calc(25% - 4px); }
.module-three-2 .item-list li,
.module-three-3 .item-list li { width: calc(50% - 2.5px); }

.module-three-item .item-card {
    display: flex;
    align-items: center;
    padding: 6px 8px;
    border-radius: 8px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    box-sizing: border-box;
    height: 55px;
    transition: all .2s ease;
    text-decoration: none;
}
.module-three-item .item-card:hover {
    border-color: var(--primary);
    background: var(--bg-card-hover);
}
.module-three-item .item-icon {
    width: 32px;
    height: 32px;
    margin-right: 8px;
    flex-shrink: 0;
    border-radius: 6px;
    object-fit: cover;
}
.module-three-item .item-icon.round { border-radius: 50%; }
.module-three-item .item-text {
    flex: 1;
    min-width: 0;
}
.module-three-item .item-text strong {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}
.module-three-item .item-text p {
    margin: 0;
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* API特殊样式 */
.api-item .item-text .method-tag {
    font-size: 10px;
    flex-shrink: 0;
    margin-left: 8px;
    padding: 1px 10px;
    border-radius: 12px;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 600;
}
body.dark-mode .api-item .item-text .method-tag {
    background: #1e3a5f;
    color: #60a5fa;
}

/* ============================================================
   文章资讯（独立样式，因为布局不同）
   ============================================================ */
.module-article {
    margin-bottom: 10px;
}
.module-article .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--border-color);
}
.module-article .section-header h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}
.module-article .article-three-wrap {
    display: flex !important;
    gap: 5px !important;
    width: 100% !important;
    flex-direction: row !important;
    box-sizing: border-box;
}
.module-article .article-three-item {
    background: var(--bg-card);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    box-sizing: border-box;
    transition: all 0.3s;
    flex: 1;
}
.module-article .article-three-item:hover {
    box-shadow: var(--shadow-hover);
}
.module-article .article-three-1 { flex: 0 0 50%; max-width: 50%; }
.module-article .article-three-2 { flex: 0 0 25%; max-width: 25%; }
.module-article .article-three-3 { flex: 0 0 25%; max-width: 25%; }

.module-article .article-panel-header {
    padding: 8px 12px;
    background: var(--bg-header);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.module-article .article-panel-title {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}
.module-article .article-panel-body {
    padding: 5px;
    box-sizing: border-box;
}
.module-article .article-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
    box-sizing: border-box;
}
.module-article .article-three-1 .article-list li { width: calc(50% - 2px); }
.module-article .article-three-2 .article-list li,
.module-article .article-three-3 .article-list li { width: 100%; }

.module-article .article-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    border-radius: 6px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    box-sizing: border-box;
    height: 35px;
    transition: all .2s ease;
    text-decoration: none;
}
.module-article .article-card:hover {
    border-color: var(--primary);
    background: var(--bg-card-hover);
}
.module-article .article-card .article-title {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.module-article .article-card .article-meta {
    font-size: 10px;
    color: var(--text-muted);
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: 8px;
}

/* ============================================================
   友情链接
   ============================================================ */
.module-friend { margin-bottom: 10px; }
.module-friend .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--border-color);
}
.module-friend .section-header h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}
.module-friend .section-header a {
    font-size: 13px;
    color: var(--primary);
    text-decoration: none;
}
.friendly-card {
    background: var(--bg-card);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
}
.friendly-card .module-body { padding: 15px; }
.friendly-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.friendly-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--bg-header);
    border: 1px solid var(--border-color);
    border-radius: 24px;
    font-size: 13px;
    color: var(--text-primary);
    text-decoration: none;
    transition: all .2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 130px;
}
.friendly-tag img {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    object-fit: cover;
    flex-shrink: 0;
}
.friendly-tag .name { overflow: hidden; text-overflow: ellipsis; }
.friendly-tag:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    transform: translateY(-2px);
}
.friendly-tag .placeholder-icon {
    width: 18px;
    height: 18px;
    background: var(--text-muted);
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: #fff;
    flex-shrink: 0;
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1000px) {
    .url-top-row { flex-direction: column; gap: 5px; }
    .url-grid-5col .url-grid-item { width: calc(33.333% - 3.4px); }
    .url-grid-10col .url-grid-item { width: calc(20% - 4px); }
    .url-grid-3col .url-grid-item { width: calc(50% - 2.5px); }
    .url-bottom-row { flex-wrap: wrap; gap: 5px; }
    .url-bottom-module { min-width: calc(50% - 3px); }
    .user-stats-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .user-lists-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .module-three-wrap { flex-direction: column; gap: 5px; }
    .module-three-1, .module-three-2, .module-three-3 { width: 100%; }
    .module-three-1 .item-list li { width: calc(25% - 4px); }
    .module-three-2 .item-list li,
    .module-three-3 .item-list li { width: calc(50% - 2.5px); }
    .module-article .article-three-wrap { flex-direction: column !important; }
    .module-article .article-three-1,
    .module-article .article-three-2,
    .module-article .article-three-3 { flex: 0 0 100% !important; max-width: 100% !important; }
    .module-article .article-three-1 .article-list li { width: calc(50% - 2px); }
}
@media (max-width: 768px) {
    .user-stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .user-lists-grid { grid-template-columns: minmax(0,1fr); }
    .url-grid-5col .url-grid-item { width: calc(50% - 2.5px); }
    .url-grid-10col .url-grid-item { width: calc(33.333% - 3.4px); }
    .url-grid-3col .url-grid-item { width: 100%; }
    .url-bottom-module { min-width: 100%; }
    .module-three-1 .item-list li { width: calc(50% - 2.5px); }
    .module-three-2 .item-list li,
    .module-three-3 .item-list li { width: 100%; }
    .module-article .article-three-1 .article-list li { width: 100%; }
}
@media (max-width: 480px) {
    .user-stats-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .module-three-1 .item-list li { width: 100%; }
}
/* ============================================================
   Banner 搜索区域
   ============================================================ */
#banner-bear {
    position: relative;
    width: 100%;
    margin: 0;
    background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 30%, #4a4a4a 60%, #e0e0e0 85%, #fff 100%);
    background-size: 400% 400%;
    animation: gradientShift 12s ease infinite;
    z-index: 1;
    overflow: visible !important;  /* 改为 visible，让下拉不被截断 */
    min-height: 300px;
}

/* Canvas 模式：去掉渐变背景 */
#banner-bear.canvas-mode {
    background: #0d1117 !important;
    animation: none !important;
}

.canvas-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 0;
    pointer-events: none;
}

/* 云朵飞仙层 */
#banner-bear .clouds_one,
#banner-bear .clouds_two,
#banner-bear .clouds_three,
#banner-bear .goddess,
#banner-bear .goddess2 {
    position: absolute;
    z-index: 1;
}

/* 打字文字 */
#banner-bear .typing {
    position: relative;
    z-index: 10;
    text-align: center;
    padding-top: 50px;
    margin-bottom: 30px;
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    text-shadow: 0 2px 10px rgba(0,0,0,.3);
}

/* 搜索框 - 最高层 */
#banner-bear #search {
    position: relative;
    z-index: 100;
    max-width: 800px;
    margin: 0 auto 30px;
    padding: 0 20px;
}

#banner-bear .bear-wrap {
    position: relative;
    z-index: 5;
}

/* 搜索下拉 - 最顶层 */
#search-list {
    position: relative;
    z-index: 9999;
    overflow: visible !important;
}

.s-type {
    position: relative;
    z-index: 10000;
}

.s-type-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 8px 0;
    z-index: 99999 !important;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
    min-width: 160px;
}

/* 移动端下拉 */
@media (max-width: 768px) {
    .s-type-list {
        position: fixed !important;
        width: 200px !important;
        max-height: 300px;
        overflow-y: auto;
        z-index: 99999 !important;
        background: rgba(0, 0, 0, 0.97) !important;
        backdrop-filter: blur(20px);
    }
}
/* ========== 快捷导航栏样式 ========== */
.topgj_r {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 2px;
}

.topgj_r .menu-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    list-style: none;
}

.topgj_r .menu-item > a {
    padding: 6px 12px;
    color: #475569;
    display: flex;
    align-items: center;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 8px;
}

.topgj_r .menu-item > a:hover {
    background: #f1f5f9;
    color: #3b82f6;
}

/* 子菜单容器 - 与网址导航卡片风格一致 */
.topgj_r .sub-menu-z {
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%) translateY(8px);
    min-width: 100px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    z-index: 1000;
    padding: 8px 0;
    margin: 0;
    border: 1px solid #eef2f6;
}

.topgj_r .menu-item:hover .sub-menu-z {
    opacity: 1;
    visibility: visible;
    transform: translateX(50%) translateY(0);
}

.sub-menu-z .menu-item-z {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.sub-menu-z .menu-item-z a {
    padding: 8px 16px;
    color: #475569 !important;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    text-decoration: none;
    width: 100%;
    white-space: nowrap;
    gap: 6px;
}

.sub-menu-z .menu-item-z a:hover {
    background: #f1f5f9;
    color: #3b82f6 !important;
}
/* 窄屏：这一行会放不下，改成自动换行 + 点按展开（触屏没有 hover），子菜单横跨整行，不会被外层裁掉 */
@media (max-width:768px) {
.topgj_r { position:relative; flex-wrap:wrap; height:auto; row-gap:2px; }
.topgj_r .menu-item { position:static; height:auto; }
.topgj_r .sub-menu-z { top:100%; left:0; right:0; transform:translateY(8px); width:auto; min-width:0; max-width:none; }
/* 点按后浏览器会把 hover 一直挂在条目上，所以窄屏只认 open 类，否则再点一次收不起来 */
.topgj_r .menu-item:hover .sub-menu-z { opacity:0; visibility:hidden; transform:translateY(8px); }
.topgj_r .menu-item.open .sub-menu-z, .topgj_r .menu-item.open:hover .sub-menu-z { opacity:1; visibility:visible; transform:translateY(0); }
}
/* ===== 站点工具菜单样式 ===== */
.tool-menu-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    margin: 6px 0;
}
.tool-menu-wrap .tool-item {
    flex: 1 1 auto;
    min-width: 80px;
    max-width: 140px;
    background: #f8fafc;
    border-radius: 6px;
    padding: 6px 10px;
    border: 1px solid #eef2f6;
    text-align: center;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: default;
}
.tool-menu-wrap .tool-item:hover {
    background: #eff6ff;
    border-color: #3b82f6;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.12);
    transform: translateY(-1px);
}
.tool-menu-wrap .tool-item i {
    font-size: 14px;
    color: #1e293b;
    transition: color 0.2s;
}
.tool-menu-wrap .tool-item:hover i {
    color: #3b82f6;
}
.tool-menu-wrap .tool-item a {
    font-size: 12px;
    color: #1e293b;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    transition: color 0.2s;
}
.tool-menu-wrap .tool-item:hover a {
    color: #3b82f6;
}

/* ===== 夜间模式适配 ===== */
body.dark-mode .tool-menu-wrap .tool-item {
    background: #161b22;
    border-color: #30363d;
}
body.dark-mode .tool-menu-wrap .tool-item:hover {
    background: #1c2333;
    border-color: #58a6ff;
    box-shadow: 0 2px 8px rgba(88, 166, 255, 0.15);
}
body.dark-mode .tool-menu-wrap .tool-item i {
    color: #8b949e;
}
body.dark-mode .tool-menu-wrap .tool-item:hover i {
    color: #58a6ff;
}
body.dark-mode .tool-menu-wrap .tool-item a {
    color: #c9d1d9;
}
body.dark-mode .tool-menu-wrap .tool-item:hover a {
    color: #58a6ff;
}

/* ===== 响应式适配 ===== */
@media (max-width: 576px) {
    .tool-menu-wrap .tool-item {
        min-width: 60px;
        max-width: 100px;
        padding: 4px 8px;
    }
    .tool-menu-wrap .tool-item i {
        font-size: 12px;
    }
    .tool-menu-wrap .tool-item a {
        font-size: 11px;
    }
}

