/* Smart Coop Door "day arc" theme, 2026-10-03.

   The page lives through one day. Default values below are the DAY state —
   cream paper, the LARKBIRD warm neutrals, bronze for readable accents and
   yellow kept for recognition marks and the one action. The night chapter
   re-scopes the same token names on .night-chapter, so shared components
   (the waitlist form, buttons, figures) adapt to the night ground without
   their own overrides.

   VI basis (LARKBIRD): light space + charcoal order + yellow recognition.
   Yellow (#d09020) is a recognition mark, not a text colour — on cream it
   never reaches text contrast, so accents on the day ground run in dark
   bronze and the night ground earns the yellow. */

body.coop-v1 {
  /* --- Day ground ------------------------------------------------------- */
  --page-bg: #f0efe6;
  --page-bg-alt: #e9e7da;
  --surface-default: #f6f5ec;
  --surface-raised: #fbfaf3;
  --surface-emphasis: #e4e2d2;
  --surface-stage: #dfdccb;
  --surface-stage-soft: #eceadf;
  --surface-input: #fffdf7;

  --text-primary: #191712;
  --text-secondary: #48453a;
  --text-muted: #5c584a;
  --text-on-accent: #14120d;

  --border-subtle: rgba(25, 23, 18, .1);
  --border-default: rgba(25, 23, 18, .17);
  --border-strong: rgba(25, 23, 18, .34);
  --border-input: #857e6c;
  --border-accent: rgba(110, 74, 14, .35);

  /* Bronze = readable accent of the day ground. Yellow stays a mark. */
  --accent-primary: #6e4a0e;
  --accent-secondary: #5a3a0b;
  --accent-soft: rgba(208, 144, 32, .14);
  --accent-emphasis: #4a3009;
  /* "on inverted" = on the night chapter: the yellow the night earns. */
  --accent-on-inverted: #d09020;

  /* The one action keeps the brand yellow on both grounds, with charcoal
     text: the only place yellow carries the eye at distance. */
  --cta-gradient-from: #d09020;
  --cta-gradient-to: #b57a12;
  --cta-gradient-from-hover: #ddb034;
  --cta-gradient-to-hover: #c2891d;

  /* "Inverted" is the night ground the night chapter and night stages use. */
  --surface-inverted: #0c0c0c;
  --surface-inverted-raised: #1a1a1a;
  --text-inverted-primary: #f0efe6;
  --text-inverted-secondary: #c4c1b2;
  --text-inverted-muted: #98957f;
  --border-inverted: rgba(240, 239, 230, .16);

  --product-warm: #d09020;
  --product-cool: #5c7185;
  --product-functional: var(--status-info);

  /* The signal language of the current build: door states, motor, faults,
     battery, the night LED, the link. Illustrative identifiers on the page,
     stated as such — not a final design spec. */
  --product-rgb-open: #4f9d5d;
  --product-rgb-closed: #2e6b4f;
  --product-rgb-running: #d09020;
  --product-rgb-error: #c8543f;
  --product-rgb-battery-low: #d96f2e;
  --product-rgb-night-led: #67c273;
  --product-rgb-link: #e8c15a;

  --image-white: #fbfaf3;
  /* Edge dissolve for photographic renders. Two crossed linear gradients,
     intersected by the stylesheet (mask-composite): each fades its own axis
     near the box edge, so a scene of any ratio melts into the page ground
     instead of showing a rectangular seam. Colour is irrelevant here — only
     the alpha channel acts. */
  --media-feather-x: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, #000 8%, #000 92%, rgba(0, 0, 0, 0) 100%);
  --media-feather-y: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 6%, #000 94%, rgba(0, 0, 0, 0) 100%);
  /* The night scene dissolves further into its dark ground. */
  --night-feather-x: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, #000 14%, #000 86%, rgba(0, 0, 0, 0) 100%);
  --night-feather-y: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 10%, #000 90%, rgba(0, 0, 0, 0) 100%);

  --shadow-product: 0 30px 80px rgba(28, 24, 14, .18);
  --shadow-card: 0 18px 56px rgba(28, 24, 14, .12);

  /* --- Light gradients ----------------------------------------------------
     Kept here, not in coop-door.css, so the product stylesheet stays free of
     colour literals: every wash and strip on the page is a named piece of
     light. */
  --hero-wash: radial-gradient(58% 52% at 62% 40%, rgba(208, 144, 32, .16), rgba(208, 144, 32, .05) 52%, transparent 78%);
  --stage-dawn: linear-gradient(172deg, var(--surface-stage-soft) 0%, var(--surface-stage) 100%);
  --sun-line: linear-gradient(90deg, transparent, var(--accent-primary), transparent);
  --link-line: linear-gradient(90deg, transparent, var(--product-warm), transparent);
  /* Weather band for the battery-log chart: one hue, light (sunny) to dark (storm);
     identity is carried by the legend text, never by colour alone. */
  --chart-wx-sun: #dee2e8;
  --chart-wx-cloud: #c2cbd6;
  --chart-wx-overcast: #a1adbc;
  --chart-wx-rain: #7c8ca1;
  --chart-wx-storm: #55677e;

  /* The day arc the schedule follows: dawn to dawn, one strip. */
  --day-arc: linear-gradient(90deg,
    #caa26a 0%, #ede3c4 16%, #f8f3df 32%, #f3ddb0 50%,
    #dfa35c 68%, #9a6a4c 82%, #33333d 100%);

  --font-display: "Geist", "Segoe UI", Arial, sans-serif;
  --font-utility: "Geist", "Segoe UI", Arial, sans-serif;
}

/* --- Night chapter ---------------------------------------------------------
   Same names, night values. The door's working hours after dusk. */
.night-chapter {
  --page-bg: #0c0c0c;
  --page-bg-alt: #101010;
  --surface-default: #161616;
  --surface-raised: #1d1d1d;
  --surface-emphasis: #242424;
  --surface-stage: #080808;
  --surface-stage-soft: #111111;
  --surface-input: #050505;

  --text-primary: #f0efe6;
  --text-secondary: #c4c1b2;
  --text-muted: #98957f;
  --text-on-accent: #14120d;

  --border-subtle: rgba(240, 239, 230, .1);
  --border-default: rgba(240, 239, 230, .17);
  --border-strong: rgba(240, 239, 230, .32);
  --border-input: rgba(240, 239, 230, .45);
  --border-accent: rgba(208, 144, 32, .4);

  /* Night earns the yellow: on charcoal it is readable as text. */
  --accent-primary: #d09020;
  --accent-secondary: #b57a12;
  --accent-soft: rgba(208, 144, 32, .12);
  --accent-emphasis: #e3ab45;

  --shadow-card: 0 22px 64px rgba(0, 0, 0, .5);
  --shadow-product: 0 34px 90px rgba(0, 0, 0, .55);
  --sun-line: linear-gradient(90deg, transparent, var(--accent-emphasis), transparent);
}
