/* Public discovery pages use the same champagne materials as the app content.
   Keep their existing grids, cover ratios, pagination and source ordering. */
.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main {
  --shadow-card: var(--dr-shadow);
  --c-accent-glow: var(--dr-gold-border);
  --c-accent-focus-ring: var(--dr-accent);
  --c-accent-border-strong: var(--dr-gold-border);
  --c-link-hover: var(--dr-accent);
  --gradient-hero-minimal: radial-gradient(ellipse at 100% 0, var(--dr-accent-soft), transparent 75%), var(--dr-surface);
}

/* The fixed back control owns a top strip; content never sits underneath it. */
.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route="gbook/index"], [data-dr-route="live/index"], [data-dr-route="live/show"]):not([data-dr-route="actor/detail"]):not([data-dr-route="role/detail"]) .dr-main {
  padding-inline: var(--dr-page-inset);
  padding-block-start: var(--dr-page-inset);
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route="gbook/index"], [data-dr-route="live/index"], [data-dr-route="live/show"]):not([data-dr-route="actor/detail"]):not([data-dr-route="role/detail"]) .dr-main:has(> .dr-floating-back) {
  padding-block-start: calc(48px + var(--dr-page-inset) + env(safe-area-inset-top));
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main :is(.bili-sec__head, .pb-sec-heading) {
  color: var(--dr-text) !important;
  font-size: 19px !important;
  font-weight: 650 !important;
  line-height: 1.4;
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main .bili-sec__ico {
  border: 1px solid var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
  box-shadow: inset 0 1px 0 var(--dr-highlight);
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main .bili-sec__ico-svg {
  color: var(--dr-accent);
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"]) .dr-main .bili-sec {
  margin-bottom: var(--dr-section-gap);
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"]) .dr-main .bili-sec__title {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.dr-theme:is([data-dr-route^="role/"], [data-dr-route^="live/"]) .dr-main :is(.pb-t0__hero, .np2-t0__hero) {
  padding: 18px 16px;
  border: 1px solid var(--dr-gold-border);
  border-radius: 16px;
  background: var(--gradient-hero-minimal);
  box-shadow: inset 0 1px 0 var(--dr-highlight);
}

.dr-theme[data-dr-route^="live/"] .dr-main .np2-t0__hero { margin-bottom: 16px; }
.dr-theme:is([data-dr-route^="role/"], [data-dr-route^="live/"]) .dr-main :is(.pb-t0__kicker, .np2-t0__kicker) {
  margin: 0 0 6px;
  color: var(--dr-accent);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

.dr-theme:is([data-dr-route^="role/"], [data-dr-route^="live/"]) .dr-main :is(.pb-t0__title, .np2-t0__title) {
  color: var(--dr-text);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.35;
}

.dr-theme:is([data-dr-route^="role/"], [data-dr-route^="live/"]) .dr-main :is(.pb-t0__desc, .np2-t0__desc) {
  margin-top: 8px;
  color: var(--dr-muted);
  font-size: 13px;
  line-height: 1.65;
}

/* Existing poster and circular portrait geometry is preserved. */
.dr-theme .dr-main :is(.pb-topic-card__pic, .pb-live-card__pic) {
  border-radius: 12px;
  background: var(--dr-fill);
  box-shadow: inset 0 0 0 1px var(--dr-line);
}

.dr-theme .dr-main .pb-actor-card__pic {
  border-color: var(--dr-line);
  background: var(--dr-fill);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--dr-text) 5%, transparent);
}

.dr-theme .dr-main :is(.pb-topic-card__title, .pb-live-card__title, .pb-actor-card__title) {
  color: var(--dr-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.dr-theme .dr-main :is(.pb-topic-card__meta, .pb-live-card__meta, .pb-actor-card__meta) {
  color: var(--dr-muted);
  font-size: 12px;
  line-height: 1.5;
}

.dr-theme .dr-main :is(.pb-topic-card__pic, .pb-live-card__pic, .pb-actor-card__pic):focus-visible {
  outline: 2px solid var(--dr-accent);
  outline-offset: 3px;
}

/* Website rows keep the logo/text split without the generic web-list divider. */
.dr-theme .dr-main .pb-site-row {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--dr-line);
  border-radius: 14px;
  background: var(--dr-surface);
  box-shadow: var(--dr-shadow);
}

.dr-theme .dr-main .pb-site-row + .pb-site-row { margin-top: 12px; }
.dr-theme .dr-main .pb-site-row__body { min-width: 0; }
.dr-theme .dr-main .pb-site-row__fig img {
  border-radius: 8px;
  background: var(--dr-fill);
}

.dr-theme .dr-main .pb-site-row__body h4 {
  color: var(--dr-text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.dr-theme .dr-main .pb-site-row__body p {
  margin: 4px 0 6px;
  color: var(--dr-muted);
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.dr-theme .dr-main .pb-site-row__meta { color: var(--dr-muted); }

/* Topic / entity detail panels, including AJAX detail fragments. */
.dr-theme .dr-main :is(.pb-topic-detail__head, .pb-topic-detail__panel, .pb-entity-detail__head, .pb-entity-detail__panel) {
  padding: 16px;
  border-color: var(--dr-line);
  border-radius: 16px;
  background: var(--dr-surface);
  box-shadow: var(--dr-shadow);
}

.dr-theme .dr-main :is(.pb-topic-detail__crumb, .pb-entity-detail__crumb) {
  padding: 12px 14px;
  border-color: var(--dr-line);
  border-radius: 12px;
  background: var(--dr-surface);
  color: var(--dr-muted);
  font-size: 12px;
  box-shadow: none;
}

.dr-theme .dr-main :is(.pb-topic-detail__title, .pb-entity-detail__title) {
  color: var(--dr-text);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.dr-theme .dr-main :is(.pb-topic-detail__panel-title, .pb-entity-detail__panel-title) {
  color: var(--dr-text);
  font-size: 17px;
  line-height: 1.45;
}

.dr-theme .dr-main :is(.pb-topic-detail__pic, .pb-entity-detail__pic) {
  border-radius: 12px;
  background: var(--dr-fill);
}

.dr-theme .dr-main [data-component="topic_detail"] .pb-topic-detail__follow {
  min-height: 44px;
  border-color: var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent) !important;
}

.dr-theme .dr-main [data-component="topic_detail"] .pb-topic-detail__follow:is(:hover, .is_fav) {
  border-color: var(--dr-accent);
  background: var(--dr-accent);
  color: var(--dr-on-accent) !important;
}

.dr-theme .dr-main [data-component="topic_detail"] .pb-topic-detail__vod-sort-tab,
.dr-theme .dr-main .pb-live-cate-nav__item {
  min-height: 44px;
  border-color: var(--dr-line);
  background: var(--dr-surface);
  color: var(--dr-muted);
  font-size: 13px;
}

.dr-theme .dr-main [data-component="topic_detail"] .pb-topic-detail__vod-sort-tab.is-on,
.dr-theme .dr-main .pb-live-cate-nav__item.is-active {
  border-color: var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
}

.dr-theme:is([data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"]) .dr-main :is(.pb-entity-detail__cta, .pb-gbook-form__btn, .pb-gbook-empty__cta) {
  min-height: 44px;
  border: 1px solid var(--dr-gold-border);
  border-radius: 12px;
  background: linear-gradient(115deg, var(--dr-metal-light), var(--dr-accent) 52%, var(--dr-metal-dark));
  color: #241d11;
  box-shadow: inset 0 1px 0 var(--dr-highlight);
}

.dr-theme:is([data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"]) .dr-main :is(.pb-entity-detail__cta, .pb-gbook-form__btn, .pb-gbook-empty__cta):hover {
  background: linear-gradient(115deg, var(--dr-metal-light), var(--dr-accent) 65%, var(--dr-metal-dark));
  color: #241d11;
}

.dr-theme:is([data-dr-route="actor/detail"], [data-dr-route="role/detail"]) .dr-main .dr-person-hero > img {
  border-color: var(--dr-gold-border);
  background: var(--dr-fill);
  box-shadow: 0 0 0 5px var(--dr-accent-soft);
}

.dr-theme:is([data-dr-route="actor/detail"], [data-dr-route="role/detail"]) .dr-main .dr-person-intro {
  color: var(--dr-muted);
  line-height: 1.8;
}

.dr-theme:is([data-dr-route="actor/detail"], [data-dr-route="role/detail"]) .dr-main .dr-person-stats strong {
  color: var(--dr-accent);
  font-variant-numeric: tabular-nums;
}

/* Letter avatars use champagne contrast rather than inline rainbow swatches. */
.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-panel {
  border-color: var(--dr-line);
  border-radius: 16px;
  background: var(--dr-surface);
  box-shadow: var(--dr-shadow);
}

.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-compose__inner { padding: 16px; }
.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-panel--list { padding: 16px 16px 8px; }
.dr-theme[data-dr-route^="gbook/"] .dr-main :is(.pb-gbook-item__avatar, .pb-gbook-compose__avatar--letter) {
  border: 1px solid var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
}

.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-form__input {
  border-color: var(--dr-line);
  background: var(--dr-fill);
  color: var(--dr-text);
}

.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-form__input::placeholder {
  color: var(--dr-muted);
  opacity: 1;
}

.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-form__input:focus {
  border-color: var(--dr-accent);
  background: var(--dr-surface);
  box-shadow: 0 0 0 3px var(--dr-accent-soft);
}

.dr-theme[data-dr-route^="gbook/"] .dr-main .pb-gbook-item__reply {
  border-left-color: var(--dr-gold-border);
  border-radius: 10px;
  background: var(--dr-accent-soft);
}

.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-catalog {
  padding-block-start: calc(64px + env(safe-area-inset-top));
  background: var(--dr-bg);
}

.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-catalog > h1 { margin-bottom: 16px; }
.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-comment-form :is(textarea, input:not([type="hidden"])) {
  min-height: 44px;
  border: 1px solid var(--dr-line);
  border-radius: 10px;
  background: var(--dr-fill);
  color: var(--dr-text);
  font-size: 16px;
  line-height: 1.5;
}

.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-comment-form textarea { min-height: 112px; }
.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-comment-form :is(input, textarea)::placeholder {
  color: var(--dr-muted);
  opacity: 1;
}

.dr-theme[data-dr-route="gbook/report"] .dr-main .dr-comment-form button {
  min-height: 44px;
  border: 1px solid var(--dr-gold-border);
  border-radius: 12px;
  background: linear-gradient(115deg, var(--dr-metal-light), var(--dr-accent) 52%, var(--dr-metal-dark));
  color: #241d11;
  box-shadow: inset 0 1px 0 var(--dr-highlight);
}

/* Live media stays black; its surrounding panels follow the selected mode. */
.dr-theme .dr-main .pb-live-player__cinema { background: var(--dr-bg); }
.dr-theme[data-dr-route="live/play"] .dr-main:has(> .dr-floating-back) .pb-live-player__cinema-inner {
  padding-block-start: calc(60px + env(safe-area-inset-top));
}

.dr-theme .dr-main .pb-live-player__crumb-link,
.dr-theme .dr-main .pb-live-player__crumb-sep { color: var(--dr-muted); }
.dr-theme .dr-main .pb-live-player__crumb-cur { color: var(--dr-text); }
.dr-theme .dr-main .live-player__badge { background: #171717b8; }
.dr-theme .dr-main .live-player__fail { background: #090909d1; }
.dr-theme .dr-main :is(.pb-live-player__info, .live-player__lines, .live-player__bar) {
  border-color: var(--dr-line);
  border-radius: 14px;
  background: var(--dr-surface);
  box-shadow: var(--dr-shadow);
}

.dr-theme .dr-main :is(.pb-live-player__logo, .live-player__channel-logo) { background: var(--dr-fill); }
.dr-theme .dr-main :is(.live-player__bar-item, .live-player__channels-close) {
  background: var(--dr-fill);
  color: var(--dr-text);
}

.dr-theme .dr-main :is(.live-player__bar-item:hover, .live-player__bar-item--accent, .live-player__channel:hover) {
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
}

.dr-theme .dr-main .live-player__line {
  min-height: 44px;
  border-color: var(--dr-line);
  background: var(--dr-fill);
  color: var(--dr-muted);
}

.dr-theme .dr-main .live-player__line.is-on {
  border-color: var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
}

.dr-theme .dr-main .live-player__fail-btn {
  min-height: 44px;
  background: var(--dr-accent);
  color: var(--dr-on-accent);
}

.dr-theme .dr-main .live-player__channels-panel {
  border-left-color: var(--dr-line);
  background: var(--dr-surface);
  color: var(--dr-text);
  box-shadow: var(--dr-shadow);
}

.dr-theme .dr-main .live-player__channels-mask { background: #00000080; }
.dr-theme .dr-main .live-player__channels-head { border-bottom-color: var(--dr-line); }
.dr-theme .dr-main .live-player__channels-close { min-width: 44px; min-height: 44px; }
.dr-theme .dr-main .live-player__channel.is-cur {
  background: var(--dr-accent-soft);
  box-shadow: inset 0 0 0 1px var(--dr-gold-border);
}

.dr-theme .dr-main .live-player__channel-now {
  border: 1px solid var(--dr-gold-border);
  background: var(--dr-accent-soft);
  color: var(--dr-accent);
}

/* Empty and keyboard states use the page palette rather than orange defaults. */
.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main .pb-empty-state {
  border-style: solid;
  border-color: var(--dr-line);
  border-radius: 16px;
  background: var(--dr-surface);
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main :is(.pb-empty-state__cta, .bili-paging__arrow) {
  min-height: 44px;
}

.dr-theme:is([data-dr-route^="topic/"], [data-dr-route^="actor/"], [data-dr-route^="role/"], [data-dr-route^="website/"], [data-dr-route^="gbook/"], [data-dr-route^="live/"]) .dr-main :is(a, button, input, textarea, [role="button"]):focus-visible {
  outline: 2px solid var(--dr-accent);
  outline-offset: 3px;
}
