/* ========== 防错乱基线 ========== */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; max-width: 100%; overflow-x: hidden; }
img, video, iframe, embed, object { max-width: 100%; height: auto; display: block; }
img { object-fit: cover; }
table { max-width: 100%; }
pre, code { white-space: pre-wrap; word-break: break-word; overflow: auto; max-width: 100%; }
a, p, h1, h2, h3, li, span { overflow-wrap: anywhere; word-break: break-word; }
.container { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 16px; }
main, section, article, aside { position: relative; }

/* ========== 变量与基础 ========== */
:root{
  --bg:#f6f1e6;
  --panel:#fffdf6;
  --ink:#232a3d;
  --muted:#7a7f8c;
  --blue:#16305e;
  --blue2:#1f4287;
  --gold:#d9a13d;
  --red:#d4553a;
  --teal:#2e8f83;
  --line:#e3dbc9;
  --radius:20px;
  --pill:999px;
}
body{background:var(--bg);color:var(--ink);font:14px/1.65 "PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;}
a{color:inherit;text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--blue2);}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3{margin:0;line-height:1.35;}
time{color:var(--muted);font-size:12px;}

/* ========== 头部：大头图 Banner + 叠加导航 ========== */
.site-header{position:relative;overflow:hidden;background:var(--blue);color:#f4efe2;}
.hero-media{position:absolute;inset:0;overflow:hidden;}
.hero-bg{width:100%;height:100%;object-fit:cover;opacity:.32;}
.hero-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,23,48,.55),rgba(12,23,48,.92));}
.header-inner{position:relative;z-index:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:16px;padding-bottom:8px;}
.logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;}
.logo-badge{width:36px;height:36px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#1b2540;font-weight:800;font-size:17px;border-radius:12px;border:2px solid #f4efe2;}
.logo-name{font-size:20px;letter-spacing:1px;color:#f4efe2;white-space:nowrap;}
.header-search{display:flex;flex:1 1 260px;max-width:420px;min-width:0;border:1px solid rgba(244,239,226,.4);border-radius:var(--pill);overflow:hidden;background:rgba(255,255,255,.12);}
.header-search input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:#f4efe2;padding:8px 16px;font-size:16px;outline:none;}
.header-search input::placeholder{color:rgba(244,239,226,.55);}
.header-search button{flex-shrink:0;border:0;background:var(--gold);color:#1b2540;padding:0 20px;border-radius:var(--pill);cursor:pointer;font-size:13px;font-weight:600;}
.header-search button:hover{background:#c58f2f;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:4px;width:42px;height:38px;flex-shrink:0;margin-left:auto;background:rgba(255,255,255,.12);border:1px solid rgba(244,239,226,.4);border-radius:12px;cursor:pointer;padding:8px 10px;}
.nav-toggle .bar{display:block;width:100%;height:2px;background:#f4efe2;border-radius:2px;}
.nav-bar{position:relative;z-index:2;}
.site-nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 12px;}
.site-nav a{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border:1px solid rgba(244,239,226,.32);border-radius:var(--pill);font-size:13px;color:#f4efe2;line-height:1.5;}
.site-nav a::before{content:"◈";font-size:10px;color:var(--gold);flex-shrink:0;}
.site-nav a.nav-home::before{content:"▶";font-size:9px;}
.site-nav a:hover{background:var(--gold);color:#1b2540;border-color:var(--gold);}
.site-nav a:hover::before{color:#1b2540;}
.hero-slogan{position:relative;z-index:2;margin:0;padding-bottom:18px;font-size:13px;color:rgba(244,239,226,.75);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}

/* ========== 页面骨架 ========== */
.site-main{padding:26px 0 46px;}
.page-head{margin-bottom:20px;}
.page-title{font-size:22px;color:var(--blue);}
.page-sub{margin:6px 0 0;color:var(--muted);font-size:13px;}
.layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,24vw,340px);gap:26px;align-items:start;}
.layout-main{min-width:0;}
.layout-side{min-width:0;}

/* ========== 模块标题 ========== */
.block{margin-bottom:34px;min-width:0;}
.block-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px;font-size:18px;}
.block-title span{display:inline-block;padding:4px 18px;background:var(--blue);color:#f4efe2;border-radius:var(--pill);font-size:16px;}
.block-title em{font-style:normal;font-size:12px;color:var(--muted);}

/* ========== 高分榜单 ========== */
.rank-list{counter-reset:rk;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;}
.rank-item{counter-increment:rk;display:flex;gap:12px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;position:relative;}
.rank-item::before{content:counter(rk);position:absolute;top:-8px;left:-6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#1b2540;font-weight:800;font-size:13px;border-radius:50%;border:2px solid var(--panel);z-index:2;}
.rank-item:nth-child(-n+3)::before{background:var(--red);color:#fff;}
.rank-thumb{position:relative;overflow:hidden;flex-shrink:0;width:78px;aspect-ratio:3/4;border-radius:12px;background:linear-gradient(160deg,#22355f,#101d3a);display:block;}
.rank-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.rank-item:hover .rank-thumb img{transform:scale(1.08);}
.rank-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;}
.rank-title{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.rank-meta{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rank-intro{margin:0;font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ========== 分类胶囊 / 彩色标签 ========== */
.cat-pill{display:inline-block;padding:1px 10px;border:1px solid var(--teal);color:var(--teal);border-radius:var(--pill);font-size:11px;line-height:1.7;max-width:100%;}
.cat-pill:hover{background:var(--teal);color:#fff;}
.row-tags a{display:inline-block;margin:2px 6px 2px 0;padding:1px 10px;border-radius:var(--pill);font-size:11px;border:1px solid var(--blue2);color:var(--blue2);}
.row-tags a:nth-child(3n+2){border-color:var(--red);color:var(--red);}
.row-tags a:nth-child(3n){border-color:var(--gold);color:#a2721f;}
.row-tags a:hover{background:var(--blue2);color:#fff;border-color:var(--blue2);}

/* ========== 卡片网格 ========== */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(22,48,94,.14);}
.card-thumb{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(160deg,#22355f,#101d3a);}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.card:hover .card-thumb img{transform:scale(1.07);}
.card-flag{position:absolute;top:8px;left:8px;padding:1px 10px;background:var(--red);color:#fff;font-size:11px;border-radius:var(--pill);}
.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.card-title{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;}
.card-meta{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* ========== 瀑布流 ========== */
.masonry{columns:3;column-gap:16px;}
.m-card{break-inside:avoid;margin:0 0 16px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s ease;}
.m-card:hover{box-shadow:0 10px 24px rgba(22,48,94,.14);}
.m-thumb{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:linear-gradient(160deg,#22355f,#101d3a);}
.m-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.m-card:hover .m-thumb img{transform:scale(1.06);}
.m-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.m-title{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.m-intro{margin:0;font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.m-meta{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

/* ========== 九宫格热播 ========== */
.nine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.tile{position:relative;display:block;min-width:0;aspect-ratio:16/10;overflow:hidden;border-radius:14px;border:2px solid var(--blue);background:#101d3a;}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.tile:hover img{transform:scale(1.08);}
.tile-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,44,0) 42%,rgba(10,20,44,.88));pointer-events:none;}
.tile-title{position:absolute;left:10px;right:10px;bottom:8px;color:#f4efe2;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ========== 细描边极简列表（播放排行） ========== */
.line-list{border-top:1px solid var(--line);}
.line-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0;padding:11px 4px;border-bottom:1px solid var(--line);counter-increment:ln;}
.line-title{font-size:14px;font-weight:500;min-width:0;flex:1 1 200px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.line-title::before{content:counter(ln,decimal-leading-zero);margin-right:10px;color:var(--gold);font-weight:800;font-size:13px;}
.line-list{counter-reset:ln;}
.line-item:nth-child(-n+3) .line-title::before{color:var(--red);}
.line-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;}

/* ========== 列表页横向卡片 ========== */
.list-title{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--blue);}
.list-flow{border-top:1px solid var(--line);}
.row-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;padding:16px 4px;border-bottom:1px solid var(--line);min-width:0;}
.row-thumb{position:relative;display:block;overflow:hidden;aspect-ratio:16/11;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,#22355f,#101d3a);min-width:0;}
.row-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.row-card:hover .row-thumb img{transform:scale(1.06);}
.row-body{min-width:0;display:flex;flex-direction:column;gap:8px;}
.row-title{font-size:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.row-title a:hover{color:var(--blue2);}
.row-intro{margin:0;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.row-meta{margin:auto 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.img-broken{opacity:0;}

/* ========== 面包屑 ========== */
.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;font-size:13px;color:var(--muted);}
.breadcrumb a{color:var(--blue2);}
.breadcrumb a:hover{text-decoration:underline;}
.crumb-sep{color:var(--line);}
.crumb-now{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-width:60vw;}

/* ========== 分页（极简胶囊） ========== */
.pager{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:24px;}
.pager a{display:inline-block;min-width:38px;text-align:center;padding:7px 16px;border:1px solid var(--blue);border-radius:var(--pill);font-size:13px;color:var(--blue);background:var(--panel);}
.pager a:hover{background:var(--blue);color:#f4efe2;}

/* ========== 侧栏 ========== */
.side-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:20px;min-width:0;}
.side-title{font-size:15px;color:var(--blue);padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--gold);}
.side-list li{border-bottom:1px dashed var(--line);padding:8px 0;min-width:0;}
.side-list li:last-child{border-bottom:0;}
.side-link{display:flex;gap:10px;align-items:center;min-width:0;}
.side-thumb{position:relative;overflow:hidden;flex-shrink:0;width:56px;aspect-ratio:3/4;border-radius:10px;background:linear-gradient(160deg,#22355f,#101d3a);display:block;}
.side-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.side-link:hover .side-thumb img{transform:scale(1.1);}
.side-text{min-width:0;display:flex;flex-direction:column;gap:4px;}
.side-name{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.side-rank{counter-reset:sr;}
.side-rank li{counter-increment:sr;padding:7px 0;border-bottom:1px dashed var(--line);display:flex;gap:8px;align-items:baseline;min-width:0;}
.side-rank li:last-child{border-bottom:0;}
.side-rank li::before{content:counter(sr);flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--muted);}
.side-rank li:nth-child(-n+3)::before{background:var(--gold);border-color:var(--gold);color:#1b2540;font-weight:700;}
.side-rank a{font-size:13px;min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}

/* ========== 视频详情页 ========== */
.player-module{background:#0c1730;border:2px solid var(--blue);border-radius:var(--radius);padding:10px;margin-bottom:20px;}
.player-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#000;}
.hls-player{width:100%;height:100%;object-fit:contain;display:block;background:#000;}
.video-head{margin-bottom:18px;}
.video-title{font-size:24px;color:var(--blue);margin-bottom:10px;}
.video-caps{margin:0;display:flex;gap:8px;flex-wrap:wrap;}
.cap{display:inline-block;padding:2px 14px;border-radius:var(--pill);font-size:12px;border:1px solid var(--blue2);color:var(--blue2);background:var(--panel);}
.cap-score{border-color:var(--gold);background:var(--gold);color:#1b2540;font-weight:700;}
.cap-status{border-color:var(--red);color:var(--red);}
.cap-type{border-color:var(--teal);color:var(--teal);}
.video-detail{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:24px;}
.video-poster{position:relative;overflow:hidden;aspect-ratio:2/3;border-radius:14px;border:2px solid var(--blue);background:linear-gradient(160deg,#22355f,#101d3a);min-width:0;}
.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.video-poster:hover img{transform:scale(1.05);}
.video-info{margin:0;min-width:0;align-self:start;}
.info-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);min-width:0;}
.info-row:last-child{border-bottom:0;}
.info-row dt{flex-shrink:0;width:56px;color:var(--muted);font-size:13px;}
.info-row dd{margin:0;min-width:0;font-size:13px;}
.video-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:24px;min-width:0;}
.video-section h2{font-size:16px;color:var(--blue);margin-bottom:12px;padding-left:12px;border-left:4px solid var(--gold);}
.video-intro-text{margin:0;color:#4a5065;font-size:14px;line-height:1.8;}
.rich-text{font-size:14px;line-height:1.85;color:#3b4256;min-width:0;}
.rich-text img{margin:12px auto;border-radius:12px;}
.rich-text p{margin:0 0 12px;}
.rich-text table{width:100%;border-collapse:collapse;}
.rich-text td,.rich-text th{border:1px solid var(--line);padding:6px 10px;}

/* ========== 搜索 / 空结果 ========== */
.search-tip{margin:0 0 14px;color:var(--muted);font-size:13px;}
.empty-tip{margin:20px 0 4px;padding:22px 16px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel);}
.empty-tip p{margin:0 0 10px;color:var(--muted);font-size:13px;}
.empty-face{font-size:16px;color:var(--blue);font-weight:600;}
.btn-capsule{display:inline-block;padding:8px 26px;border-radius:var(--pill);background:var(--blue);color:#f4efe2;font-size:13px;}
.btn-capsule:hover{background:var(--blue2);color:#fff;}

/* ========== 关于我们 ========== */
.about-wrap{max-width:860px;margin:0 auto;}
.about-card{background:var(--panel);border:2px solid var(--blue);border-radius:var(--radius);padding:30px 26px;}
.about-title{font-size:22px;color:var(--blue);margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--gold);}
.about-content{margin-bottom:22px;}
.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px;}
.about-stats li{min-width:0;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px 10px;}
.about-stats strong{display:block;font-size:24px;color:var(--blue);}
.about-stats span{font-size:12px;color:var(--muted);}
.about-contact{margin:0 0 22px;}
.contact-row{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);min-width:0;}
.contact-row dt{flex-shrink:0;width:72px;color:var(--muted);}
.contact-row dd{margin:0;min-width:0;}
.about-back{margin:0;text-align:center;}

/* ========== 页脚 ========== */
.site-footer{background:var(--blue);color:rgba(244,239,226,.82);margin-top:10px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding-top:34px;padding-bottom:26px;}
.f-col{min-width:0;}
.f-logo{margin:0 0 10px;font-size:19px;font-weight:800;color:#f4efe2;}
.f-title{margin:0 0 10px;font-size:15px;font-weight:700;color:var(--gold);}
.f-desc,.f-line{margin:0 0 8px;font-size:13px;line-height:1.7;}
.f-links{margin:0;display:flex;flex-wrap:wrap;gap:10px;}
.f-links a{display:inline-block;padding:4px 16px;border:1px solid rgba(244,239,226,.35);border-radius:var(--pill);font-size:12px;color:#f4efe2;}
.f-links a:hover{background:var(--gold);color:#1b2540;border-color:var(--gold);}
.footer-bar{border-top:1px solid rgba(244,239,226,.18);padding:14px 0;}
.footer-bar p{margin:0;font-size:12px;text-align:center;color:rgba(244,239,226,.6);}

/* ========== 响应式 ========== */
@media (max-width:1024px){
  .layout{grid-template-columns:minmax(0,1fr);}
  .layout-side{margin-top:6px;}
  .masonry{columns:3;}
}
@media (max-width:768px){
  .header-inner{gap:10px;}
  .nav-toggle{display:flex;}
  .header-search{order:3;flex:1 1 100%;max-width:none;}
  .site-nav{display:none;flex-direction:column;gap:6px;padding:10px 0 14px;max-height:calc(100vh - 130px);overflow-y:auto;}
  .site-nav.is-open{display:flex;}
  .site-nav a{width:100%;justify-content:flex-start;}
  .hero-slogan{display:none;}
  .masonry{columns:2;}
  .nine-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rank-list{grid-template-columns:minmax(0,1fr);}
  .video-detail{grid-template-columns:minmax(0,1fr);}
  .video-poster{max-width:240px;margin:0 auto;width:100%;}
  .row-card{grid-template-columns:150px minmax(0,1fr);gap:12px;}
  .video-title{font-size:20px;}
  .page-title{font-size:19px;}
}
@media (max-width:560px){
  .row-card{grid-template-columns:minmax(0,1fr);}
  .row-thumb{aspect-ratio:16/9;}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;}
}
@media (max-width:480px){
  .masonry{columns:1;}
  .line-item{align-items:flex-start;}
  .about-card{padding:22px 16px;}
  .block-title span{font-size:15px;}
}
