*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,li,form,input,button,img,table,thead,tbody,tr,th,td{margin:0;padding:0;border:0}
ol,ul{list-style:none}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
table{border-collapse:collapse}

:root{
  --bg:      #f5f7fa;
  --card:    #ffffff;
  --border:  #e8eaf0;
  --accent:  #d93025;
  --blue:    #1a6fe8;
  --purple:  #7c3aed;
  --text:    #1a1d2e;
  --text2:   #8891aa;
  --radius:  8px;
  --shadow:  0 2px 12px rgba(0,0,0,.07);
  --trans:   .16s ease;
  --nav-h:   50px;
}
body{font-family:'PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.6;min-height:100vh}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:#f0f1f5}
::-webkit-scrollbar-thumb{background:#cdd0de;border-radius:2px}

/* ===== HEADER ===== */
#header{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 6px rgba(0,0,0,.05)}
.header-inner{display:flex;align-items:center;justify-content:center;height:80px;gap:0;position:relative}
.logo{position:absolute;left:0;flex-shrink:0}
.logo img{height:42px;width:auto}
.logo-text{font-size:22px;font-weight:800;color:var(--accent);letter-spacing:-.5px}
.header-center{display:flex;flex-direction:column;align-items:center;gap:8px;width:560px}
.search-row{display:flex;width:100%;border:2px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color var(--trans)}
.search-row:focus-within{border-color:var(--blue)}
.search-row input{flex:1;border:none;outline:none;padding:10px 16px;font-size:14px;color:var(--text);background:#fff}
.search-row input::placeholder{color:var(--text2)}
.search-row button{background:var(--blue);border:none;cursor:pointer;padding:0 28px;color:#fff;font-size:14px;font-weight:600;white-space:nowrap;transition:background var(--trans)}
.search-row button:hover{background:#1558c0}
.header-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text2);white-space:nowrap;flex-wrap:nowrap}
.header-meta b{color:var(--accent);font-weight:700}
.header-meta .sep{color:var(--border)}
.header-meta a{color:var(--text2);transition:color var(--trans);white-space:nowrap}
.header-meta a:hover{color:var(--accent)}

/* ===== NAV ===== */
#nav{background:linear-gradient(90deg,#1e2235 0%,#2d3452 100%);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.nav-inner{display:flex;align-items:stretch;min-height:44px;gap:0;overflow-x:auto}
.nav-inner::-webkit-scrollbar{display:none}
.nav-item{padding:0 20px;display:flex;align-items:center;font-size:13px;font-weight:500;color:rgba(255,255,255,.75);white-space:nowrap;border-bottom:3px solid transparent;transition:color var(--trans),background var(--trans),border-color var(--trans)}
.nav-item:first-child{padding-left:24px}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.08);border-bottom-color:rgba(255,255,255,.3)}
.nav-item.active{color:#fff;background:rgba(217,48,37,.25);border-bottom-color:var(--accent)}

/* ===== 面包屑 ===== */
.breadcrumb{padding:12px 0;font-size:12px;color:var(--text2)}
.breadcrumb a{color:var(--text2);transition:color var(--trans)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{margin:0 7px}

/* ===== 区块标题 ===== */
.section-head{display:flex;align-items:center;justify-content:space-between;padding:20px 0 12px}
.section-head h2{font-size:18px;font-weight:700;color:var(--text)}
.section-head .count{font-size:12px;color:var(--text2)}

/* ===== 公告面板 ===== */
.notice-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow:hidden}
.notice-header{display:flex;align-items:center;padding:0 20px;height:46px;border-bottom:1px solid var(--border);background:#fafbff}
.notice-icon{font-size:15px;margin-right:8px}
.notice-title{font-size:15px;font-weight:700;color:var(--text);flex:1}
.notice-tg{font-size:12px;color:var(--text2)}
.notice-tg strong{color:var(--accent)}
.notice-tg a:hover strong{text-decoration:underline}
.notice-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}

/* 接口卡片网格 */
.napi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.napi-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--trans),box-shadow var(--trans)}
.napi-card:hover{border-color:var(--blue);box-shadow:0 3px 12px rgba(26,111,232,.1)}
.napi-head{padding:10px 14px;background:#f7f9ff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.napi-label{font-size:12px;font-weight:700;color:var(--blue)}
.napi-copy{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--blue);color:var(--blue);border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;background:none;transition:all var(--trans);white-space:nowrap}
.napi-copy:hover{background:var(--blue);color:#fff}
.napi-copy.ok{border-color:#16a34a;color:#16a34a}
.napi-copy.ok:hover{background:#16a34a;color:#fff}
.napi-url{padding:10px 14px;font-size:12px;color:#444;word-break:break-all;line-height:1.6;background:#fff}

/* 演示站行 */
.ndemo-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#faf8ff;border:1px solid #e5e0f8;border-radius:var(--radius);font-size:13px}
.ndemo-label{font-size:12px;font-weight:700;color:var(--text2);white-space:nowrap}
.ndemo-row a{color:var(--purple);font-weight:500;transition:color var(--trans)}
.ndemo-row a:hover{color:#5b21b6;text-decoration:underline}

/* 紧急通知 */
.nalert{border:1px solid #fca5a5;border-radius:var(--radius);overflow:hidden}
.nalert-head{display:flex;align-items:center;gap:6px;padding:9px 16px;background:linear-gradient(90deg,var(--accent),#f05a28);color:#fff;font-size:13px;font-weight:700}
.nalert-body{padding:12px 16px;background:#fff9f9;display:flex;flex-direction:column;gap:7px}
.nalert-row{display:grid;grid-template-columns:70px 1fr;align-items:baseline;gap:12px;font-size:13px}
.nalert-lbl{font-size:11px;font-weight:700;color:var(--text2);white-space:nowrap}
.nalert-dead{color:#c0c0c0;text-decoration:line-through;font-size:12px}
.nalert-new{color:var(--accent);font-size:16px;font-weight:800}
.nalert-code code{font-family:'Courier New',monospace;font-size:11px;color:#333;background:#f0f0f0;padding:3px 8px;border-radius:4px;word-break:break-all}
.nalert-tip{font-size:12px;color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:5px;padding:8px 12px;line-height:1.7}

/* ===== 资源列表 ===== */
.list-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.list-head{display:grid;grid-template-columns:1fr 90px 90px 140px;align-items:center;padding:11px 18px;background:#f7f8fc;border-bottom:1px solid var(--border);font-size:12px;color:var(--text2);font-weight:600}
.list-row{display:grid;grid-template-columns:1fr 90px 90px 140px;align-items:center;padding:12px 18px;border-bottom:1px solid #f2f4f9;transition:background var(--trans)}
.list-row:last-child{border:none}
.list-row:hover{background:#fdf8f8}
.lrow-name{display:flex;align-items:center;gap:8px;min-width:0}
.lrow-name a{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue);transition:color var(--trans)}
.lrow-name a:hover{color:var(--accent)}
.ep-tag{flex-shrink:0;font-size:11px;color:var(--accent);background:rgba(217,48,37,.07);border:1px solid rgba(217,48,37,.15);padding:1px 7px;border-radius:3px;white-space:nowrap}
.lrow-type,.lrow-area{font-size:12px;color:var(--text2);text-align:center}
.lrow-time{font-size:12px;color:var(--text2);text-align:right}

/* ===== 详情页 ===== */
.detail-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.detail-inner{display:flex;gap:24px;padding:24px}
.detail-poster{width:148px;flex-shrink:0}
.detail-poster img{width:148px;height:208px;object-fit:cover;border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.14)}
.detail-info{flex:1;min-width:0}
.detail-info h1{font-size:22px;font-weight:700;margin-bottom:14px}
.dmeta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:14px}
.dmeta-item{font-size:13px;display:flex;gap:5px}
.dmeta-lbl{color:var(--text2)}
.dmeta-val{color:var(--text)}
.dmeta-val a{color:var(--accent)}
.detail-desc{font-size:13px;color:var(--text2);line-height:1.8;margin-bottom:16px}
.detail-actions{display:flex;gap:10px}
.btn-play{display:inline-flex;align-items:center;gap:6px;padding:10px 28px;background:var(--accent);color:#fff;border-radius:22px;font-size:14px;font-weight:700;box-shadow:0 4px 14px rgba(217,48,37,.28);transition:opacity var(--trans),transform var(--trans)}
.btn-play:hover{opacity:.88;transform:translateY(-1px)}

/* 地址箱 */
.addr-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-top:14px}
.addr-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#f7f8fc;border-bottom:1px solid var(--border)}
.addr-head h3{font-size:14px;font-weight:600}
.addr-list{padding:0 18px 10px}
.addr-item{display:flex;align-items:center;padding:11px 0;border-bottom:1px solid #f2f4f9;gap:12px}
.addr-item:last-of-type{border:none}
.addr-url{flex:1;min-width:0;font-size:13px;color:var(--blue);word-break:break-all;line-height:1.6;cursor:pointer;transition:opacity var(--trans)}
.addr-url:hover{opacity:.7}
.addr-play{flex-shrink:0;padding:5px 16px;border:1px solid var(--accent);color:var(--accent);border-radius:4px;font-size:12px;transition:all var(--trans)}
.addr-play:hover{background:var(--accent);color:#fff}
.addr-footer{display:flex;align-items:center;justify-content:space-between;padding:7px 0 2px}
.addr-tip{font-size:12px;color:var(--text2)}
.copy-all-btn{background:none;border:1px solid var(--border);color:var(--text2);padding:4px 13px;border-radius:4px;font-size:12px;cursor:pointer;transition:all var(--trans)}
.copy-all-btn:hover{border-color:var(--accent);color:var(--accent)}

/* ===== 播放页 ===== */
.player-wrap{background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9}
.player-wrap iframe,.player-wrap video{width:100%;height:100%;border:none}
.player-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:13px 18px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow)}
.player-title{font-size:15px;font-weight:600}
.player-sub{font-size:12px;color:var(--text2);margin-top:3px}
.player-nav{display:flex;gap:8px}
.player-nav a{padding:6px 14px;border-radius:4px;border:1px solid var(--border);color:var(--text2);font-size:12px;transition:all var(--trans)}
.player-nav a:hover{border-color:var(--accent);color:var(--accent)}
.ep-grid{display:flex;flex-wrap:wrap;gap:7px;padding:14px 18px;max-height:280px;overflow-y:auto}
.ep-btn{padding:6px 14px;border-radius:4px;font-size:12px;border:1px solid var(--border);color:var(--text2);transition:all var(--trans)}
.ep-btn:hover{border-color:var(--accent);color:var(--accent)}
.ep-btn.cur{background:var(--accent);border-color:var(--accent);color:#fff}

/* ===== 搜索页 ===== */
.search-banner{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;margin-bottom:14px;box-shadow:var(--shadow)}
.search-kw{font-size:15px;font-weight:600}
.search-kw em{color:var(--accent);font-style:normal}
.search-hint{font-size:12px;color:var(--text2);margin-top:4px}

/* ===== 分页 ===== */
.paging{display:flex;justify-content:center;gap:5px;padding:26px 0}
.paging a,.paging span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:5px;font-size:13px;border:1px solid var(--border);background:#fff;color:var(--text2);transition:all var(--trans)}
.paging a:hover{border-color:var(--accent);color:var(--accent)}
.paging .current{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.paging .disabled{opacity:.35;pointer-events:none}

/* ===== FOOTER ===== */
#footer{background:#fff;border-top:1px solid var(--border);margin-top:44px;padding:24px 0;text-align:center}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-bottom:10px}
.footer-links a{font-size:12px;color:var(--text2);transition:color var(--trans)}
.footer-links a:hover{color:var(--accent)}
.footer-copy{font-size:12px;color:var(--text2);line-height:2}
.footer-disclaimer{font-size:11px;color:#c8ccd8;max-width:680px;margin:6px auto 0;line-height:1.8}

.clear{clear:both}
.mt14{margin-top:14px}
