/* Shared colour modes. Invitation artwork and embedded previews keep their own palette. */
:root {
	/* Keep the configured rose hue, with enough depth for small white labels. */
	--cm-action: color-mix(in srgb, var(--brand, #e8405a) 80%, #000);
	--cm-action-hover: color-mix(in srgb, var(--brand, #e8405a) 67%, #000);
}
:root[data-dtc-color-mode="light"] { color-scheme: light; }
:root[data-dtc-color-mode="light"] body:is(.dtc-cute, .dtc-zen) {
	--cute-brand: var(--cm-action);
	--zh-primary: var(--cm-action);
	--zh-primary-hover: var(--cm-action-hover);
	--accent: var(--cm-action);
	--muted: #606574;
	--zh-gray-500: #606574;
}
:root[data-dtc-color-mode="dark"] {
	color-scheme: dark;
	--cm-bg: #121212;
	--cm-surface: #1f1f1f;
	--cm-raised: #2a2a2a;
	--cm-line: #292929;
	--cm-ink: #f5f5f5;
	--cm-text: #d4d4d4;
	--cm-muted: #b3b3b3;
	--cm-accent: #f5a3b7;
	--bg: var(--cm-bg);
	--white: var(--cm-surface);
	--tint: #181818;
	--ink: var(--cm-ink);
	--ink-2: var(--cm-ink);
	--heading: var(--cm-ink);
	--text: var(--cm-text);
	--muted: var(--cm-muted);
	--slate: var(--cm-text);
	--line: var(--cm-line);
	--line-strong: #555;
	--accent: var(--cm-accent);
	--accent-soft: #362738;
	--accent-line: #694155;
	--mint: #86d9b5;
	--mint-soft: #1d3933;
	--mint-line: #345b4e;
	--brand-text: #fff;
	--footer-bg: #181818;
	--footer-text: var(--cm-muted);
	--shadow-card: 0 8px 28px #0003;
	--cute-soft: #302636;
	--cute-softer: #211f30;
	--cute-line: #493344;
	--cute-blush: #855269;
	--cute-gold: #8b7351;
	--cute-shadow: 0 14px 34px -14px #0006;
	--cute-shadow-hover: 0 24px 48px -16px #0008;
}

/* A real button remains reachable in the desktop and mobile header. */
.dtc-color-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0;
	border: 1px solid #eadce2;
	border-radius: 50%;
	background: #fff9fb;
	color: #78334c;
	cursor: pointer;
	line-height: 1;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.dtc-color-toggle[hidden] { display: none; }
.dtc-color-toggle:hover { background: #f9eaf0; border-color: #bd8198; }
.dtc-color-toggle:focus-visible { outline: 3px solid #b95275; outline-offset: 3px; }
.dtc-color-toggle svg { width: 20px; height: 20px; flex: none; pointer-events: none; }
.dtc-color-toggle__sun { display: none; }
:root[data-dtc-color-mode="dark"] body:not(.dtc-zen-header) .dtc-color-toggle { background: var(--cm-surface); border-color: var(--cm-line); color: #f9d994; }
:root[data-dtc-color-mode="dark"] body:not(.dtc-zen-header) .dtc-color-toggle:hover { background: var(--cm-raised); border-color: var(--cm-muted); }
:root[data-dtc-color-mode="dark"] .dtc-color-toggle__moon { display: none; }
:root[data-dtc-color-mode="dark"] .dtc-color-toggle__sun { display: block; }

/* Shared shell and navigation. Body-level tokens override the landing page's local tokens. */
:root[data-dtc-color-mode="dark"] body:is(.dtc-cute, .dtc-zen) {
	--zh-ink: var(--cm-ink);
	--zh-gray-500: var(--cm-muted);
	--zh-gray-600: var(--cm-text);
	--zh-gray-700: var(--cm-text);
	--zh-line: var(--cm-line);
	--zh-soft: #663a4e;
	--zhh-soft: #362738;
	--zhh-blush: #704354;
	--zhh-gold: #6b6049;
	--cute-brand: var(--cm-accent);
	--zh-primary: var(--cm-accent);
	background: var(--cm-bg);
	color: var(--cm-text);
}
:root[data-dtc-color-mode="dark"] .topbar { background: var(--cm-surface); color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] :is(.page-hero, .hero, .blog-hero, .post-hero) { background: radial-gradient(ellipse at 10% 0, #4b2b403d, transparent 65%), var(--cm-bg); background-origin: border-box; }
:root[data-dtc-color-mode="dark"] :is(.section-label, .hero-eyebrow, .hero-eyebrow--pill, .hero-badges--chips li) { background: #302636; color: var(--cm-accent); border-color: #634153; }

/* Cards, forms and commerce across normal pages and block-based layouts. */
:root[data-dtc-color-mode="dark"] :is(.price-card, .price-card.is-featured, .price-list__item, .price-table-wrap, .dtc-features .dtc-feature, .step-card, .testimonial-card, .blog-card, .post-card, .faq-item, .faq-item.is-open, .dtc-contact-form, .feature-card, .create-page__form-wrap, .template-single__panel, .ws-inspiration-card, .dtc-stats--cards .dtc-stat, .dtc-contact--cards .dtc-contact__list li, .home-referral__card, .dtc-problem__item) { background: var(--cm-surface); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .price-card.is-featured { border-color: #d56787; }
:root[data-dtc-color-mode="dark"] .ws-themes-card { background: var(--cm-surface); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .ws-themes-card__badge { background: #1f1f1fed; color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(.dtc-cta, .dtc-cta--split, .blog-cta) { background: linear-gradient(135deg, #302638, #1f1f1f); border-color: #493b50; }
:root[data-dtc-color-mode="dark"] :is(.btn-secondary, .ws-themes-card__btn--create, .filter-chip, .page-numbers:not(.current)) { background: var(--cm-surface); color: var(--cm-accent); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.btn-secondary:hover, .ws-themes-card__btn--create:hover, .filter-chip:hover) { background: #362738; border-color: #b76a84; }
:root[data-dtc-color-mode="dark"] .filter-chip.is-active { background: var(--brand); color: #fff; }
:root[data-dtc-color-mode="dark"] :is(.form-field input, .form-field select, .form-field textarea, .comment-form input:not([type="checkbox"]):not([type="submit"]), .comment-form textarea, .support-widget__form input[type="tel"], .create-success__edit input) { background: var(--cm-bg); border-color: #555; color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(input, textarea)::placeholder { color: var(--cm-muted); opacity: 1; }
:root[data-dtc-color-mode="dark"] :is(.form-field input, .form-field select, .form-field textarea, .comment-form input, .comment-form textarea):focus { background: var(--cm-bg); border-color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .form-alert { background: #442832; color: #ffc0cd; border-color: #805063; }
:root[data-dtc-color-mode="dark"] :is(.support-widget__panel, .support-widget__hide) { background: var(--cm-surface); color: var(--cm-text); border-color: var(--cm-line); }

/* Catalogue controls, including the native dialog's top layer. Swatches keep their real colours. */
:root[data-dtc-color-mode="dark"] :is(.invitation-filters, .invitation-filter-dialog) {
	--invitation-ink: var(--cm-ink);
	--invitation-muted: var(--cm-muted);
	--invitation-border: var(--cm-line);
	--invitation-primary: var(--cm-accent);
	--invitation-tint: #392b3b;
	background: var(--cm-surface); color: var(--cm-ink); border-color: var(--cm-line);
}
:root[data-dtc-color-mode="dark"] :is(.invitation-filter-open, .invitation-tone-option, .invitation-dialog-close, .invitation-pill, .invitation-feature-option, .invitation-dialog-reset, .invitation-search, .invitation-dialog-footer) { background: var(--cm-surface); color: var(--cm-text); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.invitation-sort-label, .invitation-sort-option, .invitation-tone-heading, .invitation-tone-option small, .invitation-filter-summary > small, .invitation-dialog-section p) { color: var(--cm-muted); }
:root[data-dtc-color-mode="dark"] :is(.invitation-filter-summary strong, .invitation-dialog-header h2, .invitation-dialog-section h3) { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(.invitation-filter-top, .invitation-dialog-header, .invitation-dialog-section, .invitation-dialog-footer) { border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.invitation-sort-option:hover, .invitation-sort-option[aria-pressed="true"], .invitation-tone-option[aria-pressed="true"], .invitation-pill[aria-pressed="true"], .invitation-feature-option[aria-pressed="true"], .invitation-dialog-close:hover, .invitation-tone-filter--quick .invitation-tone-option:hover:not(:disabled)) { background: #392b3b; color: var(--cm-accent); border-color: #b76a84; }
:root[data-dtc-color-mode="dark"] .invitation-search input { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] .invitation-search button { background: var(--cm-raised); color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] .invitation-dialog-apply { background: #b43458; color: #fff; }
:root[data-dtc-color-mode="dark"] .invitation-filter-dialog::backdrop { background: #030712b3; }
:root[data-dtc-color-mode="dark"] .invitation-dialog-empty { background: #3d3024; color: #f0cf9f; }
:root[data-dtc-color-mode="dark"] .tpl-card-features { --tpl-feature-ink: #ecc0d0; --tpl-feature-line: #493344; background: var(--cm-surface); }
:root[data-dtc-color-mode="dark"] .tpl-card-features > ul > li { background: #362738; color: #ecc0d0; border-color: #624655; }
:root[data-dtc-color-mode="dark"] .tpl-card-features > summary:hover { color: #fff; }

/* Catalogue feature section: the sample invitation inside it stays light. */
:root[data-dtc-color-mode="dark"] .invitation-features {
	--if-brand: #f0afc5;
	--if-ink: #f8edf3;
	--if-text: #c5b4bf;
	--if-line: #ffffff12;
	--if-bg: #141216;
	--if-surface: #1e1a21;
	--if-personal: #242925;
	--if-glow: #b35d8b15;
	--if-orbit: #d99bb83d;
	--if-shadow: #00000020;
}

/* Homepage: layered charcoal surfaces, quiet borders and the existing rose accent. */
:root[data-dtc-color-mode="dark"] :is(.zh-gray, .zh-problems, .zh-features, .zh-faq, .zh-steps, .zh-plan, .zh-templates, .zh-solution) { background: var(--cm-bg); }
:root[data-dtc-color-mode="dark"] .zh-hero__box { background: linear-gradient(180deg, #282032, var(--cm-bg)); }
:root[data-dtc-color-mode="dark"] .zh-hero__fade { background: linear-gradient(180deg, #121212c4, #121212e0 65%, var(--cm-bg)); }
:root[data-dtc-color-mode="dark"] :is(.zh-hero__lead, .zh-hero__note, .zh-step p, .zh-cta p, .zh-faq__a) { color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] .zh-steps__head > p { color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] :is(.zh-step h3, .zh-faq__head .zh-h2, .zh-faq__q) { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] .zh-cta h2 { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(.zh-btn--ghost, .zh-btn--outline, .zh-deck__btn, .zh-deck__name, .zh-cta__badge) { background: var(--cm-surface); color: var(--cm-accent); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.zh-btn--ghost:hover, .zh-btn--outline:hover, .zh-deck__btn:hover, .zh-faq__q:hover .zh-faq__icon, .zh-faq__q[aria-expanded="true"] .zh-faq__icon) { background: #362738; }
:root[data-dtc-color-mode="dark"] :is(.zh-problem, .zh-feature, .zh-plan__card, .zh-cta__box) { background: var(--cm-surface); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .zh-problem { --blob: #493342; --tape: #aa7c8d; }
:root[data-dtc-color-mode="dark"] .zh-problems__ask { background: #30232b; color: var(--cm-accent); border-color: #61404e; }
:root[data-dtc-color-mode="dark"] .zh-slider__nav { background: var(--cm-surface); color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] .zh-cta__glow--top { background: linear-gradient(to bottom, #66384944, transparent); }
:root[data-dtc-color-mode="dark"] :is(.zh-cta__glow--left, .zh-cta__glow--right) { background: #6f384d55; }
:root[data-dtc-color-mode="dark"] .zh-feature::after { background: #2a272d; }
:root[data-dtc-color-mode="dark"] .zh-feature h3::before { background: #2a272d; color: #d5deff; }
:root[data-dtc-color-mode="dark"] :is(.zh-faq__item, .zh-faq__icon) { border-color: var(--cm-line); }

/* Account forms, customer dashboard and affiliate programme. */
:root[data-dtc-color-mode="dark"] .dtc-account-shell { --ac-ink: var(--cm-ink); --ac-muted: var(--cm-muted); --ac-primary: var(--cm-accent); --ac-line: var(--cm-line); --ac-soft: #362738; }
:root[data-dtc-color-mode="dark"] .dtc-account-dashboard { --ac-ink: var(--cm-ink); --ac-muted: #bfb1b9; --ac-line: #51454d; --ac-soft: #362738; --ac-control: #99838f; --ac-control-hover: #b8a1ad; }
:root[data-dtc-color-mode="dark"] :is(.dtc-account-card, .dtc-account-auth .dtc-account-auth__card, .dtc-account-claim, .dtc-account-tabs) { background: var(--cm-surface); border-color: var(--cm-line); box-shadow: none; }
:root[data-dtc-color-mode="dark"] .dtc-account-tabs__links>a:hover { background: #362738; color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-account-tabs__links>a[aria-current] { background: #3a2734; color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-account-tabs__meta { background: #2c2229; color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-account-shell .dtc-account-text:hover { background: #362738; color: var(--cm-accent) !important; }
:root[data-dtc-color-mode="dark"] .dtc-account-empty { background: var(--cm-surface); }
:root[data-dtc-color-mode="dark"] .dtc-account-shell input:not([type="checkbox"]) { background: var(--cm-bg); color: var(--cm-ink); border-color: #555; }
:root[data-dtc-color-mode="dark"] .dtc-account-shell :is(button:where(:not(.dtc-account-password__toggle, .dtc-account-text)), .dtc-account-button) { background: #a52f49; border-color: #bd5871; }
:root[data-dtc-color-mode="dark"] .dtc-account-auth .dtc-account-form button[type="submit"]:not(.dtc-account-google) { background: #a52f49; border-color: #bd5871; color: #fff; }
:root[data-dtc-color-mode="dark"] .dtc-account-auth .dtc-account-form button[type="submit"]:not(.dtc-account-google):hover { background: #b73a56; }
:root[data-dtc-color-mode="dark"] .dtc-account-shell :is(.dtc-account-secondary, .dtc-account-google) { background: var(--cm-surface); color: var(--cm-ink) !important; border-color: var(--ac-control, var(--cm-line)); }
:root[data-dtc-color-mode="dark"] :is(.dtc-account-badge, .dtc-account-password__toggle:hover) { background: #362738; color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-account-summary { background: linear-gradient(110deg,#272027,var(--cm-surface)); border-color:var(--ac-line); }
:root[data-dtc-color-mode="dark"] .dtc-account-summary .dtc-account-summary__icon { background:#382832; border-color:#59414f; color:var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-account-settings__tabs { background: var(--cm-bg); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .dtc-account-settings__tabs>a[aria-current] { background: var(--cm-surface); border-color: var(--ac-control); color: var(--cm-accent); box-shadow: none; }
:root[data-dtc-color-mode="dark"] .dtc-account-orders { --order-surface: var(--cm-bg); --order-line: var(--ac-line); }
:root[data-dtc-color-mode="dark"] .dtc-account-order__actions>a { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] .dtc-account-order__actions>a:hover { background: #362738; border-color: var(--ac-control-hover); }
:root[data-dtc-color-mode="dark"] .dtc-account-order__actions>.dtc-account-button:hover { background: #b73a56; }
:root[data-dtc-color-mode="dark"] .dtc-account-private .dtc-account-copy [data-copy-previous] { background: var(--cm-surface); color: var(--cm-ink) !important; border-color: var(--ac-control); }
:root[data-dtc-color-mode="dark"] .dtc-account-private .dtc-account-copy [data-copy-previous]:hover { background: var(--ac-soft); border-color: var(--ac-control-hover); }
:root[data-dtc-color-mode="dark"] .dtc-account-shell .dtc-account-copy input[readonly] { background: var(--cm-surface); color: var(--cm-text); border-color: var(--ac-control); }
:root[data-dtc-color-mode="dark"] .dtc-account-notice { background: #3d3024; color: #f0cf9f; border-color: #6c543c; }
:root[data-dtc-color-mode="dark"] :is(.dtc-affiliate-link, .dtc-affiliate-table th, .dtc-affiliate-notice) { background: #30232b; color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] :is(.dtc-affiliate-terms, .dtc-affiliate-table, .dtc-affiliate-table th, .dtc-affiliate-table td, .dtc-affiliate-stats > div) { border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .dtc-affiliate-table small { color: var(--cm-muted); }
:root[data-dtc-color-mode="dark"] .dtc-affiliate-stats > div,
:root[data-dtc-color-mode="dark"] .dtc-affiliate-columns > section { background: var(--cm-surface); }

/* Blog, article reading surfaces, comments and legal information. */
:root[data-dtc-color-mode="dark"] :is(.post-toc, .comments__list .comment-body, .comment-respond, .post-aside__cta, .post-nav__item, .blog-empty__icon) { background: var(--cm-surface); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .entry-content { color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] :is(.blog-search, .blog-card__cat, .post-share__btn) { background: var(--cm-surface); color: var(--cm-ink); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .blog-search input { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(.policy-header, .dtc-policy-account .site-main) { background: var(--cm-bg); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] .dtc-policy-account .site-main { --policy-ink: var(--cm-ink); --policy-muted: var(--cm-muted); --policy-line: var(--cm-line); --policy-accent: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] :is(.policy-article, .policy-sidebar nav, .policy-help, .policy-toc, .policy-owner, .policy-card, .policy-contact-note) { background: var(--cm-surface); color: var(--cm-text); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.policy-header h1, .policy-sidebar__title, .policy-content h2, .policy-card h2, .policy-owner > strong, .policy-toc summary) { color: var(--cm-ink); }
:root[data-dtc-color-mode="dark"] :is(.policy-content, .policy-help p, .policy-breadcrumb, .policy-breadcrumb [aria-current], .policy-updated, .policy-card p, .policy-sidebar nav a, .policy-toc a) { color: var(--cm-text); }
:root[data-dtc-color-mode="dark"] .policy-sidebar nav a:is(:hover, [aria-current="page"]) { background: #362738; color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] :is(.policy-content a, .policy-contact-note a) { color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .policy-help > a { color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] :is(.policy-content a:hover, .policy-contact-note a:hover) { color: #ffd5e0; }
:root[data-dtc-color-mode="dark"] .policy-header > .container::after { background-color: var(--cm-surface); border-color: var(--cm-line); }

/* Footer and support chat use their own component-level colour tokens. */
:root[data-dtc-color-mode="dark"] .zf { --zf-primary: #f5a3b7; --zf-ink: #fff7fa; --zf-text: #e7e2e6; --zf-muted: #c9c2c9; --zf-line: #4b4249; --zf-surface: #191619; --zf-social-bg: #30272e; --zf-social-ink: #f3dde6; --zf-on-primary: #26131c; background: var(--zf-surface); color: var(--zf-text); }
:root[data-dtc-color-mode="dark"] .zf__brand > .zf__title { color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .dtc-ai { --ai-ink: var(--cm-ink); --ai-muted: var(--cm-muted); --ai-line: var(--cm-line); --ai-accent: #9dc6ff; }
:root[data-dtc-color-mode="dark"] :is(.dtc-ai__dialog, .dtc-ai__form, .dtc-ai__footer, .dtc-ai__greeting, .dtc-ai__reply, .dtc-ai__card, .dtc-ai__plans, .dtc-ai__status, .dtc-ai__avatar, .dtc-ai__chips button) { background: var(--cm-surface); color: var(--cm-text); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.dtc-ai__handoff, .dtc-ai .dtc-ai__compose textarea) { background: var(--cm-bg); color: var(--cm-text); border-color: var(--cm-line); }
:root[data-dtc-color-mode="dark"] :is(.dtc-ai__question, .dtc-ai__card-links .dtc-ai__choose) { background: #293e5d; color: #d6e7ff; border-color: #4b6587; }
:root[data-dtc-color-mode="dark"] :is(.dtc-ai__footer a, .dtc-ai__handoff-link, .dtc-ai__plan-price) { color: #9dc6ff; }
:root[data-dtc-color-mode="dark"] .dtc-ai__compose button { background: #2465bd; }
:root[data-dtc-color-mode="dark"] button.dtc-back-to-top { background: var(--cm-surface); color: var(--cm-accent); border-color: #61404e; }
:root[data-dtc-color-mode="dark"] ::selection { background: #754459; color: #fff; }

/* Text-bearing actions use a stable contrast in resting, hover and focus states.
   Pale glints across white labels previously made even dark buttons unreadable. */
:root[data-dtc-color-mode] .dtc-zen-header {
	--nav-cta: var(--cm-action);
	--nav-cta-mid: var(--cm-action);
	--nav-cta-light: var(--cm-action);
	--nav-cta-hover: var(--cm-action-hover);
	--nav-cta-active: var(--cm-action-hover);
}
:root[data-dtc-color-mode] :is(.dtc-cute .btn-primary, .dtc-cute .ws-themes-card__btn--demo, .zh-btn--primary, .zh-sparkle .zh-btn--primary, .blog-search button, .blog-card__more, .dtc-cute .filter-chip.is-active, .dtc-cute .page-numbers.current, .zh-step__icon) {
	background: var(--cm-action);
	color: #fff;
}
:root[data-dtc-color-mode] :is(.dtc-cute .btn-primary, .dtc-cute .ws-themes-card__btn--demo, .zh-btn--primary, .zh-sparkle .zh-btn--primary, .blog-search button):hover {
	background: var(--cm-action-hover);
	color: #fff;
}
:root[data-dtc-color-mode] :is(.dtc-zen-header .header-account__cta, .dtc-ai__launcher) { background: var(--cm-action); color: #fff; }
:root[data-dtc-color-mode] :is(.dtc-zen-header .header-account__cta, .dtc-ai__launcher):hover { background: var(--cm-action-hover); color: #fff; }
:root[data-dtc-color-mode] .tpl-card-stats__item--uses { background: #be2d55; }
:root[data-dtc-color-mode] .dtc-cute .price-card > .price-card__badge { background: var(--cm-action); color: #fff; }
:root[data-dtc-color-mode="light"] :is(.invitation-filters, .invitation-filter-dialog) { --invitation-primary: var(--cm-action); }
:root[data-dtc-color-mode="light"] :is(.invitation-tone-option small, .invitation-feature-option small, .invitation-filters .invitation-pill small) { color: #685e6e; }
:root[data-dtc-color-mode="light"] .invitation-dialog-hint { color: #685e6e; }
:root[data-dtc-color-mode="dark"] :is(.invitation-filter-dialog, .invitation-filters) :is(.invitation-pill, .invitation-feature-option) small { color: var(--cm-muted); }
:root[data-dtc-color-mode="dark"] :is(.invitation-filter-dialog, .invitation-filters) :is(.invitation-pill, .invitation-feature-option)[aria-pressed="true"] small { color: inherit; }
:root[data-dtc-color-mode="dark"] .dtc-account-tabs__links > a[aria-current] .dtc-account-tabs__meta { background: #362738; color: var(--cm-accent); }
:root[data-dtc-color-mode="light"] :is(.invitation-search input, .dtc-ai__compose textarea)::placeholder { color: #6d6069; opacity: 1; }
:root[data-dtc-color-mode="light"] :is(.invitation-tone-option, .invitation-feature-option, .invitation-pill)[aria-pressed="true"] small { color: inherit; }
:root[data-dtc-color-mode="dark"] .dtc-cute .faq-item.is-open .faq-question { color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] :is(.policy-owner > span, .policy-owner a, .policy-card__arrow) { color: var(--cm-accent); }
:root[data-dtc-color-mode="dark"] .policy-card:hover { background: #30232b; border-color: #b76a84; }
:root[data-dtc-color-mode="dark"] .dtc-policy-account .site-main { --policy-text: var(--cm-text); }
:root[data-dtc-color-mode="dark"] .policy-article { background: var(--cm-surface); }
:root[data-dtc-color-mode="light"] .zh-problem__num { color: #80636c; }
:root[data-dtc-color-mode="light"] .template-single__note { color: #76521c; }
:root[data-dtc-color-mode="dark"] .template-single__note { background: #382c1b; color: #edc184; }

/* A visible boundary is needed for fields, independently of placeholder text. */
:root[data-dtc-color-mode="light"] :is(.form-field input, .form-field select, .form-field textarea, .dtc-account-shell input:not([type="checkbox"]), .comment-form textarea, .comment-form input:not([type="checkbox"]):not([type="submit"])) { border-color: #887b83; }
:root[data-dtc-color-mode="dark"] :is(.form-field input, .form-field select, .form-field textarea, .dtc-account-shell input:not([type="checkbox"]), .comment-form textarea, .comment-form input:not([type="checkbox"]):not([type="submit"])) { border-color: #887b83; }
:root[data-dtc-color-mode] :is(.form-field input, .form-field select, .form-field textarea, .dtc-account-shell input, .comment-form input, .comment-form textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
:root[data-dtc-color-mode] .dtc-account-dashboard input:not([type="checkbox"]) { border-color: var(--ac-control); }
:root[data-dtc-color-mode] .dtc-account-dashboard :is(a, button, input, summary):focus-visible { outline: 2px solid var(--ac-primary); outline-offset: 3px; }

@media print {
	:root[data-dtc-color-mode] body { color-scheme: light; }
	:root[data-dtc-color-mode] body.page-template-policy { background: #fff !important; color: #30272e !important; }
	:root[data-dtc-color-mode] :is(.policy-header, .policy-article, .policy-owner, .policy-card, .policy-contact-note, .dtc-policy-account .site-main) { background: #fff !important; color: #30272e !important; border-color: #bbb !important; }
	:root[data-dtc-color-mode] :is(.policy-header h1, .policy-updated, .policy-content, .policy-content h2, .policy-content h3, .policy-content a, .policy-contact-note, .policy-contact-note strong, .policy-contact-note a, .policy-owner > span, .policy-owner > strong, .policy-owner a, .policy-card h2, .policy-card p) { color: #30272e !important; }
	:root[data-dtc-color-mode] :is(.policy-header, .policy-article) { box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
	.dtc-color-toggle { transition: none; }
}
