/* CyberSloth Toolkit palette: Stone (palette contract v1, calm candidate, Oct 2026).
   Warm stone and sand neutrals, a deep sea-pine accent, muted earthy category colours.
   Generated by demos/calm-palettes/make_palettes.py. Edit the script, not this file.
   Tokens only: no component selectors, no !important, no @import,
   no url() except the data: URI in --select-chevron.
   Calm grammar: neutral surfaces, one accent family, muted need hues that show as the
   4px edge, the icon glyph and small text; tiles and heads sit on near-neutral tints.
   No hero glows, no rainbow rule, no section glows. Red and amber still win.
   Nothing in this palette animates; prefers-reduced-motion is handled once, in styles.css.
   Tightest contrast results: dark --border-strong vs --panel-2 3.33, --border-strong vs --panel 3.57; light --amber-line vs --amber-bg 3.04, breach-check base vs --hover 3.12
   Hue separation between needs is below the old 0.11 catalogue gate on purpose; icons and
   labels carry the category. Safety gates (need vs red/amber, red vs amber) all pass. */
@media screen {
  :root[data-palette="stone"] {
    /* SHARED: values that are the same in both themes. */
    /* Group A: surfaces, text, action, status */
    --eyebrow-ink: var(--link);

    /* Group B: need families */
    --need-talk-privately-well-ink: var(--need-talk-privately-ink);
    --need-talk-privately-edge: var(--need-talk-privately);
    --need-talk-privately-glow: transparent;
    --need-harden-phone-well-ink: var(--need-harden-phone-ink);
    --need-harden-phone-edge: var(--need-harden-phone);
    --need-harden-phone-glow: transparent;
    --need-check-device-well-ink: var(--need-check-device-ink);
    --need-check-device-edge: var(--need-check-device);
    --need-check-device-glow: transparent;
    --need-lock-accounts-well-ink: var(--need-lock-accounts-ink);
    --need-lock-accounts-edge: var(--need-lock-accounts);
    --need-lock-accounts-glow: transparent;
    --need-browse-privately-well-ink: var(--need-browse-privately-ink);
    --need-browse-privately-edge: var(--need-browse-privately);
    --need-browse-privately-glow: transparent;
    --need-encrypt-files-well-ink: var(--need-encrypt-files-ink);
    --need-encrypt-files-edge: var(--need-encrypt-files);
    --need-encrypt-files-glow: transparent;
    --need-hide-traffic-well-ink: var(--need-hide-traffic-ink);
    --need-hide-traffic-edge: var(--need-hide-traffic);
    --need-hide-traffic-glow: transparent;
    --need-breach-check-well-ink: var(--need-breach-check-ink);
    --need-breach-check-edge: var(--need-breach-check);
    --need-breach-check-glow: transparent;

    /* Group C: task and section tones */
    --tone-1: var(--need-check-device);
    --tone-1-ink: var(--need-check-device-ink);
    --tone-1-tint: var(--need-check-device-tint);
    --tone-1-line: var(--need-check-device-line);
    --tone-1-well: var(--need-check-device-well);
    --tone-1-well-ink: var(--need-check-device-well-ink);
    --tone-1-edge: var(--need-check-device-edge);
    --tone-1-glow: var(--need-check-device-glow);
    --tone-2: var(--need-harden-phone);
    --tone-2-ink: var(--need-harden-phone-ink);
    --tone-2-tint: var(--need-harden-phone-tint);
    --tone-2-line: var(--need-harden-phone-line);
    --tone-2-well: var(--need-harden-phone-well);
    --tone-2-well-ink: var(--need-harden-phone-well-ink);
    --tone-2-edge: var(--need-harden-phone-edge);
    --tone-2-glow: var(--need-harden-phone-glow);
    --tone-3: var(--need-talk-privately);
    --tone-3-ink: var(--need-talk-privately-ink);
    --tone-3-tint: var(--need-talk-privately-tint);
    --tone-3-line: var(--need-talk-privately-line);
    --tone-3-well: var(--need-talk-privately-well);
    --tone-3-well-ink: var(--need-talk-privately-well-ink);
    --tone-3-edge: var(--need-talk-privately-edge);
    --tone-3-glow: var(--need-talk-privately-glow);
    --tone-4: var(--need-lock-accounts);
    --tone-4-ink: var(--need-lock-accounts-ink);
    --tone-4-tint: var(--need-lock-accounts-tint);
    --tone-4-line: var(--need-lock-accounts-line);
    --tone-4-well: var(--need-lock-accounts-well);
    --tone-4-well-ink: var(--need-lock-accounts-well-ink);
    --tone-4-edge: var(--need-lock-accounts-edge);
    --tone-4-glow: var(--need-lock-accounts-glow);
    --tone-5: var(--need-browse-privately);
    --tone-5-ink: var(--need-browse-privately-ink);
    --tone-5-tint: var(--need-browse-privately-tint);
    --tone-5-line: var(--need-browse-privately-line);
    --tone-5-well: var(--need-browse-privately-well);
    --tone-5-well-ink: var(--need-browse-privately-well-ink);
    --tone-5-edge: var(--need-browse-privately-edge);
    --tone-5-glow: var(--need-browse-privately-glow);
    --section-teams: var(--need-hide-traffic);
    --section-teams-ink: var(--need-hide-traffic-ink);
    --section-teams-tint: var(--need-hide-traffic-tint);
    --section-teams-line: var(--need-hide-traffic-line);
    --section-teams-well: var(--need-hide-traffic-well);
    --section-teams-well-ink: var(--need-hide-traffic-well-ink);
    --section-teams-edge: var(--need-hide-traffic-edge);
    --section-teams-glow: var(--need-hide-traffic-glow);
    --section-about: var(--need-breach-check);
    --section-about-ink: var(--need-breach-check-ink);
    --section-about-tint: var(--need-breach-check-tint);
    --section-about-line: var(--need-breach-check-line);
    --section-about-well: var(--need-breach-check-well);
    --section-about-well-ink: var(--need-breach-check-well-ink);
    --section-about-edge: var(--need-breach-check-edge);
    --section-about-glow: var(--need-breach-check-glow);

    /* Group D: tone 6, the Find a tool tile */
    --tone-6: var(--accent);
    --tone-6-hover: var(--accent-hover);
    --tone-6-fill: none;
    --tone-6-fill-hover: none;
    --tone-6-ink: var(--accent-ink);
    --tone-6-ink-2: var(--accent-ink-2);
    --tone-6-well-ink: var(--accent-ink);

    /* Group E: decoration */
    --hero-glow-opacity: 0;
    --hero-glow-a: transparent;
    --hero-glow-b: transparent;
    --hero-glow-c: transparent;
    --hero-glow-d: transparent;
    --section-glow: transparent;
    --rule-image: none;
    --rule-header-h: 0px;
    --rule-hero-top-h: 0px;
    --rule-hero-bottom-h: 0px;
    --rule-footer-h: 0px;
    --art-frame: linear-gradient(var(--border-strong), var(--border-strong));
    --section-rule-h: 0px;

    /* Group F: shape knobs */
    --cat-edge-w: 3px;
    --chip-dot-size: 0px;
    --chip-bar-w: 3px;
    --group-pad-y: 0px;
    --group-pad-x: 12px;
    --group-rail-w: 4px;
    --group-bar-w: 0px;
    --group-band-size: 0 0;
    --tree-rail-w: 0px;

    /* Group G: badges, status, quick exit */
    --badge-ink: var(--text);
    --badge-os-bg: var(--info-bg);
    --badge-os-line: var(--accent);
    --badge-os-ink: var(--link);
    --badge-setting-bg: var(--info-bg);
    --badge-setting-line: var(--accent);
    --badge-setting-ink: var(--link);
    --badge-setting-style: dashed;
    --status-icon-pad: 6px;
    --urgent-icon-bg: var(--amber);
    --urgent-icon-ink: var(--on-hue);
    --callout-icon-bg: var(--red);
    --callout-icon-ink: var(--on-hue);
    --quick-exit-bg: var(--red-bg);
    --quick-exit-line: var(--red);
    --quick-exit-ink: var(--red);
    --quick-exit-bg-hover: var(--red-bg);
    --quick-exit-ink-hover: var(--red);
    --quick-exit-weight: 700;
  }

  :root[data-palette="stone"]:not([data-theme="light"]) {
    /* DARK */
    /* Group A: surfaces, text, action, status */
    --bg: #1c160f;
    --panel: #241d15;
    --panel-2: #2a231b;
    --sunken: #181109;
    --hover: #332a1f;
    --alt-bg: #201911;
    --footer-bg: #171008;
    --border: #463b2f;
    --info-bg: #1b2e2d;
    --border-strong: #817260;
    --text: #fcede2;
    --muted: #cdbaa6;
    --faint: #b2a28f;
    --accent: #7dcfcb;
    --accent-hover: #9ce0dc;
    --accent-ink: #002524;
    --accent-ink-2: #004140;
    --link: #84d5d1;
    --focus: #7dcfcb;
    --mint: #84d5d1;
    --amber-bg: #473013;
    --red-bg: #501e1c;
    --amber: #f6c16b;
    --amber-line: #f6c16b;
    --red: #fb817a;
    --on-hue: #1c160f;
    --grid: #fcede206;
    --shadow-pop: 0 8px 24px #06030180;
    --select-chevron: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23cdbaa6%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E");

    /* Group B: need families */
    --need-talk-privately: #71a6c8;
    --need-talk-privately-ink: #a7d1ee;
    --need-talk-privately-tint: #1b2831;
    --need-talk-privately-well: #193a4f;
    --need-talk-privately-line: #305167;
    --need-harden-phone: #a794c6;
    --need-harden-phone-ink: #d1c2ec;
    --need-harden-phone-tint: #282430;
    --need-harden-phone-well: #3c304d;
    --need-harden-phone-line: #524665;
    --need-check-device: #62acb5;
    --need-check-device-ink: #9cd6dd;
    --need-check-device-tint: #182a2c;
    --need-check-device-well: #093e44;
    --need-check-device-line: #25555b;
    --need-lock-accounts: #86aa7e;
    --need-lock-accounts-ink: #b6d5b0;
    --need-lock-accounts-tint: #20291e;
    --need-lock-accounts-well: #283d23;
    --need-lock-accounts-line: #3e5439;
    --need-browse-privately: #bc8db1;
    --need-browse-privately-ink: #e4bcda;
    --need-browse-privately-tint: #2e222b;
    --need-browse-privately-well: #472c41;
    --need-browse-privately-line: #5f4258;
    --need-encrypt-files: #9fa36d;
    --need-encrypt-files-ink: #cbcfa2;
    --need-encrypt-files-tint: #27281a;
    --need-encrypt-files-well: #373917;
    --need-encrypt-files-line: #4e502e;
    --need-hide-traffic: #8a9dce;
    --need-hide-traffic-ink: #bacaf3;
    --need-hide-traffic-tint: #212632;
    --need-hide-traffic-well: #2b3552;
    --need-hide-traffic-line: #414c6a;
    --need-breach-check: #6dae97;
    --need-breach-check-ink: #a4d8c5;
    --need-breach-check-tint: #1a2a25;
    --need-breach-check-well: #153f32;
    --need-breach-check-line: #2d5649;

    /* Group D: tone 6, the Find a tool tile */
    --tone-6-well: rgba(0, 0, 0, 0.12);
    --tone-6-line: rgba(0, 0, 0, 0.22);

    /* Group E: decoration */
    --hero-wash: linear-gradient(180deg, #121e1e 0%, #1c160f 70%);

    /* Group G: badges, status, quick exit */
    --badge-bg: #332617;
    --badge-line: #817260;
  }

  :root[data-palette="stone"][data-theme="light"] {
    /* LIGHT: exactly the same property names as the DARK block. */
    /* Group A: surfaces, text, action, status */
    --bg: #f9f5f0;
    --panel: #fffdfc;
    --panel-2: #fef9f4;
    --sunken: #f3eee8;
    --hover: #efe8e2;
    --alt-bg: #f4efe9;
    --footer-bg: #efeae4;
    --border: #dbd5cd;
    --info-bg: #dbf3f1;
    --border-strong: #8d857c;
    --text: #231e1a;
    --muted: #615950;
    --faint: #6f685f;
    --accent: #036966;
    --accent-hover: #005654;
    --accent-ink: #ffffff;
    --accent-ink-2: #e0f3f2;
    --link: #006360;
    --focus: #036966;
    --mint: #006360;
    --amber-bg: #fbe5bf;
    --red-bg: #ffe2e0;
    --amber: #885219;
    --amber-line: #b77610;
    --red: #b6322d;
    --on-hue: #ffffff;
    --grid: #231e1a08;
    --shadow-pop: 0 8px 24px #231e1a24;
    --select-chevron: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23615950%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E");

    /* Group B: need families */
    --need-talk-privately: #5087ab;
    --need-talk-privately-ink: #3c6681;
    --need-talk-privately-tint: #e9f3fa;
    --need-talk-privately-well: #d0e6f5;
    --need-talk-privately-line: #a5cde7;
    --need-harden-phone: #8975a8;
    --need-harden-phone-ink: #6a5b82;
    --need-harden-phone-tint: #f3eff9;
    --need-harden-phone-well: #e6def4;
    --need-harden-phone-line: #cdbfe6;
    --need-check-device: #3c8e97;
    --need-check-device-ink: #2d6b72;
    --need-check-device-tint: #e7f4f6;
    --need-check-device-well: #cce9ec;
    --need-check-device-line: #9cd2d8;
    --need-lock-accounts: #668c5e;
    --need-lock-accounts-ink: #4d6a47;
    --need-lock-accounts-tint: #ecf4eb;
    --need-lock-accounts-well: #d8e8d4;
    --need-lock-accounts-line: #b4d0ae;
    --need-browse-privately: #9e6e93;
    --need-browse-privately-ink: #7a5572;
    --need-browse-privately-tint: #f8eef5;
    --need-browse-privately-well: #f0dbea;
    --need-browse-privately-line: #dfbad5;
    --need-encrypt-files: #81854b;
    --need-encrypt-files-ink: #64673b;
    --need-encrypt-files-tint: #f1f2e8;
    --need-encrypt-files-well: #e2e5ce;
    --need-encrypt-files-line: #c7cba1;
    --need-hide-traffic: #6c7fb1;
    --need-hide-traffic-ink: #536288;
    --need-hide-traffic-tint: #edf1fb;
    --need-hide-traffic-well: #d9e2f8;
    --need-hide-traffic-line: #b7c6ec;
    --need-breach-check: #4a9079;
    --need-breach-check-ink: #376c5b;
    --need-breach-check-tint: #e9f4f0;
    --need-breach-check-well: #cfe9df;
    --need-breach-check-line: #a3d3c1;

    /* Group D: tone 6, the Find a tool tile */
    --tone-6-well: rgba(0, 0, 0, 0.1);
    --tone-6-line: rgba(0, 0, 0, 0.22);

    /* Group E: decoration */
    --hero-wash: linear-gradient(180deg, #e7f5f4 0%, #f9f5f0 70%);

    /* Group G: badges, status, quick exit */
    --badge-bg: #fbf2e8;
    --badge-line: #8d857c;
  }
}
