:root {
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --bg: #f1f5f9;
    --card-bg: #ffffff;
    --border: #e2e8f0;
    --border-light: #f1f5f9;
    --text: #0f172a;
    --text-muted: #64748b;
    --text-secondary: #475569;
    --shadow-xs: 0 1px 2px rgba(0,0,0,0.03);
    --shadow-sm: 0 4px 6px rgba(0,0,0,0.04), 0 2px 4px rgba(0,0,0,0.02);
    --shadow: 0 10px 25px rgba(0,0,0,0.06), 0 4px 10px rgba(0,0,0,0.03);
    --shadow-lg: 0 20px 45px rgba(0,0,0,0.08), 0 8px 20px rgba(0,0,0,0.04);
    --radius: 16px;
    --radius-sm: 10px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --radius-pill: 50px;
}
body { background: var(--bg); font-family: 'Inter',system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif; color: var(--text); line-height:1.6; min-height:100vh; margin:0; }
a { color:var(--primary); text-decoration:none; }
.navbar { background:rgba(255,255,255,0.9); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:0.9rem 0; position:sticky; top:0; z-index:1000; }
.navbar-brand { font-weight:700; font-size:1.5rem; color:var(--text); }
.btn-glass { background:rgba(255,255,255,0.8); border:1px solid var(--border); border-radius:var(--radius-pill); padding:0.5rem 1.5rem; font-weight:500; color:var(--text-secondary); transition:all 0.25s; }
.btn-glass:hover { background:#fff; box-shadow:var(--shadow-sm); color:var(--text); }

.pack-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:transform 0.3s,box-shadow 0.3s; cursor:pointer; display:flex; flex-direction:column; box-shadow:var(--shadow-sm); height:100%; }
.pack-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.img-wrap { height:200px; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.img-wrap img { width:100%; height:100%; object-fit:cover; transition:0.5s; }
.pack-card:hover .img-wrap img { transform:scale(1.05); }
.img-placeholder { font-size:3rem; color:#94a3b8; }
.card-body { padding:1.6rem 1.5rem 1.8rem; flex:1; display:flex; flex-direction:column; gap:0.5rem; }
.card-title { font-weight:700; font-size:1.2rem; margin:0; }
.card-author { font-size:0.82rem; color:var(--text-muted); margin:0; }
.card-text { color:var(--text-secondary); font-size:0.9rem; line-height:1.6; flex:1; margin:0; }

.badge-custom { padding:0.35em 0.9em; border-radius:30px; font-size:0.68rem; font-weight:600; text-transform:uppercase; }
.badge-forge{background:#f97316;color:#fff;} .badge-fabric{background:#06b6d4;color:#fff;}
.badge-quilt{background:#8b5cf6;color:#fff;} .badge-neoforge{background:#ec4899;color:#fff;}
.badge-ad{background:#ef4444;color:#fff;animation:adPulse 2s infinite;}
@keyframes adPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}

.btn-primary{background:var(--primary);border:none;border-radius:var(--radius-pill);padding:0.6rem 1.8rem;font-weight:500;color:#fff;transition:all 0.25s;display:inline-flex;align-items:center;gap:0.4rem;}
.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px rgba(37,99,235,0.25);}
.btn-outline-primary{border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius-pill);padding:0.55rem 1.6rem;font-weight:500;transition:all 0.25s;}
.btn-outline-primary:hover{background:var(--primary);color:#fff;}
.fake-btn{background:#f97316;border:none;color:#fff;border-radius:var(--radius-pill);padding:0.7rem 2rem;font-weight:600;transition:all 0.25s;}
.fake-btn:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 6px 18px rgba(249,115,22,0.3);}

.form-control,.form-select{border:1px solid #cbd5e1;border-radius:var(--radius-sm);padding:0.65rem 1.2rem;font-size:0.95rem;background:#fff;transition:border-color 0.2s,box-shadow 0.2s;}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,0.15);outline:none;}

.side-ad-panel{position:fixed;top:85px;width:160px;display:flex;flex-direction:column;gap:12px;z-index:5;}
.side-ad-panel.left{left:12px;} .side-ad-panel.right{right:12px;}
.ad-mini-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs);cursor:pointer;transition:0.25s;}
.ad-mini-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.ad-mini-card img{width:100%;height:80px;object-fit:cover;background:#f8fafc;}
.ad-mini-card .ad-info{padding:8px 10px;font-size:0.72rem;text-align:center;color:var(--text-secondary);}
.main-content{margin-left:185px;margin-right:185px;}
@media(max-width:1200px){.side-ad-panel{display:none;}.main-content{margin:0;}}

.modal-content{border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;}
.modal-header{border-bottom:1px solid var(--border-light);padding:1.3rem 1.8rem;background:#fafbfc;}
.modal-body{padding:1.8rem;}
.version-item{background:#f8fafc;border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:0.8rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}

.admin-panel{background:#fff;border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:2rem;}
.table{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;}
.table th{background:#f8fafc;font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-secondary);padding:0.9rem 1rem;border-bottom:2px solid #e2e8f0;}
.table td{padding:0.9rem 1rem;vertical-align:middle;border-bottom:1px solid var(--border-light);}
.table tr:last-child td{border-bottom:none;}
.table tr:hover td{background:#f8fafc;}

.login-card{max-width:420px;margin:8vh auto;background:#fff;border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border);}
.countdown-box{text-align:center;padding:3rem 2rem;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow);max-width:620px;margin:2rem auto;border:1px solid var(--border);position:relative;z-index:10;}
.ad-overlay{max-width:680px;margin:2rem auto;}
.ad-overlay .card{border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;background:#fff;}
.ad-overlay .card-body{padding:2rem 2rem 1.8rem;}

.download-surround-ads {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    padding: 1rem;
}
.surround-ad-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: var(--shadow-xs);
}
.surround-ad-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.surround-ad-card img { width:100%; height:90px; object-fit:cover; background:#f8fafc; }
.surround-ad-card .surround-ad-info { padding:6px 8px; font-size:0.7rem; text-align:center; color:var(--text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

footer{text-align:center;padding:2rem;color:var(--text-muted);background:#fff;border-top:1px solid var(--border);margin-top:3rem;font-size:0.85rem;}