/*
  exexif design tokens: v3, minimal exterior, proof-heavy interior.

  Source of the values: docs/design-v3/exexif-v3-tokens.css (the handed-in
  v3 token sheet, kept verbatim in docs) and the prototype
  docs/design-v3/exexif-v3-prototype.html. This file is the live token
  layer: styles.css consumes it and never restates a value. The file name
  stays workbench.css because the page and the bindings point here; the
  values are v3 (docs/handoff-exexif-v3-design-2026-09-03.md).

  Theme switching: the inline bootstrap in index.html sets data-theme on
  the root before first paint from the stored choice or
  prefers-color-scheme, so one of the two attribute blocks always applies.

  Additions the prototype defines but the handed token sheet omits, carried
  here so styles.css never restates a value: green-wash, leaf-a, leaf-b,
  button-ink, and the drop-height at small screens is handled in
  styles.css media queries per the design doc (112 to 128 px).

  Measured adjustment (same rule as v1.1: contrast moves only, measured
  2026-09-03, WCAG relative-luminance ratio): the light theme's primary
  button fills with green-strong instead of green, because white text on
  green #2f9139 measures 4.03:1 and on green-strong #24782e measures
  5.53:1. A green-deep step is added for its hover. The dark theme keeps
  the kit's green fill: its near-black button ink measures 4.9:1. No other
  value moved.

  Measured adjustment, 2026-09-04 (contrast moves only, WCAG
  relative-luminance ratio, from an axe wcag2a and wcag2aa pass on both
  pages in both themes): the light theme's ink-faint moves from #7c847c
  (3.85:1 on white) to #6f776f (4.62:1); the dark theme's ink-faint moves
  from #737b73 (4.38:1 on #0e100e) to #7a827a (4.82:1); and the dark theme
  overrides green-strong to #30963c (5.05:1 on #0e100e, against 3.46:1 for
  #24782e), which recolours the links, the receipt's good values, the
  verification headings, the GPS tag and the brand mark in the dark theme
  only, and lifts the dark button's hover ink to 5.11:1 from 3.5:1. Every
  dark surface is darker than either green, so no dark element's ratio
  falls. The light theme's green-strong stays #24782e. No other value
  moved.
*/

:root {
  --ex-font-sans: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --ex-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --ex-green: #2f9139;
  --ex-green-strong: #24782e;
  --ex-green-deep: #1d6526;
  --ex-warning: #a96811;
  --ex-danger: #b5443d;

  --ex-radius-control: 5px;
  --ex-radius-panel: 8px;

  --ex-header-height: 72px;
  --ex-footer-height: 42px;
  --ex-intake-min: 286px;
  --ex-intake-fluid: 23vw;
  --ex-intake-max: 340px;
  --ex-drop-height: 176px;

  --ex-space-1: 4px;
  --ex-space-2: 8px;
  --ex-space-3: 12px;
  --ex-space-4: 16px;
  --ex-space-5: 20px;
  --ex-space-6: 24px;
  --ex-space-8: 32px;
  --ex-space-12: 48px;

  --ex-motion-fast: 140ms;
  --ex-motion-normal: 180ms;
  --ex-ease: cubic-bezier(.2,.8,.2,1);
}

[data-theme="light"] {
  --ex-page: #f8f9f6;
  --ex-surface: #ffffff;
  --ex-surface-alt: #f4f6f2;
  --ex-surface-strong: #ecefe9;
  --ex-ink: #070807;
  --ex-ink-soft: #555c55;
  --ex-ink-faint: #6f776f;
  --ex-line: #d9ded7;
  --ex-line-strong: #aeb6ad;
  --ex-selected: #eef7ed;
  --ex-green-soft: #e9f4e8;
  --ex-warning-soft: #fff3df;
  --ex-danger-soft: #fdecea;
  --ex-green-wash: rgba(47,145,57,.10);
  --ex-leaf-a: #2f9139;
  --ex-leaf-b: #1d6f2a;
  --ex-button-ink: #ffffff;
  --ex-button-fill: var(--ex-green-strong);
  --ex-button-fill-hover: var(--ex-green-deep);
}

[data-theme="dark"] {
  --ex-page: #090a09;
  --ex-surface: #0e100e;
  --ex-surface-alt: #131613;
  --ex-surface-strong: #1a1e1a;
  --ex-ink: #f5f7f3;
  --ex-ink-soft: #a9b0a8;
  --ex-ink-faint: #7a827a;
  --ex-green-strong: #30963c;
  --ex-line: #2b302b;
  --ex-line-strong: #515851;
  --ex-selected: #132719;
  --ex-green-soft: #132719;
  --ex-warning-soft: #30220f;
  --ex-danger-soft: #321716;
  --ex-green-wash: rgba(62,184,78,.11);
  --ex-leaf-a: #3cad49;
  --ex-leaf-b: #277e34;
  --ex-button-ink: #071008;
  --ex-button-fill: var(--ex-green);
  --ex-button-fill-hover: var(--ex-green-strong);
}

/*
  Release-candidate legibility adjustment, 2026-09-03.
  These selectors are intentionally more specific than the component
  defaults in styles.css, so the token sheet can carry the measured
  adjustment without duplicating or rewriting the full shell stylesheet.
  Mobile hides the metadata pills and keeps its existing compact actions.
*/
@media (min-width: 821px) {
  .file-pane .table-head {
    font-size: 10px;
    letter-spacing: .065em;
  }

  .file-pane .file-row {
    min-height: 54px;
  }

  .file-row .file-name strong {
    font-size: 12px;
  }

  .file-row .file-name span {
    font-size: 9px;
  }

  .file-row .tags {
    gap: 5px;
  }

  .file-row .tag {
    min-height: 24px;
    padding-inline: 8px;
    font-size: 10px;
    letter-spacing: 0;
  }

  .file-row .row-status {
    font-size: 10px;
  }

  .workspace-head .head-actions {
    flex: 0 0 auto;
    gap: 12px;
  }

  .head-actions .button.button-primary {
    width: max-content;
    min-width: max-content;
    padding-inline: 16px;
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1.15;
  }

  .head-actions .button.button-primary svg {
    flex: 0 0 auto;
  }

  .head-actions .text-link {
    font-size: 12px;
  }
}
