/* Crownlands game-wide medieval palette ----------------------------------
   This is the final interface-color layer. It intentionally leaves map,
   objective, officer, gear, and building artwork untouched. */

:root {
  color-scheme: light;

  --cl-bg: #e0cea8;
  --cl-panel: #ede1c2;
  --cl-panel-secondary: #e4d5b2;
  --cl-panel-raised: #f4ead1;
  --cl-panel-inset: #e0cea8;
  --cl-input-bg: #f4ead1;
  --cl-header-rule: #84694a;
  --cl-tab-selected: #efe3c7;

  --cl-burgundy: #72363a;
  --cl-burgundy-dark: #542728;
  --cl-brass: #9b8052;
  --cl-gold: #b58a3b;
  --cl-gold-highlight: #c69a45;
  --cl-gold-bonus: #a87624;

  --cl-text: #352b20;
  --cl-text-secondary: #665239;
  --cl-text-muted: #705d45;
  --cl-text-light: #f4e6c5;
  --cl-text-bright: #fff8e8;
  --cl-border-dark: #542f24;
  --cl-border-faded: #b19a71;

  --cl-player-owned: #b68a43;
  --cl-main-city: #454b54;
  --cl-clan: #667a4a;
  --cl-enemy-weaker: #c9786f;
  --cl-enemy-equal: #b3261e;
  --cl-enemy-stronger: #4b1418;
  --cl-neutral: #77736a;

  --cl-green: #667a4a;
  --cl-success: #64754a;
  --cl-blue: #4d6575;
  --cl-info: #526a78;
  --cl-warning: #a46e32;
  --cl-red: #8a3934;
  --cl-critical: #9b302a;
  --cl-negative: #91443d;
  --cl-purple: #66536f;
  --cl-purple-light: #786581;

  --cl-scout-top: #a63b30;
  --cl-scout-bottom: #4f1515;
  --cl-scout-border: #d66b64;
  --cl-disabled-bg: #c7b99b;
  --cl-disabled-border: #a59070;
  --cl-disabled-text: #8c8373;

  --cl-panel-shadow: inset 0 0 0 1px rgba(255, 248, 232, .34), 0 13px 32px rgba(47, 33, 19, .34);
  --cl-card-shadow: none;
  --cl-header-bg: var(--cl-burgundy);
  --cl-header-hover: var(--cl-burgundy-dark);
  --cl-panel-bg: var(--cl-panel);
  --cl-card-bg: var(--cl-panel-raised);
  --cl-inset-bg: var(--cl-panel-inset);

  /* Compatibility aliases used throughout the existing interface. */
  --cl-profile-canvas: var(--cl-bg);
  --cl-profile-surface: var(--cl-panel);
  --cl-profile-surface-raised: var(--cl-panel-secondary);
  --cl-profile-surface-soft: var(--cl-panel-raised);
  --cl-profile-border: var(--cl-brass);
  --cl-profile-border-bright: var(--cl-gold-highlight);
  --cl-profile-ivory: var(--cl-text);
  --cl-profile-muted: var(--cl-text-secondary);
  --cl-profile-soft: var(--cl-text-muted);
  --cl-profile-gold: var(--cl-burgundy);
  --cl-profile-gold-deep: var(--cl-burgundy-dark);
  --cl-profile-danger: var(--cl-red);
  --cl-profile-danger-deep: var(--cl-burgundy-dark);
  --cl-profile-success: var(--cl-success);
  --cl-profile-success-deep: #445032;
  --cl-soot: var(--cl-border-dark);
  --cl-charcoal: var(--cl-text);
  --cl-iron: var(--cl-panel-raised);
  --cl-iron-dark: var(--cl-panel-inset);
  --cl-timber: var(--cl-panel-secondary);
  --cl-timber-dark: var(--cl-panel-inset);
  --cl-parchment: var(--cl-panel);
  --cl-aged-parchment: var(--cl-panel-secondary);
  --cl-ivory: var(--cl-text-light);
  --cl-ink: var(--cl-text);
  --cl-muted-brass: var(--cl-brass);
  --cl-panel-edge: var(--cl-brass);
  --cl-paper-line: rgba(153, 118, 67, .36);
  --cl-ledger-line: rgba(84, 47, 36, .2);
  --panel: var(--cl-panel);
  --panel2: var(--cl-panel-secondary);
  --line: rgba(153, 118, 67, .58);
  --ink: var(--cl-text);
  --muted: var(--cl-text-secondary);
  --gold: var(--cl-gold);
  --blue: var(--cl-blue);
  --blue2: var(--cl-info);
  --ui-midnight: var(--cl-border-dark);
  --ui-navy: var(--cl-burgundy-dark);
  --ui-navy-raised: var(--cl-burgundy);
  --ui-navy-soft: var(--cl-blue);
  --ui-gold-dark: var(--cl-brass);
  --ui-gold: var(--cl-gold);
  --ui-gold-bright: var(--cl-gold-highlight);
  --ui-parchment: var(--cl-panel);
  --ui-border: var(--cl-brass);
  --ui-border-soft: var(--cl-border-faded);
  --ui-blue-border: var(--cl-brass);
  --ui-surface: var(--cl-panel-bg);
  --ui-surface-raised: var(--cl-card-bg);
  --cl-parchment-sheet: var(--cl-panel-bg);
  --cl-parchment-royal: var(--cl-card-bg);
  --cl-timber-panel: var(--cl-card-bg);
  --cl-iron-panel: var(--cl-inset-bg);
  --cl-indigo-panel: var(--cl-card-bg);
  --cl-readable-paper: var(--cl-text);
  --cl-readable-paper-strong: var(--cl-text);
  --cl-readable-paper-muted: var(--cl-text-secondary);
  --cl-readable-paper-soft: var(--cl-text-muted);
  --cl-readable-dark: var(--cl-text-light);
  --cl-readable-dark-strong: var(--cl-text-bright);
  --cl-readable-dark-muted: var(--cl-text-light);
  --cl-readable-dark-soft: var(--cl-panel-secondary);
  --cl-readable-gold-paper: var(--cl-gold-bonus);
  --cl-readable-gold-dark: var(--cl-gold-highlight);
  --cl-paper-separator: rgba(84, 47, 36, .22);
  --cl-contrast-paper: var(--cl-panel);
  --cl-contrast-paper-light: var(--cl-panel-secondary);
  --cl-contrast-paper-deep: var(--cl-panel-inset);
  --cl-contrast-ink: var(--cl-text);
  --cl-contrast-ink-muted: var(--cl-text-secondary);
  --cl-contrast-border: var(--cl-brass);
  --cl-tab-unselected-bg: var(--cl-panel-secondary);
  --cl-tab-unselected-text: var(--cl-text-secondary);
  --cl-tab-selected-bg: var(--cl-tab-selected);
  --cl-tab-selected-text: var(--cl-burgundy);
  --cl-paper-surface-text: var(--cl-text);
  --cl-dark-surface-text: var(--cl-text-light);
}

body {
  color: var(--cl-text);
}

.map-loading-panel .map-loading-label {
  color: var(--cl-text) !important;
  text-shadow: none;
}

:is(.setup-card, .commander-panel, .profile-screen, .modal .modal-card)::before {
  border-color: rgba(153, 118, 67, .44) !important;
}

/* Shared legacy title geometry; appearance belongs to crownlands-theme. */
.modal .modal-card > h2 {
  width: auto !important;
  margin: -.1rem -.1rem .45rem !important;
  padding: .5rem .7rem !important;
  border: 1px solid var(--cl-brass) !important;
  clip-path: none !important;
}

/* Shared cards: Profile, Clan, rankings, city list, inventory, reports,
   rewards, missions, season, objectives, reinforcements, and realm activity. */
:is(
  .profile-settings-section,
  .audio-channel-card,
  .kingdom-stat,
  .profile-achievement-summary,
  .profile-achievement-summary-grid > div,
  .profile-notification-row,
  .profile-skill-summary > div,
  .profile-skill-reset,
  .profile-skill-list .skill-row,
  .skill-preset-panel,
  .skill-preset-detail,
  .skill-preset-allocation-group,
  .shop-balance,
  .shop-rewarded-section,
  .shop-item,
  .inventory-selection,
  .city-list-summary,
  .city-list-row,
  .city-list-empty,
  .island-switch-row,
  .leaderboard-toolbar,
  .leaderboard-empty,
  .battle-report-card,
  .battle-report-empty,
  .battle-report-detail-head,
  .battle-report-detail-grid > div,
  .battle-visual-target,
  .battle-visual-rule,
  .battle-forecast-changes,
  .battle-visual-section,
  .battle-visual-wall,
  .battle-visual-rewards,
  .incoming-attack-summary,
  .incoming-attack-card,
  .incoming-attack-empty,
  .outgoing-attack-summary,
  .outgoing-attack-card,
  .active-objective-card,
  .held-camp-operation-card,
  .held-stronghold-operation-card,
  .reinforcement-operation-card,
  .holding-reinforcement-panel,
  .holding-reinforcement-row,
  .scout-report-city,
  .scout-report-overview > div,
  .scout-defense-breakdown,
  .scout-breakdown-row,
  .scout-skill-list,
  .scouted-report-route > div,
  .scouted-report-time,
  .scouted-report-section,
  .scouted-report-metric,
  .scout-attempt-explanation,
  .troop-route-city,
  .troop-slider-control,
  .troop-slider-preview > div,
  .send-confirm-card,
  .send-outcome,
  .city-stat-panel,
  .stat-wide,
  .stat-chip,
  .main-city-action-panel,
  .city-level-up-panel,
  .relinquish-city-action-panel,
  .camp-info-tab-panel,
  .camp-public-status > div,
  .gold-camp-info-grid > div,
  .gold-camp-description,
  .camp-reward-overview > div,
  .camp-reward-row,
  .relic-drop-row,
  .deed-camp-condition,
  .deed-camp-history-row,
  .citadel-reign-heading,
  .citadel-reign-row,
  .citadel-reign-note,
  .citadel-reign-empty,
  .clan-panel,
  .clan-card,
  .clan-hero,
  .clan-create-card,
  .clan-discovery,
  .clan-roster-panel,
  .clan-gift-panel,
  .clan-quest-panel,
  .clan-social-card,
  .clan-rename-card,
  .clan-list-row,
  .clan-member-row,
  .clan-applications article,
  .clan-rally-card,
  .clan-quest-card,
  .clan-objective-card,
  .public-profile-section,
  .public-profile-location,
  .public-profile-clan,
  .public-clan-details dl div,
  .public-clan-member,
  .daily-reward-panel,
  .daily-reward-card,
  .daily-reward-loading,
  .daily-reward-error,
  .daily-mission-row,
  .daily-mission-detail-stat,
  .daily-mission-recommendation,
  .seasonal-achievement-panel,
  .seasonal-achievement-hero,
  .seasonal-achievement-row,
  .seasonal-achievement-details,
  .offline-reward-grid > div,
  .offline-lost-cities,
  .level-up-reward-card,
  .level-up-reward-item,
  .patch-notes-intro,
  .patch-notes-release-list article,
  .realm-activity-card,
  .realm-activity-proclamation,
  .achievement-card,
  .reward-card,
  .mission-card,
  .season-card
) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-card-bg) !important;
  box-shadow: var(--cl-card-shadow) !important;
}

/* Nested and recessed regions. */
:is(
  .profile-skill-summary,
  .skill-preset-allocation,
  .shop-items,
  .inventory-grid,
  .battle-report-detail-grid,
  .battle-visual-troops,
  .scout-report-overview,
  .troop-slider-preview,
  .camp-info-body,
  .gold-camp-info-grid,
  .camp-reward-overview,
  .public-clan-details dl,
  .offline-reward-grid,
  .daily-missions-list,
  .seasonal-achievement-list,
  .realm-activity-list,
  .common-gear-inventory-strip
) {
  color: var(--cl-text) !important;
  border-color: var(--cl-border-faded) !important;
  background: var(--cl-inset-bg) !important;
}

/* Text hierarchy on parchment. */
:is(.setup-card, .online-login, .login-game-info, .commander-panel, .profile-screen, .modal:where(:not(.leaderboard-modal)) .modal-card)
  :is(h1, h2, h3, h4, legend, .profile-section-heading h3):not(:where(.clan-shield-editor[data-heraldry-editor-version="2"] *)) {
  color: var(--cl-burgundy) !important;
  text-shadow: none !important;
}

:is(.setup-card, .online-login, .login-game-info, .commander-panel, .profile-screen, .modal:where(:not(.leaderboard-modal)) .modal-card)
  :is(strong, b, output, .player-name-link, .clan-name-link):not(:where(.clan-shield-editor[data-heraldry-editor-version="2"] *)) {
  color: var(--cl-text) !important;
  text-shadow: none !important;
}

:is(.setup-card, .online-login, .login-game-info, .commander-panel, .profile-screen, .modal:where(:not(.leaderboard-modal, .island-switcher-modal, .battle-report-modal)) .modal-card)
  :is(p, li, dd, dt, label, span:not(.flag-symbol), small, em):not(:where(.clan-shield-editor[data-heraldry-editor-version="2"] *)) {
  color: var(--cl-text-secondary) !important;
  opacity: 1;
  text-shadow: none !important;
}

:is(
  .profile-section-heading span,
  .settings-section-header span,
  .realm-activity-card-head strong,
  .daily-missions-heading h3,
  .seasonal-achievement-heading h3,
  .camp-info-heading,
  .citadel-reign-heading h3
) {
  color: var(--cl-burgundy) !important;
}

:is(.player-name-link, .clan-name-link, .public-profile-clan-link, .deed-history-player-link) {
  color: var(--cl-burgundy) !important;
  background: transparent !important;
  text-decoration-color: var(--cl-brass) !important;
}

:is(.profile-production-bonus, .production-bonus, .economy-bonus, .bonus-value) {
  color: var(--cl-gold-bonus) !important;
}

/* Form controls. */
:is(.setup-card, .online-login, .login-game-info, .commander-panel, .profile-screen, .modal .modal-card)
  :is(input:not([type="range"]):not([type="color"]), select, textarea),
:is(input:not([type="range"]):not([type="color"]), select, textarea).crownlands-input {
  color: var(--cl-text) !important;
  caret-color: var(--cl-burgundy);
  border-color: var(--cl-border-faded) !important;
  background: var(--cl-input-bg) !important;
  box-shadow: inset 0 1px 4px rgba(84, 47, 36, .18) !important;
}

:is(.setup-card, .online-login, .login-game-info, .commander-panel, .profile-screen, .modal .modal-card)
  :is(input, textarea)::placeholder {
  color: var(--cl-text-muted) !important;
  opacity: 1;
}

:is(input, select, textarea):focus {
  border-color: var(--cl-brass) !important;
}

input[type="range"] {
  accent-color: var(--cl-burgundy);
}

/* HUD and compact persistent controls. */
:is(.profile-gold, .resource-pill, .hud-btn, .profile-rank-btn, .main-city-return, .effect-status-badge) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-header-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 248, 232, .16), 0 4px 9px rgba(47, 33, 19, .34) !important;
}

.bottom-nav .report-nav-btn {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: #d8c59f !important;
}

.bottom-nav .report-nav-btn :is(.nav-btn-heading, .nav-btn-label, .nav-btn-count, .report-icon, .cl-icon) {
  color: var(--cl-text) !important;
  text-shadow: none !important;
}

:is(.bottom-nav .outgoing-attack-btn, .outgoing-attack-btn) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-blue) !important;
}

:is(.bottom-nav .incoming-attack-btn, .incoming-attack-btn) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-red) !important;
}

:is(.outgoing-attack-btn, .incoming-attack-btn) :is(span, strong, small, .cl-icon) {
  color: inherit !important;
  text-shadow: none !important;
}

/* Notifications and announcements retain functional meaning. */
.realm-announcement-banner,
.toast,
.toast.map-location-announcement {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-header-bg) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 248, 232, .14), 0 10px 24px rgba(47, 33, 19, .4) !important;
}

:is(.realm-announcement-banner, .toast) :is(strong, b, span, small, p) {
  color: inherit !important;
  text-shadow: none !important;
}

.toast.info { background: var(--cl-info) !important; }
.toast.success { color: var(--cl-text-bright) !important; background: var(--cl-success) !important; }
.toast.warning { background: var(--cl-warning) !important; }
.toast.error { background: var(--cl-red) !important; }
.toast.critical { background: var(--cl-critical) !important; }
.toast.reward { background: var(--cl-gold) !important; color: var(--cl-text) !important; }

/* Shared parchment reports and semantic result seals. */
.battle-report-card,
.battle-report-card.scout,
.battle-report-card.victory,
.battle-report-card.defeat {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-card-bg) !important;
}

.battle-report-card :is(.battle-report-city, .battle-report-troops, .battle-report-opponent)
  :is(strong, b, .player-name-link) {
  color: var(--cl-text) !important;
}

.battle-report-card :is(.battle-report-troops, .battle-report-opponent) :is(span, small),
.battle-report-card .battle-report-city small {
  color: var(--cl-text-secondary) !important;
}

.modal.battle-report-modal .battle-report-card .battle-report-city > span,
.modal.battle-report-modal .battle-report-card .battle-report-result :is(strong, small) {
  color: var(--cl-text-bright) !important;
  opacity: 1;
  text-shadow: 0 1px 1px rgba(47, 33, 19, .72) !important;
}

.battle-report-card.victory .battle-report-result {
  color: var(--cl-text-bright) !important;
  background: var(--cl-success) !important;
}

.battle-report-card.defeat .battle-report-result {
  color: var(--cl-text-light) !important;
  background: var(--cl-red) !important;
}

.battle-report-card.scout .battle-report-result {
  color: var(--cl-text-light) !important;
  background: var(--cl-info) !important;
}

:is(.modal.scout-report-modal .detailed-scout-report, .battle-report-modal .battle-report-detail.scout, .detailed-battle-report) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-panel-bg) !important;
}

/* Scout intelligence uses the shared parchment report family. */
.modal.scout-report-modal .scout-report-identities,
.battle-report-modal .battle-report-detail.scout .battle-report-detail-head {
  color: var(--cl-text) !important;
  border: 1px solid var(--cl-brass) !important;
  border-radius: 12px;
  background: var(--cl-card-bg) !important;
  box-shadow: var(--cl-card-shadow) !important;
}

.modal.scout-report-modal .scout-report-identities {
  padding: .72rem;
}

:is(.modal.scout-report-modal, .battle-report-modal .battle-report-detail.scout)
  :is(.scout-report-mark > span, .scout-report-mark .cl-icon, .scout-report-mark strong, .scout-report-section h3, .scouted-report-section-head h3) {
  color: var(--cl-burgundy) !important;
  text-shadow: none !important;
}

:is(.modal.scout-report-modal, .battle-report-modal .battle-report-detail.scout)
  :is(.scout-report-timing, .scout-report-timing span, .scouted-report-time small) {
  color: var(--cl-text-muted) !important;
  text-shadow: none !important;
}

.modal.scout-report-modal :is(.scout-breakdown-row, .scout-skill-row),
.battle-report-modal .battle-report-detail.scout :is(.scout-breakdown-row, .scout-skill-row) {
  border-color: rgba(84, 47, 36, .2) !important;
  background: transparent !important;
  box-shadow: none !important;
}

:is(.modal.scout-report-modal, .battle-report-modal .battle-report-detail.scout)
  :is(.battle-report-back, .battle-report-locate-btn, .scout-report-locate) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: linear-gradient(180deg, var(--cl-panel-secondary), var(--cl-panel-inset)) !important;
}

.scouted-report-alert,
.incoming-attack-card:not(.incoming-scout-card) {
  color: var(--cl-text-light) !important;
  border-color: #b96b65 !important;
  background: var(--cl-red) !important;
}

.incoming-scout-card {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-info) !important;
}

.holding-reinforcement-row,
.scouted-report-reinforcement-row,
.clan-member-row.selected {
  color: var(--cl-text-bright) !important;
  border-color: #92a174 !important;
  background: var(--cl-green) !important;
}

:is(.holding-reinforcement-row, .scouted-report-reinforcement-row, .clan-member-row.selected) :is(strong, span, small, b) {
  color: inherit !important;
}

/* Rewards, progress, rarity, and completion states. */
:is(.gold-reward, .reward-gold, .economy-reward, .achievement-points) { color: var(--cl-gold) !important; }
:is(.troop-reward, .reward-troops) { color: var(--cl-green) !important; }
:is(.relic-reward, .reward-relic, .rarity-rare) { color: var(--cl-purple) !important; }
:is(.royal-reward, .reward-major) { color: var(--cl-gold-highlight) !important; }
:is(.reward-locked, .rarity-locked) { color: var(--cl-neutral) !important; }

:is(.daily-reward-card.claimed, .daily-mission-row.complete, .seasonal-achievement-row.complete) {
  color: var(--cl-text-bright) !important;
  border-color: #92a174 !important;
  background: var(--cl-success) !important;
}

.modal .modal-card :is(.daily-reward-card.claimed, .daily-mission-row.complete, .seasonal-achievement-row.complete)
  :is(strong, span, small, b, p) {
  color: inherit !important;
}

:is(.profile-xp-track, .daily-mission-progress, .seasonal-achievement-progress, progress) {
  border-color: var(--cl-border-faded) !important;
  background: var(--cl-panel-inset) !important;
}

:is(.profile-xp-track > span, .daily-mission-progress > i, .seasonal-achievement-progress > i) {
  background: linear-gradient(90deg, var(--cl-brass), var(--cl-gold-highlight)) !important;
}

/* Map label relationship system. Artwork and map geometry are untouched. */
.city-node.player :is(.city-owner-column, .city-army-count) {
  color: var(--cl-text) !important;
  background: var(--cl-player-owned) !important;
}

.city-node.player.main-city-node :is(.city-owner-column, .city-army-count) {
  color: var(--cl-text-bright) !important;
  background: var(--cl-main-city) !important;
}

.city-node.player .city-army-count {
  filter: none !important;
  text-shadow: none !important;
}

.city-node.player .city-owner-column > .city-label-level,
.city-node.player .city-army-count {
  color: var(--cl-text) !important;
  text-shadow: none !important;
}

.city-node.player.main-city-node .city-owner-column > .city-label-level,
.city-node.player.main-city-node .city-army-count {
  color: var(--cl-text-bright) !important;
}

.city-node.clan-ally .city-ring {
  border-color: var(--cl-clan) !important;
  background: rgba(102, 122, 74, .3) !important;
  box-shadow: 0 0 0 4px rgba(102, 122, 74, .22), 0 0 22px rgba(102, 122, 74, .72) !important;
}

.city-node.clan-ally :is(.foreign-city-shield, .foreign-selected-level, .foreign-selected-data) {
  color: var(--cl-text-bright) !important;
  background: var(--cl-clan) !important;
}

.city-node.clan-ally .foreign-selected-crest {
  background: #445032 !important;
  border-color: #92a174 !important;
}

.city-node.clan-ally .foreign-ruler-name-inline {
  color: var(--cl-text-bright) !important;
  border-color: #92a174 !important;
  background: rgba(68, 80, 50, .94) !important;
}

.city-node.neutral :is(.foreign-city-shield, .foreign-selected-level, .foreign-selected-data) {
  color: var(--cl-text-bright) !important;
  background: var(--cl-neutral) !important;
}

.city-node.neutral .foreign-selected-crest {
  background: #4f4c46 !important;
  border-color: #9b978e !important;
}

.city-node.enemy.enemy-power-protected {
  --enemy-city-ui: var(--cl-enemy-weaker);
}

.city-node.enemy.enemy-power-in-range {
  --enemy-city-ui: var(--cl-enemy-equal);
}

.city-node.enemy.enemy-power-overpowering {
  --enemy-city-ui: var(--cl-enemy-stronger);
}

/* Camp, Stronghold, and Citadel information surfaces. */
:is(
  .gold-camp-info,
  .gold-camp-rewards,
  .camp-info-shell,
  .camp-reward-shell,
  .stronghold-info,
  .stronghold-history,
  .stronghold-ledger,
  .stronghold-rewards,
  .citadel-info,
  .citadel-history,
  .citadel-ledger,
  .citadel-rewards,
  .citadel-reign-list
) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-panel-bg) !important;
}

:is(
  .gold-camp-info,
  .gold-camp-rewards,
  .camp-info-shell,
  .camp-reward-shell,
  .stronghold-info,
  .stronghold-history,
  .stronghold-ledger,
  .stronghold-rewards,
  .citadel-info,
  .citadel-history,
  .citadel-ledger,
  .citadel-rewards,
  .citadel-reign-list
) :is(p, span, small, li, dd, dt, label) {
  color: var(--cl-text-secondary) !important;
}

:is(
  .gold-camp-info,
  .gold-camp-rewards,
  .camp-info-shell,
  .camp-reward-shell,
  .stronghold-info,
  .stronghold-history,
  .stronghold-ledger,
  .stronghold-rewards,
  .citadel-info,
  .citadel-history,
  .citadel-ledger,
  .citadel-rewards,
  .citadel-reign-list
) :is(h2, h3, h4, strong, b) {
  color: var(--cl-text) !important;
}

/* Inner Castle and all shared building/gear interfaces. The art viewport and
   illustration elements intentionally keep their dark-wood presentation. */
:is(
  .inner-castle-shell,
  .inner-castle-preview-tray,
  .inner-castle-preview,
  .inner-castle-preview-copy,
  .common-gear-building-shell,
  .common-gear-detail-panel,
  .common-gear-inventory-strip,
  .common-gear-reveal-shell,
  .common-gear-reveal-card,
  .common-gear-mini-card,
  .common-gear-actions,
  .common-gear-alert
) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-panel-bg) !important;
}

:is(.inner-castle-preview, .common-gear-reveal-card, .common-gear-detail-panel, .common-gear-mini-card) {
  background: var(--cl-card-bg) !important;
  box-shadow: var(--cl-card-shadow) !important;
}

:is(.inner-castle-preview-copy, .common-gear-detail-panel, .common-gear-reveal-card, .common-gear-mini-card)
  :is(strong, b, h3) {
  color: var(--cl-burgundy) !important;
}

:is(.inner-castle-preview-copy, .common-gear-detail-panel, .common-gear-reveal-card, .common-gear-mini-card)
  :is(span, small, p) {
  color: var(--cl-text-secondary) !important;
}

:is(.inner-castle-entry-btn, .inner-castle-back-btn, .inner-castle-manage-gear, .common-gear-back) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-header-bg) !important;
}

.common-gear-actions button {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-burgundy) !important;
}

.common-gear-slot {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: rgba(84, 47, 36, .92) !important;
}

.common-gear-slot b { color: var(--cl-gold-highlight) !important; }
.common-gear-slot.selected { border-color: var(--cl-gold-highlight) !important; background: rgba(114, 54, 58, .94) !important; }

/* Tooltips, warnings, confirmations, and loading copy. */
:is([role="tooltip"], .tooltip, [data-tooltip]::after) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-burgundy-dark) !important;
}

:is(.warning-panel, .capacity-warning, .timer-warning) {
  color: var(--cl-text-light) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-warning) !important;
}

:is(.confirmation-panel, .confirm-dialog, .loading-message, .map-loading-copy) {
  color: var(--cl-text) !important;
  border-color: var(--cl-brass) !important;
  background: var(--cl-panel-bg) !important;
}

@media (max-width: 620px) {
  :is(.modal .modal-card, .profile-screen, .commander-panel) {
    border-color: var(--cl-brass) !important;
  }

  :is(.profile-settings-section, .battle-report-card, .clan-panel, .daily-reward-card, .city-list-row) {
    box-shadow: inset 0 1px 0 rgba(255, 248, 232, .34), 0 3px 8px rgba(84, 47, 36, .2) !important;
  }
}

/* Shop carousel and anchored purchase controls. */
.shop-modal > .modal-card {
  --shop-paid-tile-size: clamp(104px, 12vw, 132px);
  --shop-paid-tile-padding: .55rem;
  height: min(86vh, 720px);
}

.shop-modal > .modal-card > #modalBody {
  overflow: hidden;
  padding-right: 0;
}

.shop-modal .shop-panel {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: .55rem;
}

.shop-modal .shop-balance { grid-row: 1; }
.shop-modal .shop-rewarded-section { grid-row: 2; }
.shop-modal .shop-items { grid-row: 3; }
.shop-modal .shop-purchase-bar { grid-row: 4; }

.shop-modal .shop-rewarded-items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.shop-modal .shop-items {
  min-width: 0;
  min-height: 0;
  display: flex;
  align-items: center;
  gap: .65rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .6rem;
  border: 1px solid var(--cl-border-faded) !important;
  border-radius: 5px;
  background: var(--cl-inset-bg) !important;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-color: var(--cl-brass) rgba(84, 47, 36, .16);
  scrollbar-width: thin;
}

.shop-modal .shop-items .shop-item {
  box-sizing: border-box;
  flex: 0 0 var(--shop-paid-tile-size);
  inline-size: var(--shop-paid-tile-size);
  block-size: var(--shop-paid-tile-size);
  min-inline-size: var(--shop-paid-tile-size);
  min-block-size: var(--shop-paid-tile-size);
  max-inline-size: var(--shop-paid-tile-size);
  max-block-size: var(--shop-paid-tile-size);
  aspect-ratio: 1 / 1;
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  place-items: center;
  align-self: center;
  margin: 0;
  padding: var(--shop-paid-tile-padding);
  border: 1px solid var(--cl-brass) !important;
  border-radius: 5px;
  color: var(--cl-text) !important;
  background: var(--cl-card-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 248, 232, .5), 0 4px 9px rgba(84, 47, 36, .22) !important;
  scroll-snap-align: start;
  text-align: center;
}

.shop-modal .shop-items .shop-item:hover {
  border-color: var(--cl-gold-highlight) !important;
  background: linear-gradient(180deg, #f2e2bf, #e7d6b4) !important;
}

.shop-modal .shop-items .shop-item.selected {
  border-color: var(--cl-gold-highlight) !important;
  background: linear-gradient(180deg, #f2e2bf, #d0b98e) !important;
  box-shadow:
    inset 0 0 0 2px rgba(114, 54, 58, .78),
    inset 0 1px 0 rgba(255, 248, 232, .62),
    0 5px 12px rgba(84, 47, 36, .3) !important;
}

.shop-modal .shop-items .shop-item:focus-visible {
  outline: 3px solid var(--cl-burgundy);
  outline-offset: 2px;
}

.shop-modal .shop-items .shop-item-image-placeholder {
  box-sizing: border-box;
  inline-size: 100%;
  block-size: 100%;
  min-inline-size: 0;
  min-block-size: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--cl-brass) !important;
  border-radius: 4px;
  background: var(--cl-inset-bg) !important;
}

.shop-modal .shop-items .shop-item-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.shop-modal .shop-item.rewarded-ad-shop-item { grid-template-columns: 72px minmax(0, 1fr) minmax(112px, auto); align-items: center; }
.shop-modal .rewarded-ad-shop-item > .shop-item-image-placeholder { width: 72px; height: 72px; justify-self: start; }
.shop-modal .rewarded-ad-shop-item > .rewarded-ad-watch-btn { grid-column: 3; width: 112px; max-width: 112px; min-width: 112px; justify-self: end; }

.shop-modal .shop-purchase-bar {
  position: sticky;
  bottom: 0;
  z-index: 4;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto auto auto minmax(104px, auto);
  align-items: center;
  gap: .62rem;
  padding: .62rem .7rem;
  border: 1px solid var(--cl-brass);
  border-radius: 5px;
  color: var(--cl-text);
  background: linear-gradient(180deg, #e7d6b4, #d0b98e);
  box-shadow: inset 0 1px 0 rgba(255, 248, 232, .58), 0 -4px 12px rgba(84, 47, 36, .18);
}

.shop-modal .shop-purchase-selected,
.shop-modal .shop-purchase-stat {
  min-width: 0;
  display: grid;
  gap: .08rem;
}

.shop-modal .shop-purchase-selected span,
.shop-modal .shop-purchase-stat span {
  color: var(--cl-text-secondary) !important;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.shop-modal .shop-purchase-selected strong,
.shop-modal .shop-purchase-stat strong {
  color: var(--cl-text) !important;
  font-size: .82rem;
  line-height: 1.15;
}

.shop-modal .shop-purchase-selected small {
  max-width: 48ch;
  color: var(--cl-text-secondary) !important;
  font-size: .62rem;
  line-height: 1.15;
}

.shop-modal .shop-purchase-selected > strong {
  color: var(--cl-burgundy) !important;
}

.shop-modal .shop-purchase-selected .shop-purchase-status {
  color: var(--cl-burgundy) !important;
  font-weight: 800;
}

.shop-modal .shop-purchase-buy {
  min-width: 104px;
  min-height: 42px;
  justify-self: end;
}

@media (max-height: 560px) and (orientation: landscape) {
  .shop-modal > .modal-card {
    --shop-paid-tile-size: clamp(82px, 13vw, 108px);
    --shop-paid-tile-padding: .38rem;
    height: calc(100dvh - .5rem);
  }

  .shop-modal .shop-panel {
    gap: .3rem;
  }

  .shop-modal .shop-rewarded-section {
    display: grid;
    gap: .2rem;
    padding: .26rem .34rem;
  }

  .shop-modal .shop-rewarded-heading {
    align-items: end;
    flex-direction: row;
    gap: .4rem;
    min-height: 0;
    padding: 0;
  }

  .shop-modal .shop-rewarded-heading span { font-size: .48rem; }
  .shop-modal .shop-rewarded-heading strong { font-size: .64rem; }
  .shop-modal .shop-rewarded-heading small { font-size: .48rem; text-align: right; }

  .shop-modal .shop-rewarded-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .28rem;
  }

  .shop-modal .shop-item.rewarded-ad-shop-item { min-height: 0; grid-template-columns: 50px minmax(0, 1fr) minmax(94px, auto); gap: .28rem; padding: .16rem .22rem; }

  .shop-modal .rewarded-ad-shop-item > .shop-item-image-placeholder { width: 50px; height: 50px; }
  .shop-modal .shop-buy-btn.rewarded-ad-watch-btn { width: 94px; max-width: 94px; min-width: 94px; min-height: 30px; padding: .1rem .2rem; font-size: .48rem; }

  .shop-modal .rewarded-ad-shop-copy { gap: .04rem; }
  .shop-modal .rewarded-ad-shop-copy strong { font-size: .58rem; }
  .shop-modal .rewarded-ad-shop-copy span { font-size: .5rem; }
  .shop-modal .rewarded-ad-shop-copy small { font-size: .44rem; }

  .shop-modal .shop-items {
    gap: .42rem;
    padding: .38rem;
  }

  .shop-modal .shop-purchase-bar {
    grid-template-columns: minmax(135px, 1fr) minmax(48px, auto) minmax(52px, auto) minmax(78px, auto) minmax(94px, auto);
    gap: .4rem;
    padding: .4rem .5rem;
  }

  .shop-modal .shop-purchase-selected small { max-width: 38ch; font-size: .54rem; }
  .shop-modal .shop-purchase-selected strong,
  .shop-modal .shop-purchase-stat strong { font-size: .7rem; }
  .shop-modal .shop-purchase-buy { min-width: 94px; min-height: 36px; }
}

@media (max-width: 620px) and (orientation: landscape) {
  .shop-modal > .modal-card {
    --shop-paid-tile-size: 64px;
    --shop-paid-tile-padding: .3rem;
  }

  .shop-modal .shop-rewarded-heading > div {
    display: flex;
    align-items: baseline;
    gap: .24rem;
  }

  .shop-modal .shop-rewarded-heading strong { margin-top: 0; font-size: .54rem; }
  .shop-modal .shop-rewarded-heading small,
  .shop-modal .shop-rewarded-heading span { font-size: .42rem; }

  .shop-modal .shop-item.rewarded-ad-shop-item { grid-template-columns: 38px minmax(0, 1fr) minmax(70px, auto); gap: .2rem; padding: .12rem .16rem; }

  .shop-modal .rewarded-ad-shop-item > .shop-item-image-placeholder { width: 38px; height: 38px; }
  .shop-modal .shop-buy-btn.rewarded-ad-watch-btn { width: 70px; max-width: 70px; min-width: 70px; min-height: 28px; font-size: .4rem; }

  .shop-modal .rewarded-ad-shop-copy strong { font-size: .48rem; }
  .shop-modal .rewarded-ad-shop-copy span { font-size: .42rem; }
  .shop-modal .rewarded-ad-shop-copy small { font-size: .38rem; }

  .shop-modal .shop-items { padding: .25rem; }

  .shop-modal .shop-purchase-bar {
    grid-template-columns: minmax(0, 1fr) 40px 46px 72px 88px;
  }
}

/* Skills: state cues; shared tab paint belongs to crownlands-theme. */
.profile-screen .skill-preset-tabs button.locked { opacity: .82; }
.profile-screen .skill-preset-tabs button :is(strong, small) { color: inherit !important; opacity: 1; }
.profile-screen .profile-skill-group {
  color: var(--cl-text) !important; border-color: var(--cl-brass) !important; background: var(--cl-panel-inset) !important;
}
.profile-screen .profile-skill-group > header {
  color: var(--cl-text-light) !important; border-color: var(--cl-gold) !important; background: var(--cl-header-bg) !important;
}
.profile-screen .profile-skill-group > header strong {
  color: #ffe5a3 !important; text-shadow: 0 1px 1px rgba(47, 15, 18, .72) !important;
}
.profile-screen .profile-skill-group > header small { color: var(--cl-text-light) !important; }
.profile-screen .profile-skill-list .skill-row {
  color: var(--cl-text) !important; border-color: var(--cl-border-faded) !important; background: var(--cl-panel-bg) !important;
  box-shadow: inset 0 1px 0 rgba(255, 248, 232, .42) !important;
}
.profile-screen .profile-skill-list .skill-row.syncing {
  border-color: var(--cl-green) !important; box-shadow: inset 0 0 0 1px rgba(102, 122, 74, .22) !important;
}
.profile-screen .profile-skill-list .skill-row :is(strong, small) { color: var(--cl-text) !important; opacity: 1; text-shadow: none !important; }
.profile-screen .profile-skill-list .skill-row small { display: block; margin-top: .12rem; color: var(--cl-text-secondary) !important; }
.profile-screen .skill-row-actions {
  border-color: var(--cl-brass) !important; background: var(--cl-panel-inset) !important;
}
.profile-screen .skill-row-actions [data-skill-cost] {
  color: var(--cl-text) !important; border-color: var(--cl-brass) !important; background: var(--cl-panel-secondary) !important;
}
.profile-screen .skill-row-actions button,
.profile-screen .skill-row-actions button[data-skill-decrement] {
  color: var(--cl-text) !important; background: linear-gradient(180deg, #e2c985, var(--cl-gold)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 248, 232, .52) !important; text-shadow: none !important;
}
.profile-screen .skill-row-actions button:disabled,
.profile-screen .skill-row-actions button[data-skill-decrement]:disabled {
  color: var(--cl-disabled-text) !important; background: var(--cl-disabled-bg) !important; box-shadow: none !important; opacity: 1;
}

/* Guild Master reference: one appearance owner for current and deferred UI.
   Layer priority defeats old per-window !important paint without changing
   layout, hidden controls, artwork, heraldry or semantic map/action colors. */
@layer crownlands-theme {
  :is(dialog:not(.modal), .modal-card, .profile-screen, .setup-card, .online-login, .login-game-info, .rotate-warning > div,
    .commander-panel, .guild-window, .estate-economy-dialog, .stamina-panel,
    .crown-payments-dialog, .peace-shield-order-dialog, #emailAuthDialog,
    #profileProductionDialog, .map-loading-panel, .performance-panel) {
    color: var(--cl-text) !important;
    background: var(--cl-panel) !important;
    border-color: var(--cl-brass) !important;
    border-radius: 2px !important;
    box-shadow: inset 0 0 0 1px var(--cl-panel-raised), 0 0 0 3px #ccb88788, 0 16px 60px #392c2466 !important;
  }

  /* Small confirmations keep the same header treatment as full windows. */
  :is(.email-auth-header, .crown-payments-dialog > header, #profileProductionDialog > header) {
    padding: 8px 12px !important;
    gap: 12px !important;
    align-items: center !important;
  }

  :where(dialog, .profile-screen, .setup-card, .commander-panel)
    :is(input:not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background: var(--cl-input-bg) !important;
    border-color: var(--cl-border-faded) !important;
    color: var(--cl-text) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
  }

  :where(dialog, .profile-screen, .setup-card, .commander-panel)
    button:not(:where([aria-label^="Close"], .close-button, .close, .tg-close, .guild-close,
      [data-shield-cancel][aria-label], [data-economy-action="close"][aria-label],
      .cl-action-button, .island-map-icon, .inventory-slot, .flag-color-swatch,
      [data-flag-color], .player-name-link, .clan-identity-link, .clan-name-link,
      .clan-shield-editor *, .player-flag-editor *)) {
    color: var(--cl-text) !important;
    background: var(--cl-panel-raised) !important;
    border-color: var(--cl-border-faded) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    &:hover:not(:disabled) { background: var(--cl-panel-secondary) !important; }
  }

  :is(.primary-btn, .profile-primary-btn, .shop-buy-btn, .rs-buy-button, .inventory-use-btn,
    .troop-slider-confirm, .offline-collect-btn, .level-up-collect-btn,
    .guild-primary, [data-refill-buy], [data-shield-continue], [data-crown-checkout], [data-crown-pay],
    .estate-order-footer button:not([data-economy-action="close"])) {
    color: var(--cl-text-light) !important;
    background: var(--cl-burgundy) !important;
    border-color: var(--cl-burgundy-dark) !important;
    & :is(span, small, strong, b) { color: inherit !important; }
    &:hover:not(:disabled) { background: var(--cl-burgundy-dark) !important; }
  }
  :is(.danger-action, .danger-btn, .delete-btn, .relinquish-confirm, .clan-leave, .clan-disband) {
    color: var(--cl-text-light) !important;
    background: var(--cl-red) !important;
    border-color: var(--cl-negative) !important;
  }

  :where(.window-header, .profile-screen-header, .rs-shop-header, .ib-bag-header,
    dialog:not(.modal) > header, .camp-details-header, .season-heading,
    .daily-header, .quest-header, .achievement-header,
    .settings-section-header, .panel-header, .leaderboard-title, .city-list-title,
    .clan-hero-head, .daily-reward-heading, .seasonal-achievement-heading,
    .cll-header, .tg-header, .estate-header, .chat-header, .reward-header,
    .welcome-header, .email-auth-header, .modal-card > #modalTitle,
    .guild-window > header, .estate-economy-dialog > header,
    .stamina-panel > header, .crown-payments-dialog > header,
    .peace-shield-order-dialog > header, #profileProductionDialog > header) {
    color: var(--cl-text-light) !important;
    background: var(--cl-header-bg) !important;
    border-color: var(--cl-header-rule) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    & :where(div, h1, h2, h3, p, small, span, strong, b, label, .cl-icon) {
      color: inherit !important;
      text-shadow: none !important;
    }
    & :is(h1, h2, h3, .heading, .rs-shop-heading, .ib-bag-heading) {
      background: transparent !important;
      box-shadow: none !important;
    }
    & :is(.heading, .profile-screen-heading, .tg-heading) { color: inherit !important; }
    & .profile-ledger-crown { fill: currentColor !important; color: inherit !important; }
    & .camp-ownership { color: var(--cl-success) !important; }
    & button:not(:where([aria-label^="Close"], .close-button, .close, .tg-close, .guild-close)) {
      color: var(--cl-text-light) !important;
      background: transparent !important;
      border-color: var(--cl-header-rule) !important;
      box-shadow: none !important;
      &:hover:not(:disabled) { background: var(--cl-header-hover) !important; }
    }
  }

  :is(.profile-tabs, .profile-subtabs, .skill-preset-tabs, .battle-report-filters,
    .leaderboard-tabs-header, .daily-reward-tabs, .camp-info-tabs, .citadel-info-tabs,
    .clan-section-nav, .clan-browser-nav, .active-operations-tabs, .cd-tabs,
    .chat-tabs, .section-nav, .tabs-bar, .clan-building-tabs, .filters, .ib-categories,
    .player-flag-editor__tabs, .clan-shield-editor-tabs,
    #royalShopSections, .guild-window > nav) {
    color: var(--cl-text) !important;
    background: var(--cl-panel-secondary) !important;
    border-color: var(--cl-border-faded) !important;
    box-shadow: none !important;
    & button {
      color: var(--cl-text-secondary) !important;
      background: transparent !important;
      border-color: transparent !important;
      box-shadow: none !important;
      text-shadow: none !important;
      outline: 1px solid var(--cl-border-faded) !important;
      outline-offset: -5px !important;
      /* Clan counts own paired foreground/background colors, including alerts. */
      & :is(span, small, strong, b):not(.clan-section-nav b) { color: inherit !important; }
      &:hover:not(:disabled):not(.active, .selected, [aria-selected="true"], [aria-pressed="true"], [aria-current="page"]) {
        color: var(--cl-text) !important;
        background: var(--cl-panel-raised) !important;
      }
      &:is(.active, .selected, [aria-selected="true"], [aria-pressed="true"], [aria-current="page"]) {
        color: var(--cl-burgundy) !important;
        background: var(--cl-tab-selected) !important;
        box-shadow: inset 0 -3px var(--cl-burgundy) !important;
      }
      &:focus-visible {
        outline: 2px solid var(--cl-burgundy) !important;
        outline-offset: -4px !important;
      }
    }
  }

  :is(.ledger-footer, .report-footer, .guide-footer, .tower-footer, .upgrade-footer,
    .composer-panel, .public-profile-footer, .estate-order-footer, .cd-actions,
    .camp-details-footer, .holding-footer, .season-footer, .reward-footer,
    .rs-purchase-footer, .guild-window > footer, .stamina-panel > footer) {
    color: var(--cl-text) !important;
    background: var(--cl-panel-inset) !important;
    border-color: var(--cl-border-faded) !important;
    box-shadow: none !important;
  }
  :is(.rs-shop-body, .ib-bag-body, .city-list-panel, .tg-shell, .tower-shell,
    .clan-building-shell, .handbook, .reward-parchment, .season-panel,
    .player-flag-editor__preview-panel, .player-flag-editor__controls-panel,
    .cd-panel, .daily-reward-panel, .seasonal-achievement-panel) {
    color: var(--cl-text) !important;
    background: var(--cl-panel) !important;
    border-color: var(--cl-border-faded) !important;
  }

  :is(.hud-btn, .stamina-card, .profile-gold, .resource-pill, .profile-rank-btn, .main-city-return,
    .nav-btn:not(.incoming-attack-btn):not(.outgoing-attack-btn),
    .inner-castle-entry-btn, #chatToggleBtn, #chatMinimizeBtn) {
    background: var(--cl-header-bg) !important;
    color: var(--cl-text-light) !important;
    border-color: var(--cl-header-rule) !important;
    box-shadow: none !important;
    & :is(span, small, strong, b, .cl-icon) { color: inherit !important; text-shadow: none !important; }
    &:hover { background: var(--cl-header-hover) !important; }
  }
  :where(dialog, .profile-screen, .setup-card, .commander-panel)
    :is(button, input, select, textarea):is(:disabled, [aria-disabled="true"]) {
    color: var(--cl-disabled-text) !important;
    background: var(--cl-disabled-bg) !important;
    border-color: var(--cl-disabled-border) !important;
    text-shadow: none !important;
  }
  :is(button, input, select, textarea, a, [tabindex]):focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px;
  }
}
