/* Macaron Atelier — shared palette, loaded after every tool stylesheet.
   Keep layout and generation behavior independent of this theme. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --an-bg: #f7f5f2;
  --an-surface: #fffefa;
  --an-ink: #353244;
  --an-muted: #706b7e;
  --an-line: #e4dfeb;
  --an-blue: #7054a2;
  --an-blue-dark: #594080;
  --an-soft: #eee7f8;
  --mac-primary: #d8c9ee;
  --mac-primary-hover: #c9b5e7;
  --mac-primary-ink: #46315f;
  --mac-mint: #d9ede3;
  --mac-mint-ink: #356451;
  --mac-peach: #f7dfd5;
  --mac-peach-ink: #875340;
  --mac-sky: #deebf6;
  --mac-sky-ink: #466780;
  --mac-rose: #f1dfeb;
  --mac-rose-ink: #854e70;
  --mac-yellow: #f5ebca;
  --mac-yellow-ink: #7d6530;
  --mac-field: #fcfaf7;
  --mac-checker: #eeeaf0;
  --mac-track: #d8d0e4;
  --mac-thumb: #9474bd;
  --mac-shadow: 0 4px 18px #48365308;
  --danger: #ac465a;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --an-bg: #1c1a23;
  --an-surface: #26232e;
  --an-ink: #f1edf5;
  --an-muted: #b9b0c7;
  --an-line: #413a4d;
  --an-blue: #d2bce9;
  --an-blue-dark: #e3d2f4;
  --an-soft: #3c304e;
  --mac-primary: #cfb8e6;
  --mac-primary-hover: #dfcbf1;
  --mac-primary-ink: #342241;
  --mac-mint: #293f38;
  --mac-mint-ink: #b0deca;
  --mac-peach: #49352f;
  --mac-peach-ink: #efc0ab;
  --mac-sky: #2b3b4b;
  --mac-sky-ink: #b8d5ec;
  --mac-rose: #453040;
  --mac-rose-ink: #e8bcd5;
  --mac-yellow: #423d2b;
  --mac-yellow-ink: #e6d29a;
  --mac-field: #2b2734;
  --mac-checker: #322c3a;
  --mac-track: #4e405f;
  --mac-thumb: #c3a4e2;
  --mac-shadow: 0 4px 18px #00000016;
  --danger: #ed9bab;
}
:root, :root[data-theme] {
  --bg: var(--an-bg); --surface: var(--an-surface); --surface-2: var(--mac-field);
  --text: var(--an-ink); --muted: var(--an-muted); --line: var(--an-line);
  --accent: var(--mac-primary); --accent-text: var(--mac-primary-ink);
  --blue: var(--an-blue); --lime: var(--mac-primary); --shadow: var(--mac-shadow);
  background: var(--an-bg); color: var(--an-ink);
}
body { background: var(--an-bg); color: var(--an-ink); }
::selection { background: var(--mac-primary); color: var(--mac-primary-ink); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:where(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--mac-thumb); outline-offset: 3px; }
:where(.editor-scroll,.preview-scroll,.an-transcript,.an-side-list,.form-panel) { scrollbar-color: var(--mac-track) transparent; scrollbar-width: thin; }

/* Actions share one treatment; pastel fill needs dark text, not white. */
:root :is(.primary,.an-primary,.an-confirm,.an-send,.an-new-session,.an-home-launch>button,.taskbar .new-task) {
  background: var(--mac-primary) !important; color: var(--mac-primary-ink) !important;
  border: 1px solid transparent; border-radius: 8px; box-shadow: none;
}
:root :is(.primary,.an-primary,.an-confirm,.an-send,.an-new-session,.an-home-launch>button,.taskbar .new-task):hover:not(:disabled) {
  background: var(--mac-primary-hover) !important;
}
:root :is(.an-secondary,.an-session-action,.taskbar>button:not(.new-task),.panel-heading>button,.preview-heading button,.outline,.drawer-row button,.mask-toolbar button) {
  background: var(--an-surface); color: var(--an-ink); border: 1px solid var(--an-line); border-radius: 8px; box-shadow: none;
}
:root :is(.an-secondary,.an-session-action,.taskbar>button:not(.new-task),.panel-heading>button,.preview-heading button,.outline,.drawer-row button):hover:not(:disabled) {
  background: var(--an-soft); border-color: var(--mac-thumb); color: var(--an-blue);
}
:root .an-session-delete:hover, :root .an-delete-confirm {
  background: var(--mac-rose) !important; color: var(--danger) !important; border-color: var(--danger);
}
.an-site-header { background: var(--an-surface); }
.an-site-header nav>a.active { background: var(--an-soft); color: var(--an-blue); }
.an-avatar { background: var(--mac-primary); color: var(--mac-primary-ink); }
.an-theme { background: var(--mac-field); }
.an-site-menu { box-shadow: 0 12px 36px #30213d20; }
.taskbar { background: var(--an-surface); }
:root .task-tab.active { border-color: var(--mac-primary); background: var(--an-soft); color: var(--an-blue); box-shadow: none; }
.task-tab>i { background: var(--mac-thumb); }
.task-tab>i.working { background: var(--mac-peach-ink); }
:root :is(.config-panel,.preview-panel,.panel,.an-sidebar,.an-main,.an-context) { background: var(--an-surface); border-color: var(--an-line); box-shadow: var(--mac-shadow); }
.panel-heading,.preview-heading,.result-head { background: var(--an-surface); }

/* Form controls retain their existing dimensions and request semantics. */
:root[data-theme] :is(.field input,.field select,.field textarea,.an-field input,.an-field select,.an-field textarea,.an-shot input,.an-shot textarea,.an-size-pair input,.auth-card input,.image-size-controls select,.preview-tools select,.size-number,.an-compact-select select) {
  color: var(--an-ink); background: var(--mac-field); border-color: var(--an-line);
}
:root[data-theme] :is(.tabs,.segmented,.an-side-mode) { background: var(--mac-field); border-color: var(--an-line); }
:root[data-theme] :is(.tabs button,.segmented button,.an-side-mode button) { color: var(--an-muted); }
:root[data-theme] :is(.tabs button.active,.segmented button.active,.an-side-mode button.active,.scenario.active,.mask-toolbar button.active) {
  background: var(--an-soft); border-color: var(--mac-primary); color: var(--an-blue); box-shadow: none;
}
:root[data-theme] :is(.scenario,.uploadbox,.upload-target,.image-size-controls) { background: var(--mac-field); border-color: var(--an-line); color: var(--an-muted); }
:root[data-theme] :is(.uploadbox,.upload-target):hover, :root .upload-target.dragging { background: var(--an-soft); border-color: var(--mac-thumb); }
:root[data-theme] .uploadbox b, :root[data-theme] .uploadbox strong { color: var(--an-ink); }
:root .uploadbox .plus { color: var(--an-blue); }
:root input[type="checkbox"], :root input[type="range"] { accent-color: var(--mac-thumb); }
:root[data-theme] .size-dimension input[type="range"] {
  background: linear-gradient(to right, var(--an-line) 0 var(--range-legal-start), var(--mac-thumb) var(--range-legal-start) var(--range-value), var(--mac-track) var(--range-value) var(--range-legal-end), var(--an-line) var(--range-legal-end) 100%);
}
.size-dimension input[type="range"]::-webkit-slider-thumb { background: var(--mac-thumb); border-color: var(--an-surface); }
.size-dimension input[type="range"]::-moz-range-thumb { background: var(--mac-thumb); border-color: var(--an-surface); }
:root .action-footer,:root .submitline { border-color: var(--an-line); background: var(--an-surface); }

/* Results stay neutral so artwork colors are not visually contaminated. */
.image-frame,.mask-stage { background: repeating-conic-gradient(var(--mac-checker) 0 25%,var(--mac-field) 0 50%) 50%/24px 24px; }
.pixel-badge,.result-pixels { background: #353244e8; color: #fff; }
:root :is(.result-grid figcaption a,.slot-actions a,.slot-actions button,.an-result-buttons a) { color: var(--an-blue); }
:root .slot-card.active { border-color: var(--mac-thumb); box-shadow: 0 0 0 2px var(--an-soft); }
:root .status.completed { color: var(--mac-mint-ink); }
:root :is(.empty-result>span,.placeholder) { color: var(--mac-thumb); }
:root .preview-tools a { background: var(--mac-mint); color: var(--mac-mint-ink); border-color: var(--mac-mint); }
:root .warning,:root .template-facts-note,:root .mock-banner { background: var(--mac-yellow); color: var(--mac-yellow-ink); border-color: var(--mac-yellow-ink); }
:root .empty>div:first-child { background: var(--an-soft); color: var(--an-blue); }

/* Conversation uses quiet lilac selection, mint user avatars, peach details. */
.an-create .an-sidebar { background: var(--mac-field); }
.an-search,.an-create .an-compose { background: var(--an-surface); }
.an-create .an-compose:focus-within { border-color: var(--mac-thumb); box-shadow: 0 0 0 3px var(--an-soft); }
.an-message-icon { background: var(--mac-primary); color: var(--mac-primary-ink); }
.an-message.user .an-message-icon { background: var(--mac-mint); color: var(--mac-mint-ink); }
.an-orb { background: linear-gradient(140deg,var(--mac-primary),var(--mac-rose)); color: var(--mac-primary-ink); box-shadow: none; }
.an-create .an-transcript>.an-proposal { border-color: var(--mac-primary); background: var(--an-surface); }
.an-badge { background: var(--an-soft); color: var(--an-blue); }
.an-proposal.dirty .an-badge { background: var(--mac-peach); color: var(--mac-peach-ink); }
.an-create .an-action { background: var(--mac-field); border-color: var(--an-line); }
.an-session.active { background: var(--an-soft); }
.an-create .an-session-action { color: var(--an-blue); }
.an-create .an-session-delete { color: var(--an-muted); }

/* Individual tools receive one pastel accent, never a rainbow form. */
:root .tool-card .tool-symbol { background: var(--an-soft) !important; color: var(--an-blue); box-shadow: none; }
:root .tool-card.mint .tool-symbol { background: var(--mac-mint) !important; color: var(--mac-mint-ink); }
:root .tool-card.violet .tool-symbol { background: var(--an-soft) !important; color: var(--an-blue); }
:root .tool-card.blue .tool-symbol,:root .tool-card.cyan .tool-symbol { background: var(--mac-sky) !important; color: var(--mac-sky-ink); }
:root .tool-card.pink .tool-symbol { background: var(--mac-peach) !important; color: var(--mac-peach-ink); }
.tool-card:hover { border-color: var(--mac-thumb) !important; box-shadow: var(--mac-shadow); }
:root[data-theme] :is(.canvas-projects button,.layers button,.package-list button) { background: var(--mac-field); border-color: var(--an-line); color: var(--an-ink); }
:root[data-theme] .package-list button:hover { background: var(--an-soft); border-color: var(--mac-thumb); }
:root[data-theme] :is(.auth-card p,.auth-card form label,.ledger small,.canvas-projects small,.foot,.foot strong) { color: var(--an-muted); }
.toast,.notice { background: var(--an-ink); color: var(--an-surface); border-color: var(--an-line); }
.toast.error,.notice.error { background: var(--mac-rose); color: var(--danger); border-color: var(--danger); }
