/* 旧版样式仅用于既有补充页和浮层，重置新版组件的旧规则残留。 */
@layer reset {
  html,body,.xy-app,.site-header,.site-header *,.site-footer,.site-footer *,main.content,main.content *,section.home-hero,section.home-hero * { all: revert; box-sizing: border-box; }
}
/* 真实数据、运行时交互与已确认的交付稿差异。布局基准在 css/style.css。 */
[hidden] { display: none !important; }
/* 首屏及加载失败时保留占位，真实封面解码成功后再显示。 */
:root {
  --cover-placeholder-landscape: url("../images/cover-placeholder-dark-landscape.png");
  --cover-placeholder-portrait: url("../images/cover-placeholder-dark-portrait.png");
}
html[data-theme="light"] {
  --cover-placeholder-landscape: url("../images/cover-placeholder-light-landscape.png");
  --cover-placeholder-portrait: url("../images/cover-placeholder-light-portrait.png");
}
:is(.media-card .cover,.detail-poster,.frame-preview-trigger,.match-shot-image,.sr-recent__cover,.sx-film__cover,.xy-history-cover,.cover-placeholder),#handoff-player,#handoff-player .vd-player-loading {
  background-image: var(--cover-placeholder-landscape);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#handoff-player,#handoff-player .vd-player-loading { background-image: url("../images/player-placeholder.png"); }
:is(.portrait-card .cover,.detail-poster,.search-match--portrait .cover-placeholder,.search-match--portrait .match-shot-image) { background-image: var(--cover-placeholder-portrait); }
:is(.media-card .cover,.detail-poster,.frame-preview-trigger,.match-shot-image,.sr-recent__cover,.sx-film__cover,.xy-history-cover,.cover-placeholder):has(> img.media-image--loaded) { background-image: none; }
img:is([data-cover],[data-src]):not(.manga-page):not(.media-image--loaded) { opacity: 0; }
.cover-placeholder { display: block; overflow: hidden; border-radius: 5px; }
.cover-placeholder img { width: 100%; height: 100%; object-fit: cover; }
.home-clip-grid .cover-placeholder,.sidebar-rec .cover-placeholder { aspect-ratio: 1.8/1; }
/* 尺寸以下方 .search-match 规则为准（对齐 Figma SY-06 横/竖封面）。 */
/* 新版全局 img 规则会覆盖 legacy 层的隐藏样式，在适配层恢复互斥显示。 */
.xy-help-modal__steps .xy-help-step--light { display: none; }
html[data-theme="light"] .xy-help-modal__steps .xy-help-step--dark { display: none; }
html[data-theme="light"] .xy-help-modal__steps .xy-help-step--light { display: block; }
.sx-drop.is-dragging .sx-drop__icon img { display: none; }
.sx-drop [data-preview] { width: 54px; height: 54px; object-fit: contain; }
@media (hover: hover) {
  .sx-drop:hover .sx-drop__icon img { display: none; }
}
.sx-query input[type="search"]::-webkit-search-cancel-button,
.sx-query input[type="search"]::-webkit-search-decoration,
.sx-query input[type="search"]::-webkit-search-results-button,
.sx-query input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
.sr-step-icon.is-pending { -webkit-mask: none; mask: none; background: transparent; border: 1px solid currentColor; border-radius: 50%; }
/* 手机搜索状态卡片保留推荐，横向滑动不撑宽页面。 */
.sidebar-rec__title { display: none; }
@media (max-width: 750px) {
  .search-sidebar .sidebar-rec { display: grid; }
  .search-sidebar .sidebar-rec img { height: auto; }
  .search-sidebar hr,.search-sidebar h3:has(+ .sidebar-rec) { display: block; }
  .sr-recent--side { min-width: 0; border-top: 1px solid var(--line); padding-top: 14px; }
  .search-sidebar .sidebar-rec,.sr-recent--side .sr-recent__list { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 128px; gap: 12px; overflow-x: auto; }
  .sr-recent--side .sr-recent__list { display: grid; margin-top: 12px; }
  .sr-recent--side .sr-recent__cover { height: auto; aspect-ratio: 1.8; background-color: var(--card); border-radius: 5px; }
  .sr-recent--side .sr-recent__info { padding-top: 5px; }
  .sidebar-rec__title,.sr-recent--side .sr-recent__info b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 18px; }
  .sidebar-rec__title { margin-top: 5px; }
  .sr-recent--side .sr-recent__info small { display: none; }
}
.v11 .xy-app { background: var(--bg); color: var(--text); min-height: 100vh; }
.v11 .xy-skin-background,.v11 .xy-deep-result-background { display: none; }
.xy-account-list { display: grid; gap: 16px; }
[data-favorites-grid] > .xy-account-empty { grid-column: 1 / -1; }
[data-account-page] .xy-favorite-filters { flex-wrap: wrap; height: auto; }
.xy-history-row .xy-gradient-button { background: var(--xy-account-action, #c07940); color: var(--xy-account-on-action, #fff); }
.xy-history-row .xy-watch-progress i { background: var(--xy-account-action, #c07940); }
@media (min-width: 751px) {
  [data-favorites-grid].xy-favorite-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.site-header { position: sticky; top: 0; z-index: 30; }
.v11 .site-header .xy-theme,.v11 .site-header .xy-login,.v11 .site-header .xy-guest-menu { width: auto; margin: 0; padding: 0 7px; font: inherit; }
.v11 .site-header .xy-guest-menu { display: none; }
.site-header .header-points,.site-header .header-profile,.site-header .xy-guest-menu:has([data-user-avatar]) { background: var(--xy-chip-bg); border-color: var(--xy-pill-line); }
.site-header .header-points { gap: 6px; }
.site-header .header-points img { width: 22px; height: 22px; object-fit: contain; }
.site-header [data-user-avatar] { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 50%; color: #fff; background: linear-gradient(180deg, #ffcd71 0%, #f70 100%); font-weight: 600; }
html[data-theme="light"] .site-header .xy-guest-menu > img { filter: brightness(0); }
.v11 .brand img { flex: none; }
/* 桌面文档区占据剩余窗口，导航和正文各自滚动，面包屑留在文档区上方。 */
@media (min-width: 751px) {
  .xy-api-page { display: flex; flex-direction: column; height: calc(100dvh - 60px); min-height: 0; padding-bottom: 16px; }
  .xy-api-page .xy-info-crumb { flex-shrink: 0; }
  .xy-api-page .xy-account-layout { flex: 1; min-height: 0; align-items: stretch; }
  .xy-api-page .xy-api-side { position: static; max-height: none; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
  .xy-api-page .xy-api-content { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
}
.site-nav { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.site-nav a,.header-inner > a { flex: none; }
.v11 .site-nav { gap: 28px; font-size: 16px; font-weight: 600; }
.v11 .site-nav a { gap: 6px; transition: color .16s ease; }
.v11 .site-nav a.active { color: var(--accent); font-weight: 700; }
.v11 .site-nav a:hover { color: var(--accent); }
.nav-actions { flex: none; }
.filter-split { display: flex; align-items: flex-end; gap: 24px; }
.filter-fields { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.filter-fields .filter-row,.filter-sort { min-height: 26px; }
.filters .filter-row { align-items: flex-start; }
.filters .filter-label { line-height: 26px; }
.filters .filter-items { flex-wrap: wrap; overflow: visible; }
.filter-tags .filter-items { flex: 1; flex-direction: column; align-items: stretch; }
.filter-tag-line { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-tags .chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.filter-sort { flex: none; }
.filter-sort .filter-items { flex-wrap: nowrap; }
.filters-frame .filter-split { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 24px; }
.filters-frame .filter-fields { display: contents; }
.filters-frame .filter-tags { grid-column: 1 / -1; }
.filters-frame .filter-sort { grid-column: 2; }
/* 帧列表的桌面版心不随卡片数量或空态内容收窄。 */
@media (min-width: 751px) {
  main.content:has(> .filters-frame) { width: calc(100% - 48px); }
}
.site-nav a.active .nav-icon { filter: brightness(0) invert(1); }
html[data-theme="light"] .site-nav a.active .nav-icon { filter: brightness(0); }
/* 复用源项目侧栏组件，避开交付稿的简化导航样式。 */
.v11 .xy-drawer.van-popup { position: fixed; right: 0; top: 0; left: auto; z-index: 1101; height: 100dvh; min-height: 0; overflow-y: auto; transform: none; background: var(--xy-surface); }
.xy-drawer__nav a { color: var(--xy-sub); }
.xy-drawer__nav a.is-active { color: var(--xy-ink); }
html[data-theme="light"] .xy-drawer__nav a { color: #57534e; }
html[data-theme="light"] .xy-drawer__nav a.is-active { color: #b5651d; }
.xy-drawer__points-head a { color: var(--xy-link); }
#xy-drawer-backdrop { position: fixed; inset: 0; z-index: 1100; background: #0008; }
/* 浅色主题使用独立的浅色首页横幅资源。 */
.v11 .home-hero::before {
  background-image: url('./images/home-banner-dark.png');
  background-size: cover;
}
html[data-theme="light"] .home-hero::before {
  /* 降低浅色横幅白色遮罩透明度，让背景图保持清晰和原有色彩。 */
  background-image: linear-gradient(90deg,rgba(250,249,247,.25),rgba(250,249,247,.12) 45%,rgba(250,249,247,.2)),linear-gradient(180deg,rgba(250,249,247,.02),rgba(250,249,247,.12)),url('./images/home-banner-light.png');
  background-position: left top, left top, calc(50% + 80px) top;
  background-size: 100% 100%, 100% 100%, cover;
}
@media (max-width: 750px) {
  html[data-theme="light"] .home-hero::before {
    background-position: left top, left top, calc(50% + 44px) top;
    background-size: 100% 100%, 100% 100%, cover;
  }
}
.home-search { --home-search-bg: #615e5b; --home-search-border: #77736f; --home-search-sub: #d2ceca; position: relative; min-height: 92px; padding: 18px; border: 2px solid var(--home-search-border); border-radius: 20px; }
.home-search::after { content: ''; position: absolute; inset: 4px; border: 1px dashed #ffffff40; border-radius: 16px; pointer-events: none; }
html[data-theme="light"] .home-search { --home-search-bg: #d5d4d2; --home-search-border: #b4b3b2; --home-search-sub: #8f877d; border-width: 2px; box-shadow: none; }
html[data-theme="light"] .home-search::after { border-color: #8f877d66; }
.home-search .solid-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding-inline: 20px; border-radius: 12px; white-space: nowrap; }
.home-search [data-preview] { width: 54px; height: 54px; flex: 0 0 54px; object-fit: contain; border-radius: 10px; }
.home-search:has([data-preview]) > span { display: none; }
.home-file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.home-search a { position: relative; z-index: 1; }
.home-upload-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #c07940; }
.home-upload-icon img { width: 20px; height: 20px; filter: brightness(0) invert(1); }
.ui-icon { display: inline-block; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--ui-icon) center / contain no-repeat; mask: var(--ui-icon) center / contain no-repeat; }
.ui-icon--refresh { --ui-icon: url('../images/search/icon-refresh.svg'); }
.ui-icon--chevron { --ui-icon: url('../images/common/icon-chevron-sm.svg'); }
.ui-icon--check { --ui-icon: url('../images/common/icon-check.svg'); }
.ui-icon--close { --ui-icon: url('../images/movie/icon-close-x.svg'); }
.ui-icon--heart { --ui-icon: url('../images/movie/icon-heart-on.svg'); }
.home-section-title a,.home-refresh { display: inline-flex; align-items: center; gap: 5px; }
.home-refresh { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.home-refresh:hover,.home-section-title a:hover { color: var(--accent); }
.home-text-search { display: inline-block; color: var(--accent); margin-top: 10px; }
.home-clip-grid img { width: 100%; aspect-ratio: 1.8; object-fit: cover; border-radius: 5px; }
.home-clip-grid a:nth-child(n+9) { display: none; }
.home-clip-grid:has(> :only-child:not(a)) { display: block; }
.empty-state { grid-column: 1 / -1; color: var(--muted); padding: 40px 0; text-align: center; }
.card-grid .favorite-item { min-width: 0; }
.media-card .tags { flex-wrap: wrap; }
/* 短剧、小说和漫画的集数或章节数置于右上角，书籍保持原稿封面裁切。 */
.media-card[href^="/drama/"] .duration,.media-card[href^="/comic/"] .duration,.media-card[href^="/novel/"] .duration { top: 6px; bottom: auto; }
.media-card[href^="/comic/"] .cover img,.media-card[href^="/novel/"] .cover img { object-position: center; }
.favorite-item > button { margin-top: 6px; }
.video-player { overflow: hidden; position: relative; }
#handoff-player { width: 100%; height: 100%; }
[data-play-status] { position: absolute; bottom: 0; left: 10px; z-index: 2; color: #fff; background: #0008; }
[data-play-status]:empty { display: none; }
.video-facts { flex-wrap: wrap; }
/* 播放详情的信息区对齐源项目 MovieDetail，三频道共用。 */
.video-overview { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 12px; background: var(--xy-mv-card); }
.video-overview h1 { margin: 0; font-size: 20px; font-weight: 400; line-height: normal; overflow-wrap: anywhere; }
.video-overview .subline { margin: 0; font-size: 10px; line-height: normal; color: var(--xy-mv-meta); }
.video-overview .detail-actions { margin: 0; flex-wrap: wrap; gap: 8px; }
.video-overview .outline-btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 40px; min-height: 40px; padding: 10px 11px; border: 1px solid var(--xy-mv-action-line); border-radius: 8px; font-size: 13px; line-height: normal; color: var(--xy-mv-action-ink); white-space: nowrap; }
.video-overview [data-detail-action=rating] { border-color: var(--xy-mv-rate-line); font-size: 12px; color: var(--xy-mv-rate-ink); }
.video-overview .mv-icon { display: block; flex: none; width: 16px; height: 16px; color: var(--xy-mv-action-icon); background: currentColor; mask: var(--mv-icon) center / contain no-repeat; }
.video-overview .mv-icon--star { --mv-icon: url("../images/movie/icon-star.svg"); }
.video-overview .mv-icon--heart { --mv-icon: url("../images/movie/icon-heart.svg"); }
.video-overview .mv-icon--share { --mv-icon: url("../images/movie/icon-share.svg"); }
.video-overview [data-detail-action=favorite][aria-pressed=true] .mv-icon { color: #ff4040; --mv-icon: url("../images/movie/icon-heart-on.svg"); }
.video-overview .video-synopsis { margin: 0; font-size: 11px; line-height: 1.55; color: var(--xy-mv-body); overflow-wrap: anywhere; }
.video-overview .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.video-overview .tag { padding: 5px 9px; border: 1px solid var(--xy-mv-tag-line); border-radius: 999px; background: var(--xy-mv-tag-bg); font-size: 9px; line-height: normal; color: var(--xy-mv-tag-ink); }
@media (min-width: 751px) {
  .video-overview { gap: 24px; padding: 28px; border-radius: 16px; background: var(--xy-mv-pc-card); }
  .video-overview h1 { font-size: 26px; line-height: 1.7; }
  .video-overview .subline { font-size: 14px; line-height: 1.7; color: var(--xy-mv-pc-meta); }
  .video-overview .outline-btn { border-color: var(--xy-mv-pc-action-line); color: var(--xy-mv-pc-action-ink); }
  .video-overview .mv-icon { color: var(--xy-mv-pc-action-ink); }
  .video-overview [data-detail-action=rating] { color: var(--xy-mv-rate-ink); }
  .video-overview .video-synopsis { font-size: 16px; line-height: 1.7; color: var(--xy-mv-pc-body); }
  .video-overview .tags { gap: 10px; }
  .video-overview .tag { padding: 6px 12px; border-radius: 8px; background: var(--xy-mv-pc-tag-bg); font-size: 13px; }
}
.chapter-grid a.active { border-color: var(--accent); color: var(--accent); }
/* 纵向 flex 中的自动边距会让书籍详情按内容收窄，推荐图懒加载后又撑宽。 */
@media (min-width: 751px) {
  main.content:has(> .book-chapters) { width: calc(100% - 48px); }
}
.book-chapters .chapter-grid { grid-template-columns: repeat(15,minmax(0,1fr)); }
.chapter-groups { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.chapter-groups .chip { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; text-decoration: none; }
.book-chapters .chapter { display: flex; align-items: center; justify-content: center; min-width: 0; height: 34px; padding: 0 4px; border: 1px solid var(--line); background: var(--field); text-decoration: none; }
.book-chapters .chapter span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chapter-count { margin: 16px 0 0; color: var(--muted); text-align: center; font-size: 12px; }
@media (min-width: 751px) and (max-width: 900px) {
  .book-chapters .chapter { padding: 0; font-size: 11px; }
}
@media (max-width: 750px) {
  .book-chapters .chapter-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .book-chapters .chapter { height: 30px; }
}
.video-episodes { padding: 0; background: transparent; }
.video-episodes h2, .video-episodes .detail-section-title { margin: 0; padding: 12px 0 8px; font-size: 15px; font-weight: 700; line-height: 22px; }
.video-episodes .chapter-grid { grid-template-columns: repeat(auto-fill,minmax(50px,1fr)); gap: 9px; }
.video-episodes .chapter { display: flex; align-items: center; justify-content: center; height: 48px; min-width: 0; padding: 0 4px; border-radius: 6px; background: var(--chip); color: var(--muted); font-size: 13px; font-weight: 500; line-height: 18px; text-decoration: none; }
.video-episodes .chapter.active { border-color: transparent; background: var(--accent); color: #fff; }
@media (max-width: 750px) {
  .video-episodes .chapter-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
  .video-episodes .chapter { height: auto; min-height: 0; aspect-ratio: 1; }
}
.reader-controls > span { border: 1px solid var(--line); color: var(--muted); padding: 3px 10px; font-size: 12px; }
.manga-page { height: auto; object-fit: contain; }
.manga-page:not(.media-image--loaded) {
  content: var(--cover-placeholder-landscape);
  width: 96px;
  height: 54px;
  margin: 12px auto;
}
.novel-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.detail-info { min-width: 0; }
.detail-info p { white-space: pre-line; overflow-wrap: anywhere; }
.comment-card { align-items: flex-start; }
.comment-body { min-width: 0; overflow-wrap: anywhere; }
.comment-body p { white-space: pre-wrap; }
.info-panel { overflow-wrap: anywhere; }
.info-panel img { height: auto; }
/* 信息页版心不随折叠正文的可见内容收窄。 */
@media (min-width: 751px) {
  .v11 main.content.narrow.extra-content { width: calc(100% - 48px); }
}
.info-next { margin-top: 20px; }
.info-next a { display: inline-block; }
.pagination button { min-width: 24px; height: 24px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 3px; }
.pagination button:disabled { opacity: .45; }
.match-shots { display: flex; gap: 10px; overflow-x: auto; }
.match-shots button { display: flex; flex-direction: column; padding: 0; border: 0; background: transparent; text-align: left; }
.match-shots .match-shot-image { position: relative; display: block; flex: none; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; }
.match-shot-image img { width: 100%; height: 100%; object-fit: cover; }
.match-shot-image em { position: absolute; top: 6px; left: 6px; padding: 1px 7px; border-radius: 4px; background: var(--accent); color: #fff; font-size: 11px; font-style: normal; white-space: nowrap; }
.match-shots .match-shot-meta { display: flex; flex: none; align-items: center; gap: 8px; margin-top: 6px; font-size: 12px; line-height: 20px; }
.match-shot-meta b { color: var(--accent); font-weight: 600; }
.match-shots .match-shot-meta small { color: var(--text); font-size: inherit; }
.me-sidebar button { text-align: left; padding: 13px 16px; border: 0; background: transparent; color: inherit; }
/* 深色主题非选中时由 legacy 伪元素绘制橙色图标，恢复图片隐藏以保持互斥。 */
html[data-theme="dark"] .xy-me-layout .xy-section-side a[href="/me"]:not(.is-active):not(:hover) img { display: none; }
/* 浅色主题非选中时染成橙色，悬停时沿用白色图标搭配橙色背景。 */
html[data-theme="light"] .xy-me-layout .xy-section-side a:not(.is-active):not(.on):not(:hover) img[src$="/profile.svg"] { filter: brightness(0) saturate(100%) invert(54%) sepia(34%) saturate(1090%) hue-rotate(347deg) brightness(90%) contrast(86%); }
.task-item h2,.task-item p { overflow-wrap: anywhere; }
.task-item > button,.task-item > span { flex: none; }
.xy-points-card [data-signin]:disabled { cursor: not-allowed; opacity: .65; }
.me-main { min-width: 0; }
.history-row strong { overflow-wrap: anywhere; }
.history-row a { white-space: nowrap; }
.history-progress span { max-width: 100%; }

/* H5 输入字号至少 16px，避免移动浏览器聚焦时自动放大页面且收键盘后不复原。 */
@media (max-width: 750px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
  textarea,
  select { font-size: max(16px, 1em); }
}

/* 统一页面垂直结构，让短页面的页脚自然贴近视口底部。 */
body.v11 { min-height: 100vh; }
.v11 .xy-app { min-height: 100vh; display: flex; flex-direction: column; }
.v11 .xy-app > main.content,.v11 .xy-app > main.xy-section-page { flex: 1 0 auto; }
.v11 .site-footer { flex: none; }

/* 首页横幅沿用模板基准：背景图只显示在中间内容区域。 */
.v11 .home-content { max-width: 822px; }
/* 桌面端把上传搜索框下移约 12px，使其贴近横幅下沿。 */
@media (min-width: 751px) {
  .v11 .home-inner > p { margin-bottom: 70px; }
}
.v11 main.frame-detail-content { max-width: 1200px; }
@media (min-width: 751px) {
  .v11 main.frame-detail-content { width: calc(100% - 48px); }
}
.v11 .frame-detail-layout { grid-template-columns: minmax(0,1fr) 260px; gap: 24px; }
/* 帧详情主封面固定 1.8:1 比例，竖版截图裁切进统一封面框。 */
.v11 .frame-main .frame-hero { display: block; width: 100%; height: 100%; aspect-ratio: 1.8/1; object-fit: cover; border-radius: 12px; margin-bottom: 14px; }
.v11 .frame-preview-trigger { display: block; width: 100%; aspect-ratio: 1.8/1; overflow: hidden; margin: 0 0 14px; padding: 0; border: 0; border-radius: 12px; background-color: transparent; cursor: zoom-in; }
.v11 .frame-preview-trigger .frame-hero { margin-bottom: 0; }
.v11 .frame-preview-dialog { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 64px 16px 16px; border: 0; background: #000e; overflow: hidden; }
.v11 .frame-preview-dialog[open] { display: flex; align-items: center; justify-content: center; }
.v11 .frame-preview-dialog::backdrop { background: #000a; }
.v11 .frame-preview-dialog img { width: 100%; height: 100%; object-fit: contain; }
.v11 .frame-preview-close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff2; color: #fff; font-size: 28px; }
html:has(.frame-preview-dialog[open]) { overflow: hidden; }
.v11 .frame-info { margin-bottom: 16px; }
.v11 .frame-info h1 { font-size: 24px; }
.v11 .frame-info > p { color: var(--sub); }
.v11 .frame-sidebar { padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
.v11 .frame-sidebar h2 { margin: 0 0 12px; font-size: 16px; }
.v11 .frame-sidebar .media-card { background: var(--panel); }
.v11 .frame-sidebar .cover { aspect-ratio: 1.8/1; }
.v11 .frame-sidebar .card-copy { padding: 10px; }
.v11 .frame-sidebar .tag { display: inline-block; margin-top: 6px; }
html[data-theme="light"] .v11 .home-section-title h2::before { border-radius: 50%; }
html[data-theme="light"] .v11 .home-content .tag { height: 20px; padding: 3px 6px; border: .5px solid #f6f2ed; border-radius: 5px; background: #f6f2ed; color: #b5651d; font-size: 10px; line-height: 12px; }
/* 任务卡片按设计稿区分可领取、已完成和前往完成状态。 */
.v11 .task-summary { min-height: 104px; padding: 22px 28px; background: linear-gradient(105deg,var(--panel),var(--card)); }
.v11 .task-summary > span { font-size: 16px; }
.v11 .task-summary strong { display: inline-flex; align-items: center; gap: 10px; font-size: 30px; }
.v11 .task-summary strong img { width: 32px; height: 32px; object-fit: contain; }
.v11 .task-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
.v11 .task-item { min-height: 88px; padding: 14px 16px; gap: 14px; }
.v11 .task-item img { width: 40px; height: 40px; object-fit: contain; }
.v11 .task-item h2 { font-size: 15px; }
.v11 .task-item p { font-size: 12px; }
.v11 .task-item > button,.v11 .task-item > span { min-width: 72px; padding: 7px 10px; border-radius: 5px; text-align: center; font-size: 12px; white-space: nowrap; }
.v11 .task-item > button { color: #42b866; border: 1px solid #42b866; background: transparent; }
.v11 .task-item > button:hover { color: #fff; background: #319852; }
.v11 .task-item > button:disabled,.v11 .task-item > .task-done { color: var(--muted); border: 1px solid var(--line); background: var(--chip); cursor: default; }
.v11 .task-item.xy-task-card--claim > button { color: #fff; border-color: var(--accent); background: var(--accent); }

/* 信息页卡片和分页采用清楚的边界与可见的移动端分页。 */
.v11 .info-panel { border: 1px solid var(--line); }
.v11 .pagination { gap: 8px; font-size: 13px; }
.v11 .pagination a,.v11 .pagination span { min-width: 34px; height: 34px; border-radius: 6px; }
.v11 .pagination .selected { background: var(--accent); color: #fff; }
.v11 .pagination span:last-child { min-width: auto; border: 0; padding: 0 8px; }
.v11 .xy-help-modal__ok { cursor: pointer; }
.v11 .xy-auth-error:not(:empty),.v11 .xy-form-error:not(:empty) { color: #e56b62; }
.v11 [role="alert"].panel { border-color: rgba(229,107,98,.38); color: #e56b62; background: color-mix(in srgb,var(--panel) 90%,#e56b62 10%); }
.v11 .video-facts { gap: 0 20px; }
.v11 .video-facts > span { padding: 8px 0; border-bottom: 1px solid var(--line); }
.v11 .comments { border: 1px solid var(--line); }
.v11 .comments h2, .v11 .comments .detail-section-title { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.v11 .comment-form input,.v11 .comment-form textarea { border: 1px solid var(--line); border-radius: 8px; }
.v11 .comment-form input:focus,.v11 .comment-form textarea:focus { border-color: var(--accent); outline: 2px solid color-mix(in srgb,var(--accent) 24%,transparent); }
.v11 #xy-toast { min-width: 120px; max-width: min(420px,calc(100vw - 32px)); padding: 12px 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(36,33,31,.96); box-shadow: 0 10px 28px #0004; color: #f4f0ea; text-align: center; line-height: 1.5; }
@media (max-width: 750px) {
  .v11 .frame-detail-layout { display: block; }
  .v11 .frame-sidebar { display: block; margin-bottom: 14px; }
  .v11 .frame-main .frame-hero { display: block; }
  .v11 .frame-info h1 { font-size: 18px; }
  .v11 .pagination { display: flex; flex-wrap: wrap; margin-top: 20px; }
  .v11 .pagination a,.v11 .pagination span { min-width: 30px; height: 30px; }
  .v11 .pagination button { display: inline-grid; place-items: center; }
  .v11 .task-summary { min-height: 82px; padding: 16px; }
  .v11 .task-summary > span { font-size: 13px; }
  .v11 .task-summary strong { gap: 6px; font-size: 24px; }
  .v11 .task-summary strong img { width: 26px; height: 26px; }
  .v11 .task-item { min-height: 76px; padding: 12px; gap: 10px; }
  .v11 .task-item img { width: 34px; height: 34px; }
  .filters-frame .filter-split { display: flex; gap: 12px; }
  .filter-split { flex-direction: column; align-items: stretch; gap: 12px; }
  .filter-fields { width: 100%; gap: 12px; }
  .filter-sort { margin-left: 0; }
  .header-inner { gap: 12px; }
  .v11 .site-header .nav-actions { display: flex; gap: 8px; }
  .site-header .nav-actions .round-action { height: 33px; min-width: 33px; padding: 0; border-radius: 7px; }
  .v11 .site-header .xy-theme { width: 33px; }
  .site-header .nav-actions .header-points { padding: 0 10px 0 6px; }
  .site-header .nav-actions .xy-login,.site-header .nav-actions .header-profile { display: none; }
  .v11 .site-header .xy-guest-menu { display: inline-flex; }
  .home-clip-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 14px) / 2.2); overflow-x: auto; }
  .home-clip-grid a:nth-child(n+5) { display: none; }
  .match-shots button { flex-basis: 45%; }
  .history-row { flex-wrap: wrap; }
  .history-row > div { min-width: 0; }
  .history-row > img { max-width: 30%; }
  .pagination button { display: none; }
  .search-tabs { flex-wrap: nowrap; }
}
@media (min-width: 751px) and (max-width: 1050px) {
  .header-inner { gap: 18px; }
  .site-nav { gap: 12px; }
}
@media (max-width: 374px) {
  .header-inner { gap: 4px; }
  .v11 .site-header .nav-actions { gap: 4px; }
  .site-header .nav-actions .round-action { min-width: 30px; }
  .v11 .site-header .xy-theme { width: 30px; }
  .site-header .nav-actions .header-points { padding: 0 6px 0 4px; }
}

/* 10.27 第二轮走查：只覆盖业务适配组件，保留交付原稿和已有操作。 */
.filters .filter-row { gap: 8px; }
.filters .filter-label { width: auto; min-width: 28px; font-size: 12px; line-height: 24px; }
.filters .filter-fields .filter-row,.filters .filter-sort { min-height: 24px; }
.filters .chip { min-height: 24px; padding: 3px 11px; border: 1px solid var(--line); background: transparent; color: var(--sub); }
.filters .chip.active { border-color: var(--accent); background: var(--accent); color: var(--accent-text); }
.filters .chip:hover { border-color: var(--accent); }
.filters .filter-sort { align-items: flex-end; }
.back-square { flex: none; font-size: 0; }
.back-square::before { content: ''; width: 14px; height: 14px; background: currentColor; -webkit-mask: url('../images/common/icon-chevron-left.svg') center / contain no-repeat; mask: url('../images/common/icon-chevron-left.svg') center / contain no-repeat; }
.xy-points-card strong { display: inline-flex; align-items: center; gap: 6px; }
.xy-points-card strong [data-balance] { font: inherit; color: inherit; }
.xy-points-card strong img { width: 24px; height: 24px; object-fit: contain; }
.favorite-item { overflow: hidden; border-radius: 10px; background: var(--card); }
.favorite-item .favorite-remove { display: inline-flex; align-items: center; gap: 4px; min-height: 26px; height: auto; margin: 6px 8px 8px; padding: 3px 6px; border: 1px solid var(--line); border-radius: 6px; font-size: 11px; line-height: 16px; }
.favorite-remove .ui-icon { width: 12px; height: 12px; color: #ff4040; }
.v11 .xy-drawer__guest-login { min-height: 48px; border-color: var(--accent); background: var(--accent); color: var(--accent-text); }
.comment-field { position: relative; }
.comment-field textarea { display: block; margin-bottom: 0; padding-bottom: 30px; }
.comment-count { position: absolute; right: 12px; bottom: 10px; color: var(--muted); font-size: 12px; line-height: 16px; pointer-events: none; }
.comment-submit { margin-top: 10px; }
.comment-submit .solid-btn { min-width: 120px; min-height: 38px; border-radius: 7px; }
.reader-controls a,.reader-controls > span { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 4px 12px; border-radius: 5px; }
.reader-controls a:nth-child(2) { background: var(--accent); color: var(--accent-text); }
.reader-controls > span[aria-disabled="true"] { opacity: .55; }
.search-sidebar [data-research] { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 38px; margin-top: 4px; border-radius: 7px; }
/* 搜索图固定 16:9 框，竖图不再被拉满屏高。 */
.search-sidebar .search-source-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 220px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--chip, var(--bg));
}
.search-sidebar .search-source-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.search-feedback { gap: 10px; padding: 10px 12px; border: 1px solid var(--line); font-size: 12px; }
.search-feedback button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 30px; white-space: nowrap; }
.search-tabs:empty { display: none; }
.search-sidebar h2,.search-sidebar [data-result-status],.search-sidebar > strong { font-weight: 600; }
/* 桌面：封面 | 文案；操作钮回文案列。H5：操作钮在帧图下方。 */
.search-match {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 14px;
  --search-cover-w: 160px;
  --search-cover-ratio: 16 / 9;
  --search-shot-w: 160px;
}
.search-match--portrait {
  --search-cover-w: 120px;
  --search-cover-ratio: 3 / 4;
  --search-shot-w: 120px;
  --search-cover-h: 160px;
}
.search-match-head { display: contents; }
.search-match-head > .cover-placeholder {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  width: var(--search-cover-w);
  height: auto;
  aspect-ratio: var(--search-cover-ratio);
  border-radius: 8px;
}
.search-match--portrait .search-match-head > .cover-placeholder {
  height: var(--search-cover-h);
  aspect-ratio: 3 / 4;
}
.search-match-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding-right: 42px;
  display: flex;
  flex-direction: column;
}
.search-match--portrait .search-match-copy {
  justify-content: space-between;
  min-height: calc(var(--search-cover-h) - 44px);
}
.search-match > .detail-actions {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-self: end;
  gap: 10px;
  margin: 12px 0 0;
}
.search-match > .match-shots-label {
  grid-column: 1 / -1;
  margin: 16px 0 8px;
}
.search-match > .match-shots {
  grid-column: 1 / -1;
  gap: 10px;
  margin: 0;
}
.search-match .match-shots button {
  flex: 0 0 var(--search-shot-w);
  width: var(--search-shot-w);
  min-width: var(--search-shot-w);
}
.search-match .match-shots .match-shot-image {
  aspect-ratio: var(--search-cover-ratio);
  border-radius: 8px;
}
.search-match h2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}
.search-match-copy > p {
  margin: 8px 0 0;
  line-height: 1.5;
}
.search-match-reason {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 8px;
}
.search-match-score { position: absolute; top: 12px; right: 12px; padding: 3px 6px; border-radius: 5px; background: color-mix(in srgb,var(--accent) 16%,var(--card)); color: var(--accent); font-size: 12px; font-weight: 700; line-height: 18px; }
.search-match > .detail-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 14px;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  border-radius: 6px;
}
.search-match > .detail-actions .outline-btn {
  color: var(--text, #fff);
  border-color: color-mix(in srgb, var(--text, #fff) 28%, transparent);
}
.search-match > .detail-actions .solid-btn {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}
.search-match .match-shot-meta { justify-content: space-between; gap: 4px; font-size: 10px; }
.search-match .match-shot-meta small { margin-left: auto; white-space: nowrap; }
.search-match .match-shot-image em { top: 4px; left: 4px; padding: 1px 4px; font-size: 10px; }
.site-footer .footer-text { margin-top: 20px; line-height: 1.8; }
.site-footer .footer-bottom { border: 0; padding-top: 0; }
.v11 .site-footer .footer-top { display: block; }
.v11 .site-footer .footer-links { margin-top: 20px; justify-content: flex-start; flex-wrap: wrap; }
.site-footer .footer-links, .footer-friends a { color: var(--sub); }
.site-footer .footer-links a:hover, .footer-friends a:hover,
.site-footer .footer-links a:focus-visible, .footer-friends a:focus-visible { color: var(--text); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.site-footer .footer-address { display: flex; margin-top: 16px; color: #c07940; line-height: 1.8; overflow-wrap: anywhere; }
.site-footer .footer-address > span:last-child { min-width: 0; }
.site-footer .footer-label { flex-shrink: 0; width: 5em; font-weight: inherit; }
.footer-friends { display: flex; margin-top: 16px; padding: 20px 0; border-block: 1px solid var(--line); line-height: 1.8; }
.footer-friends > .footer-label { color: var(--text); }
.footer-friends a[aria-disabled="true"] { cursor: not-allowed; opacity: .5; }
.footer-friends > div { display: flex; flex: 1; flex-wrap: wrap; gap: 8px 16px; min-width: 0; }
.footer-friends a { flex: 0 0 auto; min-width: calc((100% - 144px) / 10); max-width: 100%; overflow-wrap: anywhere; }
.module-faq { margin-top: 32px; overflow-wrap: anywhere; }
.module-faq > h2 { margin: 0 0 20px; font-size: 14px; font-weight: 600; }
.module-faq-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; align-items: start; }
.module-faq details { min-width: 0; padding: 16px 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--sub); }
.module-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; font-size: 14px; font-weight: 400; line-height: 26px; list-style: none; }
.module-faq summary::-webkit-details-marker { display: none; }
.module-faq summary::after { content: ''; flex: none; border: 3px solid transparent; border-bottom: 0; border-top: 4px solid currentColor; }
.module-faq details[open] > summary::after { transform: rotate(180deg); }
.module-faq-answer { padding-top: 8px; font-size: 13px; line-height: 1.8; }
.module-faq-answer p { margin: 0 0 10px; }
.module-faq-answer p:last-child { margin-bottom: 0; }
.module-faq-answer img { max-width: 100%; height: auto; }
.list-load-button { display: none; }
@media (max-width: 750px) {
  .v11 .is-auto-list [data-list-pagination], .is-auto-list .list-load-fallback { display: none; }
  .v11 .is-auto-list [data-list-next] { display: block; }
  .is-auto-list .list-load-button { display: inline-block; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; padding: 12px 20px; }
  .module-faq { margin-top: 24px; }
  .module-faq > h2 { margin-bottom: 12px; }
  .module-faq-items { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .module-faq details { padding: 8px 12px; }
  .module-faq summary { font-size: 12px; line-height: 20px; }
  .module-faq-answer { padding-top: 0; font-size: 11px; }
  .footer-friends { display: block; padding: 0; border: 0; }
  .footer-friends > .footer-label { display: block; margin-bottom: 8px; }
  .footer-friends > div { gap: 8px 12px; }
  .footer-friends a { min-width: calc((100% - 48px) / 5); }
}
@media (min-width: 751px) {
  .v11 .home-inner { width: calc(100% - 48px); }
  .v11 .home-content { width: calc(100% - 48px); }
  /* 页脚跟随正文版心，避免窄版页面仍使用默认的 1000px 页脚。 */
  .v11 .footer-inner { width: calc(100% - 48px); margin-inline: auto; }
  .v11 .xy-app:has(> main.content.narrow) .footer-inner { max-width: 820px; }
  .v11 .xy-app:has(> main.content.home-content) .footer-inner { max-width: 822px; }
  .sx-page > h1 { margin-bottom: 20px; font-size: 28px; line-height: 1.4; }
  .sx-page .sx-tabs { margin-bottom: 16px; }
  .site-footer .footer-top { align-items: center; }
  html:has(.novel-body) { overflow-y: scroll; scrollbar-gutter: stable; scrollbar-width: auto; scrollbar-color: auto; }
  html:has(.novel-body)::-webkit-scrollbar { display: block; width: 12px; }
  html:has(.novel-body)::-webkit-scrollbar-thumb { border: 3px solid var(--bg); border-radius: 8px; background: var(--accent); }
  html:has(.novel-body)::-webkit-scrollbar-track { background: var(--bg); }
  main.content:has(> .novel-body) { width: calc(100% - 48px); }
}
@media (max-width: 750px) {
  .v11 .site-footer { padding-inline: 16px; }
  .v11 .home-hero { height: auto; min-height: 320px; padding-bottom: 16px; }
  .v11 .home-hero::before { width: 100%; }
  .v11 .home-inner { padding-top: 28px; }
  .v11 .home-inner > p { margin-bottom: 28px; }
  .home-search { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 0 16px; padding: 0; border: 0; background: transparent; }
  html[data-theme="light"] .home-search { border: 0; background: transparent; box-shadow: none; }
  .home-search::before { content: ''; position: absolute; inset: 0 0 auto; height: 92px; border: 2px solid var(--home-search-border); border-radius: 20px; background: var(--home-search-bg); pointer-events: none; }
  .home-search::after { bottom: auto; height: 84px; }
  .home-search > span,.home-search > div,.home-search > [data-preview] { position: relative; }
  .home-search > .home-upload-icon { margin-left: 20px; }
  .home-search > div { display: flex; justify-content: center; min-height: 92px; padding-right: 20px; }
  .home-search strong { font-size: 14px; }
  .home-search__desktop { display: none; }
  .home-search .home-file { height: 92px; }
  .home-search .solid-btn { grid-column: 1 / -1; margin-top: 12px; background: var(--card); color: var(--accent); border: 1px solid var(--line); font-size: 14px; }
  .filters .filter-row { gap: 0; }
  .filters .filter-label { margin-bottom: 6px; font-size: 11px; }
  .filters .chip { padding: 3px 10px; font-size: 11px; }
  .sx-page > h1 { margin-bottom: 12px; line-height: 1.5; }
  .sx-page .sx-help--bar { border: 1px solid var(--line); border-radius: 8px; }
  .search-feedback { flex-wrap: wrap; gap: 6px; padding: 8px; }
  .search-feedback button { min-height: 28px; padding: 4px 8px; font-size: 11px; }
  .search-sidebar .search-source-image {
    aspect-ratio: 16 / 9;
    max-height: 180px;
  }
  /*
   * H5 对齐设计稿：
   * - 封面：横 108×61 / 竖 78×104，与右侧标题~简介齐高
   * - 帧图：不论横竖内容，统一 5 等分 + 3:4，避免竖卡帧图被拉得过高
   */
  .search-match {
    display: flex;
    flex-direction: column;
    gap: 0;
    --search-cover-w: 108px;
    --search-cover-ratio: 16 / 9;
    --search-shot-w: calc((100% - 32px) / 5);
    --search-shot-ratio: 3 / 4;
  }
  .search-match--portrait {
    --search-cover-w: 78px;
    --search-cover-h: 104px;
    --search-cover-ratio: 3 / 4;
  }
  .search-match-head {
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .search-match-head > .cover-placeholder {
    grid-column: auto;
    grid-row: auto;
    flex: none;
    width: var(--search-cover-w);
    height: auto;
    aspect-ratio: var(--search-cover-ratio);
    border-radius: 8px;
  }
  .search-match--portrait .search-match-head > .cover-placeholder {
    width: var(--search-cover-w);
    height: var(--search-cover-h);
    aspect-ratio: 3 / 4;
  }
  .search-match-copy {
    grid-column: auto;
    grid-row: auto;
    padding-right: 36px;
    min-height: 0;
  }
  .search-match--portrait .search-match-copy {
    justify-content: space-between;
    min-height: var(--search-cover-h);
  }
  .search-match > .match-shots-label {
    grid-column: auto;
    margin: 12px 0 8px;
    font-size: 11px;
  }
  .search-match > .match-shots {
    grid-column: auto;
    gap: 8px;
  }
  .search-match .match-shots button {
    flex: 0 0 var(--search-shot-w);
    width: var(--search-shot-w);
    min-width: 0;
  }
  .search-match .match-shots .match-shot-image {
    aspect-ratio: var(--search-shot-ratio);
    border-radius: 8px;
  }
  /* H5 帧图时间叠在画面左上，贴近设计稿，不再占下方额外高度。 */
  .search-match .match-shots button { position: relative; }
  .search-match .match-shot-meta {
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: 1;
    margin: 0;
    gap: 0;
    pointer-events: none;
  }
  .search-match .match-shot-meta b { display: none; }
  .search-match .match-shot-meta small {
    margin: 0;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    font-size: 10px;
    line-height: 14px;
  }
  .search-match .match-shot-image em {
    top: auto;
    bottom: 4px;
    left: 4px;
  }
  .search-match > .detail-actions {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    margin: 12px 0 0;
    gap: 8px;
  }
  .search-match > .detail-actions button {
    flex: 1;
    min-width: 0;
    justify-content: center;
  }
  .search-match h2 { font-size: 12px; font-weight: 700; }
  .search-match p { font-size: 11px; }
  .search-match-score { font-size: 10px; padding: 1px 4px; }
  .site-footer .footer-top { gap: 14px; }
}

#xy-search-login > .xy-modal { box-sizing: border-box; width: min(343px, 100%); gap: 0; padding: 36px 32px; border: 0; border-radius: 16px; background: var(--card); color: var(--text); box-shadow: none; }
#xy-search-login .xy-modal__head { display: flex; justify-content: center; }
#xy-search-login .xy-modal__title { margin: 0; font-size: 24px; font-weight: 500; line-height: 33px; text-align: center; }
#xy-search-login .xy-modal__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 40px; padding: 0; }
#xy-search-login .xy-modal__actions button { min-width: 0; height: 44px; padding: 0; border-radius: 24px; font-size: 16px; font-weight: 500; }
#xy-search-login .xy-btn-ghost { border: 1px solid var(--line); background: transparent; color: var(--text); }
#xy-search-login .xy-btn-primary { border: 0; background: #c07940; color: #fff; }

/* SEO 标题语义调整，保持卡片、弹窗和信息标题原有布局。 */
.v11 .card-title { font-weight: inherit; }
.v11 .info-panel summary h2 { display: inline; margin: 0; font: inherit; }
.v11 .detail-section-title { margin: 0; font-size: 18px; font-weight: 500; }
