/* ===== 全局重置 ===== */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #0a0a0f; color: #e8e8f0; line-height: 1.6; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.container { max-width: 480px; margin: 0 auto; padding: 0 16px; }

/* ===== 导航 ===== */
.header { background: rgba(20,20,31,0.95); backdrop-filter: blur(12px); position: sticky; top:0; z-index:100; border-bottom:1px solid rgba(255,255,255,0.04); }
.header-top { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; }
.logo { font-size:20px; font-weight:700; color:#fbbf24; }
.nav-toggle { cursor:pointer; display:flex; flex-direction:column; gap:4px; padding:4px; }
.nav-toggle span { display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:0.3s; }
.nav-menu { display:none; flex-direction:column; padding:12px 16px; gap:8px; border-top:1px solid rgba(255,255,255,0.04); }
.nav-menu.open { display:flex; }
.nav-menu a { padding:8px 12px; border-radius:8px; color:rgba(255,255,255,0.6); transition:0.3s; }
.nav-menu a:hover { background:rgba(251,191,36,0.1); color:#fbbf24; }

/* ===== 公告 ===== */
.announcement { background:rgba(251,191,36,0.08); padding:10px 16px; display:flex; align-items:center; gap:8px; border-bottom:1px solid rgba(255,255,255,0.02); }
.announcement-icon { color:#fbbf24; font-size:16px; }
.announcement marquee { flex:1; color:rgba(255,255,255,0.5); font-size:13px; }
.announcement-item { margin-right:30px; }

/* ===== 活动列表 ===== */
.main { padding:16px; max-width:480px; margin:0 auto; }
.category-tabs { display:flex; gap:8px; overflow-x:auto; padding-bottom:12px; margin-bottom:16px; -webkit-overflow-scrolling:touch; }
.category-tabs a { padding:6px 16px; border-radius:20px; background:rgba(255,255,255,0.04); color:rgba(255,255,255,0.5); font-size:13px; white-space:nowrap; transition:0.3s; }
.category-tabs a.active { background:#fbbf24; color:#0a0a0f; font-weight:600; }
.category-tabs a:hover { background:rgba(251,191,36,0.15); color:#fbbf24; }

.activity-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.activity-card { background:#14141f; border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,0.04); transition:0.3s; }
.activity-card:hover { transform:translateY(-4px); border-color:rgba(251,191,36,0.15); box-shadow:0 8px 30px rgba(0,0,0,0.3); }
.card-cover { height:160px; background-size:cover; background-position:center; background-color:#1e1e2f; position:relative; }
.badge-recommend { position:absolute; top:12px; left:12px; background:#fbbf24; color:#0a0a0f; padding:2px 12px; border-radius:12px; font-size:11px; font-weight:600; }
.card-body { padding:14px 16px; }
.card-body h3 { font-size:16px; font-weight:600; margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.card-body p { font-size:13px; color:rgba(255,255,255,0.4); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:36px; }
.card-meta { display:flex; gap:16px; margin-top:8px; font-size:12px; color:rgba(255,255,255,0.3); }

/* ===== 底部 ===== */
.footer { background:#05050e; padding:16px; margin-top:20px; border-top:1px solid rgba(255,255,255,0.02); }
.footer-nav { display:flex; justify-content:center; gap:24px; margin-bottom:12px; }
.footer-nav a { color:rgba(255,255,255,0.3); font-size:13px; transition:0.3s; }
.footer-nav a:hover { color:#fbbf24; }
.footer-copyright { text-align:center; font-size:12px; color:rgba(255,255,255,0.15); }

/* ===== 表单页 ===== */
.form-page { padding:16px; max-width:480px; margin:0 auto; }
.form-card { background:#14141f; border-radius:20px; padding:24px; border:1px solid rgba(255,255,255,0.04); }
.form-card h2 { font-size:22px; font-weight:700; margin-bottom:4px; }
.form-card .desc { color:rgba(255,255,255,0.4); font-size:14px; margin-bottom:20px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-weight:600; color:rgba(255,255,255,0.8); margin-bottom:4px; font-size:14px; }
.form-group .required { color:#ef4444; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:10px 14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:12px; color:#2b2b2d; font-size:15px; transition:0.3s; outline:none; }
.form-group input:focus, .form-group textarea:focus { border-color:#fbbf24; background:rgba(255,255,255,0.06); box-shadow:0 0 0 3px rgba(251,191,36,0.06); }
.form-group textarea { min-height:80px; resize:vertical; }
.form-group .help-text { font-size:12px; color:rgba(255,255,255,0.3); margin-top:4px; }

.btn-submit { width:100%; padding:14px; background:#fbbf24; border:none; border-radius:12px; font-size:17px; font-weight:700; color:#0a0a0f; cursor:pointer; transition:0.3s; }
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(251,191,36,0.25); }
.btn-submit:disabled { opacity:0.5; cursor:not-allowed; transform:none; }

/* ===== 响应式 ===== */
@media (max-width:480px) {
    .container { padding:0 12px; }
    .activity-grid { gap:12px; }
    .card-cover { height:140px; }
    .form-card { padding:18px; }
}