* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, "Microsoft YaHei", sans-serif; background:#f6f6f8; color:#222; }
.wrap { max-width:1100px; margin:0 auto; padding:0 16px; }
.site-header { background:#fff; border-bottom:1px solid #e5e5ea; padding:14px 0; }
.site-header .wrap { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo img { height:36px; width:auto; display:block; }
.logo span { font-size:20px; font-weight:700; color:#d63384; }
.site-nav { flex:1; display:flex; align-items:center; flex-wrap:wrap; }
.site-nav a { margin-right:14px; text-decoration:none; color:#444; font-size:14px; }
.site-nav a:hover { color:#d63384; }
main.wrap { padding:24px 16px 48px; }
h1 { font-size:22px; margin-bottom:16px; }
.intro { color:#666; margin-bottom:16px; }
.crumb { font-size:13px; color:#888; margin-bottom:12px; }
.crumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px; }
.crumb li.sep { color:#ccc; }
.crumb a { color:#888; text-decoration:none; }
.crumb a:hover { color:#d63384; }
.grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:16px; }
.card { background:#fff; border:1px solid #e5e5ea; border-radius:8px; padding:14px; text-decoration:none; color:#222; display:block; }
.card:hover { border-color:#d63384; }
.card-name { font-weight:600; font-size:14px; margin-bottom:6px; word-break:break-all; }
.card-meta { font-size:12px; color:#999; }
.card.benzi img { width:100%; border-radius:6px; margin-bottom:10px; }
.card.benzi { display:flex; flex-direction:column; }
.card.benzi .card-meta { margin-bottom:10px; }
.card.benzi .dl-btn { margin-top:auto; }
.benzi-intro { font-size:13px; color:#555; margin:0 0 10px; flex:1; }
.dl-btn { display:block; width:100%; margin-top:10px; padding:8px 18px; background:#d63384; color:#fff; border:none; border-radius:5px; font-size:13px; text-align:center; cursor:pointer; }
.dl-btn:hover { background:#b82b6f; }

/* 下载弹窗 */
.dl-modal { position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index:100; padding:16px; }
.dl-modal[hidden] { display:none; }
.dl-modal-box { position:relative; background:#fff; border-radius:10px; padding:24px 20px 20px; max-width:420px; width:100%; text-align:center; }
.dl-modal-close { position:absolute; top:8px; right:12px; background:none; border:none; font-size:22px; color:#999; cursor:pointer; line-height:1; }
.dl-modal-close:hover { color:#333; }
.dl-modal-tip { font-size:14px; color:#555; margin-bottom:14px; }
.dl-modal-ad { margin-bottom:16px; }
.ad-placeholder { display:flex; align-items:center; justify-content:center; min-height:100px; background:#f0f0f2; border:1px dashed #ccc; border-radius:6px; color:#aaa; font-size:13px; }
/* 广告四宫格（ad_modal.php 弹窗） */
.ad-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ad-cell { display:block; background:#fdf2f7; border:1px solid #f3dfe9; border-radius:8px; padding:8px; text-decoration:none; }
.ad-cell:hover { border-color:#d63384; }
.ad-cell img { width:100%; aspect-ratio:2/1; object-fit:contain; background:#fff; border-radius:6px; display:block; margin-bottom:6px; }
.ad-cell .ad-t { display:block; font-size:12px; color:#333; line-height:1.4; }
.ad-cell .ad-s { display:block; font-size:12px; color:#d63384; font-weight:600; line-height:1.4; }
.dl-modal-go { display:block; padding:10px 0; background:#d63384; color:#fff; border-radius:6px; text-decoration:none; font-size:15px; }
.dl-modal-go:hover { background:#b82b6f; }
/* 下载弹窗：线路选择 + 推荐语 */
.dl-lines-tip { font-size:13px; color:#555; margin:0 0 10px; }
.dl-lines { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.dl-lines a { background:#fff; border:1px solid #e5e5ea; border-radius:6px; padding:8px 14px; text-decoration:none; color:#444; font-size:13px; }
.dl-lines a:hover { border-color:#d63384; color:#d63384; }
.dl-lines a small { color:#999; font-size:11px; }
.dl-recommend { font-size:13px; color:#555; margin:0; }
.dl-recommend b { color:#d63384; }
.dl-modal-name { font-size:13px; color:#d63384; margin:-6px 0 14px; word-break:break-all; }
.dl-btn .kaomoji-light { color:#ffd7e8; }
.site-footer { border-top:1px solid #e5e5ea; padding:18px 0; color:#999; font-size:13px; text-align:center; }

/* 首屏：左图右文 */
.hero { display:flex; gap:24px; align-items:flex-start; background:#fff; border:1px solid #e5e5ea; border-radius:10px; padding:20px; margin-bottom:28px; }
.hero:has(.hero-img) .hero-text { flex:1; min-width:0; }
.hero-text { display:flex; flex-direction:column; align-self:stretch; }
.hero-text .dl-btn { margin-top:auto; }
.hero-img { flex:0 0 220px; }
.hero-img img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:8px; display:block; background:#fdf2f7; }
.hero h1 { margin-bottom:12px; }
.quote { border-left:3px solid #d63384; padding:8px 14px; color:#555; background:#fdf2f7; border-radius:0 6px 6px 0; margin:12px 0; font-size:14px; }
.profile { border-collapse:collapse; margin-top:14px; font-size:14px; width:100%; }
.profile th { text-align:left; color:#999; font-weight:400; padding:6px 16px 6px 0; white-space:nowrap; vertical-align:top; border-top:1px solid #f0f0f2; }
.profile td { padding:6px 0; border-top:1px solid #f0f0f2; }
.sec-title { margin:28px 0 14px; font-size:18px; }

/* 节标题行：左标题 + 右侧更多链接 */
.sec-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:28px 0 14px; }
.sec-head h1, .sec-head .sec-title { margin:0; }
.sec-head:first-child { margin-top:0; }
.sec-more { font-size:13px; color:#d63384; text-decoration:none; white-space:nowrap; }
.sec-more:hover { text-decoration:underline; }
span.sec-more { color:#999; }
span.sec-more:hover { text-decoration:none; }

/* 导航搜索框 + 搜索页 */
.nav-search { margin-left:auto; display:flex; gap:6px; }
.nav-search input { padding:6px 10px; border:1px solid #e5e5ea; border-radius:6px; font-size:13px; width:150px; }
.nav-search input:focus { outline:none; border-color:#d63384; }
.nav-search button { padding:6px 12px; background:#d63384; color:#fff; border:none; border-radius:6px; font-size:13px; cursor:pointer; }
.nav-search button:hover { background:#b82b6f; }
.search-form { display:flex; gap:8px; margin-bottom:24px; }
.search-form input { flex:1; padding:10px 14px; border:1px solid #e5e5ea; border-radius:8px; font-size:14px; }
.search-form input:focus { outline:none; border-color:#d63384; }
.search-form button { padding:10px 24px; background:#d63384; color:#fff; border:none; border-radius:8px; font-size:14px; cursor:pointer; }
.search-form button:hover { background:#b82b6f; }

/* 本子详情页：出镜角色 / 动漫·游戏（hero 同款小版） */
.rel-hero { margin-bottom:16px; align-items:flex-start; }
.rel-hero .hero-img { flex:0 0 140px; }
.rel-hero .hero-img img { aspect-ratio:2/3; object-fit:cover; background:#fdf2f7; }
.rel-hero .rel-name { font-size:17px; margin-bottom:8px; }
.rel-hero .rel-intro { font-size:14px; margin-bottom:12px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rel-hero .rel-btn { display:block; width:100%; margin-top:auto; padding:8px 26px; text-decoration:none; text-align:center; }
.rel-hero .kaomoji-light { color:#ffd7e8; }
.card-img { width:100%; aspect-ratio:2/3; object-fit:cover; display:block; border-radius:6px; margin-bottom:10px; background:#fdf2f7; }
.neighbor-links { display:flex; flex-wrap:wrap; gap:10px; }
.neighbor-links a { background:#fff; border:1px solid #e5e5ea; border-radius:6px; padding:8px 16px; text-decoration:none; color:#444; font-size:14px; }
.neighbor-links a:hover { border-color:#d63384; color:#d63384; }

/* 角色卡片的所属作品标签 */
.tag { display:inline-block; background:#fdf2f7; color:#d63384; border-radius:4px; padding:1px 8px; font-size:12px; margin-right:6px; }

/* 分页 */
.pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.pagination a, .pagination span { min-width:34px; text-align:center; padding:7px 10px; border-radius:6px; font-size:14px; text-decoration:none; }
.pagination a { background:#fff; border:1px solid #e5e5ea; color:#444; }
.pagination a:hover { border-color:#d63384; color:#d63384; }
.pagination .cur { background:#d63384; color:#fff; }
.pagination .dots { color:#aaa; }

.about-body { background:#fff; border:1px solid #e5e5ea; border-radius:10px; padding:24px; line-height:1.9; color:#444; }
.about-body p + p { margin-top:12px; }
.kaomoji { color:#d63384; }
.about-sep { border:none; border-top:1px dashed #e5e5ea; margin:20px 0; }
.about-body [lang="en"] { color:#777; font-size:14px; }
.about-contact { margin-top:20px; background:#fdf2f7; border-radius:8px; padding:14px 18px; font-size:14px; }
.about-contact .mail { font-weight:600; color:#d63384; user-select:all; }
@media (max-width:900px) {
  .grid { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:640px) {
  main.wrap { padding:16px 12px 40px; }
  .nav-search { width:100%; }
  .nav-search input { flex:1; width:auto; }
  h1 { font-size:19px; }
  .site-header .wrap { gap:12px; }
  .grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .card { padding:10px; }
  .hero { flex-direction:column; padding:14px; gap:16px; margin-bottom:20px; }
  .hero-img { flex:none; width:60%; margin:0 auto; }
  .quote { font-size:13px; }
  .profile { font-size:13px; }
  .dl-btn { display:block; text-align:center; padding:10px 18px; min-height:24px; } /* 触屏点击区域放大 */
  .neighbor-links a { padding:8px 12px; font-size:13px; }
}

/* 详情页下载按钮（吸底，靠上文间距留白） */
.dl-btn.hero-dl { display:inline-block; width:auto; margin-top:auto; padding:10px 40px; font-size:15px; text-decoration:none; }
.hero-text .profile { margin-bottom:16px; }

@media (max-width:640px) {
  .rel-hero .hero-img { width:45%; }
  .rel-hero .rel-btn { display:block; width:100%; text-align:center; }
  .dl-btn.hero-dl { display:block; width:100%; text-align:center; }
}

/* 本子封面模糊蒙版（R18 遮罩，首页卡片/列表缩略图统一；角色图、动漫图不受影响） */
.card.benzi > img, .bz-thumb { filter:blur(8px) brightness(.9); transform:scale(1.02); }
.card.benzi { overflow:hidden; }

/* 本子卡片/列表项：点击弹出下载弹窗（无本子单页） */
.card.benzi[data-dl], .bz-item[data-dl] { cursor:pointer; }
.card.benzi .dl-btn { pointer-events:none; }

/* 白底边框面板（角色页本子列表等） */
.panel { background:#fff; border:1px solid #e5e5ea; border-radius:10px; padding:20px; margin:28px 0; }
.panel .sec-title { margin-top:0; }

/* 本子双列列表（角色页） */
.bz-list { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
.bz-item { display:flex; gap:12px; align-items:flex-start; text-decoration:none; color:#222; padding:8px; border-radius:8px; }
.bz-item:hover { background:#fdf2f7; }
.bz-thumb { width:80px; flex:0 0 80px; display:block; border-radius:6px; background:#fdf2f7; }
.bz-item-text { min-width:0; }
.bz-name { display:block; font-weight:600; font-size:14px; word-break:break-all; }
.bz-item:hover .bz-name { color:#d63384; }
.bz-meta { display:block; margin-top:4px; font-size:12px; color:#999; }

@media (max-width:640px) {
  .panel { padding:14px; }
  .bz-list { grid-template-columns:1fr; gap:6px; }
}
