/* module:foundation
   Night Shift theme (team/design/prescription-v2.md). Owns @font-face,
   design tokens, reset, body ground and ambient glow, .wrap shell,
   entrance motion, selection, global focus, reduced motion, and the
   print paper palette. The only stylesheet allowed bare element
   selectors. Do not edit values here without a prescription change. */

@font-face{
  font-family:"Barlow Condensed";
  src:url("../fonts/barlow-condensed-700.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-400.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-600.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Barlow";
  src:url("../fonts/barlow-700.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono";
  src:url("../fonts/jetbrains-mono-500.woff2") format("woff2");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono";
  src:url("../fonts/jetbrains-mono-600.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"JetBrains Mono";
  src:url("../fonts/jetbrains-mono-700.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  /* grounds: elevation by lightness step */
  --bg:#0b1015;              /* page ground */
  --panel:#12181d;           /* cards, callout, calendar frame, stat tiles */
  --panel-2:#1b2128;         /* raised: blank cells, buttons, blank swatch */
  --panel-hover:#232b33;     /* hovered blank cell */

  /* ink */
  --ink:#e8ecef;             /* primary text, near-white not pure white */
  --ink-on-fill:#080c0f;     /* text and dots on solid category fills */
  --sub:#98a7b4;             /* secondary text, labels */

  /* structure */
  --line:rgba(233,240,255,0.07);        /* default hairline */
  --line-strong:rgba(233,240,255,0.14); /* hovered cards, buttons, dashes */

  /* accent system */
  --accent:#37e4aa;          /* electric mint: hero bar, links of meaning */
  --accent-tint:#05261a;     /* mint-tinted chip ground */
  --accent-edge:rgba(55,228,170,0.35);  /* chip border */
  --accent-glow:rgba(55,228,170,0.35);  /* glow shadows */
  --focus:#37e4aa;

  /* category fills (solid, high chroma, uniform OKLCH lightness) */
  --fill-strength:#37e4aa;
  --fill-cardio:#fc8a61;
  --fill-active:#b995f6;
  --fill-rest:#a7bac9;

  /* radii */
  --radius-xs:4px;           /* pills */
  --radius-sm:8px;           /* buttons, calendar cells, tags(6px note below) */
  --radius-md:12px;          /* callout, stat tiles */
  --radius-lg:14px;          /* day cards, note cards */
  --radius-xl:16px;          /* calendar frame */
  --radius-tag:6px;          /* header tag chips */

  /* spacing rhythm */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;

  /* elevation */
  --shadow-lift:0 12px 28px rgba(0,0,0,0.4);   /* hovered cards only */
  --glow-soft:0 0 40px rgba(55,228,170,0.05);  /* callout ambience */

  /* motion */
  --dur-fast:60ms;
  --dur-base:120ms;
  --dur-slow:150ms;
  --ease:ease;
  --ease-out:cubic-bezier(0.16,1,0.3,1);

  /* typography */
  --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --font-body:"Barlow",system-ui,"Segoe UI",Arial,sans-serif;
  --font-data:"JetBrains Mono",Consolas,"Courier New",monospace;

  color-scheme:dark;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  line-height:1.55;
  background:
    radial-gradient(700px 420px at 12% -4%, rgba(55,228,170,0.11), transparent 62%),
    radial-gradient(800px 520px at 92% -8%, rgba(185,149,246,0.09), transparent 62%),
    var(--bg);
}
::selection{background:var(--accent);color:var(--ink-on-fill);}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}

.wrap{
  max-width:920px;
  margin:0 auto;
  padding:40px 32px 80px;
}

@media (max-width:640px){
  .wrap{padding:28px 16px 64px;}
}

section{margin-bottom:var(--space-7);}

@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.wrap > *{animation:rise 500ms var(--ease-out) backwards;}
.wrap > :nth-child(1){animation-delay:0ms;}
.wrap > :nth-child(2){animation-delay:70ms;}
.wrap > :nth-child(3){animation-delay:140ms;}
.wrap > :nth-child(4){animation-delay:210ms;}
.wrap > :nth-child(5){animation-delay:280ms;}
.wrap > :nth-child(6){animation-delay:350ms;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}

@media print{
  :root{
    --bg:#ffffff;
    --panel:#ffffff;
    --panel-2:#ffffff;
    --panel-hover:#ffffff;
    --ink:#111820;
    --ink-on-fill:#080c0f;
    --sub:#4a5560;
    --line:#d5dbe0;
    --line-strong:#b9c2cb;
    --accent:#056b4e;
    --accent-tint:#ffffff;
    --accent-edge:#056b4e;
    --accent-glow:transparent;
    --focus:#056b4e;
    --shadow-lift:none;
    --glow-soft:none;
    color-scheme:light;
  }
  body{background:#ffffff;}
  .wrap > *{animation:none;}
  section{page-break-inside:avoid;}
}
