/* Archive appearance v1. Removing data-appearance restores the existing theme.
   Keep all product styling scoped: this is an opt-in visual layer. */
:root[data-appearance] {
    --color-primary: #243c34;
    --color-primary-dark: #365445;
    --color-primary-light: #526b54;
    --color-primary-subtle: #e8ecdf;
    --color-secondary: #0f766e;
    --color-secondary-dark: #115e59;
    --color-accent: #0f766e;
    --color-accent-dark: #115e59;
    --color-white: #fffef8;
    --color-gray-50: #f6f4ec;
    --color-gray-100: #e8ecdf;
    --color-gray-200: #d4d9cd;
    --color-gray-300: #a8b3a2;
    --color-gray-400: #61715e;
    --color-gray-500: #596b61;
    --color-gray-600: #52634f;
    --color-gray-700: #40543d;
    --color-gray-800: #304b3d;
    --color-gray-900: #243c34;
    --text-primary: #243c34;
    --text-secondary: #596b61;
    --text-tertiary: #52634f;
    --surface-primary: #fffef8;
    --surface-secondary: #f6f4ec;
    --surface-tertiary: #e8ecdf;
    --surface-hover: #e8ecdf;
    --border-primary: #d4d9cd;
    --border-secondary: #e8ecdf;
    --text-on-accent: #fffef8;
    --archive-gold: #795c2f;
    --archive-focus: #795c2f;
}
:root[data-appearance][data-theme="dark"] {
    --color-primary: #b8d3bd;
    --color-primary-dark: #d4e5d3;
    --color-primary-light: #9ab89f;
    --color-primary-subtle: #263e34;
    --color-secondary: #80d4c8;
    --color-secondary-dark: #ace8de;
    --color-accent: #80d4c8;
    --color-accent-dark: #ace8de;
    --color-white: #15251f;
    --color-gray-50: #1b2e26;
    --color-gray-100: #263e34;
    --color-gray-200: #40594a;
    --color-gray-300: #637b68;
    --color-gray-400: #a8bca9;
    --color-gray-500: #bacbb9;
    --color-gray-600: #cbd8c7;
    --color-gray-700: #dce5d5;
    --color-gray-800: #e7eddf;
    --color-gray-900: #f6f4ec;
    --text-primary: #f6f4ec;
    --text-secondary: #cbd8c7;
    --text-tertiary: #bacbb9;
    --surface-primary: #15251f;
    --surface-secondary: #1b2e26;
    --surface-tertiary: #263e34;
    --surface-hover: #263e34;
    --border-primary: #40594a;
    --border-secondary: #263e34;
    --text-on-accent: #15251f;
    --archive-gold: #e5c78e;
    --archive-focus: #e5c78e;
}
:root[data-appearance] body,
:root[data-appearance] #v4-canvas { background-color: var(--surface-secondary); }
:root[data-appearance] .v4-intel-title { color: var(--archive-gold); }
:root[data-appearance] .btn-primary { color: var(--text-on-accent); }
:root[data-appearance] .btn-secondary,
:root[data-appearance] .v4-intel-upload-btn {
    background-color: var(--surface-primary);
    color: var(--text-primary);
    border-color: var(--border-primary);
}
:root[data-appearance] .v4-intel-upload-btn:hover,
:root[data-appearance] .v4-intel-upload-btn.active {
    background-color: var(--surface-hover);
    border-color: var(--color-primary);
}
:root[data-appearance] .v4-intel-uploads,
:root[data-appearance] .v4-intel-upload-icon { background-color: var(--surface-secondary); }
:root[data-appearance] :is(a,button,input,select,textarea,summary):focus-visible {
    outline-color: var(--archive-focus);
}

:root:is([data-appearance="ocean"],[data-appearance="navy-frame"]):not([data-theme="dark"]) {
    --color-primary: #173b61;
    --color-primary-dark: #28577b;
    --color-primary-light: #28577b;
    --color-primary-subtle: #e1edf5;
    --color-secondary: #076b79;
    --color-secondary-dark: #076b79;
    --color-accent: #076b79;
    --color-accent-dark: #076b79;
    --color-white: #ffffff;
    --color-gray-50: #eef5fa;
    --color-gray-100: #e1edf5;
    --color-gray-200: #c4d5e2;
    --color-gray-300: #c4d5e2;
    --color-gray-400: #596f85;
    --color-gray-500: #50657b;
    --color-gray-600: #50657b;
    --color-gray-700: #173b61;
    --color-gray-800: #173b61;
    --color-gray-900: #173b61;
    --text-primary: #173b61;
    --text-secondary: #50657b;
    --text-tertiary: #50657b;
    --surface-primary: #ffffff;
    --surface-secondary: #eef5fa;
    --surface-tertiary: #e1edf5;
    --surface-hover: #e1edf5;
    --border-primary: #c4d5e2;
    --border-secondary: #e1edf5;
    --text-on-accent: #ffffff;
    --archive-gold: #076b79;
    --archive-focus: #076b79;
}

:root:is([data-appearance="ocean"],[data-appearance="navy-frame"])[data-theme="dark"] {
    --color-primary: #b4d5ef;
    --color-primary-dark: #d5eaff;
    --color-primary-light: #d5eaff;
    --color-primary-subtle: #233d55;
    --color-secondary: #8bd6de;
    --color-secondary-dark: #8bd6de;
    --color-accent: #8bd6de;
    --color-accent-dark: #8bd6de;
    --color-white: #101e30;
    --color-gray-50: #16283e;
    --color-gray-100: #233d55;
    --color-gray-200: #405c77;
    --color-gray-300: #405c77;
    --color-gray-400: #adc2d5;
    --color-gray-500: #bbccdd;
    --color-gray-600: #bbccdd;
    --color-gray-700: #edf5fc;
    --color-gray-800: #edf5fc;
    --color-gray-900: #edf5fc;
    --text-primary: #edf5fc;
    --text-secondary: #bbccdd;
    --text-tertiary: #bbccdd;
    --surface-primary: #101e30;
    --surface-secondary: #16283e;
    --surface-tertiary: #233d55;
    --surface-hover: #233d55;
    --border-primary: #405c77;
    --border-secondary: #233d55;
    --text-on-accent: #101e30;
    --archive-gold: #8bd6de;
    --archive-focus: #8bd6de;
}

:root[data-appearance="plum"]:not([data-theme="dark"]) {
    --color-primary: #593957;
    --color-primary-dark: #735071;
    --color-primary-light: #735071;
    --color-primary-subtle: #ecdfee;
    --color-secondary: #765039;
    --color-secondary-dark: #765039;
    --color-accent: #765039;
    --color-accent-dark: #765039;
    --color-white: #fffbff;
    --color-gray-50: #f6eff7;
    --color-gray-100: #ecdfee;
    --color-gray-200: #d9c7dc;
    --color-gray-300: #d9c7dc;
    --color-gray-400: #79637d;
    --color-gray-500: #6b556e;
    --color-gray-600: #6b556e;
    --color-gray-700: #442b48;
    --color-gray-800: #442b48;
    --color-gray-900: #442b48;
    --text-primary: #442b48;
    --text-secondary: #6b556e;
    --text-tertiary: #6b556e;
    --surface-primary: #fffbff;
    --surface-secondary: #f6eff7;
    --surface-tertiary: #ecdfee;
    --surface-hover: #ecdfee;
    --border-primary: #d9c7dc;
    --border-secondary: #ecdfee;
    --text-on-accent: #ffffff;
    --archive-gold: #765039;
    --archive-focus: #765039;
}

:root[data-appearance="plum"][data-theme="dark"] {
    --color-primary: #e0c0e5;
    --color-primary-dark: #f1d8f4;
    --color-primary-light: #f1d8f4;
    --color-primary-subtle: #49344f;
    --color-secondary: #e7c396;
    --color-secondary-dark: #e7c396;
    --color-accent: #e7c396;
    --color-accent-dark: #e7c396;
    --color-white: #271b2c;
    --color-gray-50: #32233a;
    --color-gray-100: #49344f;
    --color-gray-200: #69516f;
    --color-gray-300: #69516f;
    --color-gray-400: #c6b0ce;
    --color-gray-500: #d4c0db;
    --color-gray-600: #d4c0db;
    --color-gray-700: #faf0fc;
    --color-gray-800: #faf0fc;
    --color-gray-900: #faf0fc;
    --text-primary: #faf0fc;
    --text-secondary: #d4c0db;
    --text-tertiary: #d4c0db;
    --surface-primary: #271b2c;
    --surface-secondary: #32233a;
    --surface-tertiary: #49344f;
    --surface-hover: #49344f;
    --border-primary: #69516f;
    --border-secondary: #49344f;
    --text-on-accent: #271b2c;
    --archive-gold: #e7c396;
    --archive-focus: #e7c396;
}

:root[data-appearance="terracotta"]:not([data-theme="dark"]) {
    --color-primary: #813c2c;
    --color-primary-dark: #9a4e39;
    --color-primary-light: #9a4e39;
    --color-primary-subtle: #f0e2cf;
    --color-secondary: #53663d;
    --color-secondary-dark: #53663d;
    --color-accent: #53663d;
    --color-accent-dark: #53663d;
    --color-white: #fffcf5;
    --color-gray-50: #f8f0e3;
    --color-gray-100: #f0e2cf;
    --color-gray-200: #d7c3ad;
    --color-gray-300: #d7c3ad;
    --color-gray-400: #866956;
    --color-gray-500: #70594b;
    --color-gray-600: #70594b;
    --color-gray-700: #4e342b;
    --color-gray-800: #4e342b;
    --color-gray-900: #4e342b;
    --text-primary: #4e342b;
    --text-secondary: #70594b;
    --text-tertiary: #70594b;
    --surface-primary: #fffcf5;
    --surface-secondary: #f8f0e3;
    --surface-tertiary: #f0e2cf;
    --surface-hover: #f0e2cf;
    --border-primary: #d7c3ad;
    --border-secondary: #f0e2cf;
    --text-on-accent: #ffffff;
    --archive-gold: #53663d;
    --archive-focus: #53663d;
}

:root[data-appearance="terracotta"][data-theme="dark"] {
    --color-primary: #f2b89f;
    --color-primary-dark: #ffdac4;
    --color-primary-light: #ffdac4;
    --color-primary-subtle: #4d372c;
    --color-secondary: #c5d6a5;
    --color-secondary-dark: #c5d6a5;
    --color-accent: #c5d6a5;
    --color-accent-dark: #c5d6a5;
    --color-white: #2a1e19;
    --color-gray-50: #372720;
    --color-gray-100: #4d372c;
    --color-gray-200: #735548;
    --color-gray-300: #735548;
    --color-gray-400: #c8ac97;
    --color-gray-500: #dec5b1;
    --color-gray-600: #dec5b1;
    --color-gray-700: #fff1e4;
    --color-gray-800: #fff1e4;
    --color-gray-900: #fff1e4;
    --text-primary: #fff1e4;
    --text-secondary: #dec5b1;
    --text-tertiary: #dec5b1;
    --surface-primary: #2a1e19;
    --surface-secondary: #372720;
    --surface-tertiary: #4d372c;
    --surface-hover: #4d372c;
    --border-primary: #735548;
    --border-secondary: #4d372c;
    --text-on-accent: #2a1e19;
    --archive-gold: #c5d6a5;
    --archive-focus: #c5d6a5;
}

:root:is([data-appearance="graphite"],[data-appearance="charcoal-frame"]):not([data-theme="dark"]) {
    --color-primary: #34363a;
    --color-primary-dark: #50545a;
    --color-primary-light: #50545a;
    --color-primary-subtle: #e4e6e9;
    --color-secondary: #50545a;
    --color-secondary-dark: #50545a;
    --color-accent: #50545a;
    --color-accent-dark: #50545a;
    --color-white: #ffffff;
    --color-gray-50: #f2f3f4;
    --color-gray-100: #e4e6e9;
    --color-gray-200: #c9cdd2;
    --color-gray-300: #c9cdd2;
    --color-gray-400: #686d74;
    --color-gray-500: #585e66;
    --color-gray-600: #585e66;
    --color-gray-700: #25272b;
    --color-gray-800: #25272b;
    --color-gray-900: #25272b;
    --text-primary: #25272b;
    --text-secondary: #585e66;
    --text-tertiary: #585e66;
    --surface-primary: #ffffff;
    --surface-secondary: #f2f3f4;
    --surface-tertiary: #e4e6e9;
    --surface-hover: #e4e6e9;
    --border-primary: #c9cdd2;
    --border-secondary: #e4e6e9;
    --text-on-accent: #ffffff;
    --archive-gold: #50545a;
    --archive-focus: #50545a;
}

:root:is([data-appearance="graphite"],[data-appearance="charcoal-frame"])[data-theme="dark"] {
    --color-primary: #d4d7dc;
    --color-primary-dark: #f0f1f3;
    --color-primary-light: #f0f1f3;
    --color-primary-subtle: #33373e;
    --color-secondary: #c2c9d2;
    --color-secondary-dark: #c2c9d2;
    --color-accent: #c2c9d2;
    --color-accent-dark: #c2c9d2;
    --color-white: #191b1e;
    --color-gray-50: #23262b;
    --color-gray-100: #33373e;
    --color-gray-200: #545b65;
    --color-gray-300: #545b65;
    --color-gray-400: #aeb5bf;
    --color-gray-500: #c5cbd3;
    --color-gray-600: #c5cbd3;
    --color-gray-700: #f2f3f5;
    --color-gray-800: #f2f3f5;
    --color-gray-900: #f2f3f5;
    --text-primary: #f2f3f5;
    --text-secondary: #c5cbd3;
    --text-tertiary: #c5cbd3;
    --surface-primary: #191b1e;
    --surface-secondary: #23262b;
    --surface-tertiary: #33373e;
    --surface-hover: #33373e;
    --border-primary: #545b65;
    --border-secondary: #33373e;
    --text-on-accent: #191b1e;
    --archive-gold: #c2c9d2;
    --archive-focus: #c2c9d2;
}

/* Appearance controls: only the requested selector adds UI. */
.appearance-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;font-size:12px;color:var(--text-secondary);flex-shrink:0}
.appearance-choice select{font:inherit;min-height:36px;max-width:155px;padding:5px 8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--surface-primary);color:var(--text-primary)}
.auth-splash-card .appearance-choice{padding:8px 0;width:100%}
.v4-mob-topbar .appearance-choice{margin-left:auto;padding:0}
.v4-mob-topbar .appearance-choice>span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}

/* Dark framing variants: palette-only overrides scoped to existing shell panels. */
:root[data-appearance="forest-frame"] { --frame-bg:#142b23; --frame-raised:#203d30; --frame-border:#506c58; --frame-ink:#f3f5e9; --frame-muted:#c2d2bd; --frame-accent:#e5c78e; }
:root[data-appearance="navy-frame"] { --frame-bg:#11233c; --frame-raised:#1c3655; --frame-border:#496581; --frame-ink:#f1f6ff; --frame-muted:#bfcee2; --frame-accent:#a6dce9; }
:root[data-appearance="charcoal-frame"] { --frame-bg:#202125; --frame-raised:#303239; --frame-border:#626570; --frame-ink:#f7f6f2; --frame-muted:#d0cfd0; --frame-accent:#e4ce9d; }
:root:is([data-appearance="forest-frame"],[data-appearance="navy-frame"],[data-appearance="charcoal-frame"])
:is(#v4-rail,#v4-intel,.v4-canvas-tabs,.v4-mob-topbar,.v4-mob-drawer) {
 --surface-primary:var(--frame-bg); --surface-secondary:var(--frame-raised); --surface-tertiary:var(--frame-raised); --surface-hover:var(--frame-raised);
 --text-primary:var(--frame-ink); --text-secondary:var(--frame-muted); --text-tertiary:var(--frame-muted); --text-on-accent:var(--frame-bg);
 --color-white:var(--frame-bg); --color-gray-50:var(--frame-raised); --color-gray-100:var(--frame-raised); --color-gray-200:var(--frame-border); --color-gray-300:var(--frame-border);
 --color-gray-400:var(--frame-muted); --color-gray-500:var(--frame-muted); --color-gray-600:var(--frame-muted); --color-gray-700:var(--frame-ink); --color-gray-800:var(--frame-ink); --color-gray-900:var(--frame-ink);
 --border-primary:var(--frame-border); --border-secondary:var(--frame-raised);
 --color-primary:var(--frame-accent); --color-primary-dark:var(--frame-ink); --color-primary-light:var(--frame-accent); --color-primary-subtle:var(--frame-raised);
 --color-accent:var(--frame-accent); --accent-primary:var(--frame-accent); --accent-hover:var(--frame-ink); --archive-gold:var(--frame-accent); --archive-focus:var(--frame-accent);
 background-color:var(--frame-bg); color:var(--frame-ink); border-color:var(--frame-border);
}
:root:is([data-appearance="forest-frame"],[data-appearance="navy-frame"],[data-appearance="charcoal-frame"])
:is(#v4-rail,.v4-mob-drawer) .v4-rail-logo { color:var(--frame-ink); }

/* Cheerful light palettes; existing dark appearance remains available. */
:root[data-appearance="sunlit-garden"]:not([data-theme="dark"]) {
    --color-primary: #286141;
    --color-primary-dark: #38724c;
    --color-primary-light: #38724c;
    --color-primary-subtle: #e5f1d9;
    --color-secondary: #81601c;
    --color-secondary-dark: #81601c;
    --color-accent: #81601c;
    --color-accent-dark: #81601c;
    --color-white: #fffef4;
    --color-gray-50: #faf7de;
    --color-gray-100: #e5f1d9;
    --color-gray-200: #c4d3ad;
    --color-gray-300: #c4d3ad;
    --color-gray-400: #516b45;
    --color-gray-500: #52634a;
    --color-gray-600: #52634a;
    --color-gray-700: #254631;
    --color-gray-800: #254631;
    --color-gray-900: #254631;
    --text-primary: #254631;
    --text-secondary: #52634a;
    --text-tertiary: #52634a;
    --surface-primary: #fffef4;
    --surface-secondary: #faf7de;
    --surface-tertiary: #e5f1d9;
    --surface-hover: #e5f1d9;
    --border-primary: #c4d3ad;
    --border-secondary: #e5f1d9;
    --text-on-accent: #ffffff;
    --archive-gold: #81601c;
    --archive-focus: #81601c;
}
:root[data-appearance="sunlit-garden"]:not([data-theme="dark"]) :is(#v4-rail,#v4-intel,.v4-canvas-tabs,.v4-mob-topbar,.v4-mob-drawer) { background-color: #e5f1d9; }
:root[data-appearance="peach-seafoam"]:not([data-theme="dark"]) {
    --color-primary: #216661;
    --color-primary-dark: #327773;
    --color-primary-light: #327773;
    --color-primary-subtle: #e0f2e9;
    --color-secondary: #965035;
    --color-secondary-dark: #965035;
    --color-accent: #965035;
    --color-accent-dark: #965035;
    --color-white: #fffaf5;
    --color-gray-50: #fff0e6;
    --color-gray-100: #e0f2e9;
    --color-gray-200: #bad4c7;
    --color-gray-300: #bad4c7;
    --color-gray-400: #54746b;
    --color-gray-500: #526c62;
    --color-gray-600: #526c62;
    --color-gray-700: #254b46;
    --color-gray-800: #254b46;
    --color-gray-900: #254b46;
    --text-primary: #254b46;
    --text-secondary: #526c62;
    --text-tertiary: #526c62;
    --surface-primary: #fffaf5;
    --surface-secondary: #fff0e6;
    --surface-tertiary: #e0f2e9;
    --surface-hover: #e0f2e9;
    --border-primary: #bad4c7;
    --border-secondary: #e0f2e9;
    --text-on-accent: #ffffff;
    --archive-gold: #965035;
    --archive-focus: #965035;
}
:root[data-appearance="peach-seafoam"]:not([data-theme="dark"]) :is(#v4-rail,#v4-intel,.v4-canvas-tabs,.v4-mob-topbar,.v4-mob-drawer) { background-color: #e0f2e9; }
:root[data-appearance="lavender-sky"]:not([data-theme="dark"]) {
    --color-primary: #594478;
    --color-primary-dark: #70588e;
    --color-primary-light: #70588e;
    --color-primary-subtle: #e4effb;
    --color-secondary: #315f86;
    --color-secondary-dark: #315f86;
    --color-accent: #315f86;
    --color-accent-dark: #315f86;
    --color-white: #fffcff;
    --color-gray-50: #f3edfc;
    --color-gray-100: #e4effb;
    --color-gray-200: #c9c6e0;
    --color-gray-300: #c9c6e0;
    --color-gray-400: #706285;
    --color-gray-500: #625673;
    --color-gray-600: #625673;
    --color-gray-700: #39304f;
    --color-gray-800: #39304f;
    --color-gray-900: #39304f;
    --text-primary: #39304f;
    --text-secondary: #625673;
    --text-tertiary: #625673;
    --surface-primary: #fffcff;
    --surface-secondary: #f3edfc;
    --surface-tertiary: #e4effb;
    --surface-hover: #e4effb;
    --border-primary: #c9c6e0;
    --border-secondary: #e4effb;
    --text-on-accent: #ffffff;
    --archive-gold: #315f86;
    --archive-focus: #315f86;
}
:root[data-appearance="lavender-sky"]:not([data-theme="dark"]) :is(#v4-rail,#v4-intel,.v4-canvas-tabs,.v4-mob-topbar,.v4-mob-drawer) { background-color: #e4effb; }
:root[data-appearance="apricot-ocean"]:not([data-theme="dark"]) {
    --color-primary: #235d80;
    --color-primary-dark: #347194;
    --color-primary-light: #347194;
    --color-primary-subtle: #e3f1f7;
    --color-secondary: #8b4d22;
    --color-secondary-dark: #8b4d22;
    --color-accent: #8b4d22;
    --color-accent-dark: #8b4d22;
    --color-white: #fffdf5;
    --color-gray-50: #fff2db;
    --color-gray-100: #e3f1f7;
    --color-gray-200: #c5d5dc;
    --color-gray-300: #c5d5dc;
    --color-gray-400: #5c7180;
    --color-gray-500: #576975;
    --color-gray-600: #576975;
    --color-gray-700: #284453;
    --color-gray-800: #284453;
    --color-gray-900: #284453;
    --text-primary: #284453;
    --text-secondary: #576975;
    --text-tertiary: #576975;
    --surface-primary: #fffdf5;
    --surface-secondary: #fff2db;
    --surface-tertiary: #e3f1f7;
    --surface-hover: #e3f1f7;
    --border-primary: #c5d5dc;
    --border-secondary: #e3f1f7;
    --text-on-accent: #ffffff;
    --archive-gold: #8b4d22;
    --archive-focus: #8b4d22;
}
:root[data-appearance="apricot-ocean"]:not([data-theme="dark"]) :is(#v4-rail,#v4-intel,.v4-canvas-tabs,.v4-mob-topbar,.v4-mob-drawer) { background-color: #e3f1f7; }

/* Legacy Documents token names and standalone account pages. */
:root[data-appearance]{--primary-color:var(--color-primary);--primary-dark:var(--color-primary-dark);--primary-light:var(--color-primary-subtle);--bg-secondary:var(--surface-secondary);--bg-tertiary:var(--surface-tertiary);--border-color:var(--border-primary);--text-muted:var(--text-tertiary);color:var(--text-primary);background-color:var(--surface-secondary)}
:root[data-appearance] .billing-shell a{color:var(--text-primary)}
:root[data-appearance] .billing-shell .eyebrow{color:var(--text-primary)}
:root[data-appearance] .billing-shell .plan-card{background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .billing-shell small{color:var(--text-primary)}
:root[data-appearance] .billing-shell button{border-color:var(--border-primary);color:var(--text-on-accent);background:var(--color-primary)}
:root[data-appearance] .billing-shell button.secondary{color:var(--text-primary);background:var(--surface-primary)}
:root[data-appearance] .billing-shell .help,:root[data-appearance] .billing-shell .footer{color:var(--text-primary)}
:root[data-appearance] .billing-shell #billing-message{color:var(--text-primary)}
:root[data-appearance] .credits-dialog{border-color:var(--border-primary);color:var(--text-primary)}
:root[data-appearance] .credits-dialog::backdrop{background:var(--surface-primary)}
:root[data-appearance] .credits-dialog button,:root[data-appearance] #credits-page button{border-color:var(--border-primary);background:var(--color-primary);color:var(--text-on-accent)}
:root[data-appearance] .credits-dialog a{color:var(--text-primary)}
:root[data-appearance] .credits-table td,:root[data-appearance] .credits-table th{border-bottom-color:var(--border-primary)}
:root[data-appearance] .credits-composer-budget{color:var(--text-primary)}
:root[data-appearance] .credits-composer-budget a{color:var(--text-primary)}
:root[data-appearance] .credits-explanation{border-top-color:var(--border-primary)}
:root[data-appearance] .credits-meter{border-color:var(--border-primary);background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .credits-meter:hover{background:var(--surface-primary)}
:root[data-appearance] .credits-meter-ring{background:var(--surface-primary)}
:root[data-appearance] .credits-meter-ring::after{background:var(--surface-primary)}
:root[data-appearance] .credits-meter-detail{color:var(--text-primary)}
:root[data-appearance] #credits-page select{border-color:var(--border-primary);background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .credits-meter{background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .credits-meter-add{border-color:var(--border-primary);color:var(--text-primary)}
:root[data-appearance] .credits-meter:hover .credits-meter-add{background:var(--surface-primary)}
:root[data-appearance] .credits-checkout-body{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .credits-close{color:var(--text-primary)}
:root[data-appearance] .credits-close:hover{background:var(--surface-primary)}
:root[data-appearance] .credits-home-logo{background:var(--color-primary);color:var(--text-on-accent)}
:root[data-appearance] .credits-checkout-body header>p:last-child{color:var(--text-primary)}
:root[data-appearance] .credits-balance-summary{background:var(--surface-primary)}
:root[data-appearance] .credits-subtle{color:var(--text-primary)}
:root[data-appearance] .credits-pack-grid button.credits-pack{background:var(--surface-primary)!important;color:var(--text-primary)!important}
:root[data-appearance] .credits-pack-grid button.credits-pack[aria-pressed="true"]{border-color:var(--border-primary)!important;background:var(--surface-primary)!important}
:root[data-appearance] .credits-pack small{color:var(--text-primary)}
:root[data-appearance] .credits-saving{background:var(--surface-tertiary);color:var(--text-primary)}
:root[data-appearance] .credits-custom input{border-color:var(--border-primary)}
:root[data-appearance] .credits-reload{border-color:var(--border-primary);background:var(--surface-tertiary)}
:root[data-appearance] .credits-reload p{color:var(--text-primary)}
:root[data-appearance] .credits-checkout-body #credits-page .credits-pay{background:var(--color-primary);color:var(--text-on-accent)}
:root[data-appearance] .credits-checkout-body #credits-page .credits-text-button{background:transparent;color:var(--text-primary)}
:root[data-appearance] .credits-checkout-body .credits-explanation{background:var(--surface-primary)}
:root[data-appearance] .credits-explanation .credits-mission-mark{color:var(--text-primary)}
:root[data-appearance] .credits-principles span{border-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .credits-explanation details{border-top-color:var(--border-primary)}
:root[data-appearance] .header-title h1{color:var(--text-primary)}
:root[data-appearance] .header-title h1 .material-icons{color:var(--text-primary)}
:root[data-appearance] .header-subtitle{color:var(--text-primary)}
:root[data-appearance] .stat-item{background:var(--surface-primary)}
:root[data-appearance] .stat-value{color:var(--text-primary)}
:root[data-appearance] .stat-label{color:var(--text-primary)}
:root[data-appearance] .library-filters{background:var(--surface-primary)}
:root[data-appearance] .filter-group label{color:var(--text-primary)}
:root[data-appearance] .filter-select,:root[data-appearance] .filter-input{border-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .filter-select:focus,:root[data-appearance] .filter-input:focus{border-color:var(--border-primary)}
:root[data-appearance] .search-group .search-icon{color:var(--text-primary)}
:root[data-appearance] .btn-icon{border-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .btn-icon:hover{background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .btn-icon .material-icons{color:var(--text-primary)}
:root[data-appearance] .upload-zone{background:var(--surface-tertiary);border-color:var(--border-primary)}
:root[data-appearance] .upload-zone.drag-over{background:var(--surface-tertiary);border-color:var(--border-primary)}
:root[data-appearance] .upload-icon{color:var(--text-primary)}
:root[data-appearance] .upload-zone h3{color:var(--text-primary)}
:root[data-appearance] .upload-zone p{color:var(--text-primary)}
:root[data-appearance] .upload-hint{color:var(--text-primary)}
:root[data-appearance] .file-preview{border-color:var(--border-primary)}
:root[data-appearance] .file-name{color:var(--text-primary)}
:root[data-appearance] .file-size{color:var(--text-primary)}
:root[data-appearance] .btn-text{color:var(--text-primary)}
:root[data-appearance] .upload-options label{color:var(--text-primary)}
:root[data-appearance] .upload-options input{border-color:var(--border-primary)}
:root[data-appearance] .progress-fill{background:var(--surface-primary)}
:root[data-appearance] .progress-text{color:var(--text-primary)}
:root[data-appearance] .document-card{background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .document-card:hover{border-color:var(--border-primary)}
:root[data-appearance] .doc-card-header{background:var(--surface-primary);border-bottom-color:var(--border-primary)}
:root[data-appearance] .doc-icon{background:var(--surface-primary)}
:root[data-appearance] .doc-icon .material-icons{color:var(--text-primary)}
:root[data-appearance] .doc-title{color:var(--text-primary)}
:root[data-appearance] .doc-namespace{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .meta-item{color:var(--text-primary)}
:root[data-appearance] .meta-item.source{color:var(--text-primary)}
:root[data-appearance] .meta-item.health-data-badge{color:var(--text-primary)}
:root[data-appearance] .meta-item.health-data-badge .material-icons{color:var(--text-primary)}
:root[data-appearance] .linked-tools{background:var(--surface-primary)}
:root[data-appearance] .linked-header{color:var(--text-primary)}
:root[data-appearance] .linked-tool-chip{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .linked-tool-chip.published{background:var(--surface-primary);color:var(--text-on-accent)}
:root[data-appearance] .linked-tool-chip.more{border-color:var(--border-primary);color:var(--text-primary)}
:root[data-appearance] .no-links{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .doc-card-footer{border-top-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .protected-badge{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .btn-danger{color:var(--text-primary);border-color:var(--border-primary)}
:root[data-appearance] .btn-danger:hover{background:var(--surface-primary)}
:root[data-appearance] .empty-icon{color:var(--text-primary)}
:root[data-appearance] #view-document-library .empty-state h3{color:var(--text-primary)}
:root[data-appearance] #view-document-library .empty-state p{color:var(--text-primary)}
:root[data-appearance] .sign-in-prompt .material-icons{color:var(--text-primary)}
:root[data-appearance] .sign-in-prompt h3{color:var(--text-primary)}
:root[data-appearance] .sign-in-prompt p{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .modal-header{border-bottom-color:var(--border-primary)}
:root[data-appearance] .document-details-modal .modal-header h2 .material-icons{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .modal-close-btn:hover{background:var(--surface-primary)}
:root[data-appearance] .detail-section h4{color:var(--text-primary)}
:root[data-appearance] .detail-item .label{color:var(--text-primary)}
:root[data-appearance] .detail-item .value{color:var(--text-primary)}
:root[data-appearance] .detail-item .value a{color:var(--text-primary)}
:root[data-appearance] .linked-tool-item{background:var(--surface-primary)}
:root[data-appearance] .linked-tool-item .material-icons{color:var(--text-primary)}
:root[data-appearance] .linked-tool-item .tool-status.draft{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .linked-tool-item .tool-status.published{background:var(--surface-primary);color:var(--text-on-accent)}
:root[data-appearance] .no-links-msg{color:var(--text-primary)}
:root[data-appearance] .primary-actions{background:var(--surface-primary)}
:root[data-appearance] .section-hint{color:var(--text-primary)}
:root[data-appearance] .link-type{color:var(--text-primary)}
:root[data-appearance] .document-actions-menu .menu-doc-title{border-bottom-color:var(--border-primary);color:var(--text-primary)}
:root[data-appearance] .document-actions-menu .menu-option{border-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .document-actions-menu .menu-option:hover:not(.disabled){background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .document-actions-menu .menu-option.danger:hover:not(.disabled){border-color:var(--border-primary);color:var(--text-primary)}
:root[data-appearance] .document-actions-menu .menu-option .disabled-hint{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .detail-section h4{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .detail-item .label{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .detail-item .value{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .detail-item .value a{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .linked-tool-item{background:var(--surface-primary)}
:root[data-appearance] .document-details-modal .linked-tool-item .material-icons{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .linked-tool-item .tool-status{background:var(--surface-primary)}
:root[data-appearance] .document-details-modal .linked-tool-item .tool-status.published{background:var(--surface-primary);color:var(--text-on-accent)}
:root[data-appearance] .document-details-modal .linked-tool-item .tool-status.draft{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .document-details-modal .no-links-msg{color:var(--text-primary)}
:root[data-appearance] .document-details-modal .linked-tool-item .link-type{color:var(--text-primary)}
:root[data-appearance] .document-preview-modal .preview-info{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .document-preview-modal .preview-chunk{border-color:var(--border-primary)}
:root[data-appearance] .document-preview-modal .chunk-header{background:var(--surface-primary);color:var(--text-primary)}
:root[data-appearance] .document-preview-modal .chunk-text,:root[data-appearance] .document-preview-modal .preview-text{background:var(--surface-primary);border-color:var(--border-primary)}
:root[data-appearance] .doc-delete-btn:not(.disabled):hover{color:var(--text-primary)}
:root[data-appearance] .document-card.is-processing{border-color:var(--border-primary);background:var(--surface-tertiary)}
:root[data-appearance] .processing-overlay{background:var(--surface-tertiary)}
:root[data-appearance] .processing-text{color:var(--text-primary)}
:root[data-appearance] .processing-bar-fill{background:var(--surface-primary)}
:root[data-appearance] .section-status{color:var(--text-primary)}
:root[data-appearance] .processing-overlay.is-pending{background:var(--surface-tertiary)}
:root[data-appearance] .is-pending .processing-text{color:var(--text-primary)}
:root[data-appearance] .is-pending .section-status{color:var(--text-primary)}
:root[data-appearance] .processing-badge{background:var(--surface-tertiary);color:var(--text-primary)}
:root[data-appearance] .document-card.is-failed{border-color:var(--border-primary);background:var(--surface-primary)}
:root[data-appearance] .failed-overlay{color:var(--text-primary)}
:root[data-appearance] .credits-pack-grid button.credits-pack[aria-pressed="true"]{border-color:var(--color-primary)!important;background:var(--surface-tertiary)!important;box-shadow:0 0 0 1px var(--color-primary)}
:root[data-appearance] :is(.credits-subtle,.credits-meter-detail,.credits-pack small,.credits-checkout-body header>p:last-child,.billing-shell .help,.billing-shell .footer,.billing-shell small){color:var(--text-secondary)}

:root[data-appearance][data-theme="dark"]{color-scheme:dark}
:root[data-appearance] .billing-shell button.secondary{color:var(--color-primary);background:var(--surface-primary)}

/* Account-name disclosure; palette changes do not alter the workspace. */
.account-appearance-trigger{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}
.account-appearance-trigger:hover{text-decoration:underline}
.account-appearance-panel{position:fixed;z-index:10000;width:300px;max-width:calc(100vw - 24px);padding:8px;border:1px solid var(--border-primary,#c9d5df);border-radius:12px;background:var(--surface-primary,#fff);color:var(--text-primary,#173b61);box-shadow:0 12px 36px #0003}
.account-appearance-panel[hidden]{display:none}
.account-appearance-panel .appearance-choice{flex-direction:column;align-items:stretch;font-size:14px}
.account-appearance-panel select{max-width:none;width:100%;min-height:44px}
.account-data-deletion-link{display:flex;align-items:center;min-height:44px;margin:8px 16px 0;padding:8px 0;border-top:1px solid var(--border-primary,#c9d5df);font-size:14px;color:var(--text-primary,#173b61);text-decoration:underline;text-underline-offset:3px}
.account-data-deletion-link:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}
.account-appearance-trigger:focus-visible{outline:2px solid var(--color-primary,#173b61);outline-offset:3px}

/* Sign-in: a quiet continuation of the archive, with opaque reading surfaces. */
.auth-splash{padding:32px 20px;overflow-y:auto;align-items:flex-start;background:linear-gradient(#eef5faD9,#eef5faE8),url('/cinematic/assets/archive.webp') center/cover no-repeat fixed}
.auth-splash-card{flex-shrink:0;margin:auto;width:100%;max-width:460px;padding:38px 38px 24px;gap:16px;background:var(--surface-primary,#fff);border-color:var(--border-primary,#c4d5e2);box-shadow:0 18px 65px #173b611c;color:var(--text-primary,#173b61)}
.auth-splash-title{font-size:27px;color:var(--text-primary,#173b61)}
.auth-splash-subtitle{font-size:clamp(18px,2.6vw,22px);line-height:1.5;color:var(--text-primary,#173b61)}
.auth-splash-subtitle span{display:block}
.auth-splash-card .auth-splash-logo{color:var(--text-primary,#173b61)}
.auth-splash-signin-btn{width:100%;min-height:48px;justify-content:center;margin-top:8px;font-size:16px;background:#fff;color:#3c4043;border-color:#8c969e}
.auth-splash-signin-btn:hover{background:#f1f5f8}
.auth-splash-welcome{font-size:14px;color:var(--text-secondary,#50657b);margin:0}
.auth-splash-links{display:flex;justify-content:center;gap:28px}
.auth-splash-links a,.auth-splash-back{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--text-primary,#173b61);text-underline-offset:4px}
.auth-splash-disclaimer{font-size:13px;line-height:1.6;color:var(--text-secondary,#50657b);margin:0}
.auth-splash-back{margin-top:0}
.auth-splash :is(a,button):focus-visible{outline:3px solid var(--color-primary,#173b61);outline-offset:4px}
:root[data-theme="dark"] .auth-splash{background-image:linear-gradient(#101e30df,#101e30eb),url('/cinematic/assets/archive.webp')}
@media(max-width:480px){.auth-splash{padding:20px 16px}.auth-splash-card{padding:28px 22px 18px;gap:13px}.auth-splash-subtitle{font-size:18px}}
