/* CreatorPrivacyKit appearance tokens. Keep this after legacy route styles. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --cpk-bg: #f6f6f2;
  --cpk-surface: #ffffff;
  --cpk-surface-2: #eeefe8;
  --cpk-ink: #22271f;
  --cpk-muted: #656d60;
  --cpk-faint: #737b6d;
  --cpk-line: #dde0d5;
  --cpk-line-strong: #c3c9b9;
  --cpk-accent: #c2ed76;
  --cpk-accent-ink: #253512;
  --cpk-link: #42691b;
  --cpk-accent-soft: #edf5df;
  --cpk-cyan: #187080;
  --cpk-violet: #7254a5;
  --cpk-emerald: #347653;
  --cpk-amber: #8b6419;
  --cpk-rose: #b34654;
  --cpk-shadow: 0 16px 48px #22271f12, 0 3px 10px #22271f08;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --cpk-bg: #131512;
  --cpk-surface: #1b1e19;
  --cpk-surface-2: #242821;
  --cpk-ink: #eff1e9;
  --cpk-muted: #a5ad9b;
  --cpk-faint: #939c87;
  --cpk-line: #30352b;
  --cpk-line-strong: #46503c;
  --cpk-accent: #c2ed76;
  --cpk-accent-ink: #253512;
  --cpk-link: #c2ed76;
  --cpk-accent-soft: #29341e;
  --cpk-cyan: #91c5c7;
  --cpk-violet: #b9a4da;
  --cpk-emerald: #95c9a9;
  --cpk-amber: #d4b879;
  --cpk-rose: #e59b9e;
  --cpk-shadow: 0 20px 60px #00000035, 0 3px 12px #00000020;
}
/* No-JS clients still receive a readable theme matching their device. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --cpk-bg: #131512; --cpk-surface: #1b1e19; --cpk-surface-2: #242821;
    --cpk-ink: #eff1e9; --cpk-muted: #a5ad9b; --cpk-faint: #939c87;
    --cpk-line: #30352b; --cpk-line-strong: #46503c; --cpk-link: #c2ed76;
    --cpk-accent-soft: #29341e; --cpk-cyan: #91c5c7; --cpk-violet: #b9a4da;
    --cpk-emerald: #95c9a9; --cpk-amber: #d4b879; --cpk-rose: #e59b9e;
    --cpk-shadow: 0 20px 60px #00000035;
  }
}
/* Bridge existing browser-native tools to one shared theme without changing their behavior. */
:root {
  --void: var(--cpk-bg); --card: var(--cpk-surface); --card-2: var(--cpk-surface-2);
  --text: var(--cpk-ink); --muted: var(--cpk-muted); --faint: var(--cpk-faint);
  --line: var(--cpk-line); --line-strong: var(--cpk-line-strong); --glass: var(--cpk-surface);
  --cyan: var(--cpk-cyan); --violet: var(--cpk-violet); --emerald: var(--cpk-emerald);
  --amber: var(--cpk-amber); --rose: var(--cpk-rose); --focus: var(--cpk-link); --cyan-dim: var(--cpk-accent-soft);
}
html, body { background: var(--cpk-bg) !important; color: var(--cpk-ink); }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--cpk-accent); color: var(--cpk-accent-ink); }
:focus-visible { outline: 2px solid var(--cpk-link) !important; outline-offset: 4px; }
button, input, select, textarea { accent-color: var(--cpk-link); }
input::placeholder, textarea::placeholder { color: var(--cpk-faint); opacity: 1; }
.grid-veil { display: none; }
/* Precompiled utility pages (articles, trust pages, appeal workflow). */
:root :is(.text-white, .text-zinc-100, .text-zinc-200, .text-gray-100, .text-gray-200, .text-slate-100, .text-slate-200) { color: var(--cpk-ink) !important; }
:root :is(.text-zinc-300, .text-zinc-400, .text-gray-300, .text-gray-400, .text-slate-300, .text-slate-400) { color: var(--cpk-muted) !important; }
:root :is(.text-zinc-500, .text-zinc-600, .text-gray-500, .text-slate-500) { color: var(--cpk-faint) !important; }
:root [class*="text-cyan-"], :root [class*="text-teal-"] { color: var(--cpk-cyan) !important; }
:root [class*="text-violet-"], :root [class*="text-purple-"] { color: var(--cpk-violet) !important; }
:root [class*="text-emerald-"], :root [class*="text-green-"] { color: var(--cpk-emerald) !important; }
:root [class*="text-amber-"], :root [class*="text-yellow-"] { color: var(--cpk-amber) !important; }
:root [class*="text-red-"], :root [class*="text-rose-"] { color: var(--cpk-rose) !important; }
:root :is(.bg-void, .bg-card, .glass-card), :root [class*="bg-zinc-9"], :root [class*="bg-slate-9"], :root [class*="bg-gray-9"], :root [class*="bg-white/"] { background: var(--cpk-surface) !important; }
:root [class*="border-white/"], :root [class*="border-zinc-"], :root [class*="border-gray-"], :root [class*="border-slate-"] { border-color: var(--cpk-line) !important; }
:root [class*="hover:text-white"]:hover { color: var(--cpk-ink) !important; }
/* Route workspaces. Layout, document previews, and processing states remain route-owned. */
:root :is(h1, h2, h3, h4, .drop-title, .hero-sub, .progress-top, .progress-label, .path, .para-score) { color: var(--cpk-ink); }
:root :is(.panel, .model-card, .prose-card, .feature-card, .platform-card, .table-wrap, .toolbar, .thumbs, .textpane, .verify-card, .dialog, .engine-toast, .glass) { background: var(--cpk-surface); border-color: var(--cpk-line); box-shadow: none; }
:root :is(.drop, .dropzone) { background: var(--cpk-surface); border: 1px dashed var(--cpk-line-strong); box-shadow: none; border-radius: 18px; }
:root :is(.drop-inner) { background: transparent; border-radius: 18px; }
:root :is(.drop, .dropzone):hover, :root :is(.drop.hot, .dropzone.hot) { border-color: var(--cpk-link); box-shadow: 0 0 0 3px var(--cpk-accent-soft); transform: none; }
:root :is(.drop-icon, .drop-ico) { background: var(--cpk-accent-soft); color: var(--cpk-link); border-color: var(--cpk-line); box-shadow: none; }
:root :is(.hero-kicker, .kicker) { background: transparent; color: var(--cpk-muted); border-color: var(--cpk-line); }
:root .kicker-dot { background: var(--cpk-link); box-shadow: none; }
:root :is(.panel h2, .panel h3, .model-card h2, .file-copy h3, .dropzone h2, .feature-card h3, .platform-card h3, .prose h2, .prose-card h2, .related strong, .result h3, .facts h3, .verdict h2, .dialog h2, .faq h2, .empty h1, .empty .hero-sub) { color: var(--cpk-ink); }
:root :is(.meta-grid dd, .stats dd, .result-grid dd, .capability dd, .kv dd, .row strong, .preset b, .file-chip strong, .progress-chip strong, .engine-toast strong, .doc-card h4, .finding .type, .finding .action, .meta-card p, .evidence-card p, .source-card p) { color: var(--cpk-ink); }
:root :is(.btn, .ghost, .quiet, .icon-btn, .preset-chip, .tabs button, .seg button) { background: var(--cpk-surface-2); border-color: var(--cpk-line); color: var(--cpk-ink); box-shadow: none; }
:root :is(.btn, .ghost, .quiet, .icon-btn, .preset-chip):hover { background: var(--cpk-surface-2); color: var(--cpk-ink); border-color: var(--cpk-line-strong); }
:root :is(.primary, .btn.primary) { background: var(--cpk-accent); color: var(--cpk-accent-ink); border: 1px solid transparent; box-shadow: none; }
:root :is(.primary, .btn.primary):hover { background: var(--cpk-accent); color: var(--cpk-accent-ink); filter: brightness(.96); box-shadow: none; }
:root :is(.primary, .btn.primary):disabled { background: var(--cpk-surface-2); color: var(--cpk-muted); filter: none; }
:root :is(.danger, .btn.danger, .error, .banner.error, .status.error, .step.err) { color: var(--cpk-rose); background: color-mix(in srgb, var(--cpk-rose) 9%, var(--cpk-surface)); border-color: color-mix(in srgb, var(--cpk-rose) 30%, var(--cpk-line)); }
:root :is(.field input, .field select, .field textarea, .ctrl select, .ctrl input[type="number"], .page-nav input, .url-row input, #custom-instruction, textarea, input[type="url"]) { color: var(--cpk-ink); background: var(--cpk-surface-2); border-color: var(--cpk-line-strong); }
:root :is(.preset, .finding, .doc-card, .feature-card kbd, .capability, .capability dl div, .meta-card, .evidence-card, .source-card, .split div, .para, .tabs, .mode-switch, .thumb, .thumb-ph, .preview-body, .preview, .result, .verdict, .verdict.survived, .related a) { background: var(--cpk-surface-2); border-color: var(--cpk-line); color: var(--cpk-ink); }
:root :is(.tab[aria-selected="true"], .seg button[aria-pressed="true"], .mode-switch button[aria-pressed="true"], .convert-tabs button[aria-pressed="true"], .tabs button.is-active, .preset-chip.active, .preset:has(input:checked), .chip:has(input:checked), .doc-card.active) { background: var(--cpk-accent-soft); color: var(--cpk-link); border-color: var(--cpk-link); }
:root .page-card.selected { border-color: var(--cpk-link); box-shadow: 0 0 0 1px var(--cpk-link); }
:root :is(.badge, .badge.emph, .pill, .chip, .bulk-bar, .notice) { color: var(--cpk-link); background: var(--cpk-accent-soft); border-color: var(--cpk-line); }
:root :is(.badge.warn, .chip.warn, .chip.hot, .banner.warn, .mock-banner, .warn, .note, .badge-pill.warn, .risk[data-risk="MEDIUM"]) { color: var(--cpk-amber); background: color-mix(in srgb, var(--cpk-amber) 8%, var(--cpk-surface)); border-color: color-mix(in srgb, var(--cpk-amber) 30%, var(--cpk-line)); }
:root :is(.badge.emerald, .badge-pill.good, .chip.good, .ok, .banner:not(.warn):not(.error), .privacy-chip, .saved-directly, .step.done, .risk[data-risk="LOW"]) { color: var(--cpk-emerald); background: color-mix(in srgb, var(--cpk-emerald) 8%, var(--cpk-surface)); }
:root :is(.risk[data-risk="HIGH"]) { color: var(--cpk-rose); }
:root :is(.hash, .step.run, .platform-limit, .finding .preview code, .comparison-table th.highlight-col) { color: var(--cpk-cyan); }
:root .verify-card .consent { color: var(--cpk-violet); }
:root :is(.faq-item, .faq-item.open) { background: var(--cpk-surface); border-color: var(--cpk-line); }
:root :is(.faq-item button, .faq-item summary, .faq summary) { color: var(--cpk-ink); }
:root .bar { background: var(--cpk-surface-2); }
:root .bar > span { background: var(--cpk-accent); }
:root .busy-progress, :root .busy-progress::-webkit-progress-bar { background: var(--cpk-surface-2); }
:root .busy-progress::-webkit-progress-value { background: var(--cpk-accent); }
:root .busy-progress::-moz-progress-bar { background: var(--cpk-accent); }
:root .comparison-table th { background: var(--cpk-surface-2); }
:root .comparison-table .highlight-col { background: var(--cpk-accent-soft); }
:root .thumb[aria-current="true"] { color: var(--cpk-link); border-color: var(--cpk-link); }
/* Preserve meaningful paragraph-classification colors. */
:root .para-human { background: color-mix(in srgb, var(--cpk-emerald) 8%, var(--cpk-surface)); }
:root .para-ai_assisted { background: color-mix(in srgb, var(--cpk-amber) 8%, var(--cpk-surface)); }
:root .para-ai_generated { background: color-mix(in srgb, var(--cpk-rose) 8%, var(--cpk-surface)); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Editorial destinations share the same paper and ink palette. */
:root :is(.article p, .article li, .hero .dek, .post p, .status p, .table td, .footer-note, .crumb, .meta) { color: var(--cpk-muted); }
:root :is(.article strong, .article h2, .article h3, .post h2, .quote, .table th) { color: var(--cpk-ink); }
:root :is(.post, .sources, .status > div, .callout, .cta) { background: var(--cpk-surface); color: var(--cpk-ink); border-color: var(--cpk-line); }
:root .callout { border-left-color: var(--cpk-cyan); }
:root .callout.warning { border-left-color: var(--cpk-amber); }
:root :is(.article code, .table th, .terminal-box) { background: var(--cpk-surface-2); color: var(--cpk-ink); border-color: var(--cpk-line); }
:root :is(.article a, .post .kicker, .eyebrow, .cta a) { color: var(--cpk-link); }
:root .steps li::before { color: var(--cpk-link); background: var(--cpk-accent-soft); border-color: var(--cpk-line); }
:root .rule { background: var(--cpk-line); }
:root :is(.quote, .table th, .table td) { border-color: var(--cpk-line); }
:root .tag.verified { background: var(--cpk-accent-soft); color: var(--cpk-emerald); }
:root .tag.testable { background: color-mix(in srgb, var(--cpk-amber) 10%, var(--cpk-surface)); color: var(--cpk-amber); }
:root .tag.unknown { background: color-mix(in srgb, var(--cpk-rose) 10%, var(--cpk-surface)); color: var(--cpk-rose); }
:root :is(.scenario-card.active, .tone-chip.active, .tab-btn.active) { background: var(--cpk-accent-soft); border-color: var(--cpk-link); color: var(--cpk-link); box-shadow: none; }
/* Compatibility for dynamically created metadata rows and account-helper controls. */
:root [class*="bg-card/"], :root [class*="bg-void/"], :root [class*="bg-[#0c0e14]"], :root [class*="bg-[#12141C]"] { background: var(--cpk-surface) !important; }
:root :is([class~="bg-black/30"], [class~="bg-black/40"]) { background: var(--cpk-surface-2) !important; }
:root :is(.terminal, .inspect-group, .rename-menu) { background: var(--cpk-surface); border-color: var(--cpk-line); box-shadow: none; }
:root .inspect-title { color: var(--cpk-muted); }
:root .inspect-k { color: var(--cpk-cyan); }
:root .inspect-v { color: var(--cpk-ink); }
:root :is(.export-split, .export-split button + button) { border-color: var(--cpk-line-strong); }
:root .rename-menu { box-shadow: var(--cpk-shadow); }
:root .rename-opt:hover { background: var(--cpk-surface-2); }
:root .rename-opt.active { background: var(--cpk-accent-soft); border-color: var(--cpk-link); }
:root #dock { background: var(--cpk-surface); border-color: var(--cpk-line-strong); box-shadow: var(--cpk-shadow); }
:root :is(#dockBar, .row-progress) { background: var(--cpk-accent); }
:root :is(.glow-btn, #browseBtn2, #zipBtn, #mailtoLink, #dispatchTweetBtn) { color: var(--cpk-accent-ink) !important; background: var(--cpk-accent) !important; border-color: transparent !important; box-shadow: none !important; }
:root .glow-btn:hover:not(:disabled) { background: var(--cpk-accent) !important; box-shadow: none !important; }
:root .glow-btn:disabled { color: var(--cpk-muted) !important; background: var(--cpk-surface-2) !important; }
:root [class*="text-cyanx"] { color: var(--cpk-cyan) !important; }
:root [class*="text-violetx"] { color: var(--cpk-violet) !important; }
:root [class*="text-emeraldx"] { color: var(--cpk-emerald) !important; }
:root [class*="text-amberx"] { color: var(--cpk-amber) !important; }
:root [class*="bg-cyanx/"] { background: color-mix(in srgb, var(--cpk-cyan) 9%, var(--cpk-surface)) !important; }
:root [class*="bg-violetx/"] { background: color-mix(in srgb, var(--cpk-violet) 9%, var(--cpk-surface)) !important; }
:root [class*="bg-emeraldx/"] { background: color-mix(in srgb, var(--cpk-emerald) 9%, var(--cpk-surface)) !important; }
:root [class*="bg-amberx/"] { background: color-mix(in srgb, var(--cpk-amber) 9%, var(--cpk-surface)) !important; }
:root :is(.scenario-card.active, .tone-chip.active, .tab-btn.active, .filter-tab[class~="bg-white/10"]) { background: var(--cpk-accent-soft) !important; border-color: var(--cpk-link) !important; color: var(--cpk-link) !important; box-shadow: none; }
