/* 花椒直播风格 - 全局样式 */ * { margin:0; padding:0; box-sizing:border-box; } :root { --primary: #ff6b6b; --primary-dark: #ee5a5a; --primary-light: #ff8787; --bg: #f5f6fa; --card-bg: #fff; --text: #2d3436; --text-secondary: #636e72; --text-light: #b2bec3; --border: #eee; --shadow: 0 2px 12px rgba(0,0,0,.08); --shadow-hover: 0 6px 20px rgba(0,0,0,.12); --radius: 12px; --radius-sm: 8px; --live-badge: #ff4757; --gold: #ffa502; --green: #2ed573; } body { background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; } a { text-decoration:none; color:inherit; } img { max-width:100%; display:block; } /* 顶部导航 */ .navbar { background:var(--card-bg); box-shadow:0 1px 4px rgba(0,0,0,.06); position:sticky; top:0; z-index:100; } .navbar-inner { max-width:1200px; margin:0 auto; padding:0 20px; height:56px; display:flex; align-items:center; justify-content:space-between; } .navbar .logo { display:flex; align-items:center; gap:8px; font-size:20px; font-weight:700; color:var(--primary); } .navbar .logo img { height:32px; } .navbar .nav { display:flex; align-items:center; gap:4px; } .navbar .nav a { padding:8px 16px; border-radius:20px; font-size:14px; color:var(--text-secondary); transition:all .2s; } .navbar .nav a:hover, .navbar .nav a.active { color:var(--primary); background:rgba(255,107,107,.08); } .navbar .user-actions { display:flex; align-items:center; gap:12px; } .navbar .user-actions .wallet { display:flex; align-items:center; gap:4px; background:linear-gradient(135deg,#fff3e0,#ffe0b2); padding:6px 14px; border-radius:20px; font-size:13px; color:#e65100; font-weight:500; } .navbar .user-actions .wallet i { font-size:12px; } .navbar .user-actions .btn-login { padding:7px 20px; border-radius:20px; font-size:13px; background:var(--primary); color:#fff; border:none; cursor:pointer; transition:all .2s; } .navbar .user-actions .btn-login:hover { background:var(--primary-dark); transform:translateY(-1px); } .navbar .user-actions .btn-outline { padding:7px 20px; border-radius:20px; font-size:13px; background:transparent; color:var(--primary); border:1px solid var(--primary); cursor:pointer; transition:all .2s; } .navbar .user-actions .btn-outline:hover { background:var(--primary); color:#fff; } .navbar .avatar-sm { width:32px; height:32px; border-radius:50%; object-fit:cover; border:2px solid var(--primary-light); } /* 分类标签 */ .category-bar { max-width:1200px; margin:0 auto; padding:16px 20px 0; display:flex; gap:8px; overflow-x:auto; } .category-bar::-webkit-scrollbar { display:none; } .cat-tag { padding:6px 18px; border-radius:20px; font-size:13px; white-space:nowrap; cursor:pointer; transition:all .2s; background:var(--card-bg); color:var(--text-secondary); border:1px solid var(--border); } .cat-tag:hover { border-color:var(--primary); color:var(--primary); } .cat-tag.active { background:var(--primary); color:#fff; border-color:var(--primary); } /* 直播卡片网格 */ .live-grid { max-width:1200px; margin:0 auto; padding:16px 20px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; } @media(min-width:520px) { .live-grid { grid-template-columns:repeat(3,1fr); } } @media(min-width:768px) { .live-grid { grid-template-columns:repeat(4,1fr); } } @media(min-width:1024px) { .live-grid { grid-template-columns:repeat(5,1fr); } } /* 直播卡片 */ .live-card { background:var(--card-bg); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:all .3s; cursor:pointer; position:relative; } .live-card:hover { box-shadow:var(--shadow-hover); transform:translateY(-3px); } .live-card .thumb { position:relative; width:100%; padding-top:133%; overflow:hidden; } .live-card .thumb img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform .3s; } .live-card:hover .thumb img { transform:scale(1.05); } .live-card .badge-live { position:absolute; top:8px; left:8px; background:var(--live-badge); color:#fff; font-size:10px; padding:2px 8px; border-radius:4px; font-weight:500; letter-spacing:.5px; } .live-card .badge-hot { position:absolute; top:8px; right:8px; background:var(--gold); color:#fff; font-size:10px; padding:2px 6px; border-radius:4px; } .live-card .viewer-count { position:absolute; bottom:8px; right:8px; background:rgba(0,0,0,.5); color:#fff; font-size:11px; padding:2px 8px; border-radius:10px; backdrop-filter:blur(4px); } .live-card .viewer-count i { margin-right:3px; font-size:10px; } .live-card .info { padding:10px 12px; } .live-card .anchor-row { display:flex; align-items:center; gap:8px; } .live-card .anchor-avatar { width:28px; height:28px; border-radius:50%; object-fit:cover; border:1.5px solid #eee; flex-shrink:0; } .live-card .anchor-name { font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; } .live-card .anchor-name .sex-icon { margin-right:3px; } .live-card .anchor-name .sex-m { color:#4a90d9; } .live-card .anchor-name .sex-f { color:#ff6b6b; } .live-card .room-title { font-size:11px; color:var(--text-light); margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } /* 空状态 */ .empty-state { text-align:center; padding:80px 20px; color:var(--text-light); } .empty-state i { font-size:48px; display:block; margin-bottom:16px; opacity:.5; } .empty-state p { font-size:14px; } .empty-state .sub { font-size:12px; margin-top:6px; } /* 页脚 */ .footer { text-align:center; padding:30px 20px; color:var(--text-light); font-size:12px; line-height:1.8; } .footer a { color:var(--text-secondary); } .footer a:hover { color:var(--primary); }