/*
 * Góc Nhỏ – Sáng dịu
 * A low-glare, blue-green daylight palette. Pure white and pure black are
 * intentionally avoided so long reading sessions feel less harsh.
 */
.public-theme-picker { display: inline-flex; align-items: center; gap: 5px; color: #aab5c1; }
.public-theme-picker select { min-height: 30px; padding: 3px 7px; border: 1px solid #46515d; border-radius: 6px; background: #171c22; color: #e7edf3; }

html[data-theme="soft"] {
  color-scheme: light;
  --bg: #dcebe7;
  --surface: #f5faf8;
  --surface-2: #eaf4f1;
  --surface-3: #d9ebe6;
  --line: #9fbbb5;
  --line-soft: #c6d9d5;
  --text: #183230;
  --muted: #5b7470;
  --green: #287a63;
  --blue: #2d708f;
  --orange: #946123;
  --pink: #a55478;
  --danger: #a9434d;
  --role-admin: #a93643;
  --role-smod: #7550a3;
  --role-mod: #286f91;
  --role-member: #217057;
  accent-color: #317f73;
}

html[data-theme="soft"] body {
  background:
    radial-gradient(circle at 12% 0, rgba(100, 174, 160, .22), transparent 33%),
    radial-gradient(circle at 90% 94%, rgba(100, 157, 184, .17), transparent 38%),
    #dcebe7 !important;
  color: var(--text);
  font-weight: 500;
}
html[data-theme="soft"] .ambient-one { background: #70b8aa; opacity: .22; }
html[data-theme="soft"] .ambient-two { background: #78aeca; opacity: .18; }
html[data-theme="soft"] .app-shell {
  border-inline-color: #a9c4be !important;
  background: rgba(245, 250, 248, .97) !important;
  box-shadow: 0 0 62px rgba(53, 91, 84, .20) !important;
}

/* Header, navigation and member strip. */
html[data-theme="soft"] .site-header {
  border-color: #9fbdb6 !important;
  background: linear-gradient(180deg, #eaf5f2, #d7e9e4 72%) !important;
}
html[data-theme="soft"] .brand strong { color: #183a36 !important; text-shadow: none !important; }
html[data-theme="soft"] .brand small { color: #4d726b !important; text-shadow: none !important; }
html[data-theme="soft"] :is(.header-refresh-button, .header-menu-button) {
  border-color: #91b6ae !important;
  background: linear-gradient(180deg, #f8fbfa, #dcece8) !important;
  color: #235f58 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] .main-nav { border-color: #aac5bf !important; background: #e3efec !important; }
html[data-theme="soft"] .nav-item { border-right-color: #b5cdc8 !important; color: #526e69 !important; text-shadow: none !important; }
html[data-theme="soft"] .nav-item:hover { background: #d4e8e3 !important; color: #174a43 !important; }
html[data-theme="soft"] .nav-item.active {
  background: linear-gradient(180deg, #c8e3dd, #b7d7d0) !important;
  color: #155c52 !important;
  box-shadow: inset 0 -3px #3d8e80 !important;
}
html[data-theme="soft"] .profile-strip { border-color: #a9c5bf !important; background: #eef7f4 !important; }
html[data-theme="soft"] .profile-copy :is(strong, b) { color: #173a36 !important; text-shadow: none !important; }
html[data-theme="soft"] .profile-copy p { color: #59736f !important; }
html[data-theme="soft"] .rank { border-color: #8fb7ae !important; background: #d8ebe6 !important; color: #25685e !important; }

/* Common surfaces shared by home, feed, messages and settings. */
html[data-theme="soft"] :is(
  .panel, .feed-card, .notification-list, .auth-panel, .global-chatbox-panel,
  .direct-inbox-panel, .direct-conversation-panel, .group-chat-panel, .chat-panel,
  .profile-panel:not(.has-profile-skin), .shop-list, .inventory-list,
  .game-room-catalog, .game-demo-grid, .game-catalog-grid,
  .site-announcement-panel, .site-featured-card, .site-announcement-card,
  .site-announcement-list, .content-pagination
) {
  border-color: #abc5bf !important;
  background: #f5faf8 !important;
  color: #183230 !important;
  box-shadow: none;
}
html[data-theme="soft"] .panel-title {
  border-color: #9dbbb5 !important;
  background: linear-gradient(180deg, #e5f1ee, #d6e8e3) !important;
  color: #206b5e !important;
  text-shadow: none !important;
}
html[data-theme="soft"] .panel-title :is(strong, span) { color: #1d6258; }
html[data-theme="soft"] .panel-title :is(small, button) { color: #58756f !important; }
html[data-theme="soft"] :is(.room-card, .clock-card, .statistics-card, .ranking-card, .shop-item, .inventory-item, .gift-card) {
  border-color: #b2cbc6 !important;
  background: #edf6f3 !important;
  color: #1a3733 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(.room-card, .clock-card):hover {
  border-color: #6fa99d !important;
  background: #e1f0ec !important;
}
html[data-theme="soft"] .room-card > svg { color: #347b70 !important; }
html[data-theme="soft"] .room-card :is(strong, span) { color: #294c47 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(
  .quick-menu, .quick-links, .feed-tabs, .member-filter-tabs, .message-inbox-tabs,
  .ranking-tabs, .ranking-periods, .room-tabs, .shop-tabs, .shop-filter
) { border-color: #b2cbc6 !important; background: #e7f1ef !important; }
html[data-theme="soft"] :is(.quick-menu, .quick-links) button {
  border-color: #b1cac5 !important;
  background: #f1f8f6 !important;
  color: #315d56 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(.quick-menu, .quick-links) button:hover { background: #dcece8 !important; color: #164f47 !important; }
html[data-theme="soft"] :is(
  .feed-tabs button, .member-filter-tabs button, .message-inbox-tabs button,
  .ranking-tabs button, .ranking-periods button, .room-tabs button,
  .shop-tabs button, .shop-filter button
) { color: #526f69; }
html[data-theme="soft"] :is(
  .feed-tabs button.active, .member-filter-tabs button.active, .message-inbox-tabs button.active,
  .ranking-tabs button.active, .ranking-periods button.active, .room-tabs button.active,
  .shop-tabs button.active, .shop-filter button.active
) { background: #cfe6e0 !important; color: #175f54 !important; }

/* Announcements and the home welcome block. */
html[data-theme="soft"] :is(.site-announcement-card, .site-featured-card):not(.promoted-announcement) .site-announcement-body { background: #f5faf8 !important; }
html[data-theme="soft"] :is(.site-announcement-card, .site-featured-card):not(.promoted-announcement) .site-announcement-content { color: #203c38 !important; text-shadow: none !important; }
html[data-theme="soft"] .site-announcement-meta { color: #607a75 !important; }
html[data-theme="soft"] .home-welcome-decoration { background: radial-gradient(circle at center, rgba(71, 147, 133, .16), transparent 66%) !important; }
html[data-theme="soft"] :is(.home-welcome-clock, .home-welcome-date) { color: #294c47 !important; text-shadow: none !important; }
html[data-theme="soft"] .global-announcement-bar:not([data-source="jackpot"]) {
  border-color: #82aaa2 !important;
  background: linear-gradient(110deg, rgba(236, 247, 244, .98), rgba(211, 234, 228, .98)) !important;
  color: #214d46 !important;
  box-shadow: 0 10px 30px rgba(42, 83, 76, .22), 0 0 0 1px rgba(77, 135, 124, .10) !important;
}
html[data-theme="soft"] .global-announcement-bar:not([data-source="jackpot"])::before,
html[data-theme="soft"] .global-announcement-bar:not([data-source="jackpot"])::after { opacity: .12; }
html[data-theme="soft"] .global-announcement-bar:not([data-source="jackpot"]) .global-announcement-text { color: #244e47 !important; text-shadow: none !important; }
html[data-theme="soft"] .global-announcement-bar:not([data-source="jackpot"]) :is(.global-announcement-icon, .global-announcement-pause, .global-announcement-close) { color: #2c7166 !important; text-shadow: none !important; }

/* Forms and interactive controls. */
html[data-theme="soft"] :is(input, textarea, select) { color-scheme: light; }
html[data-theme="soft"] :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
  textarea, select
) {
  border-color: #9ebdb6 !important;
  background: #fbfdfc !important;
  color: #183532 !important;
  caret-color: #286e64 !important;
  text-shadow: none !important;
  box-shadow: none;
}
html[data-theme="soft"] :is(input, textarea)::placeholder { color: #708783 !important; opacity: 1; }
html[data-theme="soft"] select option { background: #f7fbfa; color: #183532; }
html[data-theme="soft"] :is(input, textarea, select):focus {
  border-color: #4b9185 !important;
  box-shadow: 0 0 0 3px rgba(54, 132, 119, .18) !important;
  outline: 0;
}
html[data-theme="soft"] input:-webkit-autofill,
html[data-theme="soft"] textarea:-webkit-autofill,
html[data-theme="soft"] select:-webkit-autofill {
  -webkit-text-fill-color: #183532 !important;
  box-shadow: 0 0 0 1000px #fbfdfc inset !important;
}
html[data-theme="soft"] :is(.global-chat-composer, .composer, .content-composer, .comment-form, .feed-composer) {
  border-color: #adc7c1 !important;
  background: #edf6f3 !important;
}
html[data-theme="soft"] :is(.composer-actions button, .primary-button) {
  border-color: #286e64 !important;
  background: linear-gradient(180deg, #438f82, #2e756a) !important;
  color: #f7fffd !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(.composer-actions button, .primary-button):hover {
  background: linear-gradient(180deg, #367f74, #24665d) !important;
}
html[data-theme="soft"] button:focus-visible,
html[data-theme="soft"] a:focus-visible { outline: 3px solid rgba(47, 126, 113, .33); outline-offset: 2px; }

/* Chat, messages, inbox and notifications. */
html[data-theme="soft"] :is(.global-chat-list, .room-chat-list, .chat-messages, .comment-list, .direct-message-list, .group-message-list, .party-message-list) {
  background-color: #e7f1ee !important;
}
html[data-theme="soft"] :is(.global-chat-message, .member-item, .friend-request-item, .notification-item, .conversation-row, .ranking-row, .received-gift, .friend-row, .blocked-member-item) {
  border-color: #bfd3cf !important;
  background-color: #f5faf8 !important;
  color: #1a3733 !important;
}
html[data-theme="soft"] .global-chat-message:nth-child(even) { background: #edf6f3 !important; }
html[data-theme="soft"] :is(.global-chat-content, .global-chat-status, .global-chat-member-stats, .member-copy strong, .conversation-copy strong, .notification-summary strong) { color: #193a36 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(.member-copy span, .member-location, .member-online-state, .conversation-preview, .conversation-list-time, .notification-copy p) { color: #607873 !important; }
html[data-theme="soft"] #member-list .member-item { min-height: 82px; }
html[data-theme="soft"] #member-list .member-copy > .user-identity-top > strong {
  color: #173d37 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
}
html[data-theme="soft"] #member-list .member-level-mood,
html[data-theme="soft"] #member-list .user-nick-meta {
  color: #385b54 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
html[data-theme="soft"] #member-list :is(.member-level-mood, .user-nick-meta) > b { color: #684480 !important; }
html[data-theme="soft"] #member-list :is(.member-level-mood, .user-nick-meta) > i { color: #5e726e !important; }
html[data-theme="soft"] #member-list :is(.member-level-mood, .user-nick-meta) > em { color: #3f5c57 !important; font-weight: 650 !important; }
html[data-theme="soft"] #member-list .member-online-state {
  color: #385b54 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}
html[data-theme="soft"] #member-list .member-online-state b { color: #176a59 !important; font-weight: 850 !important; }
html[data-theme="soft"] #member-list .user-nick.has-custom-name-style > .user-nick-text {
  -webkit-text-stroke-width: .55px !important;
  -webkit-text-stroke-color: rgba(24, 54, 49, .72) !important;
  paint-order: stroke fill;
  filter: saturate(1.18) contrast(1.12);
  text-shadow: 0 1px 0 rgba(248, 253, 251, .96), 0 0 2px rgba(20, 52, 47, .62) !important;
}
html[data-theme="soft"] #member-list .user-nick.has-nick-background > .user-nick-text {
  -webkit-text-stroke-color: rgba(14, 31, 29, .78) !important;
  text-shadow: 0 1px 1px rgba(5, 20, 18, .88), 0 0 3px rgba(5, 20, 18, .55) !important;
}
html[data-theme="soft"] #member-list .member-chat-button {
  border-color: #78a99f !important;
  background: #d9ebe7 !important;
  color: #176b60 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] #member-list .member-chat-button:hover { background: #c8e2dc !important; color: #104f47 !important; }

/* Site-wide readability pass. These selectors intentionally avoid custom
   profile/message/party skins and the actual game boards. */
html[data-theme="soft"] .view:not([data-page$="-game"]) :is(
  .panel:not(.has-profile-skin):not(.party-room-panel),
  .feed-card, .notification-list, .member-list, .direct-inbox-panel,
  .group-inbox, .shop-list, .inventory-list, .admincp-content
) :is(p, small, time, label, legend, dt, dd, li):not(
  .message-bubble *, .direct-message-bubble *, .group-message-bubble *,
  .has-profile-skin *, .party-theme-pink *,
  [data-direct-theme]:not([data-direct-theme="default"]) *,
  [data-background-skin]:not([data-background-skin="default"]) *
) {
  color: #405f59 !important;
  font-weight: 600;
  text-shadow: none !important;
}
html[data-theme="soft"] .view:not([data-page$="-game"]) :is(
  .panel:not(.has-profile-skin):not(.party-room-panel),
  .feed-card, .notification-list, .member-list, .direct-inbox-panel,
  .group-inbox, .shop-list, .inventory-list, .admincp-content
) :is(h1, h2, h3, h4, h5, h6):not(.has-profile-skin *, .party-theme-pink *) {
  color: #173a35 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(
  .feed-content, .rich-content, .post-mood, .site-announcement-content,
  .comment-body, .profile-bio, .profile-about, .terms-content,
  .contact-content, .settings-section-copy
) {
  color: #203f3a !important;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(
  .feed-author-meta, .feed-post-state, .feed-card time, .post-mood,
  .comment-meta, .comment-actions, .notification-copy, .notification-copy p,
  .conversation-preview, .conversation-list-time, .conversation-user-meta,
  .group-member-copy span, .friend-row span, .received-gift span,
  .shop-item small, .inventory-item small, .gift-card small,
  .statistics-note, .statistics-person-copy span, .statistics-person-copy small,
  .statistics-staff-person small, .empty-state, .empty-state p,
  .content-pagination span, .composer-actions > span, .composer-login,
  .profile-form small, .settings-form small, .auth-form small
) {
  color: #486760 !important;
  font-weight: 600;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(
  .feed-author strong, .comment-author strong, .notification-summary strong,
  .conversation-copy strong, .group-member-copy strong, .friend-row strong,
  .received-gift strong, .shop-item strong, .inventory-item strong,
  .gift-card strong, .statistics-person-copy strong, .statistics-staff-person strong
) { color: #183b36 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(
  .member-filter-tabs, .feed-tabs, .message-inbox-tabs, .ranking-tabs,
  .ranking-periods, .room-tabs, .shop-tabs, .shop-filter
) button { font-weight: 750 !important; }
html[data-theme="soft"] :is(.content-pagination button, .square-action, .member-item > button:not(.member-copy)) {
  border-color: #86afa7 !important;
  background: #e0efeb !important;
  color: #1d675c !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(.content-pagination button, .square-action, .member-item > button:not(.member-copy)):hover { background: #cee5df !important; color: #104c44 !important; }

/* Nicknames are decorative user assets. Add a dark edge in the light theme so
   pastel and animated colours stay recognizable without disappearing. */
html[data-theme="soft"] .user-nick:not(.has-nick-background) > .user-nick-text {
  -webkit-text-stroke: .45px rgba(24, 54, 49, .68) !important;
  paint-order: stroke fill;
  text-shadow: 0 1px 0 rgba(249, 253, 252, .96), 0 0 2px rgba(20, 52, 47, .55) !important;
  filter: saturate(1.15) contrast(1.1);
}
html[data-theme="soft"] .user-nick.has-nick-background > .user-nick-text {
  -webkit-text-stroke: .45px rgba(8, 24, 21, .78) !important;
  paint-order: stroke fill;
  text-shadow: 0 1px 1px rgba(4, 18, 16, .88), 0 0 3px rgba(4, 18, 16, .52) !important;
}
html[data-theme="soft"] :is(.user-nick-meta, .user-identity-mood) > b { color: #65417d !important; }
html[data-theme="soft"] :is(.user-nick-meta, .user-identity-mood) > i { color: #5a706b !important; }
html[data-theme="soft"] :is(.user-nick-meta, .user-identity-mood) > em { color: #3f5d57 !important; font-weight: 650 !important; }
html[data-theme="soft"] :is(.message-bubble, .comment-body, .direct-message:not(.own) .direct-message-bubble, .group-message:not(.own) .group-message-bubble) {
  border-color: #b4cec8 !important;
  background: #f9fcfb !important;
  color: #183532 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(.message.own .message-bubble, .direct-message.own .direct-message-bubble, .group-message.own .group-message-bubble) {
  border-color: #377d72 !important;
  background: linear-gradient(145deg, #438e82, #2d7268) !important;
  color: #f8fffd !important;
  text-shadow: none !important;
}

/* Direct messages: default light bubbles need dark text. Paid message frames
   retain their own matched dark/light palette instead of being half recolored. */
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message:not(.own) .direct-message-bubble {
  border-color: #a7c7c0 !important;
  background: #f9fcfb !important;
  color: #183532 !important;
}
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message:not(.own) .direct-message-text,
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message:not(.own) .direct-message-text *:not(.bbcode-rainbow):not(.bbcode-nick) {
  color: #183532 !important;
  -webkit-text-fill-color: #183532 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message:not(.own) :is(.direct-message-time, .direct-message-time-only, .direct-message-recalled, .direct-reply-quote span) {
  color: #4c6963 !important;
  -webkit-text-fill-color: #4c6963 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message.own .direct-message-text,
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message.own .direct-message-text *:not(.bbcode-rainbow):not(.bbcode-nick) {
  color: #f8fffd !important;
  -webkit-text-fill-color: #f8fffd !important;
}
html[data-theme="soft"] #direct-conversation-panel:not([data-message-frame]) .direct-message.own :is(.direct-message-time, .direct-message-time-only) { color: #d8efea !important; -webkit-text-fill-color: #d8efea !important; }

html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message-list { background: var(--mf-list-bg) !important; }
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message:not(.own) .direct-message-bubble {
  border-color: var(--mf-in-border) !important;
  background: var(--mf-in-bg) !important;
  color: var(--mf-in-text) !important;
  box-shadow: inset 0 0 12px color-mix(in srgb, var(--mf-in-border) 10%, transparent), 0 3px 9px rgba(0, 0, 0, .28) !important;
}
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message.own .direct-message-bubble {
  border-color: var(--mf-own-border) !important;
  background: var(--mf-own-bg) !important;
  color: var(--mf-own-text) !important;
}
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message:not(.own) .direct-message-text,
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message:not(.own) .direct-message-text *:not(.bbcode-rainbow):not(.bbcode-nick) {
  color: var(--mf-in-text) !important;
  -webkit-text-fill-color: var(--mf-in-text) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .68) !important;
}
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message.own .direct-message-text,
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-message.own .direct-message-text *:not(.bbcode-rainbow):not(.bbcode-nick) {
  color: var(--mf-own-text) !important;
  -webkit-text-fill-color: var(--mf-own-text) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .68) !important;
}
html[data-theme="soft"] #direct-conversation-panel[data-message-frame] .direct-compose-dock {
  border-color: var(--mf-control-border) !important;
  background: color-mix(in srgb, var(--message-frame-surface) 86%, #0e1115) !important;
}

/* Group/party default bubbles use the same readable pairing. Custom bubble
   skins continue to use their own --gb text and surface variables. */
html[data-theme="soft"] #group-chat-panel:not([data-bubble-skin]) .group-message:not(.own) .direct-message-text,
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) .party-message:not(.own) .direct-message-text { color: #183532 !important; -webkit-text-fill-color: #183532 !important; text-shadow: none !important; }
html[data-theme="soft"] #group-chat-panel:not([data-bubble-skin]) .group-message.own .direct-message-text,
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) .party-message.own .direct-message-text { color: #f8fffd !important; -webkit-text-fill-color: #f8fffd !important; }
html[data-theme="soft"] :is(.direct-compose-dock, .group-compose-dock, .chat-form) { border-color: #abc5bf !important; background: #edf6f3 !important; }
html[data-theme="soft"] #direct-conversation-panel:not([data-direct-theme]) .direct-message-list,
html[data-theme="soft"] #direct-conversation-panel[data-direct-theme="default"] .direct-message-list,
html[data-theme="soft"] #group-chat-panel:not([data-background-skin]) .group-message-list,
html[data-theme="soft"] #group-chat-panel[data-background-skin="default"] .group-message-list {
  background: radial-gradient(circle at 18% 8%, rgba(82, 151, 138, .12), transparent 31%), #e7f1ee !important;
}

/* Menus, dialogs, toasts and overlays. */
html[data-theme="soft"] :is(.modal-card, .account-menu-panel, .account-switch-card, .quick-pm-window, .quick-pm-inbox, .bbcode-dialog, .photo-source-card) {
  border-color: #96b8b1 !important;
  background: #f5faf8 !important;
  color: #183532 !important;
  box-shadow: 0 20px 60px rgba(36, 72, 66, .27) !important;
}
html[data-theme="soft"] .modal-backdrop { background: rgba(37, 58, 55, .46) !important; }
html[data-theme="soft"] .modal-close { border-color: #9abbb4 !important; background: #e1efeb !important; color: #285f57 !important; }
html[data-theme="soft"] :is(.account-menu-list, .account-switch-list, .quick-pm-inbox-list, .conversation-options-menu, .direct-quick-menu, .feed-card-menu-popover, .post-options-menu, .profile-options-menu) {
  border-color: #a5c1bb !important;
  background: #f5faf8 !important;
  box-shadow: 0 12px 32px rgba(43, 77, 71, .20) !important;
}
html[data-theme="soft"] :is(.account-menu-list > button, .conversation-options-menu button, .direct-quick-menu button, .feed-card-menu-popover button, .post-options-menu button, .profile-options-menu button) {
  border-color: #c5d8d4 !important;
  background: #f5faf8 !important;
  color: #315c55 !important;
}
html[data-theme="soft"] :is(.account-menu-list > button, .conversation-options-menu button, .direct-quick-menu button, .feed-card-menu-popover button, .post-options-menu button, .profile-options-menu button):hover {
  background: #deece8 !important;
  color: #174e47 !important;
}
html[data-theme="soft"] .account-menu-panel .account-menu-list { padding: 0 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list > button {
  border-bottom-color: #b9d0cb !important;
  background: #f7fbfa !important;
}
html[data-theme="soft"] .account-menu-panel .account-menu-list > button:nth-of-type(even) { background: #eef6f4 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list > button:hover { background: #dcece8 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list > button strong {
  color: #173d36 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] .account-menu-panel .account-menu-list > button small {
  color: #526f69 !important;
  font-weight: 650 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] .account-menu-panel .account-menu-list > button > svg:first-child { color: #238270 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list > button > svg:last-child { color: #5d7771 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list hr {
  height: 7px !important;
  border-color: #9ebbb5 !important;
  background: #d7e9e5 !important;
}
html[data-theme="soft"] .account-menu-panel .account-menu-list > button.danger-menu-item strong,
html[data-theme="soft"] .account-menu-panel .account-menu-list > button.danger-menu-item > svg:first-child { color: #a43d49 !important; }
html[data-theme="soft"] .account-menu-panel .account-menu-list > button.danger-menu-item small { color: #765b60 !important; }
html[data-theme="soft"] :is(.toast, .notification-toast) {
  border-color: #82aaa2 !important;
  background: #f4faf8 !important;
  color: #1b3935 !important;
  box-shadow: 0 10px 30px rgba(38, 75, 69, .24) !important;
}

/* Live stream, media widgets and compact chat docks. Video itself stays black
   to preserve its colour and contrast; all controls around it are softened. */
html[data-theme="soft"] :is(.home-live-stream, .home-live-stream-manager) {
  border-color: #9fbdb6 !important;
  background: #f2f8f6 !important;
  color: #1a3834 !important;
  box-shadow: 0 10px 28px rgba(43, 78, 71, .16) !important;
}
html[data-theme="soft"] .home-live-stream > header,
html[data-theme="soft"] .home-live-stream-manager > summary {
  border-color: #b0c9c4 !important;
  background: linear-gradient(180deg, #edf6f3, #dcece8) !important;
}
html[data-theme="soft"] :is(.home-live-stream > header span, .home-live-stream-manager > summary span, .home-live-stream-toggle strong) { color: #244d46 !important; }
html[data-theme="soft"] :is(.home-live-stream > footer, .home-live-stream-manager > summary small, .home-live-stream-toggle small, .home-live-stream-manager form label small) { color: #5c7771 !important; }
html[data-theme="soft"] .home-live-stream-manager[open] > summary { border-color: #adc7c1 !important; }
html[data-theme="soft"] .home-live-stream-manager form > label:not(.home-live-stream-toggle) { color: #315e56 !important; }
html[data-theme="soft"] .home-live-stream-toggle > i { border-color: #9dbab3 !important; background: #d6e6e2 !important; }
html[data-theme="soft"] .home-live-stream-toggle > i::after { background: #738e88 !important; }
html[data-theme="soft"] .home-live-stream-toggle input:checked ~ i { border-color: #4b8f72 !important; background: #bfe1ce !important; }
html[data-theme="soft"] .home-live-stream-toggle input:checked ~ i::after { background: #287457 !important; }
html[data-theme="soft"] :is(.direct-conversation-head, .room-chat-composer) { border-color: #abc6c0 !important; background: #e7f2ef !important; color: #1c3b36 !important; }
html[data-theme="soft"] :is(.feed-inline-video, .feed-inline-video-toggle, .feed-inline-video-expand) { border-color: #9fbdb6 !important; }

/* Fixed legacy surfaces. */
html[data-theme="soft"] :is(
  .home-welcome-decoration, .home-fixed-greeting, .love-chatbox-panel,
  .love-chat-blocked-section, .quick-pm-head, .quick-pm-messages,
  .quick-pm-form, .quick-pm-inbox-head, .search-box, .statistics-note,
  .statistics-member-list, .statistics-staff-list, .composer-login,
  .composer-media-preview, .composer-style-panel, .direct-compose-dock,
  .direct-message-form, .group-inbox, .group-invite-section,
  .group-discover-section, .group-chat-tools, .group-compose-dock,
  .group-message-form, .group-member-list, .group-members-summary,
  .group-manage-summary, .group-avatar-settings, .group-skin-section,
  .direct-theme-summary, .direct-theme-note
) {
  border-color: #b1cbc5 !important;
  background: #edf6f3 !important;
  color: #1b3834 !important;
}
html[data-theme="soft"] :is(.quick-pm-messages, .statistics-member-list, .statistics-staff-list) { background: #e5f0ed !important; }
html[data-theme="soft"] :is(.group-row:hover, .group-discover-row:hover, .group-invite-row:hover) { background-color: #dcece8 !important; }
html[data-theme="soft"] :is(
  .skeleton-post, .skeleton-list-row, .skeleton-online-row, .skeleton-global-chat,
  .skeleton-announcement-featured, .skeleton-announcement, .skeleton-room,
  .skeleton-party-room, .skeleton-game-room, .skeleton-history,
  .detail-composer-skeleton
) { border-color: #b5cec9 !important; background: #eaf3f1 !important; }
html[data-theme="soft"] .skeleton-shape { background: linear-gradient(100deg, #d8e7e3 25%, #eef6f4 42%, #d8e7e3 60%) !important; }

/* Home quick links. */
html[data-theme="soft"] .quick-menu-panel :is(.quick-menu, .quick-links, .menu-grid) { border-color: #adc8c2 !important; background: #e7f1ef !important; }
html[data-theme="soft"] .quick-menu-panel .clock-card { border-color: #a9c5bf !important; background: linear-gradient(145deg, #edf6f3, #dcece8) !important; }
html[data-theme="soft"] .quick-menu-panel .clock-card strong { color: #244a45 !important; text-shadow: none !important; }
html[data-theme="soft"] .quick-menu-panel .clock-card span { color: #607a75 !important; }
html[data-theme="soft"] .quick-menu-panel :is(.quick-links, .menu-grid) button {
  border-color: #b0cac4 !important;
  background: linear-gradient(180deg, #f6faf9, #e4f0ed) !important;
  color: #315d56 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] .quick-menu-panel :is(.quick-links, .menu-grid) button:hover { border-color: #70a99e !important; background: #dcece8 !important; color: #174f47 !important; }
html[data-theme="soft"] .quick-menu-panel :is(.quick-links, .menu-grid) button:is(.active, [aria-current="page"]) { border-color: #4d9185 !important; background: #cce5df !important; color: #155d53 !important; }
html[data-theme="soft"] .quick-menu-panel :is(.quick-links, .menu-grid) button svg { color: #347d71 !important; }

/* Profile and wall. Purchased profile skins remain untouched. */
html[data-theme="soft"] .view[data-page="profile"] :is(#profile-info-panel, #profile-wall-panel, #profile-gifts-panel),
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) { border-color: #a9c5bf !important; background: #f5faf8 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-cover { border-color: #9ebdb6 !important; background-color: #d7e9e4 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) :is(.profile-identity, .profile-actions) { border-color: #b6ceca !important; background: #edf6f3 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-stats { border-color: #86aea6 !important; background: #c7e1db !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-stats button { background: linear-gradient(160deg, #f5faf8, #dfeeea) !important; color: #416a63 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-stats button:hover { background: #d2e7e2 !important; color: #174f47 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-stats b { color: #1d4943 !important; }
html[data-theme="soft"] #profile-main-panel:not(.has-profile-skin) .profile-actions button:not(.gift-action):not(.coin-action):not(.friend-accept-action):not(.profile-block-action):not(.follow-action):not(.profile-marriage-action) { border-color: #a8c5bf !important; background: #e5f1ee !important; color: #315d56 !important; }
html[data-theme="soft"] #profile-info-panel .profile-info-grid { border-color: #9dbcb5 !important; background: #dcece8 !important; }
html[data-theme="soft"] #profile-info-panel .profile-info-grid::after,
html[data-theme="soft"] #profile-info-panel .profile-info-grid p,
html[data-theme="soft"] .profile-detail-loading #profile-info-panel .profile-info-grid p { border-color: #bdd3ce !important; background: #f4faf8 !important; color: #476b64 !important; }
html[data-theme="soft"] #profile-info-panel .profile-info-grid p:nth-child(even) { background: #eaf4f1 !important; }
html[data-theme="soft"] #profile-info-panel .profile-info-grid :is(b, .profile-relationship-value) { color: #193b36 !important; }
html[data-theme="soft"] #profile-info-panel .profile-info-grid svg { color: #347d71 !important; }
html[data-theme="soft"] #profile-wall-panel :is(#wall-composer-mount, .feed-list, .content-pagination) { border-color: #b1cac5 !important; background-color: #e8f2ef !important; }
html[data-theme="soft"] #profile-wall-panel .post-composer,
html[data-theme="soft"] .profile-edit-actions { border-color: #afc9c3 !important; background: #edf6f3 !important; }

/* Party room. Custom room themes keep their decorative styling. */
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) { border-color: #9fbeb7 !important; background: #f2f8f6 !important; }
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) :is(.party-room-head, .party-stage, .party-mic-column, .party-chat, .party-message-form) { border-color: #abc7c1 !important; background-color: #e9f3f0 !important; }
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) .party-room-head { background: linear-gradient(135deg, #d8ebe6, #eef6f4) !important; }
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) .party-room-heading strong { color: #1f554d !important; text-shadow: none !important; }
html[data-theme="soft"] .party-room-panel:not(.party-theme-pink) .party-message-list { background: radial-gradient(circle at 15% 6%, rgba(74, 145, 132, .13), transparent 31%), #e5f0ed !important; }

/* Admin control panel. */
html[data-theme="soft"] :is(.admincp-content, .admincp-sidebar, .admin-floating-card, .admin-floating-body) { border-color: #9fbbb5 !important; background-color: #f3f9f7 !important; color: #193632 !important; }
html[data-theme="soft"] :is(.admincp-topbar, .admin-floating-card > header) { border-color: #aac5bf !important; background: #e3efec !important; color: #1f5049 !important; }
html[data-theme="soft"] .admincp-sidebar button { border-color: #bdd2cd !important; background: #edf6f3 !important; color: #466a63 !important; }
html[data-theme="soft"] .admincp-sidebar button:hover,
html[data-theme="soft"] .admincp-sidebar button.active { background: #cfe5df !important; color: #16584f !important; }
html[data-theme="soft"] :is(.admin-global-announcement-form, .admin-global-announcement-row) { border-color: #aac5bf !important; background: #eef6f4 !important; color: #193632 !important; }
html[data-theme="soft"] .admin-global-announcement-copy strong { color: #193632 !important; }
html[data-theme="soft"] .admin-global-announcement-copy span { color: #617a75 !important; }
html[data-theme="soft"] .admin-global-announcement-actions button { border-color: #9ebdb6 !important; background: #f7fbfa !important; color: #315e56 !important; }

/* Forum. */
html[data-theme="soft"] .forum-view { color: #1b3733 !important; --forum-accent: #3a8578; --forum-accent-2: #4f7f9a; --forum-warm: #9a6a29; }
html[data-theme="soft"] :is(.forum-hero, .forum-editor-panel > header, .forum-rules-head, .forum-moderation-screen > header) { border-color: #a8c5bf !important; background: linear-gradient(135deg, #e2efec, #f5faf8) !important; }
html[data-theme="soft"] :is(.forum-hero h1, .forum-editor-panel > header strong, .forum-rules-head h2, .forum-moderation-screen h2, .forum-topic-copy h3, .forum-post-content, .forum-topic-head h2, .forum-mod-section > h3) { color: #183a35 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(.forum-hero p, .forum-editor-panel > header span, .forum-rules-head p, .forum-moderation-screen p, .forum-topic-excerpt, .forum-topic-byline, .forum-reply-meta) { color: #607973 !important; }
html[data-theme="soft"] :is(.forum-topic-row, .forum-topic-card, .forum-reply-card, .forum-filter-panel, .forum-category-panel, .forum-leader-panel, .forum-mod-row, .forum-rules-list li) { border-color: #b5cdc8 !important; background: #f6faf9 !important; color: #1a3733 !important; }
html[data-theme="soft"] .forum-topic-row:hover { background: #e9f3f0 !important; }
html[data-theme="soft"] :is(.forum-main-nav, .forum-leader-tabs, .forum-post-footer, .forum-category-section-head) { border-color: #afc9c3 !important; background: #e5f1ee !important; }
html[data-theme="soft"] :is(.forum-main-nav button, .forum-leader-tabs button, .forum-post-actions button, .forum-mod-actions button, .forum-editor-panel > header > button, .forum-moderation-screen > header > button, .forum-category-modal-close) { border-color: #a9c5bf !important; background: #f3f9f7 !important; color: #315e57 !important; }
html[data-theme="soft"] :is(.forum-main-nav button.active, .forum-leader-tabs button.active) { background: #cfe5df !important; color: #155d52 !important; }
html[data-theme="soft"] :is(.forum-profile-card, .forum-reaction-users-modal .modal-card) { border-color: #99bbb3 !important; background: #f5faf8 !important; color: #193632 !important; }
html[data-theme="soft"] .forum-profile-card > header { border-color: #adc7c1 !important; background: rgba(236, 246, 243, .96) !important; }
html[data-theme="soft"] :is(.forum-profile-card > header h2, .forum-reaction-users-modal h2, .forum-rules-list strong) { color: #193a35 !important; }
html[data-theme="soft"] .forum-rules-list p { color: #5e7772 !important; }
html[data-theme="soft"] .forum-rules-list .forum-rule-warning { border-color: #c7b27d !important; background: #f7f1df !important; }
html[data-theme="soft"] .forum-rules-list .forum-rule-penalty { border-color: #d4a8aa !important; background: #faeeee !important; }
html[data-theme="soft"] .forum-view :is(.forum-topic-copy, .forum-post-main, .forum-author-column, .forum-leader-row, .forum-category-section, .forum-profile-summary) :is(p, span, small, time, li, dd) { color: #43635c !important; font-weight: 600; text-shadow: none !important; }
html[data-theme="soft"] .forum-view :is(.forum-topic-copy, .forum-post-main, .forum-author-column, .forum-leader-row, .forum-category-section, .forum-profile-summary) :is(h1, h2, h3, h4, strong) { color: #183b36 !important; text-shadow: none !important; }

/* Dating directory and profile editor. */
html[data-theme="soft"] .dating-view { --dating-bg: #eef6f4; --dating-line: #aec9c3; --dating-red: #a94b59; --dating-rose: #b35c68; color: #193632; }
html[data-theme="soft"] :is(.dating-panel, .dating-profile-form, .dating-card, .dating-detail-card, .dating-filters, .dating-empty, .dating-safety-note, .dating-photo-fieldset, .dating-contact-gate, .dating-stat) { border-color: #b0c9c4 !important; background: #f5faf8 !important; color: #1b3834 !important; box-shadow: none !important; }
html[data-theme="soft"] :is(.dating-hero, .dating-form-heading, .dating-filter-heading) { border-color: #aac5bf !important; background: linear-gradient(135deg, #dcece8, #f3f9f7) !important; }
html[data-theme="soft"] :is(.dating-hero h1, .dating-form-heading strong, .dating-card-copy h2, .dating-detail-copy h1, .dating-empty strong) { color: #183a35 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(.dating-hero p, .dating-card-copy > p, .dating-card-copy li, .dating-card-expectation, .dating-detail-copy, .dating-list-summary small, .dating-form-grid label > small) { color: #5e7772 !important; }
html[data-theme="soft"] .dating-card-photo { background: #dcebe7 !important; }
html[data-theme="soft"] .dating-profile-modal-backdrop { background: rgba(36, 59, 55, .48) !important; }
html[data-theme="soft"] :is(.dating-sort-actions button, .dating-pagination button, .dating-photo-actions button) { border-color: #a8c4be !important; background: #eef6f4 !important; color: #456a63 !important; }
html[data-theme="soft"] :is(.dating-sort-actions .is-active, .dating-pagination button.active) { border-color: #4e9387 !important; background: #cbe4de !important; color: #155c52 !important; box-shadow: none !important; }
html[data-theme="soft"] .dating-view :is(.dating-card-copy, .dating-detail-copy, .dating-form-grid, .dating-list-summary, .dating-safety-note) :is(p, span, small, label, dt, dd, li) { color: #405f59 !important; font-weight: 600; text-shadow: none !important; }
html[data-theme="soft"] .dating-view :is(.dating-card-copy, .dating-detail-copy, .dating-form-grid, .dating-list-summary) :is(h1, h2, h3, strong) { color: #183b36 !important; text-shadow: none !important; }

/* Game catalogue and shared game lobbies. */
html[data-theme="soft"] :is(.game-room-catalog, .game-demo-grid, .game-catalog-grid) { border-color: #a7c3bd !important; background: radial-gradient(circle at 100% 0, rgba(68, 139, 126, .13), transparent 38%), #f3f9f7 !important; }
html[data-theme="soft"] .game-demo-tile { border-color: #afc9c3 !important; background: linear-gradient(160deg, #f7fbfa, #e3f0ed) !important; color: #193632 !important; box-shadow: inset 0 1px rgba(255, 255, 255, .5) !important; }
html[data-theme="soft"] .game-demo-tile:hover,
html[data-theme="soft"] .game-demo-tile:focus-visible { border-color: #65a397 !important; background: linear-gradient(160deg, #e7f3f0, #d7eae5) !important; }
html[data-theme="soft"] .game-demo-tile strong { color: #1b423c !important; }
html[data-theme="soft"] .game-demo-tile small { color: #5e7772 !important; }
html[data-theme="soft"] .game-demo-tile em { border-color: #84afa6 !important; background: #d3e9e3 !important; color: #24675d !important; }
html[data-theme="soft"] .game-demo-tile.game-closed,
html[data-theme="soft"] .game-demo-tile.game-closed:hover { border-color: #bdceca !important; background: linear-gradient(160deg, #e9efed, #dfe8e5) !important; opacity: .78; }
html[data-theme="soft"] :is(
  .group-form-body, .group-settings-form, .group-invite-form,
  .party-form-body, .profile-form, .settings-form, .auth-form,
  .caro-create-form, .ludo-create-form, .tl-create-form,
  .race-create-form, .tarot-create-form, .loto-create-form,
  .caro-settings-card, .ludo-settings-card, .tl-settings-card,
  .race-dialog-card, .tarot-dialog-card, .loto-dialog-card
) { border-color: #afc9c3 !important; background-color: #eef6f4 !important; color: #1a3733 !important; }
html[data-theme="soft"] :is(
  .caro-room-card, .ludo-room-card, .tl-room-card, .race-room-card,
  .tarot-room-row, .loto-room-card, .caro-history-row, .ludo-history-row,
  .tl-history-row, .race-history-row, .loto-history-row
) { border-color: #adc7c1 !important; background: #f5faf8 !important; color: #193632 !important; }
html[data-theme="soft"] :is(
  .anonymous-room-panel, .drama-room-panel, .anonymous-room-head,
  .drama-room-head, .anonymous-message-list, .drama-message-list,
  .ludo-party-chat, .tl-chatbox, .race-party-chat,
  .tarot-party-chat, .loto-party-chat
) { border-color: #aac5bf !important; background: #edf6f3 !important; color: #193632 !important; }
html[data-theme="soft"] :is(form.game-ludo-chat-form, .drama-message-form, .party-message-form) { border-color: #afc9c3 !important; background: #edf6f3 !important; }

/* Extra game families loaded after the main theme file. Keep boards/playing
   fields recognizable, but make every surrounding lobby and dialog daylight. */
html[data-theme="soft"] :is(
  .caro-room-section, .caro-ranking-panel, .caro-settings-card, .caro-rules-modal-card,
  .colat-room-section, .colat-ranking-panel, .colat-settings-card, .colat-rules-modal-card,
  .ludo-game-panel, .ludo-ranking-panel, .ludo-settings-card,
  .tl-settings-card, .tl-dialog, .race-betting-panel, .race-bot-panel, .race-rules-card,
  .loto-draw-panel, .loto-members-card, .loto-rules-card,
  .danh-lo-control-card, .danh-lo-machine-card,
  .danh-lo-history-panel, .danh-lo-history-tabs-card,
  .gold-community-card, .gold-play-card, .gold-pot-card, .gold-ticket-panel,
  .gold-history-card, .gold-history-panel, .gold-history-tabs-card
) {
  border-color: #abc6c0 !important;
  background: #f4faf8 !important;
  color: #193632 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(
  .caro-list-toolbar, .caro-arena-head, .caro-form-heading, .caro-section-head,
  .colat-list-toolbar, .colat-arena-head, .colat-form-heading, .colat-section-head,
  .ludo-toolbar, .ludo-arena-head, .ludo-form-heading, .ludo-room-titlebar,
  .tl-toolbar, .tl-arena-head, .tl-form-heading, .tl-room-titlebar,
  .race-toolbar, .race-arena-head, .tarot-toolbar, .tarot-arena-head,
  .loto-toolbar, .loto-room-head,
  .danh-lo-head, .gold-game-head
) {
  border-color: #a6c2bc !important;
  background: linear-gradient(180deg, #e5f1ee, #d8eae5) !important;
  color: #205a51 !important;
  text-shadow: none !important;
}
html[data-theme="soft"] :is(
  .caro-my-room-card, .caro-invite-card, .colat-my-room-card, .colat-invite-card,
  .ludo-my-room-card, .tl-my-room-card, .race-my-room-card,
  .loto-my-room-card, .race-bot-card, .race-animal-card,
  .danh-lo-history-card, .gold-history-row
) {
  border-color: #b0cac4 !important;
  background: #edf6f3 !important;
  color: #1b3935 !important;
}
html[data-theme="soft"] :is(
  .caro-room-list, .caro-ranking-list, .caro-game-history,
  .colat-room-list, .colat-ranking-list, .colat-game-history,
  .ludo-room-list, .ludo-ranking-list, .ludo-game-history,
  .tl-room-list, .tl-game-history, .race-room-list, .race-bot-list,
  .race-chat-list, .race-game-history, .tarot-room-list, .tarot-member-list,
  .loto-room-list, .loto-game-history,
  .danh-lo-history, .gold-community-list, .gold-history-list
) { border-color: #b4ccc7 !important; background-color: #e6f1ee !important; color: #1b3935 !important; }
html[data-theme="soft"] :is(
  .caro-public-rooms-empty, .colat-public-rooms-empty, .ludo-public-rooms-empty,
  .tl-public-rooms-empty, .race-public-rooms-empty, .tarot-public-rooms-empty,
  .loto-public-rooms-empty,
  .caro-history-empty, .colat-history-empty
) { border-color: #b7cec9 !important; background: #eef6f4 !important; color: #617a75 !important; }
html[data-theme="soft"] :is(.gold-game-shell, .danh-lo-shell) { border-color: #96b7af !important; background-color: #edf6f3 !important; color: #193632 !important; }

/* Restaurant inside Farm. The illustrated floor remains original; menus,
   kitchen, inventory and management panels follow the soft palette. */
html[data-theme="soft"] :is(.restaurant-panel, .restaurant-panel-inner, .restaurant-exchange-panel) {
  border-color: #a58969 !important;
  background: #f8f3e8 !important;
  color: #493b2c !important;
  box-shadow: 0 16px 45px rgba(73, 58, 39, .22) !important;
}
html[data-theme="soft"] :is(
  .restaurant-card, .restaurant-floor-card, .restaurant-theme-card,
  .restaurant-exchange-card, .restaurant-cooking-slot
) { border-color: #c9ac7f !important; background: #fffaf0 !important; color: #493b2c !important; }
html[data-theme="soft"] :is(
  .restaurant-menu-list, .restaurant-cook-list, .restaurant-customer-list,
  .restaurant-stock-list, .restaurant-shared-stock-list, .restaurant-log-list,
  .restaurant-session-history
) { border-color: #d0b78f !important; background: #f6eddd !important; color: #4b3d2f !important; }
html[data-theme="soft"] .restaurant-panel-close { border-color: #a66b5f !important; background: #b45143 !important; color: #fffaf4 !important; }
html[data-theme="soft"] .restaurant-transfer-form { border-color: #c9ad83 !important; background: #fbf5e9 !important; color: #493b2c !important; }

/* Farm: keep the illustrated map intact, lighten the shell, tools and dialogs. */
html[data-theme="soft"] .farm-lite { border-color: #8fad9f !important; background: #edf5ec !important; color: #263e35 !important; }
html[data-theme="soft"] .farm-lite-title { border-color: #9ebbad !important; background: linear-gradient(#e7f2ed, #cfe4db) !important; }
html[data-theme="soft"] .farm-lite-title strong { color: #286a4c !important; text-shadow: none !important; }
html[data-theme="soft"] .farm-lite-title a { border-color: #9db9ad !important; background: #f6faf7 !important; color: #365e50 !important; }
html[data-theme="soft"] .farm-lite-status { border-color: #a9c1b7 !important; background: #e7f1ed !important; color: #35584c !important; }
html[data-theme="soft"] .farm-lite-status > span,
html[data-theme="soft"] .farm-lite-player,
html[data-theme="soft"] .farm-lite-status > button { border-color: #a8c2b7 !important; background: #f5faf7 !important; color: #294a3f !important; }
html[data-theme="soft"] .farm-map-hint { border-color: #a7c6c4 !important; background: #e3f1f1 !important; color: #256675 !important; }
html[data-theme="soft"] .farm-map-stage,
html[data-theme="soft"] .farm-map-viewport,
html[data-theme="soft"] .farm-map-scroll-space { border-color: #9fb6a9 !important; background-color: #d9e9df !important; }
html[data-theme="soft"] .farm-options { border-color: #85a88e !important; background: rgba(235, 245, 239, .96) !important; box-shadow: 0 -5px 16px rgba(40, 70, 54, .19) !important; }
html[data-theme="soft"] .farm-options h2 { color: #246443 !important; }
html[data-theme="soft"] :is(.farm-option-all, .farm-options-grid label) { color: #456759 !important; }
html[data-theme="soft"] .farm-option-all small { color: #647b71 !important; }
html[data-theme="soft"] .farm-quick-links button { border-color: #a7beb3 !important; background: #f6faf7 !important; color: #34594b !important; }
html[data-theme="soft"] .farm-lite-dialog { background: rgba(37, 57, 47, .48) !important; }
html[data-theme="soft"] .farm-lite-dialog > section { border-color: #91afa2 !important; background: #f5faf7 !important; color: #263f35 !important; box-shadow: 0 18px 55px rgba(42, 70, 55, .28) !important; }
html[data-theme="soft"] .farm-lite-dialog header { border-color: #a4beb2 !important; background: linear-gradient(#e7f2ed, #d5e8df) !important; }
html[data-theme="soft"] .farm-lite-dialog header strong { color: #286b4b !important; }
html[data-theme="soft"] .farm-lite-dialog header small { color: #687d73 !important; }
html[data-theme="soft"] .farm-lite-dialog header button { border-color: #9fb9ae !important; background: #f7faf8 !important; color: #345a4c !important; }
html[data-theme="soft"] .farm-dialog-body { background: #f5faf7 !important; color: #29443a !important; }
html[data-theme="soft"] .farm-dialog-footer { border-color: #aec5bb !important; background: #eaf3ef !important; }
html[data-theme="soft"] :is(.farm-card, .farm-stock, .farm-neighbor-card, .farm-level-row, .farm-catalog-table-wrap, .farm-cooking-slot, .farm-animal-detail, .farm-gate-panel) { border-color: #b3c9bf !important; background: #f2f8f4 !important; color: #29443a !important; }
html[data-theme="soft"] :is(.farm-card small, .farm-card p, .farm-stock small, .farm-section-title small, .farm-empty, .farm-gate-note) { color: #647a70 !important; }
html[data-theme="soft"] .farm-section-title { border-color: #b8ccc3 !important; }
html[data-theme="soft"] .farm-section-title strong { color: #286a49 !important; }
html[data-theme="soft"] :is(.farm-catalog-table th, .farm-catalog-table td) { border-color: #c1d3cb !important; }
html[data-theme="soft"] .farm-catalog-table th { background: #deede6 !important; color: #31584a !important; }
html[data-theme="soft"] .farm-catalog-table tr:nth-child(even) td { background: #eaf4ef !important; }
html[data-theme="soft"] .farm-loading-center > small { color: #d9e8df !important; }

/* Daily tasks use their own dark palette in the base stylesheet. */
html[data-theme="soft"] .daily-tasks-body {
  border-color: #abc6c0 !important;
  background: linear-gradient(180deg, #e7f2ef, #f3f9f7) !important;
  color: #1b3d37 !important;
}
html[data-theme="soft"] .daily-tasks-loading,
html[data-theme="soft"] .daily-tasks-reset { color: #58736d !important; }
html[data-theme="soft"] .daily-tasks-reset svg { color: #277f75 !important; }
html[data-theme="soft"] .daily-online-task {
  border-color: #91b9b1 !important;
  background: linear-gradient(135deg, #dceeea, #e8f2f8) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}
html[data-theme="soft"] .daily-online-task > header strong { color: #193f39 !important; }
html[data-theme="soft"] .daily-online-task > header b { color: #167a72 !important; }
html[data-theme="soft"] .daily-online-task > header svg { color: #247f87 !important; }
html[data-theme="soft"] .daily-online-progress {
  background: #c5d8d4 !important;
  box-shadow: inset 0 0 0 1px #a9c4be !important;
}
html[data-theme="soft"] .daily-online-progress > i {
  background: linear-gradient(90deg, #278fba, #36aaa0, #69c89d) !important;
  box-shadow: 0 0 8px rgba(45,153,145,.28) !important;
}
html[data-theme="soft"] .daily-online-milestones::before { background: #9ebdb7 !important; }
html[data-theme="soft"] .daily-online-milestone { color: #54706a !important; }
html[data-theme="soft"] .daily-online-milestone > i {
  border-color: #759f98 !important;
  background: #f7fbfa !important;
  color: #56746e !important;
}
html[data-theme="soft"] .daily-online-milestone.is-ready > i {
  border-color: #268d9a !important;
  background: #e8f7f5 !important;
  color: #176a75 !important;
  box-shadow: 0 0 9px rgba(38,141,154,.25) !important;
}
html[data-theme="soft"] .daily-online-milestone.is-claimed > i {
  border-color: #318b68 !important;
  background: #dff2e8 !important;
  color: #1f7655 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] .daily-online-milestone strong { color: #294b45 !important; }
html[data-theme="soft"] :is(.daily-online-milestone small, .daily-task-copy b) { color: #8b6500 !important; }
html[data-theme="soft"] :is(.daily-online-milestone button, .daily-task-row > button) {
  border-color: #8fada7 !important;
  background: #e4efec !important;
  color: #43635d !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(.daily-online-milestone button:not(:disabled), .daily-task-row > button:not(:disabled)) {
  border-color: #217d75 !important;
  background: linear-gradient(180deg, #359c91, #247b73) !important;
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(35,116,107,.2) !important;
}
html[data-theme="soft"] :is(.daily-online-milestone.is-claimed button, .daily-task-row.is-claimed > button) {
  border-color: #72a98e !important;
  background: #dcefe5 !important;
  color: #27664d !important;
  opacity: 1 !important;
}
html[data-theme="soft"] .daily-task-row {
  border-color: #adc7c1 !important;
  background: #f7fbfa !important;
  color: #1c3a35 !important;
  box-shadow: 0 1px 2px rgba(40,76,68,.06) !important;
}
html[data-theme="soft"] .daily-task-row > i {
  background: #dcece9 !important;
  color: #247d75 !important;
}
html[data-theme="soft"] .daily-task-copy strong { color: #193b35 !important; }
html[data-theme="soft"] .daily-task-copy small { color: #58716c !important; }
html[data-theme="soft"] .daily-task-mini-progress { background: #cededa !important; }
html[data-theme="soft"] .daily-task-mini-progress i { background: linear-gradient(90deg, #278ea5, #43aea2) !important; }
html[data-theme="soft"] .daily-task-row.is-claimed {
  border-color: #91bfa7 !important;
  background: #e7f4ec !important;
}
html[data-theme="soft"] .daily-task-row.is-claimed > i { color: #287958 !important; background: #d5ebdf !important; }

/* Store, inventory and transaction history also ship with fixed dark colours. */
html[data-theme="soft"] .header-inventory-button {
  border-color: #86aaa3 !important;
  background: linear-gradient(180deg, #f7fbfa, #dcece8) !important;
  color: #276d64 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] .shop-hero {
  border-color: #a7c2bc !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(111, 92, 188, .12), transparent 32%),
    radial-gradient(circle at 10% 90%, rgba(186, 101, 143, .10), transparent 38%),
    linear-gradient(135deg, #edf6f3, #e0efeb) !important;
}
html[data-theme="soft"] .shop-hero-action {
  border-color: #9dbab4 !important;
  background: linear-gradient(145deg, #f8fbfa, #e5f1ee) !important;
  color: #234740 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] .shop-hero-action:hover { border-color: #6f9f96 !important; background: #dcece8 !important; }
html[data-theme="soft"] .shop-hero-action > svg:first-child { color: #327c8a !important; }
html[data-theme="soft"] .shop-hero-action > svg:last-child { color: #56736d !important; }
html[data-theme="soft"] .shop-hero-action small { color: #59746e !important; }
html[data-theme="soft"] .shop-hero-action strong { color: #1b3c36 !important; }
html[data-theme="soft"] .shop-wallet {
  border-color: #b49a52 !important;
  background: linear-gradient(145deg, #fff8dc, #eee4bd) !important;
  color: #6e5200 !important;
}
html[data-theme="soft"] .shop-wallet > svg:first-child,
html[data-theme="soft"] .shop-wallet strong { color: #745700 !important; }
html[data-theme="soft"] .shop-wallet strong svg { color: #287f5b !important; }
html[data-theme="soft"] .shop-panel { border-color: #a7c2bc !important; background: #f4faf8 !important; }
html[data-theme="soft"] .shop-mode-tabs { border-color: #a8c4be !important; background: #e3efec !important; }
html[data-theme="soft"] .shop-mode-tabs button {
  border-color: #aec8c2 !important;
  background: #edf6f3 !important;
  color: #506e68 !important;
}
html[data-theme="soft"] .shop-mode-tabs button.active {
  background: #d3e9e4 !important;
  color: #1d7166 !important;
  box-shadow: inset 0 -3px #3b9184 !important;
}
html[data-theme="soft"] .shop-mode-tabs b { background: #bfdad4 !important; color: #245f57 !important; }
html[data-theme="soft"] .shop-category-tabs {
  border-color: #adc7c1 !important;
  background: #e4f0ed !important;
}
html[data-theme="soft"] .shop-category-tabs button {
  border-color: #a3beb8 !important;
  background: #f7fbfa !important;
  color: #3f625b !important;
}
html[data-theme="soft"] .shop-category-tabs button:hover { border-color: #769f97 !important; background: #e6f2ef !important; }
html[data-theme="soft"] .shop-category-tabs button.active {
  border-color: #8064aa !important;
  background: #e9e0f2 !important;
  color: #573b7e !important;
}
html[data-theme="soft"] .shop-list { background: #eef6f4 !important; }
html[data-theme="soft"] .shop-item {
  border-color: #adc7c1 !important;
  background: linear-gradient(145deg, #fbfdfc, #eaf4f1) !important;
  color: #1b3a35 !important;
}
html[data-theme="soft"] .shop-item.rarity-rare { border-color: #7eacc7 !important; }
html[data-theme="soft"] .shop-item.rarity-epic { border-color: #a38abd !important; }
html[data-theme="soft"] .shop-item.rarity-legendary {
  border-color: #bea35c !important;
  background: linear-gradient(145deg, #fffaf0, #f2ead3) !important;
}
html[data-theme="soft"] .shop-rarity {
  border-color: #93aaa5 !important;
  background: rgba(242,248,246,.96) !important;
  color: #46645e !important;
  box-shadow: 0 2px 6px rgba(42,73,67,.15) !important;
}
html[data-theme="soft"] .rarity-rare .shop-rarity { border-color: #6e9cbb !important; background: #e1eff6 !important; color: #285f82 !important; }
html[data-theme="soft"] .rarity-epic .shop-rarity { border-color: #9475b5 !important; background: #eee5f5 !important; color: #654287 !important; }
html[data-theme="soft"] .rarity-legendary .shop-rarity { border-color: #ad8d39 !important; background: #f8edc7 !important; color: #735600 !important; }
html[data-theme="soft"] .shop-preview:not(.profile-skin-preview) {
  border-color: #9dbbb5 !important;
  background: radial-gradient(circle at 30% 30%, #e1efec, #cddfdb 72%) !important;
}
html[data-theme="soft"] .shop-preview:not(.profile-skin-preview):hover {
  border-color: #719f96 !important;
  background: radial-gradient(circle at 30% 30%, #eaf5f2, #c7ddd8 72%) !important;
}
html[data-theme="soft"] :is(.shop-demo-stage.avatar-demo small, .shop-demo-identity > small) { color: #4b6d66 !important; }
html[data-theme="soft"] .shop-demo-stage.avatar-demo strong { color: #1c4039 !important; }
html[data-theme="soft"] .shop-demo-identity > em,
html[data-theme="soft"] .shop-preview-expand { color: #526f69 !important; }
html[data-theme="soft"] .shop-item-copy > strong { color: #183b35 !important; }
html[data-theme="soft"] .shop-item-copy > small { color: #4e6d66 !important; }
html[data-theme="soft"] .shop-item-copy > p { color: #58736d !important; }
html[data-theme="soft"] .shop-lifetime { border-color: #b19b63 !important; background: #f6edcf !important; color: #755b0d !important; }
html[data-theme="soft"] .shop-lifetime.permanent { border-color: #72a68a !important; background: #e1f1e7 !important; color: #276748 !important; }
html[data-theme="soft"] .shop-lifetime.expiring { border-color: #ba856a !important; background: #f8e7de !important; color: #87492f !important; }
html[data-theme="soft"] .shop-item-action,
html[data-theme="soft"] .shop-modal-action { border-color: #a48536 !important; background: #f2e3b5 !important; color: #664b00 !important; }
html[data-theme="soft"] :is(.shop-item-action.owned, .shop-modal-action.owned) { border-color: #7199b4 !important; background: #deebf3 !important; color: #285d7b !important; }
html[data-theme="soft"] :is(.shop-item-action.equip, .shop-modal-action.equip) { border-color: #6fa083 !important; background: #dceee4 !important; color: #256444 !important; }
html[data-theme="soft"] :is(.shop-item-action.equipped, .shop-modal-action.equipped) { border-color: #a89053 !important; background: #eee4c8 !important; color: #6e5414 !important; }
html[data-theme="soft"] .shop-item-action.insufficient { border-color: #bc9da0 !important; background: #f1e7e7 !important; color: #80575b !important; }
html[data-theme="soft"] :is(.shop-item-action.privilege, .shop-modal-action.privilege) { border-color: #aa8734 !important; background: linear-gradient(90deg, #f5e9c0, #ead6a0) !important; color: #664b00 !important; }
html[data-theme="soft"] .shop-note { border-color: #b4cbc6 !important; background: #f3f9f7 !important; color: #506e68 !important; }
html[data-theme="soft"] .shop-note svg { color: #327b8d !important; }
html[data-theme="soft"] .shop-pagination { border-color: #abc5bf !important; background: #e6f1ee !important; }
html[data-theme="soft"] .shop-pagination > small { color: #506e68 !important; }
html[data-theme="soft"] .shop-pagination > small b { color: #795c08 !important; }
html[data-theme="soft"] .shop-pagination button { border-color: #96b4ae !important; background: #f7fbfa !important; color: #2d5d55 !important; }
html[data-theme="soft"] :is(.shop-pagination button:hover:not(:disabled), .shop-pagination button.active) { border-color: #9e8031 !important; background: #f1e3b8 !important; color: #674c00 !important; }
html[data-theme="soft"] .coin-history-summary { border-color: #aec7c2 !important; background: #aec7c2 !important; }
html[data-theme="soft"] .coin-history-summary > span { background: #edf6f3 !important; }
html[data-theme="soft"] .coin-history-summary small { color: #58736d !important; }
html[data-theme="soft"] .coin-history-summary strong { color: #193b35 !important; }
html[data-theme="soft"] .coin-history-summary > span:first-child strong { color: #765900 !important; }
html[data-theme="soft"] .coin-history-list { background: #f4faf8 !important; }
html[data-theme="soft"] .coin-history-item { border-color: #c2d6d1 !important; color: #1c3a35 !important; }
html[data-theme="soft"] .coin-history-direction { border-color: #9db8b2 !important; background: #e3efec !important; }
html[data-theme="soft"] .coin-history-item.positive .coin-history-direction { border-color: #6fa184 !important; background: #dfeee5 !important; color: #29704b !important; }
html[data-theme="soft"] .coin-history-item.negative .coin-history-direction { border-color: #bb858b !important; background: #f3e2e4 !important; color: #94454e !important; }
html[data-theme="soft"] .coin-history-item > div strong { color: #1c3b36 !important; }
html[data-theme="soft"] :is(.coin-history-item > div small, .coin-history-item time, .coin-history-origin) { color: #58736d !important; }
html[data-theme="soft"] .coin-history-source { border-color: #91ada7 !important; background: #e3efec !important; color: #355e57 !important; }
html[data-theme="soft"] .coin-history-source.unresolved { border-color: #ae9656 !important; background: #f3e9c9 !important; color: #72580d !important; }
html[data-theme="soft"] .coin-history-balance-change b { color: #455f5a !important; }
html[data-theme="soft"] .coin-history-note { border-color: #aec7c2 !important; background: #e9f3f0 !important; color: #58736d !important; }
html[data-theme="soft"] .shop-modal-demo { background: #e4f0ed !important; }
html[data-theme="soft"] .shop-modal-demo .shop-demo-stage:not(.profile-skin-demo) {
  border-color: #98b8b1 !important;
  background: radial-gradient(circle at 25% 20%, rgba(84,152,255,.12), transparent 34%), radial-gradient(circle at 80% 80%, rgba(154,92,184,.11), transparent 35%), linear-gradient(145deg, #edf6f3, #d4e7e2) !important;
}
html[data-theme="soft"] .shop-modal-info { background: #f5faf8 !important; color: #1c3a35 !important; }
html[data-theme="soft"] .shop-modal-info > small { color: #58736d !important; }
html[data-theme="soft"] .shop-modal-info > p { color: #395a53 !important; }
html[data-theme="soft"] .shop-modal-rarity { background: #edf6f3 !important; box-shadow: none !important; }
html[data-theme="soft"] .shop-modal-note { color: #58736d !important; }

/* The transaction modal is mounted at the end of body. Keep an ID-scoped
   fallback so its fixed dark component colours cannot win over the theme. */
html[data-theme="soft"] #coin-history-modal .coin-history-card {
  border-color: #8faea7 !important;
  background: #f5faf8 !important;
  color: #193a35 !important;
}
html[data-theme="soft"] #coin-history-modal .coin-history-summary {
  border-color: #a7c2bc !important;
  background: #a7c2bc !important;
}
html[data-theme="soft"] #coin-history-modal .coin-history-summary > span { background: #e8f3f0 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-summary small { color: #526f69 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-summary strong { color: #193a35 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-summary > span:first-child strong { color: #795b00 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-list { background: #f7fbfa !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item {
  border-color: #b8cec9 !important;
  background: #f7fbfa !important;
  color: #1b3a35 !important;
}
html[data-theme="soft"] #coin-history-modal .coin-history-item:nth-child(even) { background: #edf6f3 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item > div strong { color: #193a35 !important; }
html[data-theme="soft"] #coin-history-modal :is(.coin-history-item > div small, .coin-history-item time, .coin-history-origin, .coin-history-balance-change b) { color: #526f69 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-source { border-color: #8faea7 !important; background: #e1eeeb !important; color: #315c54 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-direction { border-color: #96b3ad !important; background: #e2efec !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item.positive .coin-history-direction { border-color: #6e9e82 !important; background: #dceee4 !important; color: #27714b !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item.negative .coin-history-direction { border-color: #b68188 !important; background: #f3e1e4 !important; color: #93434d !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item > b { color: #9a3d48 !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-item.positive > b { color: #24704a !important; }
html[data-theme="soft"] #coin-history-modal .coin-history-note { border-color: #a9c3bd !important; background: #e7f2ef !important; color: #526f69 !important; }

/* Footer and install prompt. */
html[data-theme="soft"] .app-shell > footer.site-footer { border-color: #a4c0ba !important; background: linear-gradient(180deg, #e7f2ef, #d5e8e3) !important; color: #456861 !important; }
html[data-theme="soft"] .site-footer > nav { border-color: #b0c9c4 !important; background: #edf6f3 !important; }
html[data-theme="soft"] .site-footer > nav button { color: #286e63 !important; }
html[data-theme="soft"] .site-footer > nav button:hover { color: #123f39 !important; }
html[data-theme="soft"] .site-footer > nav i { color: #607c76 !important; }
html[data-theme="soft"] .app-shell > footer.site-footer :is(strong, span) { color: #294f48 !important; }
html[data-theme="soft"] .app-shell > footer.site-footer small { color: #647d77 !important; }
html[data-theme="soft"] .footer-theme-picker { color: #456c64 !important; }
html[data-theme="soft"] .footer-theme-picker > :is(svg, i) { color: #347d71 !important; }
html[data-theme="soft"] .footer-theme-picker select { border-color: #8fb5ad !important; background: #f8fbfa !important; color: #234b44 !important; }
html[data-theme="soft"] .pwa-install-footer { border-color: #9ebdb6 !important; background: radial-gradient(circle at 0 0, rgba(70, 143, 130, .15), transparent 48%), #edf6f3 !important; color: #244a43 !important; }

/* Public homepage, SEO articles, login and registration. */
html[data-theme="soft"] .public-shell { border-color: #a9c4be !important; background: rgba(245, 250, 248, .97) !important; }
html[data-theme="soft"] .public-header { border-color: #a6c2bc !important; background: linear-gradient(180deg, #eaf5f2, #d7e9e4) !important; }
html[data-theme="soft"] :is(.auth-stage, .auth-form, .auth-form-body, .seo-landing-stage, .seo-public-article) { border-color: #afc9c3 !important; background-color: #f5faf8 !important; color: #193632 !important; }
html[data-theme="soft"] :is(.auth-card-title, .auth-welcome-title) { border-color: #a8c4be !important; background: #e3efec !important; color: #205b52 !important; }
html[data-theme="soft"] :is(.auth-hero, .seo-landing-card, .seo-landing-features > *, .public-quick-links a, .seo-public-copy, .seo-public-faq article, .seo-public-links a, .seo-public-breadcrumb) { border-color: #b1cac5 !important; background: #f1f8f6 !important; color: #1b3935 !important; box-shadow: none !important; }
html[data-theme="soft"] :is(.seo-landing-card h1, .seo-landing-features h2, .public-quick-links strong, .seo-public-copy h2, .seo-public-faq h2, .seo-public-faq h3, .auth-form label, .auth-switch) { color: #193b36 !important; text-shadow: none !important; }
html[data-theme="soft"] :is(.seo-landing-card p, .seo-landing-card small, .seo-landing-features p, .public-quick-links small, .seo-public-copy p, .seo-public-faq p, .auth-form label > small) { color: #5d7771 !important; }
html[data-theme="soft"] :is(.seo-public-breadcrumb a, .seo-public-links a, .public-quick-links a, .auth-switch a, .public-footer a) { color: #276e63 !important; }
html[data-theme="soft"] :is(.auth-check, .auth-options, .auth-divider) { color: #526f69 !important; }
html[data-theme="soft"] :is(.google-link-panel, .google-link-summary, .google-registration-note) { border-color: #a7c6be !important; background: #eaf5f1 !important; color: #244d45 !important; }
html[data-theme="soft"] .google-existing-account { border-color: #b38b43 !important; background: #fff6df !important; color: #73510f !important; }
html[data-theme="soft"] :is(.google-auth-note, .google-link-summary small, .google-registration-note small) { color: #54716a !important; }
html[data-theme="soft"] :is(.google-link-summary strong, .google-registration-note strong) { color: #1d4e43 !important; }
html[data-theme="soft"] .public-guest :is(.seo-landing-card, .seo-landing-features, .public-quick-links, .seo-public-copy, .seo-public-faq, .auth-form) :is(p, small, label, li) { color: #405f59 !important; font-weight: 600; text-shadow: none !important; }
html[data-theme="soft"] .registration-terms-card { border-color: #96b8b1 !important; background: #f5faf8 !important; color: #193632 !important; }
html[data-theme="soft"] :is(.registration-terms-content, .registration-terms-status, .registration-terms-actions) { border-color: #b3ccc6 !important; background: #edf6f3 !important; color: #385e57 !important; }
html[data-theme="soft"] .public-footer { border-color: #a8c4be !important; background: #e4f0ed !important; color: #516e68 !important; }
html[data-theme="soft"] .public-footer small { color: #4f6863 !important; }
html[data-theme="soft"] .seo-home-auth-actions a { border-color: #8fafaa !important; background: #eef6f4 !important; color: #234b44 !important; box-shadow: none !important; }
html[data-theme="soft"] .seo-home-auth-actions a.is-login { border-color: #287a6d !important; background: #2f8476 !important; color: #fff !important; }
html[data-theme="soft"] .seo-home-more > summary { border-color: #97b7b0 !important; background: #e6f1ee !important; color: #28564e !important; }
html[data-theme="soft"] .seo-home-more-content, html[data-theme="soft"] .seo-home-public-links { border-color: #b3ccc6 !important; }
html[data-theme="soft"] .seo-home-intro h2 { color: #193b36 !important; }
html[data-theme="soft"] .seo-home-intro p { color: #4d6d66 !important; }
html[data-theme="soft"] .seo-home-public-links a { color: #276e63 !important; }
html[data-theme="soft"] .seo-home-public-note { color: #4f6863 !important; }
html[data-theme="soft"] :is(.home-intro-hero, .home-intro-feature, .home-intro-highlights, .home-intro-links, .home-intro-feature-grid article, .home-intro-highlights article, .home-intro-links > nav > a) { border-color: #b1cac5 !important; background: #f1f8f6 !important; color: #1b3935 !important; box-shadow: none !important; }
html[data-theme="soft"] .home-intro-hero h1 { color: #a95d00 !important; }
html[data-theme="soft"] :is(.home-intro-feature h2, .home-intro-feature h3, .home-intro-highlights h2, .home-intro-highlights h3, .home-intro-links h2, .home-intro-links strong) { color: #193b36 !important; }
html[data-theme="soft"] :is(.home-intro-hero p, .home-intro-hero small, .home-intro-feature p, .home-intro-highlights p, .home-intro-links small) { color: #4d6d66 !important; }
html[data-theme="soft"] :is(.home-intro-feature > header > span, .home-intro-highlights article > span) { background: #d9ebe6 !important; color: #287a6d !important; }
html[data-theme="soft"] .public-theme-picker { display: inline-flex; align-items: center; gap: 5px; color: #456b64; }
html[data-theme="soft"] .public-theme-picker select { min-height: 30px; padding: 3px 7px; border: 1px solid #8fb5ad !important; border-radius: 6px; background: #f8fbfa !important; color: #234b44 !important; }

/* Preserve readable colours when the party intentionally dims the stage. */
html[data-theme="soft"] body.party-lights-off .party-room-panel:not(.party-theme-pink) { color-scheme: light; }

@media (max-width: 560px) {
  html[data-theme="soft"] .app-shell { box-shadow: none !important; }
  html[data-theme="soft"] .modal-card,
  html[data-theme="soft"] .dating-profile-form,
  html[data-theme="soft"] .farm-lite-dialog > section { box-shadow: 0 12px 36px rgba(36, 70, 64, .22) !important; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="soft"] .ambient { display: none; }
}

/* Account security follows the low-glare blue-green palette. */
html[data-theme="soft"] .quick-links .quick-access-history-link,
html[data-theme="soft"] .account-menu-list > .account-access-history-link {
  border-color: #86b5ab !important;
  background: linear-gradient(90deg, #d7ebe6, #edf6f3) !important;
  color: #1c6157 !important;
}
html[data-theme="soft"] :is(.quick-access-history-link, .account-access-history-link) svg,
html[data-theme="soft"] .account-access-history-link strong { color: #237b6c !important; }
html[data-theme="soft"] :is(.quick-access-history-link, .account-access-history-link) > b {
  background: #317f73 !important;
  color: #f7fffd !important;
}
html[data-theme="soft"] :is(.access-security-current, .access-pin-form, .access-pin-toggle-form, .access-pin-delete-form, .access-ip-row, .access-history-row) {
  border-color: #b2cbc6 !important;
  background: #edf6f3 !important;
  color: #183230 !important;
  box-shadow: none !important;
}
html[data-theme="soft"] :is(.access-pin-form, .access-pin-toggle-form, .access-pin-delete-form) input {
  border-color: #9bbdb6 !important;
  background: #f8fbfa !important;
  color: #183230 !important;
}
html[data-theme="soft"] :is(.access-pin-form, .access-pin-toggle-form, .access-pin-delete-form) button {
  border-color: #7ca99f !important;
  background: linear-gradient(180deg, #d8ebe6, #c4dfd9) !important;
  color: #1d5d53 !important;
}
html[data-theme="soft"] :is(.access-security-current, .access-ip-row, .access-history-row) > svg {
  background: #d5e9e4 !important;
  color: #287a69 !important;
}
html[data-theme="soft"] .access-secondary-settings > .panel-title > b { background: #d5e6e2; color: #436961; }
html[data-theme="soft"] .access-secondary-settings > .panel-title > b.enabled { background: #c5e4dc; color: #176653; }
html[data-theme="soft"] .access-secondary-settings > .panel-title > b.disabled { background: #f4e5c7; color: #80591f; }
html[data-theme="soft"] .access-security-delay { border-color: #cfaa64; background: #fff4dc; color: #76531d; }
html[data-theme="soft"] .access-ip-copy b { background: #dceae7; color: #496963; }
html[data-theme="soft"] .access-ip-copy b.current { background: #c7e7de; color: #176653; }
html[data-theme="soft"] :is(.access-ip-copy em, .access-history-copy em) { color: #607b75; }
html[data-theme="soft"] .access-ip-row.is-blocked { border-color: #ca979d !important; background: #faecee !important; }
html[data-theme="soft"] .access-ip-row.is-blocked > svg,
html[data-theme="soft"] .access-failure-panel .access-history-row > svg { background: #f2dadd !important; color: #a9434d !important; }
html[data-theme="soft"] .account-secondary-gate { background: rgba(35, 58, 54, .88); }
html[data-theme="soft"] .account-secondary-card {
  border-color: #8fb6ae;
  background: linear-gradient(145deg, #f8fbfa, #dcece8);
  color: #183230;
  box-shadow: 0 28px 80px rgba(34, 67, 61, .35);
}
html[data-theme="soft"] .account-secondary-icon { border-color: #7dac9f; background: #cfe7e1; color: #287a69; }
html[data-theme="soft"] .account-secondary-card :is(h2, p, label) { color: #264f48; }
html[data-theme="soft"] .account-secondary-card input { border-color: #8eb5ad; background: #f8fbfa; color: #183230; }
html[data-theme="soft"] .account-secondary-card > small { color: #287a69; }
html[data-theme="soft"] .account-secondary-logout { color: #4f716a; }
