/* One EtherealAI material system. French Kiss Studio never receives this sheet.
   Colour changes only: no universal filter, hidden safety control, or data mutation. */
/* THEME_NIGHT_BEGIN */
:root[data-ethereal-theme="night"]:not(:has(#shell.eai-studio-focus)) {
  --et-surface: #10051c;
  --et-panel: #170a26;
  --et-elevated: #211135;
  --et-well: #12071f;
  --et-line: #503464;
  --et-text: #f4eefa;
  --et-muted: #bca9cf;
  --et-faint: #ab94c3;
  --et-accent: #f45ebd;
  --et-chart: #ae8cf3;
  --et-positive: #4bd2e1;
  --et-negative: #ff739f;
  --et-amber: #efbf73;
  --et-violet: #bb91ed;
  --et-ink: #260e35;
  --et-wash: rgba(244,94,189,.08);
  --et-wash-strong: rgba(244,94,189,.16);
  --et-shadow: 0 12px 38px rgba(15,3,27,.26);
  --et-scrim: rgba(16,5,28,.76);
  --et-sheen: linear-gradient(132deg,rgba(244,94,189,.035),transparent 43%,rgba(174,140,243,.025));
  --et-texture: radial-gradient(ellipse at 8% 1%,rgba(113,57,141,.10),transparent 44%),radial-gradient(ellipse at 86% 95%,rgba(214,84,164,.035),transparent 42%),linear-gradient(118deg,#12071f,#10051c 55%,#140822);
  --et-scheme: dark;
}
/* THEME_NIGHT_END */
/* THEME_DAY_BEGIN */
:root[data-ethereal-theme="day"]:not(:has(#shell.eai-studio-focus)) {
  --et-surface: #fff9fc;
  --et-panel: #fffcfe;
  --et-elevated: #f8edf6;
  --et-well: #f9f1f7;
  --et-line: #ddc9df;
  --et-text: #33203e;
  --et-muted: #705978;
  --et-faint: #79617f;
  --et-accent: #a62b77;
  --et-chart: #7443ad;
  --et-positive: #096d7b;
  --et-negative: #b32360;
  --et-amber: #895b17;
  --et-violet: #7443ad;
  --et-ink: #fff9fc;
  --et-wash: rgba(166,43,119,.055);
  --et-wash-strong: rgba(166,43,119,.11);
  --et-shadow: 0 12px 36px rgba(112,55,105,.07);
  --et-scrim: rgba(246,229,242,.78);
  --et-sheen: linear-gradient(132deg,rgba(255,255,255,.8),transparent 43%,rgba(231,193,223,.06));
  --et-texture: radial-gradient(ellipse at 8% 1%,rgba(236,184,218,.065),transparent 44%),radial-gradient(ellipse at 86% 95%,rgba(227,192,224,.055),transparent 42%),linear-gradient(118deg,#fffbfd,#fff9fc 55%,#fff7fb);
  --et-scheme: light;
}
/* THEME_DAY_END */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) {
  --info: var(--et-positive) !important;
  --ped: var(--et-violet) !important;
  --dn: var(--et-negative) !important;
  --ink2: var(--et-muted) !important;
  --blue: var(--et-violet) !important;
  --pink: var(--et-accent) !important;
  --card-top: var(--et-elevated) !important;
  --card-foot: var(--et-well) !important;
  --edge-hot: var(--et-accent) !important;
  --line-soft: var(--et-line) !important;
  --ink: var(--et-text) !important;
  --field: var(--et-well) !important;
  --cyan: var(--et-positive) !important;
  --copper: var(--et-accent) !important;
  --brand-e: var(--et-text) !important;
  --brand-a: var(--et-accent) !important;
  --bar: var(--et-panel) !important;
  --card2: var(--et-elevated) !important;
  --bg-grad: var(--et-texture) !important;
  --go-dim: var(--et-wash-strong) !important;
  --track: var(--et-wash-strong) !important;
  --bg: var(--et-surface) !important;
  --panel: var(--et-panel) !important;
  --panel-2: var(--et-elevated) !important;
  --card: var(--et-elevated) !important;
  --line: var(--et-line) !important;
  --edge: var(--et-line) !important;
  --edge-2: var(--et-line) !important;
  --text: var(--et-text) !important;
  --muted: var(--et-muted) !important;
  --faint: var(--et-faint) !important;
  --accent: var(--et-accent) !important;
  --go: var(--et-violet) !important;
  --go-ink: var(--et-ink) !important;
  --up: var(--et-positive) !important;
  --ok: var(--et-positive) !important;
  --down: var(--et-negative) !important;
  --stop: var(--et-negative) !important;
  --warn: var(--et-amber) !important;
  --wait: var(--et-amber) !important;
  --danger: var(--et-negative) !important;
  --white: var(--et-text) !important;
  --accent-wash: var(--et-wash-strong) !important;
  --bg-image: var(--et-texture) !important;
  --panel-sheen: var(--et-sheen) !important;
  --panel-shadow: var(--et-shadow) !important;
  --scrim: var(--et-scrim) !important;
  --plane-0: var(--et-surface) !important;
  --plane-1: var(--et-panel) !important;
  --plane-2: var(--et-elevated) !important;
  --plane-3: var(--et-well) !important;
  --plane-in: var(--et-well) !important;
  --stage: var(--et-well) !important;
  --stage-ink: var(--et-text) !important;
  --ink-1: var(--et-text) !important;
  --ink-2: var(--et-muted) !important;
  --ink-3: var(--et-faint) !important;
  --hair: var(--et-line) !important;
  --hair-strong: var(--et-line) !important;
  --hk-bg: var(--et-surface) !important;
  --hk-panel: var(--et-panel) !important;
  --hk-line: var(--et-line) !important;
  --hk-text: var(--et-text) !important;
  --hk-muted: var(--et-muted) !important;
  --hk-up: var(--et-positive) !important;
  --hs-bg: var(--et-surface) !important;
  --hs-panel: var(--et-panel) !important;
  --hs-line: var(--et-line) !important;
  --hs-text: var(--et-text) !important;
  --hs-muted: var(--et-muted) !important;
  --hs-up: var(--et-positive) !important;
  --hs-go: var(--et-violet) !important;
  --theme-bg: var(--et-surface) !important;
  --theme-card: var(--et-panel) !important;
  --theme-text: var(--et-text) !important;
  --theme-text-secondary: var(--et-muted) !important;
  --theme-border: var(--et-line) !important;
  --theme-success: var(--et-positive) !important;
  --theme-success-text: var(--et-positive) !important;
  --deck-ground: var(--et-surface) !important;
  --deck-deep: var(--et-well) !important;
  --deck-deep-2: var(--et-well) !important;
  --deck-panel: var(--et-panel) !important;
  --deck-panel-2: var(--et-panel) !important;
  --deck-panel-3: var(--et-elevated) !important;
  --deck-raised: var(--et-elevated) !important;
  --deck-card: var(--et-panel) !important;
  --deck-pink: var(--et-accent) !important;
  --deck-hot: var(--et-negative) !important;
  --deck-think: var(--et-violet) !important;
  --deck-core: var(--et-text) !important;
  --deck-amber: var(--et-amber) !important;
  --deck-danger: var(--et-negative) !important;
  --deck-danger-ink: var(--et-negative) !important;
  --deck-retired: var(--et-negative) !important;
  --deck-ink: var(--et-ink) !important;
  --deck-white: var(--et-text) !important;
  --deck-text: var(--et-text) !important;
  --deck-text-2: var(--et-muted) !important;
  --deck-label: var(--et-faint) !important;
  --deck-light-off: var(--et-line) !important;
  --deck-edge: var(--et-line) !important;
  --deck-edge-soft: var(--et-line) !important;
  --deck-edge-strong: var(--et-accent) !important;
  --deck-edge-danger: var(--et-negative) !important;
  --deck-wash: var(--et-wash) !important;
  --deck-wash-2: var(--et-wash-strong) !important;
  --deck-wash-3: var(--et-wash-strong) !important;
  --deck-wash-think: var(--et-wash) !important;
  --deck-wash-danger: var(--et-wash) !important;
  --deck-track: var(--et-wash-strong) !important;
  --deck-reticle: var(--et-line) !important;
  --deck-scrim: var(--et-scrim) !important;
  --deck-plate: var(--et-panel) !important;
  --deck-plate-edge: var(--et-line) !important;
  --deck-hover-plate: var(--et-elevated) !important;
  --hud-ground: var(--et-surface) !important;
  --hud-card: var(--et-panel) !important;
  --hud-card-strong: var(--et-elevated) !important;
  --hud-well: var(--et-well) !important;
  --hud-control: var(--et-well) !important;
  --hud-pink: var(--et-accent) !important;
  --hud-pink-deep: var(--et-negative) !important;
  --hud-core: var(--et-text) !important;
  --hud-violet: var(--et-violet) !important;
  --hud-think: var(--et-violet) !important;
  --hud-text: var(--et-text) !important;
  --hud-label: var(--et-muted) !important;
  --hud-sub: var(--et-muted) !important;
  --hud-note: var(--et-faint) !important;
  --hud-faint: var(--et-faint) !important;
  --hud-hint-on: var(--et-accent) !important;
  --hud-knob-off: var(--et-line) !important;
  --hud-seg-low: var(--et-muted) !important;
  --hud-seg-mid: var(--et-violet) !important;
  --hud-seg-high: var(--et-accent) !important;
  --hud-tier-cheeky: var(--et-accent) !important;
  --hud-grid: var(--et-wash) !important;
  --hud-line: var(--et-line) !important;
  --hud-edge: var(--et-line) !important;
  --hud-edge-strong: var(--et-accent) !important;
  --hud-wash: var(--et-wash) !important;
  --hud-on: var(--et-wash-strong) !important;
  --hud-seg-off: var(--et-wash) !important;
  --senses-bg: var(--et-well) !important;
  --senses-panel: var(--et-panel) !important;
  --senses-line: var(--et-line) !important;
  --senses-text: var(--et-text) !important;
  --senses-dim: var(--et-muted) !important;
  --attention-bg: var(--et-panel) !important;
  --attention-line: var(--et-line) !important;
  --attention-text: var(--et-text) !important;
  --attention-dim: var(--et-muted) !important;
  --attention-control: var(--et-well) !important;
  --chat-field: var(--et-well) !important;
  --chat-strong: var(--et-text) !important;
  --drawer-field: var(--et-well) !important;
  --drawer-btn: var(--et-elevated) !important;
  --drawer-add: var(--et-elevated) !important;
  --voice-text: var(--et-text) !important;
  --voice-hint: var(--et-muted) !important;
  --voice-edge: var(--et-line) !important;
  --progress-bg: var(--et-surface) !important;
  --progress-text: var(--et-text) !important;
  --progress-track: var(--et-elevated) !important;
  --progress-step: var(--et-muted) !important;
  --progress-note: var(--et-faint) !important;
  --deck-glow: inset 0 -1px var(--et-accent);
  --deck-glow-soft: 0 0 transparent;
  --hud-glow: 0 0 transparent;
  --control-sheen: var(--et-sheen);
  --radius: 8px;
  --radius-l: 10px;
  --scrollbar-thumb: var(--et-line);
  --et-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --hud-radius: 6px;
  color-scheme: var(--et-scheme);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) body {
  background-color: var(--et-surface) !important;
  background-image: var(--et-texture) !important;
  color: var(--et-text);
  font-family: var(--et-font);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(.panel, .card, .os-card, .os-hero, .os-tile, .mh-card, .mh-layer, .hs-card, .hk-card, .bx-card,
  .et-view, .et-card, .et-panel, .et-kpi, .etw-card, .etw-stat, .etw-chart-card, .etw-side, .et-lab-panel) {
  background-color: var(--et-panel) !important;
  background-image: var(--et-sheen) !important;
  border-color: var(--et-line) !important;
  color: var(--et-text);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(input:not([type="checkbox"]):not([type="range"]):not([type="radio"]), select, textarea) {
  color: var(--et-text);
  background-color: var(--et-well);
  border-color: var(--et-line);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--et-accent);
  outline-offset: 3px;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(.shell, #shell) { background-color: transparent; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(.slot-rail, .eai-os, .right .slot, .bottombar.slot, .drawer.slot) {
  background-image: var(--et-sheen);
  border-color: var(--et-line);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .pinned-camera > video { background: var(--et-well); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .eai-tab {
  border-radius: 7px;
  letter-spacing: .015em;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .eai-tab[aria-pressed="true"] {
  box-shadow: inset 2px 0 var(--et-accent);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #etWorkspace { color-scheme: var(--et-scheme); }
/* WebGL consumes literal #hex tokens; the scene refreshes on ethereal:theme-change. */
:root[data-ethereal-theme="night"]:not(:has(#shell.eai-studio-focus)) {
  --scene-bg: #10051c; --scene-link: #ac83c8; --scene-lit: #f4eefa; --scene-path: #f45ebd; --scene-hover: #f4eefa;
}
:root[data-ethereal-theme="day"]:not(:has(#shell.eai-studio-focus)) {
  --scene-bg: #fff9fc; --scene-link: #866599; --scene-lit: #33203e; --scene-path: #a62b77; --scene-hover: #7443ad;
  --scene-type-memory: #a62b77; --scene-type-knowledge: #7443ad; --scene-type-repo-doc: #544064;
  --scene-type-decision: #a62b77; --scene-type-inbox: #b32360; --scene-type-research: #7443ad;
  --scene-type-status: #096d7b; --scene-type-agent: #7443ad; --scene-type-skill: #a62b77;
  --scene-type-experiment: #705978; --scene-type-owner-note: #33203e; --scene-type-code: #096d7b;
  --scene-type-script: #7443ad; --scene-type-config: #705978; --scene-type-contract: #a62b77;
  --scene-type-scene: #7443ad; --scene-type-other: #79617f;
}
@media (prefers-reduced-motion: reduce) {
  :root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) { scroll-behavior: auto; }
}

/* Type legends use the same live tokens as the 3D nodes. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="memory"] { --tc: var(--scene-type-memory) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="knowledge"] { --tc: var(--scene-type-knowledge) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="repo doc"] { --tc: var(--scene-type-repo-doc) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="decision"] { --tc: var(--scene-type-decision) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="inbox"] { --tc: var(--scene-type-inbox) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="research"] { --tc: var(--scene-type-research) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="status"] { --tc: var(--scene-type-status) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="agent"] { --tc: var(--scene-type-agent) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="skill"] { --tc: var(--scene-type-skill) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="experiment"] { --tc: var(--scene-type-experiment) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="owner note"] { --tc: var(--scene-type-owner-note) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="code"] { --tc: var(--scene-type-code) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="script"] { --tc: var(--scene-type-script) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="config"] { --tc: var(--scene-type-config) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="contract"] { --tc: var(--scene-type-contract) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="scene"] { --tc: var(--scene-type-scene) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .wl-type[data-type="other"] { --tc: var(--scene-type-other) !important; }

/* Shared CRM controls retain their existing action and status fills. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(.btn, .button, .tab, .mh-tab, .hk-tab, .hs-tab) {
  border-radius: 7px;
  font-family: var(--et-font);
  letter-spacing: .01em;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(.panel, .card, .os-card, .os-tile, .mh-card, .hs-card, .hk-card) {
  border-radius: 10px;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-radius: 7px;
  font-family: var(--et-font);
}

/* Existing full-screen artwork becomes the same quiet material, keeping its layering. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) body::before {
  background-image: var(--et-texture) !important;
  background-size: cover !important;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shell > main > header,
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shell > aside {
  background-color: var(--et-panel) !important;
  color: var(--et-text);
}
/* Solidity's standalone wizard has its own hard-coded navy material. Keep its layout and asset previews. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab :is(.current, aside, .explain, .package),
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #project-dialog {
  background-color: var(--et-panel) !important;
  background-image: var(--et-sheen) !important;
  border-color: var(--et-line) !important;
  color: var(--et-text);
  box-shadow: var(--et-shadow);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab button {
  background: var(--et-elevated);
  color: var(--et-text);
  border-color: var(--et-line);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab button.primary {
  background: var(--et-accent); color: var(--et-ink); border-color: var(--et-accent);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab .explain h3 { color: var(--et-accent); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab :is(.wordmark, .workspace-hint, dd) { color: var(--et-text); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab .logo-board.dark { background: var(--et-well); }
/* Shared command-center chrome contains older literal paints. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shell :is(#pf-badge, #nav) {
  background: var(--et-panel) !important;
  border-color: var(--et-line) !important;
  box-shadow: var(--et-shadow) !important;
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shell :is(#page-title, .brand) { color: var(--et-text) !important; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) :is(input, textarea)::placeholder { color: var(--et-muted) !important; opacity: 1; }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #lab .field > span { color: var(--et-text); }
/* The current Hub catalog defines local materials; bind those at its own boundary. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list {
  --hub-edge: var(--et-line); --hub-muted: var(--et-muted); --hub-surface: var(--et-panel);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list :is(h2, h3, [role="group"]) { color: var(--et-text); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list :is(.hub-connection-state, .hub-sharing-label) { color: var(--et-muted); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list .hub-connection-state[data-state="mounted"] { color: var(--et-positive); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list .hub-connection-state[data-state="adapter-available"] { color: var(--et-violet); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #shared-connections-list input[type="search"] { background: var(--et-well); color: var(--et-text); }
/* Current standalone desks: shared command bars and legible existing state labels. */
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .cmdbar {
  background: var(--et-panel) !important;
  border-color: var(--et-line);
  color: var(--et-text);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #venuebar {
  background: var(--et-well);
}
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #statebanner .tag { color: var(--et-violet); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #statebanner .msg b { color: var(--et-text); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) #statebanner.live :is(.tag, .msg b) { color: var(--et-negative); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) a#recall.j-recall { background: var(--et-accent); color: var(--et-ink); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) .page-layer2 :is(.g.unknown, .pill.unknown) { color: var(--et-muted); }
:root[data-ethereal-theme]:not(:has(#shell.eai-studio-focus)) body.hk-page > nav { background: var(--et-panel) !important; color: var(--et-text); }
