/* ==========================================================================
   Defeat · brand tokens
   defeatemail.net · the inbox and identity layer for AI agents
   Palette inherited from the settled defeatemail.net kit: charcoal + signal red.
   ========================================================================== */

:root {
  /* --- core palette --- */
  --charcoal:      #333940;
  --red:           #E0242F;
  --red-hot:       #EC151E;
  --red-deep:      #B0161F;

  /* gradient (settled kit) */
  --grad-1:        #FDC7C2;
  --grad-2:        #FB8F86;
  --grad-3:        #EC483F;
  --flag-gradient: linear-gradient(180deg, var(--grad-1) 0%, var(--grad-2) 52%, var(--grad-3) 100%);

  /* --- surfaces (dark is the primary brand mode) --- */
  --page:          #0C0D10;
  --page-2:        #101216;
  --surface:       #14161B;
  --surface-2:     #191C22;
  --surface-3:     #1F232A;
  --line:          #22252C;
  --line-soft:     #1A1D23;
  --line-strong:   #2E333B;

  /* --- text --- */
  --ink:           #EDEAE3;
  --ink-2:         #C3C6CC;
  --dim:           #878C96;
  --dim-2:         #61666F;

  /* --- semantic status --- */
  --verified:      #3FBF7F;
  --verified-bg:   rgba(63, 191, 127, .10);
  --unsigned:      #E0A82E;
  --unsigned-bg:   rgba(224, 168, 46, .10);
  --blocked:       var(--red);
  --blocked-bg:    rgba(224, 36, 47, .10);

  /* --- type --- */
  --display: "Sora", "Segoe UI", system-ui, sans-serif;
  --body:    "Inter", "Segoe UI", system-ui, sans-serif;
  --mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* --- rhythm --- */
  --gutter:   clamp(20px, 5vw, 56px);
  --maxw:     1180px;
  --maxw-narrow: 760px;
  --r-sm:     8px;
  --r:        12px;
  --r-lg:     18px;
  --r-xl:     26px;

  /* --- motion --- */
  --ease:      cubic-bezier(.22, .61, .36, 1);
  --ease-out:  cubic-bezier(.16, 1, .3, 1);
  --t-fast:    140ms;
  --t:         260ms;
  --t-slow:    620ms;
}

/* Defeat is a dark brand. The light-scheme block keeps the page legible and
   explicitly backgrounded rather than inverting the identity. */
:root:not([data-theme="light"]) {
  color-scheme: dark;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="light"]) { color-scheme: dark; }
}
:root[data-theme="dark"] { color-scheme: dark; }
