/* Presentation-only extension of the approved campaign dialogs.
   Legacy atlas rules contain !important: scoped overrides below deliberately
   resolve those rules without touching the approved dialogs or home controls. */
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) {
  --campaign-ink: #442b1c;
  --campaign-muted: #71563d;
  --campaign-line: #b99d74;
  --campaign-red: #943a2d;
  --campaign-font: 'Library WenKai', KaiTi, STKaiti, serif;
  position: fixed !important; inset: 0 !important; display: grid !important; place-items: center !important;
  padding: max(16px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom)) !important;
  background: rgb(28 23 17 / .74) !important; backdrop-filter: none !important;
  color: var(--campaign-ink) !important; font: 16px/1.65 var(--campaign-font) !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel).is-hidden { display: none !important; }
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) > :is(.home-library-card, .settings-card, .official-announcement-card, .rank-detail-shell) {
  position: relative !important; display: flex !important; flex-direction: column !important;
  width: min(100%, var(--campaign-width, 430px)) !important;
  height: auto !important; aspect-ratio: auto !important;
  max-height: min(var(--campaign-height, 720px), calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))) !important;
  min-height: 0 !important; padding: 8px 4px 28px !important;
  border: 20px solid transparent !important; border-radius: 0 !important;
  border-image: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/campaign-ui-v3/panel-blank.png') 65 60 65 60 / 20px / 0 stretch !important;
  background: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/campaign-ui-v3/panel-blank.png') center / 150% auto no-repeat !important;
  box-shadow: 0 12px 25px rgb(18 13 8 / .42) !important;
  overflow: hidden !important; color: var(--campaign-ink) !important;
  font: 16px/1.65 var(--campaign-font) !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(h2, .settings-heading > b) {
  flex: none !important; margin: 0 44px 20px 0 !important; padding: 4px 0 18px !important;
  min-height: 56px !important; border: 0 !important; border-bottom: 1px solid var(--campaign-line) !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important;
  color: var(--campaign-ink) !important; font: 700 25px/1.4 var(--campaign-font) !important;
  letter-spacing: .03em !important; text-align: left !important; text-wrap: balance !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(.daily-reward-close, #close-settings) {
  position: absolute !important; top: 8px !important; right: 4px !important;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/home-dialog-art-v2/close.png') center / 100% 100% no-repeat !important;
  box-shadow: none !important; font-size: 0 !important; transform: none !important; z-index: 5 !important;
  cursor: pointer !important; touch-action: manipulation !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(button, input, select, [tabindex]):focus-visible {
  outline: 2px solid #265d74 !important; outline-offset: 3px !important;
}
/* Keep the existing focus-driven profile formatting and instant close path.
   Highlight the circular artwork, not the button's square hit target. */
#home-profile-panel.campaign-secondary #home-profile-close:focus {
  outline: none !important;
}
#home-profile-panel.campaign-secondary #home-profile-close:focus-visible {
  filter: brightness(1.18) !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel) :is(.home-library-emblem, .official-announcement-emblem) { display: none !important; }

/* Profile: actual current avatar stays live, with a generous centered stage. */
#home-profile-panel.campaign-secondary { --campaign-height: 650px; --campaign-width: 380px; }
#settings-panel.campaign-secondary { --campaign-height: 520px; --campaign-width: 420px; }
#official-announcement-panel.campaign-secondary { --campaign-height: 660px; --campaign-width: 480px; }
#leaderboard-panel.campaign-secondary { --campaign-height: 700px; --campaign-width: 480px; }
#rank-detail-panel.campaign-secondary { --campaign-height: 820px; --campaign-width: 500px; }
#home-profile-panel.campaign-secondary .home-profile-sheet {
  flex: 1 !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important;
  gap: 24px !important; padding: 0 0 24px !important; overflow: auto !important; text-align: center !important;
  border: 0 !important; background: transparent !important; box-shadow: none !important;
}
#home-profile-panel.campaign-secondary #home-profile-sheet-avatar {
  flex: none !important; width: 140px !important; height: 160px !important; margin: 0 auto !important; background-size: contain !important;
  border: 2px solid #98754b !important; border-radius: 4px !important; background-color: rgb(255 248 224 / .3) !important;
  box-shadow: inset 0 0 0 3px #dfc59b, 0 4px 6px #442b1c25 !important;
}
#home-profile-panel.campaign-secondary .home-profile-sheet > div { display: grid !important; gap: 14px !important; }
#home-profile-panel.campaign-secondary #home-profile-sheet-name { color: var(--campaign-ink) !important; font: 700 30px/1.4 var(--campaign-font) !important; }
#home-profile-panel.campaign-secondary .home-profile-sheet small { color: var(--campaign-muted) !important; font: 16px/1.8 var(--campaign-font) !important; white-space: normal !important; }

/* Settings: no changes to slider values, persistence, audio or events. */
#settings-panel.campaign-secondary .settings-heading { display: block !important; flex: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; }
#settings-panel.campaign-secondary .settings-heading > b { display: block !important; }
#settings-panel.campaign-secondary .settings-controls { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; display: grid !important; align-content: center !important; gap: 28px !important; }
#settings-panel.campaign-secondary .settings-controls label { display: grid !important; gap: 16px !important; font: 700 19px/1.5 var(--campaign-font) !important; color: var(--campaign-ink) !important; }
#settings-panel.campaign-secondary input[type='range'] { width: 100% !important; height: 32px !important; margin: 0 !important; accent-color: #943a2d !important; cursor: pointer !important; }
#settings-panel.campaign-secondary .checkbox-row { display: flex !important; align-items: center !important; gap: 12px !important; min-height: 48px !important; padding: 16px 0 4px !important; margin: 12px 0 0 !important; border-top: 1px solid var(--campaign-line) !important; color: var(--campaign-ink) !important; font: 17px/1.5 var(--campaign-font) !important; }
#settings-panel.campaign-secondary input[type='checkbox'] { width: 22px !important; height: 22px !important; accent-color: #943a2d !important; }

/* Announcement retains its full live text and date, with one scroll body. */
#official-announcement-panel.campaign-secondary #official-announcement-title { margin-bottom: 4px !important; }
#official-announcement-panel.campaign-secondary #official-announcement-date { flex: none !important; margin-bottom: 16px !important; color: var(--campaign-muted) !important; font: 14px/1.5 var(--campaign-font) !important; text-align: left !important; }
#official-announcement-panel.campaign-secondary .official-announcement-content { flex: 1 !important; min-height: 0 !important; max-height: none !important; overflow-y: auto !important; padding: 0 4px 12px 0 !important; color: var(--campaign-ink) !important; font: 17px/1.9 var(--campaign-font) !important; background: transparent !important; border: 0 !important; }
#official-announcement-panel.campaign-secondary .official-announcement-content p { margin: 0 0 18px !important; }

/* Leaderboards: two existing boards, no invented tabs or hidden data. */
#leaderboard-panel.campaign-secondary .leaderboard-board { flex: 1 1 0 !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; margin: 0 0 20px !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
#leaderboard-panel.campaign-secondary .leaderboard-board h3 { flex: none !important; margin: 0 0 10px !important; color: var(--campaign-red) !important; font: 700 20px/1.4 var(--campaign-font) !important; }
#leaderboard-panel.campaign-secondary .home-library-list { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
#leaderboard-panel.campaign-secondary .home-library-list li { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-height: 48px !important; padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid var(--campaign-line) !important; border-radius: 0 !important; background: transparent !important; color: var(--campaign-ink) !important; font: 16px/1.6 var(--campaign-font) !important; }
#leaderboard-panel.campaign-secondary .home-library-list b { color: var(--campaign-red) !important; }

/* Rank: one page with a fixed heading and an explicitly sized content grid. */
#rank-detail-panel.campaign-secondary .rank-detail-header { flex: none !important; min-height: 56px !important; padding: 0 !important; margin: 0 0 12px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-heading { display: block !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-heading::before,
#rank-detail-panel.campaign-secondary .rank-booklet-v2-heading::after { display: none !important; }
#rank-detail-panel.campaign-secondary .rank-detail-card { flex: 1 !important; min-height: 0 !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-current { background: transparent !important; border: 0 !important; padding: 0 0 20px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-journey { background: transparent !important; border: 0 !important; border-top: 1px solid var(--campaign-line) !important; padding-top: 20px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-rules { padding-top: 20px !important; }

@media (max-width: 360px), (max-height: 600px) {
  .campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) > :is(.home-library-card, .settings-card, .official-announcement-card, .rank-detail-shell) { padding: 6px 2px 20px !important; }
  .campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(h2, .settings-heading > b) { font-size: 21px !important; margin-bottom: 12px !important; }
  .campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(.daily-reward-close, #close-settings) { top: 8px !important; right: 4px !important; }
  #settings-panel.campaign-secondary .settings-controls { gap: 12px !important; }
  #home-profile-panel.campaign-secondary #home-profile-sheet-avatar { width: 96px !important; height: 110px !important; }
  #home-profile-panel.campaign-secondary .home-profile-sheet { gap: 14px !important; }
}

/* Final legacy-conflict resolution, based on the frozen live DOM. */
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(h2, .settings-heading)::before,
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(h2, .settings-heading)::after { display: none !important; }
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) > :is(.home-library-card, .settings-card, .official-announcement-card, .rank-detail-shell) { outline: none !important; background-size: 190% auto !important; }
#settings-panel.campaign-secondary .settings-controls label { padding: 0 !important; min-height: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; gap: 12px !important; }
#settings-panel.campaign-secondary .settings-controls { gap: 18px !important; }
#settings-panel.campaign-secondary .checkbox-row { background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-inline: 0 !important; border-bottom: 0 !important; }
#home-profile-panel.campaign-secondary .home-profile-sheet { gap: 18px !important; padding-bottom: 12px !important; border-radius: 0 !important; }
#home-profile-panel.campaign-secondary .home-profile-sheet > div { gap: 12px !important; }
#home-profile-panel.campaign-secondary .home-profile-sheet small { font-size: 15px !important; word-break: keep-all !important; overflow-wrap: normal !important; text-wrap: balance; }

/* Coherent text roles, confined to operational pages; catalogue art is untouched. */
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(p, small, label, span, time, li, input, select) {
  font-family: var(--campaign-font) !important;
  font-weight: 400 !important;
}
.campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) :is(h2, h3, h4, b, strong, button) {
  font-family: var(--campaign-font) !important;
  font-weight: 700 !important;
}
/* Announcement and leaderboard share the review folio's exact outer dimensions. */
.campaign-secondary:is(#official-announcement-panel, #leaderboard-panel) > :is(.official-announcement-card, .home-library-card) {
  max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  width: min(calc(100vw - 28px), 430px, calc((100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 478 / 771)) !important;
  height: auto !important; aspect-ratio: 478 / 771 !important;
  flex-shrink: 0 !important;
}
#leaderboard-panel.campaign-secondary .leaderboard-board { flex: 1 1 0 !important; }

/* Single-page rank booklet: allocate all four chapters and the reward rail. */
#rank-detail-panel.campaign-secondary > .rank-detail-shell { height: min(820px, calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))) !important; padding-bottom: 16px !important; }
#rank-detail-panel.campaign-secondary .rank-detail-header { height: auto !important; min-height: 42px !important; margin-bottom: 10px !important; }
#rank-detail-panel.campaign-secondary .rank-detail-header h2 { min-height: 35px !important; margin: 0 44px 0 0 !important; padding: 0 0 7px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-content {
  display: grid !important; grid-template-rows: auto minmax(0, 1fr) auto !important; gap: 8px !important;
  overflow: hidden !important; scrollbar-width: none !important;
}
#rank-detail-panel.campaign-secondary .rank-booklet-v2-current {
  padding: 0 0 6px !important; row-gap: 2px !important;
  grid-template-columns: 72px minmax(0, 1fr) minmax(94px, 1fr) !important;
  column-gap: 6px !important;
}
#rank-detail-panel.campaign-secondary :is(.rank-booklet-v2-name, .rank-booklet-v2-state, .rank-booklet-v2-stars, .rank-booklet-v2-progress-meta, .rank-booklet-v2-tip) {
  position: static !important; transform: none !important; height: auto !important;
  min-width: 0 !important; white-space: normal !important;
}
#rank-detail-panel.campaign-secondary .rank-booklet-v2-badge { width: 72px !important; height: 72px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-state { font-size: 12px !important; line-height: 1.4 !important; overflow-wrap: anywhere !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-stars { flex-wrap: nowrap !important; gap: 3px !important; font-size: 14px !important; line-height: 1.3 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-progress-meta { margin-top: 4px !important; font-size: 12px !important; line-height: 1.4 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-tip { margin-top: 2px !important; font-size: 12px !important; line-height: 1.4 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-journey { padding-top: 8px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-route { grid-template-rows: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; padding-top: 8px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-chapter { min-height: 0 !important; padding-block: 4px !important; grid-template-columns: 72px minmax(0, 1fr) !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-track { height: 100% !important; align-content: stretch !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-node { height: 100% !important; grid-template-rows: minmax(0, 1fr) 18px 14px !important; align-content: stretch !important; gap: 0 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-node-art { width: clamp(26px, calc((100dvh - 600px) / 4), 54px) !important; height: auto !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-node-icon { width: 120% !important; height: 120% !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-node :is(b, small) { position: static !important; margin-top: 0 !important; height: auto !important; line-height: 1.3 !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-node b { font-size: 12px !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-track::before { top: calc((100% - 32px) / 2) !important; }
#rank-detail-panel.campaign-secondary .rank-booklet-v2-rules { margin-top: 0 !important; padding-top: 8px !important; font: 400 12px/1.4 var(--campaign-font) !important; }
@media (max-height: 700px) {
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-content { gap: 6px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-name { font-size: 20px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-current { row-gap: 0 !important; padding-bottom: 2px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-route { gap: 6px !important; padding-top: 4px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-chapter { padding-block: 2px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-journey { padding-top: 4px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-current { grid-template-columns: 56px minmax(0, 1fr) 84px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-badge { width: 56px !important; height: 56px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-stars { font-size: 13px !important; gap: 2px !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-track { grid-template-rows: minmax(0, 1fr) !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-node { min-height: 0 !important; grid-template-columns: 26px minmax(0, 1fr) !important; grid-template-rows: minmax(0, 1fr) 14px !important; align-items: center !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-node-art { grid-column: 1 !important; grid-row: 1 !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-node b { grid-column: 2 !important; grid-row: 1 !important; }
  #rank-detail-panel.campaign-secondary .rank-booklet-v2-node small { grid-column: 1 / -1 !important; grid-row: 2 !important; }
}

/* approved-reference-close-only: The close mark is already painted into each
   approved panel. Keep that one visual and align a real 44px native hit area
   with its centre. Never draw a second image or glyph over the source mark. */
#home-screen ~ :is(#daily-reward-panel, #stamina-panel, #home-review-panel).campaign-dialog--reference .daily-reward-close {
  top: calc(8.05% - 22px) !important; right: calc(12.55% - 22px) !important;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  border: 0 !important; background: none !important; box-shadow: none !important;
  color: transparent !important; font-size: 0 !important; transform: none !important;
}
#home-screen ~ :is(#daily-reward-panel, #stamina-panel, #home-review-panel).campaign-dialog--reference .daily-reward-close::before,
#home-screen ~ :is(#daily-reward-panel, #stamina-panel, #home-review-panel).campaign-dialog--reference .daily-reward-close::after { display: none !important; }
#home-screen ~ :is(#daily-reward-panel, #stamina-panel, #home-review-panel).campaign-dialog--reference .daily-reward-close:focus-visible { outline: 2px solid #265d74 !important; outline-offset: 2px !important; border-radius: 50% !important; }
@media (hover: hover) {
}
@media (prefers-reduced-motion: reduce) {
  .campaign-secondary:is(#home-profile-panel, #settings-panel, #official-announcement-panel, #leaderboard-panel, #rank-detail-panel) * { scroll-behavior: auto !important; transition: none !important; }
}
#home-profile-panel.campaign-secondary .campaign-profile-portrait { position: relative !important; overflow: hidden !important; background-image: none !important; }
#home-profile-panel.campaign-secondary .campaign-profile-figure { position: absolute !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; transform: none !important; object-fit: fill !important; }
#home-profile-panel.campaign-secondary .campaign-profile-avatar-image { inset: 2% !important; width: 96% !important; height: 96% !important; object-fit: contain !important; object-position: center !important; }
#home-profile-panel.campaign-secondary #home-profile-sheet-rank { display: grid !important; gap: 10px !important; width: 100% !important; padding: 14px 0 !important; border-block: 1px solid var(--campaign-line); }
#home-profile-panel.campaign-secondary #home-profile-sheet-record { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; width: 100% !important; padding: 12px 0 !important; }
#home-profile-panel.campaign-secondary .campaign-profile-fact { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; min-width: 0 !important; }
#home-profile-panel.campaign-secondary .campaign-profile-fact > span { color: var(--campaign-muted); font: 14px/1.5 var(--campaign-font) !important; white-space: nowrap !important; }
#home-profile-panel.campaign-secondary .campaign-profile-fact > b { color: var(--campaign-ink); font: 700 21px/1.5 var(--campaign-font) !important; white-space: nowrap !important; }
#home-profile-panel.campaign-secondary #home-profile-sheet-rank .campaign-profile-fact { flex-direction: row !important; justify-content: space-between !important; }
#home-profile-panel.campaign-secondary #home-profile-sheet-rank .campaign-profile-fact > b { font-size: 18px !important; }
#settings-panel.campaign-secondary .settings-card { width: min(94vw, 390px) !important; height: auto !important; }
#settings-panel.campaign-secondary .settings-controls { flex: none !important; overflow: visible !important; gap: 14px !important; }
#settings-panel.campaign-secondary .settings-controls label { font-size: 17px !important; gap: 10px !important; }
#settings-panel.campaign-secondary input[type='range'] { height: 28px !important; }
#settings-panel.campaign-secondary .settings-heading b::before,
#settings-panel.campaign-secondary .settings-heading b::after { display: none !important; }

/* Settings modal: keep copy inside the parchment's safe inset and remove the
   square browser focus frame from the illustrated close control. */
#settings-panel.campaign-secondary > .settings-card {
  box-sizing: border-box !important;
  padding: 14px 14px 18px !important;
  overflow: hidden !important;
}
#settings-panel.campaign-secondary .settings-heading {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#settings-panel.campaign-secondary .settings-heading > #settings-title {
  min-width: 0 !important;
  margin: 0 50px 12px 0 !important;
  padding: 4px 0 12px !important;
  overflow-wrap: anywhere !important;
}
#settings-panel.campaign-secondary .settings-controls,
#settings-panel.campaign-secondary .settings-controls > label,
#settings-panel.campaign-secondary > .settings-card > .checkbox-row {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#settings-panel.campaign-secondary .settings-controls > label {
  margin: 0 !important;
  overflow-wrap: anywhere !important;
}
#settings-panel.campaign-secondary input[type='range'] {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#settings-panel.campaign-secondary > .settings-card > .checkbox-row {
  flex-wrap: wrap !important;
  margin: 12px 0 0 !important;
  padding: 14px 0 4px !important;
  overflow-wrap: anywhere !important;
}
#settings-panel.campaign-secondary #close-settings:focus-visible,
#home-screen ~ #settings-panel.campaign-secondary #close-settings:focus-visible,
#home-settings:focus-visible,
#settings-button:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  filter: brightness(1.12) !important;
}
/* The approved settings tile embeds its square frame in the PNG itself.
   Trim only that outer rim; keep the original gear and lettering artwork. */
#home-screen.home-approved-ui #home-settings {
  clip-path: inset(5% 7% 5% 7%) !important;
}

/* Catalogue contract: keep every baseline width/height/padding/grid/portrait.
   Card contours and materials may improve; dimensions and art stay untouched. */
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) { background: rgb(28 23 17 / .74); backdrop-filter: none; }
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) > .library-atlas-card {
  border-color: transparent !important; border-radius: 0 !important;
  border-image: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/campaign-ui-v3/panel-blank.png') 65 60 65 60 / 14px / 0 stretch !important;
  background: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/campaign-ui-v3/panel-blank.png') center / 190% auto no-repeat !important;
  box-shadow: 0 12px 25px rgb(18 13 8 / .42) !important;
}
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) > .library-atlas-card::before,
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) > .library-atlas-card::after { display: none !important; }
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) .library-atlas-grid { background-color: #e5cfaa !important; border-color: #a28155 !important; }
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) .library-single-title { background: linear-gradient(#f4e6c8, #e3caa0) !important; color: #442b1c !important; border-color: #a28155 !important; box-shadow: inset 0 1px #fff4d7, inset 0 -1px #a28155 !important; }
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) .library-atlas-entry { border-radius: 5px !important; box-shadow: inset 0 1px #fff6df, inset 0 -1px rgb(86 52 27 / .24), 0 2px 3px rgb(55 34 20 / .16) !important; }
#general-library-panel.campaign-secondary .general-atlas-entry { background: #f3e7cd !important; }
#weapon-library-panel.campaign-secondary .weapon-atlas-entry--red { background: #f2dccc !important; }
#weapon-library-panel.campaign-secondary .weapon-atlas-entry--blue { background: #d8e5e2 !important; }
#item-library-panel.campaign-secondary .item-atlas-entry:not(.is-equipped) { background: #f2e8d5 !important; }
#item-library-panel.campaign-secondary .item-atlas-entry.is-equipped { background: #f7e8bc !important; }
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) .daily-reward-close {
  position: absolute !important; top: 14px !important; right: 14px !important;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: url('https://sgcdn.gxqlove.top/zhimajiangjun/static-20261103-9e2f00eadfcd/assets/home-dialog-art-v2/close.png') center / 100% 100% no-repeat !important;
  font-size: 0 !important; box-shadow: none !important; touch-action: manipulation; z-index: 5;
}
.campaign-secondary:is(#general-library-panel, #weapon-library-panel, #item-library-panel) .daily-reward-close:focus-visible { outline: 2px solid #265d74 !important; outline-offset: 2px; }

