/* Expo album header: scoped to the new frontend's exhibition book variant. */
.ca9-unified-book.ca9-photo-album-book .crumb-inner { max-width: none; padding: 6px 24px; font-weight: 400; }
.ca9-photo-album-book .crumb-inner .icon { width: 14px; height: 14px; }
.ca9-unified-book.ca9-photo-album-book .bk-cover { height: 210px; border-radius: 12px; }
.ca9-photo-album-book .bk-cover img { width: 100%; height: 100%; object-fit: cover; }
.ca9-photo-album-book .bk-topline { gap: 8px; margin-bottom: 4px; }
.ca9-photo-album-book .bk-kicker { padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 500; color: var(--brand); background: rgba(255, 195, 0, .1); }
.ca9-photo-album-book .bk-meta { font-size: 10px; }
.ca9-unified-book.ca9-photo-album-book .bk-title { margin: 0 0 4px; color: var(--gray-900, #111827); }
.ca9-unified-book.ca9-photo-album-book .bk-desc { display: block; max-width: 560px; margin: 0 0 8px; line-height: 1.625; color: var(--gray-500, #6b7280); }
.ca9-unified-book.ca9-photo-album-book .bk-actions { margin-top: 0; }
.ca9-photo-album-book .bk-total { font-weight: 400; color: var(--gray-600, #4b5563); }
.ca9-photo-album-book .bk-copy { gap: 6px; font-size: 14px; padding: 6px 12px; border-radius: 8px; background: var(--gray-50, #f9fafb); }
.ca9-photo-album-book .bk-fav { padding: 6px 16px; font-size: 14px; font-weight: 400; border-color: #ef4444; box-shadow: 0 0 6px rgba(239, 68, 68, .35); }
.ca9-photo-album-book .bk-fav .icon { width: 12px; height: 12px; }
.ca9-photo-album-book .bk-down { padding: 6px 16px; font-size: 14px; font-weight: 500; }
.ca9-photo-album-book .bk-down .icon { display: none; }
.ca9-photo-album-book .bk-surplus { padding: 6px 10px; border-radius: 999px; line-height: 1; background: var(--gray-100, #f3f4f6); color: var(--gray-500, #6b7280); }
.ca9-photo-album-book .bk-search-row { gap: 8px; flex-wrap: wrap; }
.ca9-photo-album-book .bk-search-label { font-size: 12px; font-weight: 400; color: var(--gray-500, #6b7280); }
.ca9-unified-book.ca9-photo-album-book .bk-search-btn { height: 22px; color: #fff; }
.ca9-unified-book.ca9-photo-album-book .bk-filter-btn { margin-left: 4px; padding: 8px 16px; border: 0; font-size: 14px; font-weight: 500; background: var(--gray-100, #f3f4f6); }
.ca9-unified-book.ca9-photo-album-book .bk-chips { margin-top: 16px; }
.ca9-photo-album-book .bk-chip { padding: 6px 12px; font-size: 14px; }
.ca9-photo-album-book .bk-chip-count { font-size: 12px; }
.ca9-unified-book.ca9-photo-album-book { background: #fafafa; }
.ca9-unified-book.ca9-photo-album-book .bk-actions { gap: 8px; }
.ca9-photo-album-book .bk-copy { gap: 4px; padding: 4px 10px; font-size: 12px; }
.ca9-photo-album-book .bk-copy .icon { width: 12px; height: 12px; }
.ca9-photo-album-book .bk-chips {
  flex-wrap: nowrap; overflow-x: auto; padding-top: 2px;
  scrollbar-width: none;
}
.ca9-photo-album-book .bk-chips::-webkit-scrollbar { display: none; }
.ca9-photo-album-book .bk-chip { flex: none; white-space: nowrap; }
.ca9-photo-album-book .bk-filter-btn.on { color: #fff; background: #ffc300; }
.ca9-photo-album-book .bk-filter-panel {
  display: flex; align-items: flex-start; gap: 12px;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid #f3f4f6;
}
.ca9-photo-album-book .bk-filter-panel-label {
  flex: none; width: 40px; margin-top: 6px; color: #9ca3af;
  font-size: 12px; font-weight: 500;
}
.ca9-photo-album-book .bk-filter-panel-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ca9-photo-album-book .bk-more-labels {
  flex: none; padding: 6px 0; border: 0; background: none;
  color: #ffc300; font-size: 14px; cursor: pointer; white-space: nowrap;
}
.ca9-photo-album-book .bk-more-labels:hover { text-decoration: underline; }
.ca9-unified-book.ca9-photo-album-book .bk-thumb { aspect-ratio: 1 / 1; overflow: hidden; }
.ca9-unified-book.ca9-photo-album-book .bk-thumb img {
  object-fit: cover; object-position: center;
  transition: transform .3s;
}
.ca9-photo-album-book .bk-card:hover .bk-thumb img { transform: scale(1.05); }
.ca9-photo-album-book .bk-card-foot { min-height: 39px; padding: 10px; gap: 6px; }
.ca9-photo-album-book .bk-card-title { color: #1f2937; font-weight: 500; line-height: 16px; }
.ca9-photo-album-book .bk-sim {
  padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 400;
  line-height: 15px; color: #ffc300; background: rgba(255, 195, 0, .1);
}
.ca9-photo-album-book .bk-sim:hover { color: #fff; background: #ffc300; }
@media (max-width: 767px) {
  .ca9-unified-book.ca9-photo-album-book .crumb-inner { padding-left: 16px; padding-right: 16px; }
}
.ca9-breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.ca9-breadcrumb .sep { flex: none; }
.ca9-breadcrumb .now { min-width: 0; overflow-wrap: anywhere; }

body.ca9-newpc {
  --ca9-brand: #ffc300;
  --ca9-ink: #101010;
  --ca9-page: #fafafa;
  --ca9-surface: #ffffff;
  --ca9-panel: #ffffff;
  --ca9-soft: #f3f4f6;
  --ca9-line: #e5e7eb;
  --ca9-muted: #6b7280;
  --ca9-radius: 16px;
  --ca9-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

html.ca9-newpc-js [v-cloak] {
  display: none !important;
}

body.ca9-newpc {
  min-width: 320px;
  margin: 0;
  /* 字体与基色不再覆盖：沿用 cat_vue.css 基线（:root 的 Inter 优先栈 + body 的 var(--gray-900) #111827），与原型一致 */
  background: var(--ca9-page);
}

body.ca9-newpc *,
body.ca9-newpc *::before,
body.ca9-newpc *::after {
  box-sizing: border-box;
}

/* 注意：不能用 body.ca9-newpc a（优先级 0-1-2），会压过 cat_vue.css 里 .notice-flow a / .nav-menu a 等单类规则，导致导航黑字黑底不可见 */
.ca9-newpc a {
  color: inherit;
  text-decoration: none;
}

#ca9-header,
#ca9-main,
#ca9-footer,
#ca9-member-shell {
  isolation: isolate;
}

/* The isolated main stacking context is rendered after the header. Give the
   header an explicit layer so dropdown menus remain clickable over page forms. */
#ca9-header {
  position: relative;
  z-index: 100;
}

#ca9-main {
  position: relative;
  z-index: 1;
}

.ca9-newpc-header {
  border-bottom: 2px solid var(--ca9-brand);
  color: #ffffff;
  background: var(--ca9-ink);
}

.ca9-newpc-header__inner,
.ca9-newpc-footer__inner,
.ca9-newpc-main {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.ca9-newpc-header__inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  gap: 36px;
}

.ca9-newpc-brand {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.ca9-newpc-brand span {
  color: var(--ca9-brand);
}

.ca9-newpc-nav {
  display: flex;
  flex: 1;
  gap: 22px;
  align-items: center;
}

.ca9-newpc-nav a {
  color: #c7c7c7;
  font-size: 15px;
  font-weight: 600;
}

.ca9-newpc-nav a:hover,
.ca9-newpc-nav a[aria-current="page"] {
  color: #ffffff;
}

.ca9-newpc-header__user {
  color: #d7d7d7;
  font-size: 13px;
}

.ca9-newpc-main {
  padding: 42px 0 64px;
}

.ca9-newpc-smoke {
  padding: 32px;
  border: 1px solid var(--ca9-line);
  border-radius: var(--ca9-radius);
  background: var(--ca9-surface);
  box-shadow: var(--ca9-shadow);
}

.ca9-newpc-smoke__eyebrow {
  margin: 0 0 8px;
  color: #8a6500;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ca9-newpc-smoke h1 {
  margin: 0;
  font-size: clamp(26px, 4vw, 42px);
}

.ca9-newpc-smoke p {
  margin: 14px 0 0;
  color: var(--ca9-muted);
  line-height: 1.8;
}

.ca9-newpc-smoke__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.ca9-newpc-smoke__facts div {
  padding: 16px;
  border-radius: 8px;
  background: #f7f7f7;
}

.ca9-newpc-smoke__facts strong,
.ca9-newpc-smoke__facts span {
  display: block;
}

.ca9-newpc-smoke__facts span {
  margin-top: 6px;
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-footer {
  border-top: 1px solid var(--ca9-line);
  background: #ffffff;
}

.ca9-newpc-footer__inner {
  min-height: 120px;
  padding: 30px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--ca9-muted);
  font-size: 13px;
}

/* 会员中心壳：对齐首页仪表盘的 .member-page/.member-shell（cat_vue.css）——
   1280 居中、220px 侧栏 + 内容卡网格、灰底满幅。
   灰底用 full-bleed 投影实现，不依赖 body 的 data-ca9-decorator 属性
   （member 装饰器之后还有 outer 装饰器会覆写该属性）。 */
.ca9-newpc-member {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
  padding: 32px 0 56px;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  box-shadow: 0 0 0 100vmax #f4f5f7;
  clip-path: inset(0 -100vmax);
}

/* 左侧菜单挂载点：渲染结果 .member-side（共享组件 MemberSideMenu）自带卡片样式 */
#ca9-member-side {
  align-self: start;
}

.ca9-newpc-member__workspace {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--ca9-line);
  border-radius: var(--ca9-radius);
  background: var(--ca9-surface);
  box-shadow: var(--ca9-shadow);
}

/* 旧服务端渲染侧栏（__aside/__identity/__menu）已被共享组件取代，对应样式块已删除 */

@media (max-width: 960px) {
  .ca9-newpc-member {
    grid-template-columns: minmax(0, 1fr);
  }
}

.ca9-newpc-page {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 32px 0 64px;
}

.ca9-newpc-page h1,
.ca9-newpc-page h2,
.ca9-newpc-page h3,
.ca9-newpc-page p {
  margin-top: 0;
}

.ca9-newpc-hero {
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  padding: clamp(32px, 7vw, 78px);
  overflow: hidden;
  border-radius: 16px;
  color: #ffffff;
  background:
    radial-gradient(circle at 78% 28%, rgba(255, 195, 0, 0.62), transparent 19%),
    linear-gradient(120deg, #0c0c0c 0%, #27200c 56%, #a17b00 100%);
  box-shadow: var(--ca9-shadow);
}

.ca9-newpc-hero p,
.ca9-newpc-channel__intro > p,
.ca9-newpc-section__head p,
.ca9-newpc-detail__copy > p {
  margin-bottom: 8px;
  color: #a87900;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.ca9-newpc-hero p {
  color: var(--ca9-brand);
}

.ca9-newpc-hero h1 {
  max-width: 760px;
  margin-bottom: 14px;
  font-size: clamp(34px, 6vw, 68px);
  line-height: 1.12;
}

.ca9-newpc-hero span {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.8;
}

.ca9-newpc-section {
  margin-top: 34px;
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: var(--ca9-surface);
}

.ca9-newpc-section--soft {
  background: #fffaf0;
}

.ca9-newpc-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.ca9-newpc-section__head h2 {
  margin-bottom: 0;
  font-size: 28px;
}

.ca9-newpc-section__head > a {
  color: #795c00;
  font-size: 13px;
  font-weight: 700;
}

.ca9-newpc-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ca9-newpc-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  transition: box-shadow 0.2s ease;
}

.ca9-newpc-card:hover {
  box-shadow: var(--shadow-card, var(--ca9-shadow));
}

.ca9-newpc-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(135deg, #ececec, #fafafa);
}

.ca9-newpc-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.ca9-newpc-card:hover .ca9-newpc-card__media img {
  transform: scale(1.04);
}

.ca9-newpc-card__tag {
  position: absolute;
  left: 10px;
  bottom: 10px;
  max-width: calc(100% - 20px);
  padding: 5px 9px;
  overflow: hidden;
  border-radius: 999px;
  color: #1a1a1a;
  background: rgba(255, 195, 0, 0.92);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca9-newpc-card__body {
  padding: 14px;
}

.ca9-newpc-card__body h3 {
  min-height: 44px;
  margin-bottom: 12px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.45;
}

.ca9-newpc-card__body p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 0;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.ca9-newpc-service-grid a {
  min-height: 176px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(145deg, #181818, #3d3420);
}

.ca9-newpc-service-grid b {
  font-size: 22px;
}

.ca9-newpc-service-grid span {
  margin-top: 8px;
  color: #cfcfcf;
  font-size: 13px;
}

.ca9-newpc-service-grid em {
  margin-top: 20px;
  color: var(--ca9-brand);
  font-size: 12px;
  font-style: normal;
}

.ca9-newpc-channel__intro {
  padding: 38px;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(120deg, #111111, #3a321c);
}

.ca9-newpc-channel__intro h1 {
  margin-bottom: 10px;
  font-size: clamp(30px, 5vw, 48px);
}

.ca9-newpc-channel__intro span {
  color: #d2d2d2;
}

.ca9-newpc-keyword-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 16px;
  padding: 14px 20px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-keyword-filter__group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #666666;
}

.ca9-newpc-keyword-filter__group select {
  min-width: 120px;
  padding: 6px 10px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
  font-size: 13px;
  color: #333333;
  background: #ffffff;
  outline: none;
}

.ca9-newpc-keyword-filter__group select:focus {
  border-color: var(--ca9-brand, #e60012);
}

/* 登录弹窗补充样式（骨架沿用原型 cat_vue.css 的 .modal-backdrop / .login-dialog / .dialog-tabs） */
/* .login-dialog 白卡骨架：下载/收藏/关注/分享/系统提示等功能弹窗共用（登录弹窗已改用 .ls-* 新骨架）。
   此前该基础类没有任何规则，弹窗透明、无内边距，且 .dialog-close 相对视口定位跑到屏幕右上角 */
.login-dialog {
  position: relative;
  width: min(480px, 100%);
  max-height: 92vh;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid var(--gray-100, #f3f4f6);
  border-radius: 24px;
  padding: 28px 32px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
  color: var(--ink, #101010);
}
.ca9-login-dialog {
  max-height: 92vh;
  overflow-y: auto;
}

/* 微信扫码容器：模板用的是 id（#ca9-login-qr），此前误写为类选择器导致整条规则失效、
   iframe 无高度约束撑出大段空白；WxLogin 组件默认输出约 300×400 */
#ca9-login-qr {
  display: flex;
  justify-content: center;
  min-height: 320px;
}

#ca9-login-qr iframe {
  display: block;
  width: 300px;
  height: 400px;
  margin: 0 auto;
  border: 0;
}

.ca9-login-tip {
  font-size: 12px;
  color: var(--gray-400, #9ca3af);
  margin: 0;
}

.ca9-login-field > span {
  display: block;
  font-size: 13px;
  color: var(--gray-600, #4b5563);
  margin-bottom: 6px;
}

.ca9-login-captcha {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ca9-login-captcha input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #e5e5e5);
  border-radius: 8px;
  outline: none;
}

.ca9-login-captcha input:focus {
  border-color: var(--brand, #ffc300);
}

.ca9-login-captcha img {
  height: 40px;
  border-radius: 6px;
  cursor: pointer;
  flex: none;
}

.ca9-login-captcha button {
  flex: none;
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink, #101010);
  background: var(--gray-100, #f3f4f6);
  white-space: nowrap;
  transition: background .2s;
}

.ca9-login-captcha button:hover:not(:disabled) {
  background: var(--brand, #ffc300);
}

.ca9-login-captcha button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.ca9-login-save {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--gray-600, #4b5563);
}

.ca9-login-save label {
  flex-direction: row !important;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

.ca9-login-error {
  margin: 0;
  font-size: 13px;
  color: #d4380d;
}

.ca9-login-error a {
  color: var(--brand, #ffc300);
  text-decoration: underline;
}

.ca9-login-submit {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.ca9-login-submit:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.ca9-login-reg {
  margin: 0;
  text-align: center;
  font-size: 13px;
  color: var(--gray-600, #4b5563);
}

.ca9-login-reg a {
  color: var(--brand, #ffc300);
  font-weight: 600;
}

/* 提示弹窗（权限/点数/过期/注册成功等）：白卡骨架沿用原型 .login-dialog，风格对齐登录弹窗 */
.ca9-notice-dialog {
  text-align: center;
}

.ca9-notice-dialog__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink, #101010);
}

.ca9-notice-dialog__msg {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ca9-notice-dialog__msg p {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--gray-600, #4b5563);
}

.ca9-notice-dialog__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.ca9-notice-dialog__action {
  min-width: 120px;
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
}

.ca9-notice-dialog__plain {
  color: var(--gray-600, #4b5563);
  background: var(--gray-100, #f3f4f6);
  transition: background .2s;
}

.ca9-notice-dialog__plain:hover {
  background: var(--line, #e5e5e5);
}

.ca9-notice-dialog__foot {
  margin: 0;
  font-size: 12px;
  color: var(--gray-400, #9ca3af);
}

/* ===== 功能型弹窗与浮动组件（下载确认 / 收藏树 / 关注 / 分享 / 未读消息） ===== */
.ca9-highlight {
  color: #d4380d;
  font-weight: 700;
}

/* 卡片标题内联 NEW 图标（旧站 /style/images/newPic.gif，自然尺寸 22×7，DB 标题字段内嵌） */
.ca9-title-icon {
  display: inline-block;
  width: 22px;
  height: 7px;
  margin-left: 4px;
  vertical-align: middle;
}

/* 收藏文件夹选择器：与原型一致的 340px 紧凑弹窗。 */
.modal-backdrop.ca9-favorite-backdrop { z-index: 99999; background: rgba(0, 0, 0, .5); -webkit-backdrop-filter: none; backdrop-filter: none; }
.ca9-favorite-dialog {
  position: relative;
  width: 100%;
  max-width: 340px;
  max-height: 72vh;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
  text-align: left;
  outline: none;
}
.ca9-favorite-dialog h3 {
  margin: 0 18px 4px 0;
  font-size: 15px;
  font-weight: 700;
  color: #111827;
}
.ca9-favorite__close {
  position: absolute;
  top: 16px;
  right: 12px;
  display: flex;
  padding: 4px;
  border: 0;
  background: transparent;
  color: #9ca3af;
  cursor: pointer;
}
.ca9-favorite__close .icon { width: 16px; height: 16px; }
.ca9-favorite__name {
  flex: none;
  margin: 0 0 14px;
  font-size: 12px;
  color: #9ca3af;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ca9-favorite__folders {
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ca9-favorite__row { display: flex; align-items: center; flex: none; min-width: 0; }
.ca9-favorite__toggle,
.ca9-favorite__toggle-space { flex: 0 0 20px; width: 20px; }
.ca9-favorite__toggle { align-self: stretch; padding: 0; border: 0; background: transparent; color: #9ca3af; cursor: pointer; }
.ca9-favorite__toggle:hover { color: #e8a000; }
.ca9-favorite__toggle span { display: inline-block; font-size: 22px; transition: transform .15s; }
.ca9-favorite__toggle span.expanded { transform: rotate(90deg); }
.ca9-favorite__folder {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  background: #fafafa;
  font-size: 14px;
  color: #374151;
  text-align: left;
  cursor: pointer;
}
.ca9-favorite__folder:hover:not(:disabled) { background: #fffbeb; border-color: #ffc300; }
.ca9-favorite__folder .icon { flex: none; width: 18px; height: 18px; color: #e8a000; }
.ca9-favorite__folder-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ca9-favorite__count { flex: none; font-size: 11px; color: #9ca3af; }
.ca9-favorite__create {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f3f4f6;
}
.ca9-favorite__create-row { display: flex; gap: 8px; }
.ca9-favorite__create input,
.ca9-favorite__create select {
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: #374151;
  font-size: 13px;
  outline: none;
}
.ca9-favorite__create input { flex: 1; width: 0; }
.ca9-favorite__create select { width: 100%; }
.ca9-favorite__create-row button {
  flex: none;
  padding: 8px 14px;
  border: 0;
  border-radius: 8px;
  background: #ffc300;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.ca9-favorite-dialog button:disabled { cursor: wait; opacity: .6; }
.ca9-favorite-dialog button:focus-visible,
.ca9-favorite__create input:focus,
.ca9-favorite__create select:focus { outline: 2px solid #e8a000; outline-offset: 2px; }
.ca9-favorite__tip { margin: 6px 0; font-size: 12px; color: #9ca3af; }
.ca9-favorite__retry { padding: 8px; font-size: 13px; color: #6b7280; cursor: pointer; }
.ca9-favorite-dialog .ca9-login-error { flex: none; margin: 10px 0 0; font-size: 12px; }
/* 分享弹窗链接行 */
.ca9-share__row input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line, #e5e5e5);
  border-radius: 8px;
  font-size: 13px;
  color: var(--gray-600, #4b5563);
  outline: none;
}

.ca9-share__row input:focus {
  border-color: var(--brand, #ffc300);
}

/* 未读消息角标：旧站 #messagerDiv 左下角滑入面板 */
.ca9-msg-float {
  position: fixed;
  left: 0;
  bottom: 24px;
  z-index: 9000;
  width: 240px;
  background: #fff;
  border: 1px solid var(--line, #e5e5e5);
  border-left: 0;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 8px 30px rgba(16, 16, 16, .12);
  padding: 12px 14px;
  animation: ca9-msg-in .4s ease;
}

@keyframes ca9-msg-in {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

.ca9-msg-float__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
}

.ca9-msg-float__head a {
  color: var(--ink, #101010);
}

.ca9-msg-float__head b {
  color: #d4380d;
}

.ca9-msg-float__head button {
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-400, #9ca3af);
  cursor: pointer;
}

.ca9-msg-float__head button:hover {
  background: var(--gray-100, #f3f4f6);
  color: var(--ink, #101010);
}

.ca9-msg-float ul {
  list-style: none;
  margin: 8px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--line, #e5e5e5);
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 160px;
  overflow-y: auto;
}

.ca9-msg-float ul a {
  font-size: 12px;
  color: var(--gray-600, #4b5563);
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca9-msg-float ul a:hover {
  color: var(--ink, #101010);
}

/* 栏目页关注按钮 */
.ca9-newpc-follow-btn {
  margin-top: 14px;
  padding: 9px 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink, #101010);
  background: var(--brand, #ffc300);
  cursor: pointer;
  transition: filter .2s;
}

.ca9-newpc-follow-btn:hover {
  filter: brightness(.95);
}

/* 详情页动作区备注 */
.ca9-newpc-detail__note {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--gray-400, #9ca3af);
}

/* 详情页"点击登录"触发器（打开头部登录弹窗） */
.ca9-newpc-login-trigger {
  color: var(--ca9-brand, #ffc300);
  font-weight: 600;
  text-decoration: underline;
}

.ca9-newpc-filter-summary,
.ca9-newpc-toolbar,
.ca9-newpc-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 16px 20px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-filter-summary > div,
.ca9-newpc-toolbar > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-filter-summary span,
.ca9-newpc-toolbar a {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f3f3f3;
  font-size: 12px;
}

.ca9-newpc-filter-summary > a,
.ca9-newpc-toolbar a.active {
  color: #3b2d00;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-card-grid--channel {
  margin-top: 18px;
}

.ca9-newpc-pagination small {
  color: var(--ca9-muted);
}

.ca9-newpc-empty {
  min-height: 140px;
  display: grid;
  place-items: center;
  padding: 24px;
  border: 1px dashed var(--ca9-line);
  border-radius: 16px;
  color: var(--ca9-muted);
  background: #ffffff;
  text-align: center;
}

.ca9-newpc-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  color: var(--ca9-muted);
  font-size: 13px;
  white-space: nowrap;
}

.ca9-newpc-crumb strong {
  overflow: hidden;
  color: var(--ca9-ink);
  text-overflow: ellipsis;
}

.ca9-newpc-detail__article {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 30px;
  padding: 26px;
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--ca9-shadow);
}

.ca9-newpc-detail__visual {
  min-height: 420px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 12px;
  background: #f1f1f1;
}

.ca9-newpc-detail__visual > img {
  width: 100%;
  max-height: 720px;
  object-fit: contain;
}

.ca9-newpc-detail__copy {
  align-self: center;
}

.ca9-newpc-detail__copy h1 {
  margin-bottom: 18px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.3;
}

.ca9-newpc-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.ca9-newpc-detail__meta span {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--ca9-muted);
  background: #f3f3f3;
  font-size: 12px;
}

.ca9-newpc-detail__description {
  color: #555555;
  line-height: 1.9;
  white-space: pre-line;
}

.ca9-newpc-detail__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.ca9-newpc-detail__actions a {
  padding: 10px 16px;
  border-radius: 999px;
  color: #221a00;
  background: var(--ca9-brand);
  font-size: 13px;
  font-weight: 700;
}

.ca9-newpc-detail__actions span {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-thumb-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.ca9-newpc-thumb-row a {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-thumb-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-workbench {
  min-width: 0;
}

.ca9-newpc-workbench__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-workbench__head p {
  margin: 0 0 6px;
  color: #987300;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-workbench__head h1 {
  margin: 0;
  font-size: 28px;
}

.ca9-newpc-workbench__head > span {
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-form__section {
  margin-top: 22px;
  padding: 20px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-form__section h2 {
  margin: 0 0 18px;
  font-size: 17px;
}

.ca9-newpc-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ca9-newpc-form label,
.ca9-newpc-form fieldset {
  min-width: 0;
  margin: 0;
}

.ca9-newpc-form label > span,
.ca9-newpc-form legend {
  display: block;
  margin-bottom: 7px;
  color: #444444;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-form input:not([type="radio"]):not([type="checkbox"]),
.ca9-newpc-form select,
.ca9-newpc-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  color: var(--ca9-ink);
  background: #ffffff;
  font: inherit;
}

.ca9-newpc-form input:focus,
.ca9-newpc-form select:focus,
.ca9-newpc-form textarea:focus {
  border-color: #b88b00;
  outline: 3px solid rgba(255, 195, 0, 0.18);
}

.ca9-newpc-form input:disabled,
.ca9-newpc-form button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ca9-newpc-form fieldset {
  padding: 10px 12px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
}

.ca9-newpc-form fieldset label,
.ca9-newpc-radio-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 13px;
}

.ca9-newpc-form__wide {
  grid-column: 1 / -1;
}

.ca9-newpc-form label small {
  display: block;
  margin-top: 6px;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-inline-link {
  display: inline-block;
  margin-top: 7px;
  color: #8a6700;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-form__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.ca9-newpc-form__actions button {
  min-width: 96px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: var(--gray-100, #f3f4f6);
  color: var(--gray-600, #4b5563);
  font-weight: 700;
}

.ca9-newpc-form__actions button.primary {
  color: #211900;
  background: var(--ca9-brand);
}

.ca9-newpc-form__actions span {
  flex-basis: 100%;
  color: var(--ca9-muted);
  font-size: 11px;
  text-align: right;
}

.ca9-newpc-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
}

.ca9-newpc-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 13px;
}

.ca9-newpc-table th,
.ca9-newpc-table td {
  padding: 13px 16px;
  border-bottom: 1px solid #eeeeee;
  text-align: left;
  white-space: nowrap;
}

.ca9-newpc-table th {
  color: #5f5f5f;
  background: #f7f7f7;
  font-size: 11px;
  letter-spacing: 0.04em;
}

.ca9-newpc-table tbody tr:last-child td {
  border-bottom: 0;
}

.ca9-newpc-table img {
  width: 86px;
  height: 64px;
  border-radius: 6px;
  object-fit: cover;
  background: #eeeeee;
}

.ca9-newpc-list-note {
  margin-top: 14px;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.ca9-newpc-steps li {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 8px;
  color: #777777;
  background: #f2f2f2;
  font-size: 11px;
}

.ca9-newpc-steps i {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dddddd;
  font-style: normal;
  font-weight: 800;
}

.ca9-newpc-steps li.active,
.ca9-newpc-steps li.done {
  color: #2d2300;
  background: #fff4c2;
}

.ca9-newpc-steps li.active i,
.ca9-newpc-steps li.done i {
  background: var(--ca9-brand);
}

.ca9-newpc-upload-slot,
.ca9-newpc-compat-note {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px dashed #c9a321;
  border-radius: 8px;
  color: #62521e;
  background: #fffaf0;
  font-size: 12px;
}

.ca9-newpc-status-chip {
  padding: 6px 10px;
  border-radius: 999px;
  color: #544000;
  background: #fff1b0;
  font-size: 11px;
  font-weight: 800;
}

.ca9-newpc-description-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 22px 0 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-description-list > div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  border-bottom: 1px solid #eeeeee;
}

.ca9-newpc-description-list dt,
.ca9-newpc-description-list dd {
  margin: 0;
  padding: 13px 15px;
  line-height: 1.6;
}

.ca9-newpc-description-list dt {
  color: #666666;
  background: #f7f7f7;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-description-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
}

.ca9-newpc-detail-note {
  margin-top: 18px;
  padding: 18px;
  border-left: 4px solid var(--ca9-brand);
  background: #fffaf0;
}

.ca9-newpc-detail-note h2 {
  margin: 0 0 8px;
  font-size: 15px;
}

.ca9-newpc-detail-note p {
  margin: 0;
  color: var(--ca9-muted);
  font-size: 12px;
  line-height: 1.8;
}

.ca9-newpc-form__actions a {
  min-width: 96px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  background: var(--gray-100, #f3f4f6);
  color: var(--gray-600, #4b5563);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.ca9-newpc-form__actions a.primary {
  color: #211900;
  background: var(--ca9-brand);
}

.ca9-newpc-message-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 420px;
  margin-top: 22px;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-message-layout > nav {
  border-right: 1px solid var(--ca9-line);
  background: #fafafa;
}

.ca9-newpc-message-layout > nav button {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid #eeeeee;
  background: transparent;
  text-align: left;
}

.ca9-newpc-message-layout > nav button.active {
  background: #fff4c2;
}

.ca9-newpc-message-layout > nav button.unread::before {
  position: absolute;
  top: 17px;
  left: 6px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d39f00;
  content: "";
}

.ca9-newpc-message-layout > nav b {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca9-newpc-message-layout > nav span,
.ca9-newpc-message-layout > article > p,
.ca9-newpc-message-layout > article > footer {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-message-layout > article {
  min-width: 0;
  padding: 28px;
}

.ca9-newpc-message-layout > article h2 {
  margin: 10px 0 18px;
  font-size: 22px;
}

.ca9-newpc-message-layout > article > div {
  min-height: 220px;
  color: #4d4d4d;
  line-height: 1.9;
  white-space: pre-line;
}

.ca9-newpc-message-layout > article > footer {
  padding-top: 16px;
  border-top: 1px solid #eeeeee;
}

.ca9-newpc-messager__flag {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  background: #f0f0f0;
  color: #888888;
  font-size: 11px;
  white-space: nowrap;
}

.ca9-newpc-messager__flag--unread {
  background: #fff4c2;
  color: #8a6900;
}

.ca9-newpc-messager__unread {
  font-weight: 700;
  color: #8a6900;
}

.ca9-newpc-messager__detail {
  margin-top: 22px;
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-messager__detail > p {
  color: var(--ca9-muted);
  font-size: 11px;
  letter-spacing: 0.06em;
}

.ca9-newpc-messager__detail > h1 {
  margin: 8px 0 12px;
  font-size: 24px;
}

.ca9-newpc-messager__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 20px;
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-messager__detail .ca9-newpc-richtext {
  min-height: 160px;
  padding-top: 16px;
  border-top: 1px solid #eeeeee;
}

.ca9-newpc-client__filter {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 14px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-client__filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.ca9-newpc-client__filter select {
  min-width: 180px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
  background: #ffffff;
}

.ca9-newpc-ware__action {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
  color: #8a6900;
  font-size: 12px;
}

.ca9-newpc-ware__paid {
  color: #2e7d32;
  font-weight: 600;
}

.ca9-newpc-ware__paylinks {
  display: inline-flex;
  gap: 8px;
}

.ca9-newpc-ware__paylinks a {
  padding: 4px 12px;
  border: 0;
  border-radius: 4px;
  color: var(--gray-600, #4b5563);
  background: var(--gray-100, #f3f4f6);
  font-size: 12px;
}

.ca9-newpc-ware__paylinks--big a {
  padding: 9px 18px;
  border-color: #8a6900;
  color: #8a6900;
  font-size: 13px;
}

.ca9-newpc-ware__detail {
  margin-top: 22px;
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-ware__detail > h2 {
  margin: 0 0 6px;
  font-size: 24px;
}

.ca9-newpc-ware__notice {
  margin-top: 14px;
}

.ca9-newpc-ware__notice b {
  color: #e60012;
}

.ca9-newpc-ware__notice p {
  margin: 6px 0 0;
}

.ca9-newpc-ware__detail > p {
  margin: 0 0 18px;
  color: var(--ca9-muted);
}

.ca9-newpc-ware__buy {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin: 18px 0;
}

.ca9-newpc-ware__buy label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
}

.ca9-newpc-ware__buy input {
  width: 120px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
}

.ca9-newpc-ware__pay {
  margin-top: 22px;
}

.ca9-newpc-ware__paycard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.ca9-newpc-ware__paycard > div {
  padding: 16px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-ware__paycard span {
  display: block;
  margin-bottom: 8px;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-ware__paycard strong {
  font-size: 18px;
}

.ca9-newpc-ware__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-ware__qr img {
  width: 180px;
  height: 180px;
  object-fit: contain;
}

.ca9-newpc-state {
  min-height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 48px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
}

.ca9-newpc-state__mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 50%;
  color: #2b2100;
  background: var(--ca9-brand);
  font-size: 34px;
  font-weight: 900;
}

.ca9-newpc-state[data-tone="error"] .ca9-newpc-state__mark {
  color: #ffffff;
  background: #c64632;
}

.ca9-newpc-state[data-tone="success"] .ca9-newpc-state__mark {
  color: #ffffff;
  background: #27805c;
}

.ca9-newpc-state > p {
  margin: 0 0 8px;
  color: #9b7500;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-state h1 {
  margin: 0 0 12px;
  font-size: 30px;
}

.ca9-newpc-state > div:not(.ca9-newpc-state__mark) {
  max-width: 560px;
  color: var(--ca9-muted);
  line-height: 1.8;
}

.ca9-newpc-state footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}

.ca9-newpc-state footer a,
.ca9-newpc-state footer button {
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  color: var(--gray-600, #4b5563);
  background: var(--gray-100, #f3f4f6);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.ca9-newpc-state footer a.primary,
.ca9-newpc-state footer button.primary {
  color: #211900;
  background: var(--ca9-brand);
}

.ca9-newpc-info__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-info__nav a {
  padding: 8px 12px;
  border-radius: 999px;
  color: #555555;
  font-size: 12px;
}

.ca9-newpc-info__nav a.active {
  color: #2e2300;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-info__article {
  padding: clamp(26px, 7vw, 72px);
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--ca9-shadow);
}

.ca9-newpc-info__article > p,
.ca9-newpc-updates__head p,
.ca9-newpc-vip__hero p {
  margin: 0 0 8px;
  color: #987300;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-info__article h1 {
  margin: 0 0 26px;
  font-size: clamp(30px, 5vw, 46px);
}

.ca9-newpc-richtext {
  overflow-wrap: anywhere;
  color: #444444;
  line-height: 1.9;
}

.ca9-newpc-richtext img,
.ca9-newpc-richtext video,
.ca9-newpc-richtext iframe {
  max-width: 100%;
}

.ca9-newpc-updates__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 28px;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(120deg, #111111, #403512);
}

.ca9-newpc-updates__head h1 {
  margin: 0;
  font-size: 38px;
}

.ca9-newpc-updates__head nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ca9-newpc-updates__head nav a {
  padding: 7px 10px;
  border-radius: 999px;
  color: #d6d6d6;
  background: rgba(255, 255, 255, 0.08);
  font-size: 11px;
}

.ca9-newpc-updates__head nav a.active {
  color: #241b00;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-update-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.ca9-newpc-update-grid article {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-update-grid p,
.ca9-newpc-update-grid span {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-update-grid h2 {
  flex: 1;
  margin: 10px 0 18px;
  font-size: 17px;
  line-height: 1.5;
}

.ca9-newpc-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.ca9-newpc-metric-grid article {
  min-width: 0;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-metric-grid span {
  display: block;
  margin-bottom: 14px;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-metric-grid strong {
  font-size: 30px;
}

.ca9-newpc-metric-grid em {
  margin-left: 4px;
  color: #8a6900;
  font-size: 11px;
  font-style: normal;
}

.ca9-newpc-part-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-part-pills a {
  padding: 8px 12px;
  border-radius: 999px;
  color: #3b2d00;
  background: #fff2b5;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-vip__hero {
  min-height: 440px;
  display: flex;
  align-items: center;
  padding: clamp(34px, 8vw, 86px);
  border-radius: 16px;
  color: #ffffff;
  background:
    radial-gradient(circle at 80% 25%, rgba(255, 195, 0, 0.65), transparent 17%),
    linear-gradient(120deg, #211630, #4a2c5f 58%, #9b7424);
}

.ca9-newpc-vip__hero p {
  color: #e5c65d;
}

.ca9-newpc-vip__hero h1 {
  margin: 0 0 12px;
  font-size: clamp(38px, 7vw, 72px);
}

.ca9-newpc-vip__hero span {
  color: #dbd3e2;
}

.ca9-newpc-vip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.ca9-newpc-vip__grid a {
  min-height: 180px;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  padding: 20px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(145deg, #1e1427, #513363);
}

.ca9-newpc-vip__grid small {
  color: #cfb9d9;
  letter-spacing: 0.12em;
}

.ca9-newpc-vip__grid strong {
  margin-top: 5px;
  font-size: 22px;
}

.ca9-newpc-vip__grid span {
  margin-top: 18px;
  color: #e4c866;
  font-size: 11px;
}

.ca9-newpc-compat-note {
  margin: 18px 0 0;
}

.ca9-newpc-book__hero,
.ca9-newpc-favorites__layout {
  display: grid;
  grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
  gap: 36px;
}

.ca9-newpc-book__hero,
.ca9-newpc-search-panel,
.ca9-newpc-subscribe__head {
  padding: 42px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-book__cover {
  min-height: 380px;
  background: var(--ca9-soft);
}

.ca9-newpc-book__cover img,
.ca9-newpc-book__grid img,
.ca9-newpc-subscribe__books img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-book__summary > p:first-child,
.ca9-newpc-search-panel > div > p,
.ca9-newpc-subscribe__head > p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 12px;
  letter-spacing: .16em;
}

.ca9-newpc-book__summary h1,
.ca9-newpc-search-panel h1,
.ca9-newpc-subscribe__head h1 {
  margin: 0 0 20px;
  font-size: clamp(28px, 4vw, 48px);
}

.ca9-newpc-book__summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
}

.ca9-newpc-book__summary dl div {
  display: flex;
  gap: 10px;
}

.ca9-newpc-book__summary dt,
.ca9-newpc-book__summary dd {
  margin: 0;
}

.ca9-newpc-book__summary dt {
  color: var(--ca9-muted);
}

.ca9-newpc-book__description {
  color: var(--ca9-muted);
  line-height: 1.8;
}

.ca9-newpc-book__labels,
.ca9-newpc-search-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0;
  align-items: center;
}

.ca9-newpc-book__labels a,
.ca9-newpc-search-keywords a {
  padding: 8px 14px;
  border: 1px solid var(--ca9-line);
  border-radius: 999px;
}

.ca9-newpc-book__labels a.active {
  color: #fff;
  border-color: var(--ca9-brand);
  background: var(--ca9-brand);
}

.ca9-newpc-book__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ca9-newpc-book__grid article {
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-book__grid article > a {
  display: block;
  height: 260px;
  background: var(--ca9-soft);
}

.ca9-newpc-book__grid article > div {
  padding: 16px;
}

.ca9-newpc-book__grid h2 {
  margin: 0;
  font-size: 17px;
}

.ca9-newpc-link-button {
  padding: 0;
  color: var(--ca9-brand);
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ca9-newpc-book__grid p {
  display: flex;
  justify-content: space-between;
  color: var(--ca9-muted);
  font-size: 13px;
}

.ca9-newpc-favorites__layout > section {
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-category-list {
  display: grid;
  gap: 8px;
}

.ca9-newpc-category-list label,
.ca9-newpc-field {
  display: flex;
  gap: 10px;
  align-items: center;
}

.ca9-newpc-category-list label {
  padding: 12px;
  border: 1px solid var(--ca9-line);
}

.ca9-newpc-field {
  align-items: stretch;
  flex-direction: column;
  margin-bottom: 20px;
}

.ca9-newpc-field input,
.ca9-newpc-search-url input {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-panel);
}

.ca9-newpc-search-panel {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  gap: 40px;
}

.ca9-newpc-search-panel form {
  display: grid;
  gap: 12px;
}

.ca9-newpc-file-picker {
  display: grid;
  min-height: 100px;
  place-items: center;
  border: 1px dashed var(--ca9-brand);
  background: var(--ca9-soft);
  cursor: pointer;
}

.ca9-newpc-file-picker input,
.ca9-newpc .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.ca9-newpc-search-url,
.ca9-newpc-search-url input {
  display: block;
  width: 100%;
}

.ca9-newpc-search-panel button,
.ca9-newpc-subscribe__form button {
  min-height: 44px;
}

.ca9-newpc-subscribe__form {
  display: grid;
  gap: 24px;
  margin-top: 24px;
}

.ca9-newpc-subscribe__form > section {
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-subscribe__groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ca9-newpc-subscribe__groups fieldset {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--ca9-line);
}

.ca9-newpc-subscribe__groups label,
.ca9-newpc-subscribe__books label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.ca9-newpc-check-all {
  padding-bottom: 8px;
  font-weight: 700;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-subscribe__books {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ca9-newpc-subscribe__books label {
  padding: 12px;
  border: 1px solid var(--ca9-line);
}

.ca9-newpc-subscribe__books img {
  width: 72px;
  height: 72px;
}

.ca9-newpc-subscribe__books span,
.ca9-newpc-subscribe__books small {
  display: block;
}

.ca9-newpc-subscribe__books small {
  margin-top: 6px;
  color: var(--ca9-muted);
}

.ca9-newpc-directory__head,
.ca9-newpc-keyword-search > header,
.ca9-newpc-keyword-rank > header,
.ca9-newpc-subscription-detail > header {
  margin-bottom: 28px;
  padding: 36px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-panel);
}

.ca9-newpc-directory__head > p,
.ca9-newpc-keyword-search > header > p,
.ca9-newpc-keyword-search__hot > div > p,
.ca9-newpc-keyword-rank > header p,
.ca9-newpc-subscription-detail > header p,
.ca9-newpc-directory__list article > div > p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 12px;
  letter-spacing: .14em;
}

.ca9-newpc-directory__head h1,
.ca9-newpc-keyword-search > header h1,
.ca9-newpc-keyword-rank > header h1,
.ca9-newpc-subscription-detail > header h1 {
  margin: 0 0 8px;
  font-size: clamp(28px, 4vw, 44px);
}

.ca9-newpc-directory__list,
.ca9-newpc-subscription-detail__list {
  display: grid;
  gap: 20px;
}

.ca9-newpc-directory__list article,
.ca9-newpc-subscription-detail__list article {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  padding: 24px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-directory__logo,
.ca9-newpc-subscription-detail__cover {
  display: grid;
  min-height: 180px;
  place-items: center;
  background: var(--ca9-soft);
}

.ca9-newpc-directory__logo img,
.ca9-newpc-subscription-detail__cover img {
  max-width: 100%;
  max-height: 220px;
  object-fit: contain;
}

.ca9-newpc-directory__list h2,
.ca9-newpc-subscription-detail__list h2 {
  margin: 0 0 16px;
  font-size: 24px;
}

.ca9-newpc-directory__list dl {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
}

.ca9-newpc-directory__list dl div {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
}

.ca9-newpc-directory__list dt,
.ca9-newpc-directory__list dd {
  margin: 0;
}

.ca9-newpc-directory__list dt,
.ca9-newpc-subscription-detail__list article > div > p {
  color: var(--ca9-muted);
}

.ca9-newpc-keyword-search__form {
  display: grid;
  gap: 20px;
  padding: 28px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-panel);
}

.ca9-newpc-keyword-search__form fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 16px;
  border: 1px solid var(--ca9-line);
}

.ca9-newpc-keyword-search__form fieldset label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.ca9-newpc-keyword-search__input {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.ca9-newpc-keyword-search__input input,
.ca9-newpc-member-favorites__toolbar select {
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-panel);
}

.ca9-newpc-keyword-search__input button {
  min-height: 44px;
  padding: 0 28px;
}

.ca9-newpc-keyword-search__hot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  margin-top: 24px;
  padding: 28px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-soft);
}

.ca9-newpc-keyword-search__hot h2 {
  margin: 0;
}

.ca9-newpc-keyword-search__hot nav {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  gap: 10px;
}

.ca9-newpc-keyword-search__hot nav button,
.ca9-newpc-member-favorites__categories button {
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--gray-100, #f3f4f6);
  cursor: pointer;
}

.ca9-newpc-keyword-rank > header,
.ca9-newpc-subscription-detail > header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
}

.ca9-newpc-keyword-rank__table table {
  width: 100%;
  border-collapse: collapse;
  background: var(--ca9-panel);
}

.ca9-newpc-keyword-rank__table th,
.ca9-newpc-keyword-rank__table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-keyword-rank__table thead {
  background: var(--ca9-soft);
}

.ca9-newpc-subscription-detail__list article > div > div {
  line-height: 1.8;
}

.ca9-newpc-subscription-detail__list footer {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.ca9-newpc-member-favorites__categories,
.ca9-newpc-member-favorites__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 18px;
}

.ca9-newpc-member-favorites__categories button.active {
  color: #211900;
  background: var(--ca9-brand);
}

.ca9-newpc-member-favorites__toolbar {
  padding: 16px;
  border: 1px solid var(--ca9-line);
  background: var(--ca9-soft);
}

.ca9-newpc-member-favorites__toolbar button {
  min-height: 40px;
  padding: 0 14px;
}

.ca9-newpc-member-favorites__toolbar span {
  margin-left: auto;
}

.ca9-newpc-member-favorites__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ca9-newpc-member-favorites__grid article {
  padding: 12px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  background: var(--ca9-panel);
}

.ca9-newpc-member-favorites__grid article > a {
  display: block;
  height: 220px;
  margin-top: 10px;
  background: var(--ca9-soft);
}

.ca9-newpc-member-favorites__grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-agreement-text {
  margin: 0;
  white-space: pre-wrap;
  font: inherit;
  line-height: 1.85;
}

.ca9-newpc-article-detail > header,
.ca9-newpc-gallery > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(24px, 5vw, 52px);
  border-radius: 16px;
  background: #171717;
  color: #ffffff;
}

.ca9-newpc-article-detail > header p,
.ca9-newpc-gallery > header p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-article-detail > header h1,
.ca9-newpc-gallery > header h1 {
  margin: 0 0 12px;
  font-size: clamp(30px, 5vw, 54px);
}

.ca9-newpc-article-detail > header div > div,
.ca9-newpc-article-detail > header nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.ca9-newpc-article-detail > header nav a {
  padding: 9px 13px;
  border: 1px solid #555555;
  border-radius: 999px;
  color: #ffffff;
}

.ca9-newpc-article-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 26px;
  margin-top: 26px;
}

.ca9-newpc-article-detail__layout > article,
.ca9-newpc-article-detail__layout > aside {
  padding: clamp(22px, 4vw, 42px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-article-detail__layout aside h2 {
  margin-top: 0;
}

.ca9-newpc-article-detail__layout aside nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-article-detail__layout aside a {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--ca9-soft);
  color: #4f420d;
}

.ca9-newpc-article-detail__paging {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding: 18px 22px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-article-detail__paging em {
  color: var(--ca9-muted);
  font-style: normal;
}

.ca9-newpc-gallery > section {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.ca9-newpc-gallery figure {
  margin: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-gallery figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ca9-newpc-gallery figcaption {
  padding: 12px 14px;
  color: #333333;
}

@media (max-width: 820px) {
  .ca9-newpc-article-detail > header,
  .ca9-newpc-gallery > header,
  .ca9-newpc-article-detail__paging {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-article-detail__layout {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-gallery > section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .ca9-newpc-gallery > section {
    grid-template-columns: 1fr;
  }
}

.ca9-newpc-vip-album > header,
.ca9-newpc-tee-home > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(28px, 6vw, 62px);
  border-radius: 16px;
  background: #151515;
  color: #ffffff;
}

.ca9-newpc-vip-album > header p,
.ca9-newpc-tee-home > header p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-vip-album > header h1,
.ca9-newpc-tee-home > header h1 {
  margin: 0;
  font-size: clamp(32px, 5vw, 54px);
}

.ca9-newpc-vip-album > header a {
  color: #ffffff;
}

.ca9-newpc-vip-album > nav,
.ca9-newpc-channel__quick-nav,
.ca9-newpc-tee-list__actions nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}

.ca9-newpc-vip-album > nav a,
.ca9-newpc-channel__quick-nav a,
.ca9-newpc-tee-list__actions nav a {
  padding: 8px 12px;
  border: 1px solid var(--ca9-line);
  border-radius: 999px;
  background: #ffffff;
  color: #555555;
}

.ca9-newpc-vip-album > nav a.active,
.ca9-newpc-channel__quick-nav a.active,
.ca9-newpc-tee-list__actions nav a.active {
  border-color: var(--ca9-brand);
  background: var(--ca9-brand);
  color: #2e2300;
  font-weight: 700;
}

.ca9-newpc-vip-album > section {
  display: grid;
  gap: 18px;
}

.ca9-newpc-vip-album > section article {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 24px;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-vip-album > section img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ca9-newpc-vip-album > section h2 {
  margin: 4px 0 12px;
}

.ca9-newpc-vip-album > section span {
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-tee-list__filters,
.ca9-newpc-tee-list__actions,
.ca9-newpc-tee-list > footer,
.ca9-newpc-tee-detail__meta,
.ca9-newpc-tee-detail > article {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-tee-list__filters > div {
  display: grid;
  grid-template-columns: minmax(90px, 140px) minmax(0, 1fr);
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-tee-list__filters > div:last-child {
  border-bottom: 0;
}

.ca9-newpc-tee-list__filters nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-tee-list__filters a {
  padding: 6px 9px;
  border-radius: 999px;
  color: #555555;
  background: var(--ca9-soft);
}

.ca9-newpc-tee-list__filters a.active {
  color: #2e2300;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-tee-list__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ca9-newpc-tee-list__actions nav {
  margin: 0;
}

.ca9-newpc-tee-list__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.ca9-newpc-tee-list__grid article {
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-tee-list__grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ca9-newpc-tee-list__grid h2 {
  margin: 0;
  padding: 13px 14px;
  font-size: 16px;
}

.ca9-newpc-tee-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.ca9-newpc-tee-home > section {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.ca9-newpc-tee-home > section article {
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-tee-home > section h2 {
  margin: 6px 0 20px;
  font-size: 28px;
}

.ca9-newpc-tee-home > section nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-tee-home > section a {
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--ca9-soft);
  color: #4f420d;
}

.ca9-newpc-inline-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.ca9-newpc-inline-control button,
.ca9-newpc-captcha {
  min-width: 118px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  color: #3f330b;
  background: #fff8dc;
  font-weight: 700;
}

.ca9-newpc-inline-control button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ca9-newpc-captcha {
  min-height: 64px;
  padding: 6px;
  align-self: end;
  cursor: pointer;
}

.ca9-newpc-captcha img {
  max-width: 100%;
  height: 48px;
  display: block;
  margin: auto;
  object-fit: contain;
}

.ca9-newpc-account-list__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.ca9-newpc-account-list__tabs a,
.ca9-newpc-account-list .ca9-newpc-pagination a {
  padding: 8px 12px;
  border: 1px solid var(--ca9-line);
  border-radius: 999px;
  background: #ffffff;
  font-size: 12px;
}

.ca9-newpc-account-list__tabs a.active {
  border-color: var(--ca9-brand);
  color: #2f2500;
  background: #fff1a3;
  font-weight: 800;
}

.ca9-newpc-account-list .ca9-newpc-pagination {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
}

.ca9-newpc-recharge__summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid #ddc45c;
  border-radius: 12px;
  background: #fffaf0;
}

.ca9-newpc-recharge__summary > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ca9-newpc-recharge__summary span {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-recharge__summary strong {
  font-size: 18px;
}

.ca9-newpc-recharge__summary button,
.ca9-newpc-state > a {
  padding: 10px 16px;
  border: 1px solid var(--ca9-brand);
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-weight: 800;
  text-align: center;
}

.ca9-newpc-recharge__summary button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 900px) {
  .ca9-newpc-tee-list__grid,
  .ca9-newpc-tee-home > section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .ca9-newpc-vip-album > header,
  .ca9-newpc-tee-home > header,
  .ca9-newpc-tee-list__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-vip-album > section article,
  .ca9-newpc-tee-list__filters > div,
  .ca9-newpc-tee-list__grid,
  .ca9-newpc-tee-home > section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ca9-newpc-header__inner {
    min-height: auto;
    padding: 18px 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .ca9-newpc-nav {
    flex-wrap: wrap;
    gap: 12px 18px;
  }

  .ca9-newpc-smoke__facts,
  .ca9-newpc-member {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-card-grid,
  .ca9-newpc-service-grid,
  .ca9-newpc-detail__article {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-thumb-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ca9-newpc-filter-summary,
  .ca9-newpc-toolbar,
  .ca9-newpc-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-workbench__head,
  .ca9-newpc-form__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-form__grid,
  .ca9-newpc-steps,
  .ca9-newpc-description-list,
  .ca9-newpc-message-layout,
  .ca9-newpc-recharge__summary {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-inline-control {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-update-grid,
  .ca9-newpc-metric-grid,
  .ca9-newpc-vip__grid,
  .ca9-newpc-book__hero,
  .ca9-newpc-favorites__layout,
  .ca9-newpc-search-panel,
  .ca9-newpc-subscribe__groups,
  .ca9-newpc-subscribe__books,
  .ca9-newpc-book__grid,
  .ca9-newpc-directory__list article,
  .ca9-newpc-subscription-detail__list article,
  .ca9-newpc-member-favorites__grid {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-book__hero,
  .ca9-newpc-search-panel,
  .ca9-newpc-subscribe__head,
  .ca9-newpc-directory__head,
  .ca9-newpc-keyword-search > header,
  .ca9-newpc-keyword-rank > header,
  .ca9-newpc-subscription-detail > header {
    padding: 24px;
  }

  .ca9-newpc-keyword-search__input,
  .ca9-newpc-keyword-search__hot {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-keyword-rank > header,
  .ca9-newpc-subscription-detail > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-member-favorites__toolbar span {
    width: 100%;
    margin-left: 0;
  }

  .ca9-newpc-updates__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-message-layout > nav {
    border-right: 0;
    border-bottom: 1px solid var(--ca9-line);
  }

  .ca9-newpc-description-list > div {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .ca9-newpc-form__wide {
    grid-column: auto;
  }

  .ca9-newpc-form__actions span {
    text-align: left;
  }
}

@media (min-width: 761px) and (max-width: 1020px) {
  .ca9-newpc-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ca9-newpc-detail__article {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-update-grid,
  .ca9-newpc-metric-grid,
  .ca9-newpc-vip__grid,
  .ca9-newpc-book__grid,
  .ca9-newpc-subscribe__groups,
  .ca9-newpc-subscribe__books,
  .ca9-newpc-member-favorites__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


.ca9-newpc-promo {
  padding: 24px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-promo__frame {
  display: block;
  width: 100%;
  height: 800px;
  border: 0;
  border-radius: 8px;
  background: #f7f7f7;
}

.ca9-newpc-promo--blocks {
  display: grid;
  gap: 24px;
}

.ca9-newpc-promo__block {
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
  text-align: center;
}

.ca9-newpc-promo__block img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 8px;
}

.ca9-newpc-promo__block p {
  margin: 0;
  color: #444444;
  line-height: 2;
}

.ca9-newpc-promo__block a {
  color: #8a6700;
  font-weight: 700;
}

.ca9-newpc-promo--banner {
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}

.ca9-newpc-promo__banner-link {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-promo__banner-link img {
  display: block;
  width: 100%;
}

.ca9-newpc-pdf__title {
  padding: 26px;
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-pdf__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.ca9-newpc-pdf__actions a {
  padding: 8px 13px;
  border: 1px solid #d6d6d6;
  border-radius: 999px;
  color: #8a6700;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-pdf__title h1 {
  margin: 0 0 14px;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.3;
}

.ca9-newpc-pdf__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-pdf__meta span {
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--ca9-muted);
  background: #f3f3f3;
  font-size: 12px;
}

.ca9-newpc-pdf__frame {
  display: grid;
  place-items: center;
  margin-top: 20px;
  padding: 24px;
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-pdf__frame > div {
  width: 100%;
  color: var(--ca9-muted);
  text-align: center;
}

.ca9-newpc-pdf__frame p {
  margin: 0 0 8px;
  color: #987300;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-pdf__frame h2 {
  margin: 0 0 12px;
  color: var(--ca9-ink);
}

.ca9-newpc-pdf__frame > div > div {
  line-height: 1.8;
}

.ca9-newpc-inform__flash {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  gap: 20px;
}

.ca9-newpc-inform__flash-img {
  min-height: 320px;
  overflow: hidden;
  border-radius: 12px;
  background: #eeeeee;
}

.ca9-newpc-inform__flash-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-inform__flash-focus {
  padding: 28px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #111111, #3a321c);
}

.ca9-newpc-inform__flash-focus p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-inform__flash-focus h2 {
  margin: 0 0 14px;
  font-size: 24px;
}

.ca9-newpc-inform__flash-focus div {
  color: #d2d2d2;
  line-height: 1.9;
  white-space: pre-line;
}

.ca9-newpc-inform__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 22px;
  align-items: start;
  margin-top: 22px;
}

.ca9-newpc-inform__main,
.ca9-newpc-inform__side {
  min-width: 0;
}

.ca9-newpc-inform__section {
  margin-bottom: 22px;
  padding: 20px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-inform__section h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eeeeee;
  font-size: 17px;
}

.ca9-newpc-inform__section h2 > span {
  color: #333333;
}

.ca9-newpc-inform__more {
  color: #8a6700;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.ca9-newpc-inform__feature {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 14px;
}

.ca9-newpc-inform__feature img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-inform__feature h3 {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
}

.ca9-newpc-inform__feature p {
  margin: 0 0 10px;
  color: var(--ca9-muted);
  font-size: 12px;
  line-height: 1.7;
}

.ca9-newpc-inform__list {
  display: grid;
  gap: 9px;
}

.ca9-newpc-inform__list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.ca9-newpc-inform__list a {
  min-width: 0;
  overflow: hidden;
  color: #333333;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca9-newpc-inform__list time {
  flex: 0 0 auto;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-inform__search-ad {
  display: block;
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-inform__search-ad img {
  display: block;
  width: 100%;
}

.ca9-newpc-inform__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-inform__chips span {
  padding: 6px 10px;
  border-radius: 999px;
  color: #4f420d;
  background: #f7f3e8;
  font-size: 12px;
}

.ca9-newpc-inform__note {
  display: block;
  margin-top: 10px;
  color: var(--ca9-muted);
  font-size: 11px;
  line-height: 1.7;
}

.ca9-newpc-inform__ad {
  display: block;
  margin-top: 22px;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-inform__ad img {
  display: block;
  width: 100%;
}

.ca9-newpc-inform-article__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 26px;
  align-items: start;
  margin-top: 26px;
}

.ca9-newpc-inform-article__body,
.ca9-newpc-inform-article__aside {
  padding: clamp(22px, 4vw, 42px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-inform-article__body h1 {
  margin: 0 0 14px;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.35;
}

.ca9-newpc-inform-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eeeeee;
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-inform-article__aside h2 {
  margin: 0 0 16px;
  font-size: 16px;
}

.ca9-newpc-inform-article__aside nav {
  display: grid;
  gap: 12px;
}

.ca9-newpc-inform-article__aside a {
  color: #444444;
  font-size: 13px;
  line-height: 1.6;
}

.ca9-newpc-inform-article__aside a:hover {
  color: #8a6700;
}

.ca9-newpc-inform-class__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 26px;
  align-items: start;
  margin-top: 22px;
}

.ca9-newpc-inform-class__items {
  display: grid;
  gap: 16px;
}

.ca9-newpc-inform-class__item {
  display: grid;
  grid-template-columns: minmax(150px, 230px) minmax(0, 1fr);
  gap: 20px;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-inform-class__pic {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-inform-class__pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-inform-class__item h2 {
  margin: 0 0 10px;
  font-size: 17px;
  line-height: 1.5;
}

.ca9-newpc-inform-class__item p {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 10px;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-inform-class__item > div > div {
  color: #555555;
  font-size: 13px;
  line-height: 1.8;
}

.ca9-newpc-inform-class__aside {
  padding: 24px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-inform-class__aside h2 {
  margin: 0 0 16px;
  font-size: 16px;
}

.ca9-newpc-inform-class__aside nav {
  display: grid;
  gap: 12px;
}

.ca9-newpc-inform-class__aside a {
  color: #444444;
  font-size: 13px;
  line-height: 1.6;
}

.ca9-newpc-bobing__banner {
  display: block;
  width: 100%;
  margin: 0 auto 22px;
  border-radius: 12px;
}

.ca9-newpc-bobing__stage {
  max-width: 720px;
  margin: 0 auto 22px;
  padding: 28px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
}

.ca9-newpc-bobing__dice {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 24px;
}

.ca9-newpc-bobing__dice img {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(16, 16, 16, 0.18);
}

.ca9-newpc-bobing__actions {
  margin-bottom: 18px;
}

.ca9-newpc-bobing__roll {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ca9-newpc-bobing__roll:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.ca9-newpc-bobing__roll img {
  display: block;
  max-width: 220px;
  margin: 0 auto;
}

.ca9-newpc-bobing__result {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 10px;
  color: #333333;
  font-size: 16px;
}

.ca9-newpc-bobing__result b {
  color: #a87800;
  font-size: 22px;
}

.ca9-newpc-bobing__message {
  margin: 0;
  color: #c64632;
  font-size: 13px;
}

.ca9-newpc-specialized__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 28px;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(120deg, #111111, #3a321c);
}

.ca9-newpc-specialized__head p {
  margin: 0 0 8px;
  color: var(--ca9-brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-specialized__head h1 {
  margin: 0;
  font-size: clamp(28px, 4vw, 44px);
}

.ca9-newpc-specialized__head > span {
  color: #d2d2d2;
  font-size: 13px;
}

.ca9-newpc-specialized__nav {
  display: grid;
  gap: 12px;
  margin: 20px 0;
  padding: 16px 18px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-specialized__keywords,
.ca9-newpc-specialized__companies {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ca9-newpc-specialized__nav span {
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-specialized__nav a {
  padding: 6px 11px;
  border-radius: 999px;
  color: #555555;
  background: #f5f5f5;
  font-size: 12px;
}

.ca9-newpc-specialized__nav a.active {
  color: #2e2300;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-specialized__company {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 22px;
  padding: 20px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-specialized__company img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 8px;
  background: #f7f7f7;
}

.ca9-newpc-specialized__company .ca9-newpc-description-list {
  margin: 0;
}

.ca9-newpc-specialized__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ca9-newpc-specialized__grid article {
  min-width: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-specialized__thumb {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #eeeeee;
}

.ca9-newpc-specialized__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ca9-newpc-specialized__grid article > div {
  padding: 13px 14px;
}

.ca9-newpc-specialized__grid h2 {
  margin: 0 0 8px;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ca9-newpc-specialized__grid p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--ca9-muted);
  font-size: 11px;
}

@media (max-width: 900px) {
  .ca9-newpc-specialized__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ca9-newpc-inform__layout,
  .ca9-newpc-inform-article__layout,
  .ca9-newpc-inform-class__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .ca9-newpc-inform__flash,
  .ca9-newpc-inform__feature,
  .ca9-newpc-inform-class__item,
  .ca9-newpc-specialized__company,
  .ca9-newpc-specialized__head {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-specialized__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-specialized__grid {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-bobing__dice img {
    width: 46px;
    height: 46px;
  }
}


.ca9-newpc-dci-filter {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 14px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-dci-filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.ca9-newpc-dci-filter select {
  min-width: 180px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
  background: #ffffff;
}

.ca9-newpc-dci-filter > span {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-dci-list .ca9-newpc-table img {
  width: 96px;
  height: 72px;
  object-fit: cover;
}

.ca9-newpc-status-chip[data-tone="success"] {
  color: #1d5c42;
  background: #e2f4ea;
}

.ca9-newpc-status-chip[data-tone="error"] {
  color: #9c3a2a;
  background: #fdece8;
}

.ca9-newpc-status-chip[data-tone="info"] {
  color: #1a4a75;
  background: #e7f0f9;
}

.ca9-newpc-status-chip[data-tone="muted"] {
  color: #666666;
  background: #eeeeee;
}

.ca9-newpc-dci-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ca9-newpc-dci-actions a,
.ca9-newpc-dci-actions button {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 4px;
  color: #8a6900;
  background: var(--gray-100, #f3f4f6);
  font-size: 12px;
  cursor: pointer;
}

.ca9-newpc-dci-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ca9-newpc-dci-area {
  display: flex;
  gap: 8px;
}

.ca9-newpc-dci-area input {
  flex: 1;
  min-width: 0;
}

.ca9-newpc-cert-card {
  margin-top: 22px;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-cert-card img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  border: 1px solid #eeeeee;
  border-radius: 8px;
  background: #fafafa;
}

.ca9-newpc-cert-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.ca9-newpc-cert-card__meta span {
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-cert-card__meta strong {
  font-size: 15px;
}

.ca9-newpc-cert-card__meta a {
  margin-left: auto;
  padding: 8px 14px;
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-size: 13px;
  font-weight: 700;
}

.ca9-newpc-dci-attachments {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 14px;
}

.ca9-newpc-dci-attachments figure {
  margin: 0;
}

.ca9-newpc-dci-attachments img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-dci-attachments figcaption {
  margin-top: 6px;
  color: var(--ca9-muted);
  font-size: 11px;
  text-align: center;
}

.ca9-newpc-dci-reg .ca9-newpc-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ca9-newpc-dci-reg__status {
  margin-top: 22px;
}

@media (max-width: 760px) {
  .ca9-newpc-dci-filter {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-dci-area {
    flex-direction: column;
  }

  .ca9-newpc-dci-reg .ca9-newpc-steps {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-cert-card__meta a {
    margin-left: 0;
  }
}


.ca9-newpc-dci2 {
  min-width: 0;
}



.ca9-newpc-dci2__filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-dci2__filter label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #444444;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-dci2__filter select {
  min-width: 168px;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  background: #ffffff;
  font: inherit;
}

.ca9-newpc-dci2__count {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-dci2__actions {
  white-space: nowrap;
}

.ca9-newpc-dci2__actions a {
  margin-right: 12px;
  color: #8a6700;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-dci2__no-thumb {
  color: #bbbbbb;
}



.ca9-newpc-dci2__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ca9-newpc-dci2__thumb {
  width: 96px;
  height: 72px;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #f1f1f1;
}

.ca9-newpc-dci2__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}



.ca9-newpc-dci2__cert {
  margin-top: 22px;
  padding: 20px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-dci2__cert-img {
  display: block;
  max-width: 100%;
  margin: 0 auto 14px;
  border: 1px solid #eeeeee;
  border-radius: 8px;
}

.ca9-newpc-dci2__cert-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
}

.ca9-newpc-dci2__cert-meta strong {
  color: var(--ca9-ink);
  font-size: 15px;
}

.ca9-newpc-dci2__cert-meta a {
  padding: 8px 14px;
  border: 1px solid var(--ca9-brand);
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-size: 12px;
  font-weight: 700;
}



.ca9-newpc-dci2__attachments {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 14px;
}

.ca9-newpc-dci2__attach {
  margin: 0;
  text-align: center;
}

.ca9-newpc-dci2__attach img {
  width: 100%;
  height: 96px;
  display: block;
  border-radius: 8px;
  background: #f1f1f1;
  object-fit: cover;
}

.ca9-newpc-dci2__attach figcaption {
  margin-top: 6px;
  color: #666666;
  font-size: 11px;
}



.ca9-newpc-dci2__area {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ca9-newpc-dci2__area select {
  min-width: 132px;
  flex: 1 1 132px;
}



.ca9-newpc-dci2__type {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 13px;
}

.ca9-newpc-dci2__type label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}



.ca9-newpc-form__field {
  min-width: 0;
  margin: 0;
}

.ca9-newpc-form__field > span:first-child {
  display: block;
  margin-bottom: 7px;
  color: #444444;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-dci2__longtime {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.ca9-newpc-dci2__longtime input[type="date"] {
  width: auto;
  min-width: 0;
  flex: 1 1 160px;
}

.ca9-newpc-dci2__longtime-check {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 12px;
}



.ca9-newpc-dci2__reg {
  min-width: 0;
}

.ca9-newpc-steps--n2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ca9-newpc-steps--n5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}



@media (max-width: 760px) {
  .ca9-newpc-dci2__filter {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-dci2__filter select {
    min-width: 0;
    width: 100%;
  }

  .ca9-newpc-dci2__area {
    flex-direction: column;
  }

  .ca9-newpc-dci2__area select {
    width: 100%;
  }

  .ca9-newpc-dci2__attachments {
    grid-template-columns: repeat(2, 1fr);
  }

  .ca9-newpc-dci2__cert-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-steps--n2,
  .ca9-newpc-steps--n5 {
    grid-template-columns: 1fr;
  }
}


.ca9-newpc-dci3__filter {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding: 12px 14px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-dci3__filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.ca9-newpc-dci3__filter select {
  min-width: 180px;
  height: 34px;
  padding: 0 8px;
  border: 1px solid var(--ca9-line);
  border-radius: 6px;
  background: #ffffff;
}

.ca9-newpc-dci3__filter span {
  margin-left: auto;
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-dci3__area {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.ca9-newpc-dci3__author {
  margin-top: 18px;
  padding: 18px;
  border: 1px dashed #d9c06a;
  border-radius: 8px;
  background: #fffcf2;
}

.ca9-newpc-dci3__author h3 {
  margin: 0 0 14px;
  font-size: 14px;
}

.ca9-newpc-dci3__author .ca9-newpc-form__actions {
  margin-top: 14px;
}

.ca9-newpc-dci3__works {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.ca9-newpc-dci3__works figure {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-dci3__works img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ca9-newpc-dci3__attachments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.ca9-newpc-dci3__attachments figure {
  margin: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 8px;
  background: #ffffff;
}

.ca9-newpc-dci3__attachments img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ca9-newpc-dci3__attachments figcaption {
  padding: 8px 10px;
  color: var(--ca9-muted);
  font-size: 11px;
  text-align: center;
}

.ca9-newpc-dci3__cert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid #ddc45c;
  border-radius: 12px;
  background: #fffaf0;
}

.ca9-newpc-dci3__cert > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ca9-newpc-dci3__cert span {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-dci3__cert strong {
  font-size: 18px;
}

.ca9-newpc-dci3__cert a {
  padding: 9px 16px;
  border: 1px solid var(--ca9-brand);
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.ca9-newpc-dci3__long {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 22px;
  font-size: 13px;
}

.ca9-newpc-dci3__steps--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ca9-newpc-dci3__wizard .ca9-newpc-form__section {
  margin-top: 16px;
}

@media (max-width: 760px) {
  .ca9-newpc-dci3__area,
  .ca9-newpc-dci3__works,
  .ca9-newpc-dci3__attachments {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-dci3__cert {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-dci3__filter span {
    width: 100%;
    margin-left: 0;
  }
}


.ca9-newpc-root {
  min-width: 0;
}

.ca9-newpc-auth {
  display: grid;
  justify-items: center;
}

.ca9-newpc-auth--wide {
  justify-items: stretch;
}

.ca9-newpc-auth__card {
  width: min(640px, 100%);
  padding: 30px;
  border: 1px solid var(--ca9-line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--ca9-shadow);
}

.ca9-newpc-auth--wide .ca9-newpc-auth__card {
  width: min(860px, 100%);
}

.ca9-newpc-auth__head {
  margin-bottom: 20px;
  text-align: center;
}

.ca9-newpc-auth__head p {
  margin: 0 0 8px;
  color: #987300;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.ca9-newpc-auth__head h1 {
  margin: 0 0 10px;
  font-size: 28px;
}

.ca9-newpc-auth__head span {
  display: block;
  color: var(--ca9-muted);
  font-size: 13px;
  line-height: 1.7;
}

.ca9-newpc-auth__star {
  color: #c64632;
}

.ca9-newpc-auth__alt {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed #dddddd;
}

.ca9-newpc-auth__alt a {
  padding: 8px 14px;
  border: 1px solid #d6d6d6;
  border-radius: 999px;
  color: #555555;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-auth__alt a:hover {
  border-color: #c9a54a;
  color: #8a6700;
}

.ca9-newpc-root-result__steps {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.ca9-newpc-root-result__step {
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-root-result__step h2 {
  margin: 0 0 10px;
  font-size: 16px;
}

.ca9-newpc-root-result__step p {
  margin: 0 0 12px;
  color: var(--ca9-muted);
  font-size: 13px;
  line-height: 1.8;
}

.ca9-newpc-root-result__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.ca9-newpc-root-result__actions a {
  padding: 9px 15px;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  color: #3f330b;
  background: #fff8dc;
  font-size: 13px;
  font-weight: 700;
}

.ca9-newpc-root-result__actions a.primary {
  border-color: var(--ca9-brand);
  background: var(--ca9-brand);
}

.ca9-newpc-root-result__qr {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 14px;
  border-top: 1px dashed #e6e6e6;
}

.ca9-newpc-root-result__qr img {
  width: 130px;
  height: 130px;
  flex: 0 0 auto;
  border: 1px solid #dddddd;
  border-radius: 8px;
  object-fit: contain;
  background: #f7f7f7;
}

.ca9-newpc-root-result__qr div {
  color: var(--ca9-muted);
  font-size: 12px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.ca9-newpc-root-note {
  width: min(720px, 100%);
  margin: 0 auto;
}

.ca9-newpc-root-index {
  display: grid;
  gap: 22px;
}

.ca9-newpc-root-index__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.ca9-newpc-root-index__panel {
  padding: 22px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 16px;
  background: #ffffff;
}

.ca9-newpc-root-index__panel h2 {
  margin: 0 0 16px;
  font-size: 17px;
}

.ca9-newpc-root-index__panel select {
  width: 100%;
  min-height: 40px;
  margin-bottom: 14px;
  padding: 9px 11px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  color: var(--ca9-ink);
  background: #ffffff;
  font: inherit;
}

.ca9-newpc-root-index__panel button {
  padding: 10px 16px;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-weight: 800;
  cursor: pointer;
}

.ca9-newpc-root-index__panel button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ca9-newpc-progress {
  height: 12px;
  margin: 16px 0 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #f0f0f0;
}

.ca9-newpc-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #c9a54a, var(--ca9-brand));
  transition: width 0.4s ease;
}

.ca9-newpc-root-index__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.ca9-newpc-root-index__stats div {
  padding: 10px;
  border-radius: 8px;
  background: #f7f7f7;
  text-align: center;
}

.ca9-newpc-root-index__stats dt {
  color: var(--ca9-muted);
  font-size: 11px;
}

.ca9-newpc-root-index__stats dd {
  margin: 4px 0 0;
  font-size: 14px;
  font-weight: 800;
}

.ca9-newpc-root-index__message {
  margin: 0;
  color: #c64632;
  font-size: 13px;
}

.ca9-newpc-root-updates {
  columns: 3;
  column-gap: 18px;
}

.ca9-newpc-root-updates article {
  break-inside: avoid;
  margin-bottom: 18px;
  padding: 18px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-root-updates h2 {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.5;
}

.ca9-newpc-root-updates nav {
  display: grid;
  gap: 8px;
}

.ca9-newpc-root-updates nav a {
  color: #444444;
  font-size: 13px;
  line-height: 1.6;
}

.ca9-newpc-root-updates nav a:hover {
  color: #8a6700;
}

.ca9-newpc-root-updates p {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px dashed #e6e6e6;
  color: var(--ca9-muted);
  font-size: 11px;
}

@media (max-width: 820px) {
  .ca9-newpc-root-index__grid {
    grid-template-columns: 1fr;
  }

  .ca9-newpc-root-updates {
    columns: 2;
  }
}

@media (max-width: 560px) {
  .ca9-newpc-root-updates {
    columns: 1;
  }

  .ca9-newpc-root-result__qr {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-auth__card {
    padding: 20px;
  }
}


.ca9-newpc-children__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-children__actions p {
  margin: 0;
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-children__actions button {
  padding: 9px 16px;
  border: 1px solid var(--ca9-brand);
  border-radius: 8px;
  color: #211900;
  background: var(--ca9-brand);
  font-weight: 800;
  cursor: pointer;
}

.ca9-newpc-link-danger {
  color: #b3402a;
  font-weight: 700;
}

.ca9-newpc-table .ca9-newpc-link-danger {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.ca9-newpc-status-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.ca9-newpc-status-tag--ok {
  color: #1e7a34;
  background: #e4f4e8;
}

.ca9-newpc-status-tag--warn {
  color: #b3402a;
  background: #fbeae5;
}

.ca9-newpc-status-tag--muted {
  color: #666666;
  background: #f0f0f0;
}

.ca9-newpc-custom {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.ca9-newpc-custom__row {
  overflow: hidden;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-custom__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 13px 16px;
  border-bottom: 1px solid #eeeeee;
  background: #fafafa;
}

.ca9-newpc-custom__head button {
  padding: 5px 11px;
  border: 1px solid #e3c9c4;
  border-radius: 6px;
  color: #b3402a;
  background: #ffffff;
  font-size: 12px;
  cursor: pointer;
}

.ca9-newpc-custom__head strong {
  font-size: 13px;
}

.ca9-newpc-custom__head span {
  color: var(--ca9-muted);
  font-size: 12px;
}

.ca9-newpc-custom__head a {
  color: #8a6700;
  font-size: 12px;
  font-weight: 700;
}

.ca9-newpc-custom__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px;
}

.ca9-newpc-custom__thumbs img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  background: #eeeeee;
}

.ca9-newpc-form__file {
  grid-column: 1 / -1;
}

.ca9-newpc-form__file input[type="file"] {
  min-height: 44px;
  padding: 9px 11px;
  border: 1px dashed #c9a321;
  border-radius: 8px;
  color: #62521e;
  background: #fffaf0;
  font-size: 12px;
}

.ca9-newpc-keyword-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ca9-newpc-keyword-chips button {
  padding: 6px 11px;
  border-radius: 999px;
  color: #555555;
  background: var(--gray-100, #f3f4f6);
  font-size: 12px;
  cursor: pointer;
}

.ca9-newpc-keyword-chips button.active {
  color: #2e2300;
  background: #fff4c2;
  font-weight: 700;
}

.ca9-newpc-misc__contact {
  max-width: 560px;
  margin-top: 18px;
  padding: 14px 18px;
  border: 1px dashed #c9a321;
  border-radius: 8px;
  color: #62521e;
  background: #fffaf0;
  font-size: 13px;
  line-height: 2;
  text-align: left;
}

@media (max-width: 620px) {
  .ca9-newpc-children__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-custom__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-custom__thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


.ca9-newpc-header__top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.28);
}

.ca9-newpc-header__topbar {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ca9-newpc-header__recent,
.ca9-newpc-header__account,
.ca9-newpc-header__account a,
.ca9-newpc-header__welcome {
  color: #d0d0d0;
  font-size: 12px;
}

.ca9-newpc-header__account {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ca9-newpc-header__account a:hover,
.ca9-newpc-header__welcome a:hover {
  color: var(--ca9-brand);
}

.ca9-newpc-header__welcome a {
  color: #ffffff;
  font-weight: 700;
}

.ca9-newpc-header__main {
  min-height: 76px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 26px;
  padding: 12px 0;
}

.ca9-newpc-header__main .ca9-newpc-nav {
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.ca9-newpc-header__main .ca9-newpc-nav a {
  font-size: 14px;
}

.ca9-newpc-search {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.ca9-newpc-search input {
  width: 190px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px 0 0 8px;
  color: #101010;
  background: #ffffff;
  font-size: 13px;
}

.ca9-newpc-search input:focus {
  outline: 2px solid var(--ca9-brand);
  outline-offset: -1px;
}

.ca9-newpc-search button {
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 0 8px 8px 0;
  color: #101010;
  background: var(--ca9-brand);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.ca9-newpc-search__img {
  height: 34px;
  line-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #e6e6e6;
  font-size: 12px;
  white-space: nowrap;
}

.ca9-newpc-search__img:hover {
  border-color: var(--ca9-brand);
  color: var(--ca9-brand);
}

.ca9-newpc-footer__inner {
  min-height: auto;
  display: block;
  padding: 0;
}

.ca9-newpc-footer__links {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  padding: 30px 0 22px;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-footer__links h3 {
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--ca9-ink);
}

.ca9-newpc-footer__links a {
  display: block;
  margin: 6px 0;
  font-size: 12px;
  color: var(--ca9-muted);
}

.ca9-newpc-footer__links a:hover {
  color: #8a6500;
}

.ca9-newpc-footer__about {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--ca9-line);
}

.ca9-newpc-footer__about a {
  font-size: 12px;
  color: var(--ca9-muted);
}

.ca9-newpc-footer__copy {
  padding: 14px 0 26px;
  font-size: 12px;
  color: var(--ca9-muted);
}

@media (max-width: 900px) {
  .ca9-newpc-footer__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .ca9-newpc-header__topbar,
  .ca9-newpc-header__main {
    align-items: flex-start;
    flex-direction: column;
  }

  .ca9-newpc-search {
    width: 100%;
    margin-left: 0;
  }

  .ca9-newpc-search input {
    flex: 1;
    width: auto;
  }

  .ca9-newpc-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


.ca9-newpc-detail__actions button {
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  color: #221a00;
  background: var(--ca9-brand);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.ca9-newpc-detail__actions button.primary {
  background: #101010;
  color: #ffffff;
}

.ca9-newpc-detail__actions button:hover,
.ca9-newpc-detail__actions a:hover {
  opacity: 0.88;
}

.ca9-newpc-home__adver img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.ca9-newpc-pagination--numbers {
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
}

.ca9-newpc-pagination--numbers a {
  min-width: 34px;
  padding: 6px 11px;
  border: 1px solid var(--ca9-line);
  border-radius: 8px;
  color: var(--ca9-muted);
  font-size: 13px;
  text-align: center;
  background: #ffffff;
}

.ca9-newpc-pagination--numbers a.active {
  border-color: var(--ca9-brand);
  color: #2f2500;
  background: var(--ca9-brand);
  font-weight: 700;
}

.ca9-newpc-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
  padding: 16px 20px;
  border: 1px solid var(--ca9-line);
  border-radius: 12px;
  background: #ffffff;
}

.ca9-newpc-load-more button {
  padding: 8px 24px;
  border: 0;
  border-radius: 999px;
  color: #2f2500;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  background: var(--ca9-brand);
}

.ca9-newpc-load-more button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.ca9-newpc-load-more span {
  color: var(--ca9-muted);
  font-size: 13px;
}

.ca9-newpc-pagination__ellipsis {
  padding: 6px 4px;
  color: var(--ca9-muted);
}

.ca9-newpc-pagination__prev,
.ca9-newpc-pagination__next {
  font-weight: 700;
}


/* ---- 首页接活补充：卡片整卡可点 / 空态 / 关注栏目 / 底部广告 ---- */

.home-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.home-empty {
  padding: 48px 20px;
  border: 1px dashed var(--ca9-line);
  border-radius: 16px;
  color: var(--ca9-muted);
  font-size: 14px;
  text-align: center;
  background: #ffffff;
}

.home-custom .custom-row {
  margin-bottom: 16px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #ffffff;
}

.home-custom .custom-row:last-child {
  margin-bottom: 0;
}

.custom-row-head {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
  color: var(--ca9-muted);
  font-size: 14px;
}

.custom-row-head b {
  color: var(--ca9-ink);
  font-size: 15px;
}

.custom-row-head a {
  margin-left: auto;
  color: #8a6d00;
  font-weight: 700;
  text-decoration: none;
}

.custom-row-head a:hover {
  text-decoration: underline;
}

.custom-row-body {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.custom-row-body a {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: var(--ca9-page);
}

.custom-row-body img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-ad {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 20px;
}

.home-ad a {
  display: block;
  overflow: hidden;
  border-radius: 12px;
}

.home-ad img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 720px) {
  .custom-row-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ==========================================================================
   图库频道页（/part/6）原型侧栏布局适配：
   桥接过来的服务端锚点复刻原型 cat_vue.css 中 button/chip 的外观
   ========================================================================== */
.ca9-newpc-page.ca9-newpc-channel--flush { width: 100%; padding: 0; }
.ca9-newpc-channel .mode-switch a {
  flex: 1; padding: 8px 0; border-radius: 8px; font-size: 14px; font-weight: 700;
  color: var(--gray-600); background: var(--gray-100);
  text-align: center; text-decoration: none; transition: all .2s;
}
.ca9-newpc-channel .mode-switch a.active,
.ca9-newpc-channel .mode-switch a.selected {
  color: var(--ink); background: var(--brand);
  box-shadow: 0 4px 6px -1px rgba(255, 195, 0, .2);
}
.ca9-newpc-channel .filter-accordion .body a {
  padding: 4px 12px; border-radius: 4px; font-size: 12px;
  color: var(--gray-600); background: var(--gray-100);
  text-decoration: none; transition: all .2s;
}
.ca9-newpc-channel .filter-accordion .body a:hover { background: var(--gray-200); }
.ca9-newpc-channel .filter-accordion .body a.selected {
  color: var(--ink); background: var(--brand); font-weight: 500;
}
.ca9-newpc-channel .sort-bar a {
  display: flex; align-items: center; gap: 4px; padding: 6px 12px; border-radius: 999px;
  font-size: 13px; font-weight: 500; color: var(--gray-600);
  text-decoration: none; transition: all .2s;
}
.ca9-newpc-channel .sort-bar a:hover { background: var(--gray-50); }
.ca9-newpc-channel .sort-bar a.active {
  color: var(--ink); background: var(--brand); box-shadow: var(--shadow-sm);
}
/* 全局兜底：PagerNav 在 tl-page / vip / detail 等非 .ca9-newpc-channel 作用域也渲染 <a> 翻页，
   与 cat_vue.css 基线 .pagination button 逐字对齐（C2 验收发现 insight/market 分页器失样式） */
.pagination a,
.pagination .page-ellipsis {
  min-width: 32px; height: 32px; padding: 0 4px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 500; color: #4b5563;
  border: 1px solid #d1d5db; background: #fff;
  text-decoration: none; transition: all .2s; box-sizing: border-box;
}
.pagination .page-ellipsis { border-color: transparent; background: transparent; }
.pagination a:hover:not(.active):not(.disabled) { border-color: #ff4d0d; color: #ff4d0d; }
.pagination a.active { color: #fff; background: #ff4d0d; border-color: #ff4d0d; }
.pagination a.disabled { opacity: .4; cursor: default; }
.ca9-newpc-channel .pagination a,
.ca9-newpc-channel .pagination .page-ellipsis {
  min-width: 32px; height: 32px; padding: 0 4px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 500; color: #4b5563;
  border: 1px solid #d1d5db; background: #fff;
  text-decoration: none; transition: all .2s; box-sizing: border-box;
}
/* 旧类 page-ellipsis 向后兼容（pager-nav 已改渲染 .dots，样式由 cat_vue.css 基线提供） */
.ca9-newpc-channel .pagination .page-ellipsis { border-color: transparent; background: transparent; }
.ca9-newpc-channel .pagination a:hover:not(.active) { border-color: #ff4d0d; color: #ff4d0d; }
.ca9-newpc-channel .pagination a.active {
  color: #fff; background: #ff4d0d; border-color: #ff4d0d;
}
/* 禁用态（首页的上一页 / 末页的下一页）：无 href 不可点，视觉对应 cat_vue button:disabled */
.ca9-newpc-channel .pagination a.disabled { opacity: .4; cursor: default; }
.ca9-newpc-channel .list-card .media { display: block; }

/* ==== parity-detail: 详情页族（detail / article-detail / book / gallery / pdf）原型 detail.html 视觉复刻适配 ==== */
/* 服务端桥接的 <a> 复刻原型 .detail-actions button 的胶囊外观 */
.ca9-parity-detail .detail-actions a {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px;
  border-radius: 999px; font-size: 14px; font-weight: 600;
  color: var(--gray-700); background: var(--gray-100);
  text-decoration: none; transition: all .2s; cursor: pointer; box-sizing: border-box;
}
.ca9-parity-detail .detail-actions a:hover { background: var(--gray-200); }

/* 操作区下方的辅助说明小字 */
.ca9-parity-detail .detail-note { font-size: 12px; color: var(--gray-400); margin-top: 12px; }

/* 复刻卡片的媒体区在正式站是锚点 */
.ca9-parity-detail .list-card .media { display: block; }
.ca9-parity-detail .list-card h3 a { color: inherit; text-decoration: none; }

/* 文章详情：正文 + 标签侧栏（沿用 detail-article 卡片容器，桌面端双栏） */
.list-page.ca9-parity-article {
  width: min(1180px, calc(100% - 40px));
  margin-right: auto;
  margin-left: auto;
}
.ca9-parity-article .ca9-parity-article__crumb {
  margin: 0 0 16px;
  color: var(--ca9-muted, #8a94a6);
  font-size: 13px;
  font-weight: 400;
}
.ca9-parity-article .ca9-parity-article__crumb a { color: inherit; }
.ca9-parity-article .ca9-parity-article__crumb .sep { color: var(--ca9-muted, #8a94a6); }
.ca9-parity-article .ca9-parity-article__crumb .now { color: var(--ca9-muted, #8a94a6); }
.ca9-parity-article .detail-shell {
  width: 100%; max-width: none; box-sizing: border-box; padding: 0;
}
.ca9-parity-detail .detail-article--split {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px;
}
@media (min-width: 1024px) {
  .ca9-parity-detail .detail-article--split { grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (min-width: 1600px) {
  .list-page.ca9-parity-article { width: min(1280px, calc(100% - 40px)); }
}
@media (max-width: 767px) {
  .list-page.ca9-parity-article { width: calc(100% - 32px); }
}
.ca9-parity-detail .article-aside h2 { font-size: 16px; font-weight: 700; color: var(--gray-900); margin: 0 0 12px; }
.ca9-parity-detail .article-body { margin-top: 20px; font-size: 14px; color: var(--gray-600); line-height: 1.9; }
.ca9-parity-detail .article-body p { margin: 0 0 12px; }

/* 图集 / PDF 的纯标题头（无右栏主图，强制单栏） */
.ca9-parity-detail .detail-article--head { grid-template-columns: minmax(0, 1fr); }

/* 书籍详情：标签筛选 chips 与内容页网格的间距 */
.ca9-parity-detail .book-labels { margin: 24px 0 4px; }
.ca9-parity-detail .book-pages { margin-top: 20px; }

/* PDF 阅读器占位框 */
.ca9-parity-detail .pdf-frame {
  margin-top: 24px; border: 1px dashed var(--line); border-radius: 12px;
  background: #fff; box-shadow: var(--shadow-card);
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: var(--gray-500); font-size: 13px; line-height: 1.9; padding: 24px;
}
.ca9-parity-detail .pdf-frame h2 { font-size: 16px; font-weight: 700; color: var(--gray-800); margin: 0 0 8px; }
.ca9-parity-detail .pdf-frame p { margin: 0; }

/* ==== parity-channel: 频道页（/part/* side+top 布局）适配 ====
   桥接过来的服务端 <a> 复刻原型 cat_vue.css 中 button/chip 的外观；
   字母表 letter-grid 与 logo 网格 logo-grid 的 a/span 对齐原型 button 样式 */
.ca9-newpc-channel .chip-set a {
  padding: 4px 12px; border-radius: 4px; font-size: 13px;
  color: var(--gray-600); background: var(--gray-100);
  text-decoration: none; transition: all .2s;
}
.ca9-newpc-channel .chip-set a:hover { background: var(--gray-200); }
.ca9-newpc-channel .chip-set a.selected {
  color: var(--ink); background: var(--brand); font-weight: 500;
}
.ca9-newpc-channel .letter-grid a,
.ca9-newpc-channel .letter-grid span.void {
  height: 20px; border-radius: 2px; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  color: var(--gray-700); background: var(--gray-100);
  text-decoration: none; transition: all .2s; box-sizing: border-box;
}
.ca9-newpc-channel .letter-grid a:hover { color: #b98c00; background: rgba(255, 195, 0, .1); }
.ca9-newpc-channel .letter-grid a.active { color: var(--ink); background: var(--brand); }
.ca9-newpc-channel .letter-grid span.void { color: var(--gray-300); background: var(--gray-50); cursor: default; }
.ca9-newpc-channel .logo-grid a {
  height: 48px; border: 1px solid var(--line-soft); border-radius: 6px; padding: 4px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: #fff; transition: all .2s; box-sizing: border-box;
}
.ca9-newpc-channel .logo-grid a:hover { border-color: var(--brand); box-shadow: var(--shadow-sm); }
.ca9-newpc-channel .logo-grid img { max-height: 100%; max-width: 100%; object-fit: contain; }
/* 目录频道选中字母后的公司列表（旧站为文字列表，原型无对应模块，按 chip 样式展示） */
.ca9-newpc-channel .company-chip-list {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; max-height: 240px; overflow-y: auto; scrollbar-width: thin;
}
.ca9-newpc-channel .company-chip-list a {
  padding: 2px 8px; border-radius: 4px; font-size: 12px;
  color: var(--gray-600); background: var(--gray-100);
  text-decoration: none; transition: all .2s;
}
.ca9-newpc-channel .company-chip-list a:hover { background: var(--gray-200); }
.ca9-newpc-channel .company-chip-list a b { color: #b98c00; font-weight: 600; }

/* ==== parity-pages: 独立页面（首页/最近更新/趋势分析/搜索/图搜图/收藏/会员中心/目录订阅/信息页）原型对齐适配 ==== */

/* 通用：卡片内整面链接与锚点复位（原型用整卡点击，正式站用真实 <a>） */
.parity-fill { display: block; width: 100%; height: 100%; }
.ca9-parity-search .masonry-card a,
.ca9-parity-vip .vip-thumb-grid article a { display: block; color: inherit; text-decoration: none; }
.ca9-parity-image-search .list-card h3 a,
.ca9-parity-favorites .list-card h3 a { color: inherit; text-decoration: none; }
.ca9-parity-image-search .list-card .meta a { color: #7c3aed; text-decoration: none; }
.ca9-parity-image-search .list-card .media { display: block; }

/* 最近更新：桥接锚点复刻原型 .updates-tabs button 外观 */
.ca9-parity-updates .updates-tabs a {
  flex: none; padding: 6px 16px; border-radius: 999px; font-size: 14px;
  color: var(--gray-600); text-decoration: none; transition: all .2s;
}
.ca9-parity-updates .updates-tabs a:hover { background: var(--gray-100); }
.ca9-parity-updates .updates-tabs a.active { color: var(--ink); background: var(--brand); font-weight: 500; }
.ca9-parity-updates .updates-tabs a.mine { color: var(--ink); font-weight: 600; }

/* 搜索页：搜索条（对齐原型 header-search 视觉语言） */
.parity-search-bar {
  display: flex; align-items: center; gap: 8px;
  max-width: 1280px; margin: 8px auto 0; padding: 0 40px;
}
.parity-search-bar input {
  flex: 1; min-width: 0; max-width: 520px; padding: 9px 14px; font-size: 14px;
  border: 1px solid var(--line); border-radius: 999px; outline: none; background: #fff;
}
.parity-search-bar input:focus { border-color: var(--brand); }
.parity-search-bar button {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px;
  border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ink);
  background: var(--brand); border: 0; cursor: pointer;
}
.parity-search-bar .icon { width: 14px; height: 14px; }
@media (max-width: 768px) { .parity-search-bar { padding: 0 20px; } }

/* 热门/推荐关键词 chips */
.parity-hot-keywords {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin-top: 16px; font-size: 13px; color: var(--gray-500);
}
.parity-hot-keywords a {
  padding: 5px 12px; border-radius: 999px; font-size: 12px; color: var(--gray-600);
  background: var(--gray-100); text-decoration: none; transition: all .2s;
}
.parity-hot-keywords a:hover { color: var(--ink); background: var(--brand); }
.ca9-parity-image-search .parity-hot-keywords { margin-top: 16px; }

/* 收藏页：文件夹选中态与管理工具条 */
.ca9-parity-favorites .folder-card { cursor: pointer; }
.ca9-parity-favorites .folder-card.active { box-shadow: 0 0 0 2px var(--brand), var(--shadow-card); }
.parity-fav-toolbar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  margin: 20px 0 8px; padding: 10px 14px; background: #fff; border-radius: 12px;
  box-shadow: var(--shadow-sm); font-size: 13px; color: var(--gray-600);
}
.parity-fav-toolbar label { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.parity-fav-toolbar select { padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; font-size: 13px; }
.parity-fav-toolbar button {
  padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 500;
  color: var(--gray-700); background: var(--gray-100); border: 0; cursor: pointer;
}
.parity-fav-toolbar button:hover { background: var(--gray-200); }
.parity-fav-toolbar a { color: #b98c00; text-decoration: none; margin-left: auto; }
.parity-fav-toolbar span[role="status"] { color: var(--gray-400); }
.parity-fav-message { margin: 16px 0 0; font-size: 13px; color: var(--gray-500); }
.parity-fav-check {
  position: absolute; left: 8px; top: 8px; z-index: 2; width: 26px; height: 26px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .92); cursor: pointer;
}
.parity-fav-check input { width: 14px; height: 14px; accent-color: var(--brand); }
.parity-fav-card.selected { box-shadow: 0 0 0 2px var(--brand), var(--shadow-card); }

/* 目录订阅：采购商目录选项带封面缩略图 */
.parity-sub-books label img {
  width: 34px; height: 34px; border-radius: 6px; object-fit: cover;
  border: 1px solid var(--line-soft);
}

/* 会员中心：内容区在会员壳工作区内，去掉 list-page 的全页背景以避免与壳冲突 */
body[data-ca9-decorator="member"] .ca9-parity-member.list-page,
body[data-ca9-decorator="member-standalone"] .ca9-parity-member.list-page,
body[data-ca9-decorator="member"] .ca9-parity-favorites.list-page,
body[data-ca9-decorator="member-standalone"] .ca9-parity-favorites.list-page {
  min-height: 0; background: transparent; padding-bottom: 32px;
}
/* hero 圆角卡片化只在会员壳内生效；脱离侧栏壳后与原型 member.html 一致为全宽通栏 */
body[data-ca9-decorator="member"] .ca9-parity-member .member-hero,
body[data-ca9-decorator="member-standalone"] .ca9-parity-member .member-hero { border-radius: 16px; }
/* ==========================================================================
   回退补偿层：2026-08-21 新 cat_vue 基线未覆盖、但 newpc parity JS 仍在使用的
   class 样式，原样移植自旧快照（2026-08-15 cat_vue.css）：
   信息页(info-*) / 会员中心(member-*/service-menu/admin-list) / 目录订阅(sub-*) /
   详情页(detail-shell/detail-copy/detail-meta/related) / 图搜图提示(imgsearch-tip)
   ========================================================================== */
/* ========================================================================== 认识我们 / 联系我们 / 会员服务 / 网站导航 / 免责声明 ========================================================================== */ .info-page { min-height: 100vh; background: var(--page-alt); }
.info-shell { max-width: 1280px; margin: 0 auto; padding: 32px 24px; }
.info-layout { display: flex; flex-direction: column; gap: 16px; }
.info-side { flex: none; }
.info-side-card { background: #fff; border-radius: 12px; border: 1px solid #e5e5e5; box-shadow: var(--shadow-sm); overflow: hidden; position: sticky; top: 24px; }
.info-side-card > .head { padding: 16px; border-bottom: 1px solid #e5e5e5; }
.info-side-card > .head h2 { font-size: 16px; font-weight: 700; color: var(--ink); }
.info-side-card nav { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.info-side-card nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; color: #707070; transition: all .2s; }
.info-side-card nav a:hover { background: var(--page-alt); color: var(--ink); }
.info-side-card nav a.active { color: #fff; background: var(--ink); }
.info-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.info-banner { background: linear-gradient(135deg, #1a1a2e, #2d2d44 50%, #1a1a2e); border-radius: 16px; padding: 32px; text-align: center; }
.info-banner img { height: 80px; margin: 0 auto 16px; }
.info-banner h1 { font-size: 24px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.info-banner p { color: var(--brand); font-weight: 500; }
.info-card { background: #fff; border-radius: 12px; border: 1px solid #e5e5e5; padding: 24px; }
.info-card h3 { font-size: 18px; font-weight: 700; color: var(--ink); margin-bottom: 16px; }
.info-card p { font-size: 14px; color: #505050; line-height: 1.8; }
.info-card p + p { margin-top: 12px; }
.contact-item .ico { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--page-alt); color: var(--ink); flex: none; }
.member-hero-inner { padding: 0 24px; display: flex; align-items: center; gap: 24px; }
.member-avatar { width: 80px; height: 80px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .2); border: 2px solid rgba(255, 255, 255, .3); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.member-hero-text { flex: 1; color: #fff; }
.member-hero-text .row { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; flex-wrap: wrap; }
.member-hero-text h1 { font-size: 24px; font-weight: 700; }
.member-hero-text p { font-size: 14px; color: rgba(255, 255, 255, .7); }
.member-body { max-width: 1152px; margin: 0 auto; padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.member-cards { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 16px; }
.member-card { background: #fff; border-radius: 16px; padding: 20px; box-shadow: var(--shadow-card); }
.member-card .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; gap: 12px; }
.member-card .left { display: flex; align-items: center; gap: 12px; }
.member-card .ico { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; }
.member-card .ico.point { background: linear-gradient(135deg, #fbbf24, #f97316); }
.member-card .ico.ai { background: linear-gradient(135deg, #a855f7, #4f46e5); }
.member-card .ico.fav { background: linear-gradient(135deg, #f59e0b, #d97706); }
.member-card h2 { font-size: 16px; font-weight: 700; color: var(--gray-900); }
.member-card .hint { font-size: 12px; color: var(--gray-500); }
.member-card .num { font-size: 20px; font-weight: 700; }
.member-card .num.point { color: #f97316; }
.member-card .num.ai { color: #7c3aed; }
.member-card .act { display: flex; gap: 8px; margin-top: 12px; }
.member-card .act button, .member-card .act a { padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--ink); background: var(--brand); }
.member-card .act .ghost { color: var(--gray-600); background: var(--gray-100); }
.member-title { font-size: 16px; font-weight: 700; color: var(--gray-900); }
.service-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.service-menu a { display: flex; align-items: center; gap: 10px; padding: 14px; background: #fff; border-radius: 12px; box-shadow: var(--shadow-sm); transition: all .2s; }
.service-menu a:hover { box-shadow: var(--shadow-card); }
.service-menu b { font-size: 12px; color: var(--gray-300); }
.service-menu span { font-size: 14px; color: var(--gray-800); }
.admin-list { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 10px; }
.admin-list button, .admin-list a { display: flex; align-items: center; justify-content: space-between; padding: 16px; background: #fff; border-radius: 12px; box-shadow: var(--shadow-sm); font-size: 14px; font-weight: 600; color: var(--gray-800); text-align: left; }
.admin-list span { font-size: 12px; font-weight: 400; color: var(--gray-400); }
.imgsearch-tip { font-size: 13px; color: var(--gray-500); line-height: 1.9; margin-top: 12px; }
.sub-row { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.sub-row > .label { flex: none; width: 48px; margin-top: 6px; font-size: 14px; font-weight: 500; color: var(--gray-700); }
.sub-row .opts { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sub-row label { display: flex; align-items: center; gap: 4px; cursor: pointer; user-select: none; font-size: 14px; color: var(--gray-600); }
.sub-row label.all span { font-weight: 500; color: var(--gray-900); }
.sub-row input[type="checkbox"] { width: 14px; height: 14px; accent-color: var(--brand); }
.sub-form { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 16px; }
.sub-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--gray-700); }
.sub-form input { padding: 8px 12px; border: 1px solid var(--line); border-radius: 6px; outline: none; }
.sub-form input:focus { border-color: var(--brand); }
.sub-submit { align-self: flex-start; padding: 10px 28px; border-radius: 999px; font-weight: 700; color: var(--ink); background: var(--brand); }
/* ========================================================================== 内容详情 ========================================================================== */ .detail-shell { max-width: 1280px; margin: 0 auto; padding: 24px; }
.detail-copy .kicker { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--ink); background: var(--brand); margin-bottom: 12px; }
.detail-copy h1 { font-size: 26px; font-weight: 700; color: var(--gray-900); line-height: 1.4; margin-bottom: 10px; }
.detail-meta { font-size: 13px; color: var(--gray-400); margin-bottom: 16px; }
.detail-copy p { font-size: 14px; color: var(--gray-600); line-height: 1.9; }
.detail-copy p + p { margin-top: 12px; }
.related { margin-top: 32px; }
.related h2 { font-size: 18px; font-weight: 700; margin-bottom: 16px; }
@media (min-width: 1024px) {
  .info-layout { flex-direction: row; }
  .info-side { width: 220px; }
}
@media (min-width: 640px) {
  .member-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .service-menu { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 640px) {
  .sub-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 回退补偿：头部公告走马灯（notice-label/track/flow/next + tickerScroll）。
   新基线改用静态 .notice-slogan，但 newpc bootstrap.js 仍渲染走马灯结构，原样移植自旧快照。 */
.notice-label {
  flex: none; display: flex; align-items: center; gap: 4px;
  padding-right: 8px; margin-right: 8px;
  font-size: 13px; font-weight: 700; color: #707070; white-space: nowrap;
}
.notice-label .icon { width: 13px; height: 13px; color: var(--brand); }
.notice-track { position: relative; height: 100%; overflow: hidden; flex: 1; min-width: 0; }
.notice-flow { display: flex; align-items: center; height: 100%; white-space: nowrap; width: max-content; animation: tickerScroll 80s linear infinite; }
.notice-flow:hover { animation-play-state: paused; }
.notice-flow a { flex: none; display: flex; align-items: center; gap: 8px; padding: 0 24px; font-size: 13px; font-weight: 600; color: #707070; transition: color .2s; }
.notice-flow a:hover { color: var(--ink); }
.notice-flow i { font-style: normal; color: rgba(112, 112, 112, .3); }
@keyframes tickerScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.notice-next { flex: none; margin-left: 8px; color: #707070; display: flex; }

/* 内容页登录门禁的常驻提示条（bootstrap.js 门禁置 store.gateNotice）：
   顶部悬浮胶囊，层级低于登录弹窗 .modal-backdrop(9999)，弹窗关闭后仍说明页面为何为空 */
.ca9-gate-notice {
  position: fixed; top: 150px; left: 50%; transform: translateX(-50%); z-index: 9000;
  display: flex; align-items: center; gap: 10px;
  padding: 9px 14px 9px 16px; border-radius: 999px;
  font-size: 14px; color: #fff; background: rgba(16, 16, 16, .92);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .28); white-space: nowrap;
}
.ca9-gate-notice .icon { width: 16px; height: 16px; color: var(--brand, #ffd400); }
.ca9-gate-notice .go {
  border: 0; cursor: pointer; padding: 4px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 700; color: #161616; background: var(--brand, #ffd400);
}
.ca9-gate-notice .go:hover { filter: brightness(1.08); }
.ca9-gate-notice .x {
  border: 0; cursor: pointer; padding: 0 4px; background: transparent;
  font-size: 18px; line-height: 1; color: rgba(255, 255, 255, .6);
}
.ca9-gate-notice .x:hover { color: #fff; }

/* ===== 书籍 / 目录详情页（pages-parity-detail.js components.book，对齐原型 cat_vue CatalogPage） ===== */
/* 头部/筛选条/网格均为全宽分带，内容内层 1480 居中；解除 .ca9-newpc-page 的 1180 限宽 */
.ca9-book { width: 100%; max-width: none; padding: 0 0 64px; background: #fafafa; min-height: 60vh; }

/* ---- 头部：封面 + 信息 ---- */
.bk-head { background: #ffffff; border-bottom: 1px solid var(--gray-100, #f3f4f6); }
.bk-head-inner {
  max-width: 1480px; margin: 0 auto; padding: 20px 24px;
  display: flex; gap: 24px; align-items: flex-start;
}
.bk-cover {
  flex: none; width: 160px; border-radius: 12px; overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12); background: var(--gray-100, #f3f4f6);
}
.bk-cover img { display: block; width: 100%; height: auto; }
.bk-info { flex: 1; min-width: 0; }
.bk-topline { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bk-kicker {
  display: inline-block; padding: 2px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 700; color: #161616; background: var(--brand, #ffd400);
}
.bk-meta { font-size: 12px; color: var(--gray-400, #9ca3af); }
.bk-title { margin: 8px 0 0; font-size: 22px; font-weight: 700; color: var(--ink, #101010); }
.bk-desc {
  margin: 8px 0 0; font-size: 14px; line-height: 1.8; color: var(--gray-600, #4b5563);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.bk-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; }
.bk-total { font-size: 14px; font-weight: 700; color: var(--ink, #101010); }
.bk-copy {
  display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; cursor: pointer;
  font-size: 13px; color: var(--gray-500, #6b7280); transition: color .2s;
}
.bk-copy:hover { color: var(--brand, #ffd400); }
.bk-copy .icon { width: 14px; height: 14px; }
.bk-fav {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 7px 18px; border-radius: 999px; border: 1px solid #fca5a5;
  font-size: 13px; font-weight: 600; color: #ef4444; background: #ffffff;
  transition: background .2s, border-color .2s;
}
.bk-fav:hover { background: #fef2f2; border-color: #ef4444; }
.bk-fav .icon { width: 14px; height: 14px; }
.bk-down {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 8px 22px; border: 0; border-radius: 999px;
  font-size: 13px; font-weight: 700; color: #161616; background: var(--brand, #ffd400);
  transition: filter .2s;
}
.bk-down:hover:not(:disabled) { filter: brightness(1.06); }
.bk-down:disabled { opacity: .65; cursor: not-allowed; }
.bk-down .icon { width: 14px; height: 14px; }
.bk-surplus { font-size: 12px; color: var(--gray-400, #9ca3af); }
.bk-links { display: flex; gap: 18px; margin-top: 10px; }
.bk-links a { font-size: 13px; font-weight: 600; color: var(--brand, #eab308); text-decoration: none; }
.bk-links a:hover { text-decoration: underline; }

/* ---- 自定义搜索 + 标签筛选 ---- */
.bk-filter {
  background: #ffffff; border-bottom: 1px solid var(--gray-100, #f3f4f6);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.bk-filter-inner { max-width: 1480px; margin: 0 auto; padding: 14px 24px; }
.bk-search-row { display: flex; align-items: center; gap: 10px; }
.bk-search-label { flex: none; font-size: 13px; font-weight: 600; color: var(--gray-700, #374151); }
.bk-search-input {
  flex: 0 1 380px; min-width: 0; padding: 8px 14px;
  border: 1px solid var(--line, #e5e5e5); border-radius: 999px;
  font-size: 13px; outline: none;
}
.bk-search-input:focus { border-color: var(--brand, #ffd400); }
.bk-search-btn {
  flex: none; width: 36px; height: 36px; border: 0; border-radius: 10px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: #161616; background: var(--brand, #ffd400); transition: filter .2s;
}
.bk-search-btn:hover { filter: brightness(1.06); }
.bk-search-btn .icon { width: 16px; height: 16px; }
.bk-filter-btn {
  flex: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 8px 16px; border: 1px solid var(--line, #e5e5e5); border-radius: 999px;
  font-size: 13px; color: var(--gray-600, #4b5563); background: #ffffff; transition: all .2s;
}
.bk-filter-btn:hover { border-color: var(--brand, #ffd400); color: #161616; }
.bk-filter-btn .icon { width: 14px; height: 14px; }
.bk-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bk-chip {
  padding: 5px 14px; border-radius: 999px; font-size: 12px; text-decoration: none;
  color: var(--gray-600, #4b5563); background: var(--gray-100, #f3f4f6); transition: all .2s;
}
.bk-chip:hover { background: var(--line, #e5e5e5); }
.bk-chip.on { color: #161616; font-weight: 700; background: var(--brand, #ffd400); }
.bk-chip-count { margin-left: 3px; color: var(--gray-400, #9ca3af); font-weight: 400; }
.bk-chip.on .bk-chip-count { color: #6b7280; }

/* ---- 缩略图网格（原型：4 / 5 / 6 / 7 列自适应） ---- */
.bk-body { max-width: 1480px; margin: 0 auto; padding: 24px; }
.bk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (min-width: 640px) { .bk-grid { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 1024px) { .bk-grid { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1280px) { .bk-grid { grid-template-columns: repeat(7, 1fr); } }
.bk-card {
  display: flex; flex-direction: column; background: #ffffff; border-radius: 10px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05); text-decoration: none;
  transition: box-shadow .3s;
}
.bk-card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .1); }
.bk-thumb {
  display: flex; align-items: center; justify-content: center; flex: none;
  aspect-ratio: 3 / 4; overflow: hidden; background: var(--gray-100, #f3f4f6);
}
.bk-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.bk-card-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-height: 40px; margin-top: auto; padding: 8px 10px; box-sizing: border-box;
}
.bk-card-title { min-width: 0; font-size: 12px; color: var(--gray-700, #374151); }
.bk-sim {
  flex: none; border: 0; cursor: pointer; padding: 2px 8px; border-radius: 6px;
  font-size: 11px; font-weight: 700; color: #161616; background: var(--brand, #ffd400);
  transition: filter .2s;
}
.bk-sim:hover { filter: brightness(1.06); }

/* 最近更新：自然高度卡片按最短列排列；容器高度保留滚动加载触发点。 */
.ca9-parity-updates .update-grid { --update-columns: 1; display: block; position: relative; }
.ca9-parity-updates .update-card { height: auto; min-height: 0; margin-bottom: 16px; }
.ca9-parity-updates .update-card .inner,
.ca9-parity-updates .update-card .lines { flex: none; }
.ca9-parity-updates .update-card h3 { font-size: 18px; overflow-wrap: anywhere; }
.ca9-parity-updates .update-card .lines p {
  font-size: 14px; display: block; overflow: visible; overflow-wrap: anywhere;
  -webkit-line-clamp: unset; line-clamp: unset;
}
.ca9-parity-updates .update-card .foot { margin-top: 0; }
@media (min-width: 640px) { .ca9-parity-updates .update-grid { --update-columns: 2; } }
@media (min-width: 1024px) { .ca9-parity-updates .update-grid { --update-columns: 3; } }

/* 异步切图遮罩脱离排版流，覆盖大图及箭头，直到原图加载结束。 */
.std-loading-mask {
  position: absolute; inset: 0; z-index: 20;
  display: flex; align-items: center; justify-content: center;
  background: rgba(245, 245, 245, .72); cursor: progress;
}
.std-loading-spinner {
  width: 42px; height: 42px; border: 4px solid rgba(0, 0, 0, .1);
  border-top-color: #ffc300; border-radius: 50%;
  animation: ca9-detail-loading .8s linear infinite;
}
@keyframes ca9-detail-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .std-loading-spinner { animation-duration: 2s; }
}

/* 卖场、展会实拍、目录、期刊等书籍内容列表统一采用 CatalogPage 的全宽布局。 */
.ca9-unified-book { background: #fff; }
.ca9-unified-book .bk-head-inner,
.ca9-unified-book .bk-filter-inner,
.ca9-unified-book .bk-body { max-width: none; width: 100%; box-sizing: border-box; }
.ca9-unified-book .bk-head-inner { padding: 12px 24px; gap: 16px; }
.ca9-unified-book .bk-cover { width: 140px; box-shadow: none; }
.ca9-unified-book .bk-info { max-width: none; }
.ca9-unified-book .bk-title { font-size: 18px; line-height: 1.25; margin-top: 4px; }
.ca9-unified-book .bk-desc { max-width: 960px; font-size: 12px; line-height: 1.6; }
.ca9-unified-book .bk-actions { margin-top: 12px; gap: 12px; }
.ca9-unified-book .bk-filter-inner { padding: 12px 24px; }
.ca9-unified-book .bk-search-input {
  flex-basis: 320px; padding: 4px 8px; border-radius: 4px; font-size: 12px;
}
.ca9-unified-book .bk-search-btn { width: 28px; height: 28px; border-radius: 4px; }
.ca9-unified-book .bk-filter-btn { padding: 5px 14px; }
.ca9-unified-book .bk-chips { margin-top: 10px; }
.ca9-unified-book .bk-body { padding: 32px 24px; }
.ca9-unified-book .bk-grid { gap: 12px; align-items: start; }
.ca9-unified-book .bk-card { min-width: 0; border-radius: 16px; }
.ca9-unified-book .bk-thumb { aspect-ratio: 3 / 4; background: #fff; }
.ca9-unified-book .bk-thumb img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

/* 目录、展会、卖场、素材、集锦、图库频道：固定媒体框，标题栏始终贴底。 */
.ca9-newpc-channel .card-grid > .list-card {
  display: flex; flex-direction: column; align-self: stretch;
}
.ca9-newpc-channel .card-grid > .list-card > .media {
  display: flex; align-items: center; justify-content: center; flex: none; width: 100%;
  background: var(--gray-100, #f3f4f6);
}
.ca9-newpc-channel .card-grid > .list-card > .media img {
  display: block; width: 100%; height: 100%; object-fit: contain; object-position: center;
}
/* 图库的图集/图片模式共用原型的正方形紧凑网格；图片居中裁剪且不变形。 */
.ca9-gallery-channel .card-grid > .list-card > .media img {
  object-fit: cover; object-position: center;
}
.ca9-newpc-channel .card-grid > .list-card > .body.tight {
  display: flex; align-items: center; flex: none; width: 100%; height: 48px;
  margin-top: auto; padding: 8px; box-sizing: border-box;
}
.ca9-newpc-channel .card-grid > .list-card > .body.tight h3 {
  width: 100%; margin-bottom: 0;
}
@media (max-width: 767px) {
  .ca9-unified-book .bk-head-inner,
  .ca9-unified-book .bk-filter-inner,
  .ca9-unified-book .bk-body { padding-left: 16px; padding-right: 16px; }
}
@media (min-width: 768px) {
  .ca9-unified-book .bk-head-inner { flex-direction: row; }
}

@media (max-width: 768px) {
  .bk-head-inner { flex-direction: column; padding: 16px; }
  .bk-cover { width: 128px; }
  .bk-filter-inner, .bk-body { padding-left: 16px; padding-right: 16px; }
}
