/* Pflanzen Kompass design tokens (v2.48.0).
   One semantic palette for the light and the dark theme. Components never use
   raw colours; style.css keeps its historic literals only as var() fallbacks.
   Theme choice: automatic (prefers-color-scheme) unless the device stored an
   explicit choice in <html data-theme="light|dark">. */

@font-face{font-family:"Inter";src:url("fonts/inter-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin.woff2") format("woff2");font-style:normal;font-weight:500 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:light;
  --pk-font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --pk-font-display:"Fraunces",ui-serif,Georgia,"Times New Roman",serif;

  /* Surfaces and text */
  --pk-bg:#f3f6f2;
  --pk-bg-glow:radial-gradient(1200px 520px at 85% -120px,rgba(118,182,140,.16),transparent 70%);
  --pk-surface:#ffffff;
  --pk-surface-2:#f7f9f6;
  --pk-surface-3:#edf3ee;
  --pk-surface-4:#e3ebe5;
  --pk-surface-raised:rgba(255,255,255,.86);
  --pk-border:#dfe6df;
  --pk-border-strong:#c7d3ca;
  --pk-text:#17241c;
  --pk-text-2:#364740;
  --pk-text-muted:#55635a;
  --pk-text-faint:#7a877f;

  /* Brand */
  --pk-brand-strong:#174634;
  --pk-brand:#1f6a48;
  --pk-brand-hover:#18573a;
  --pk-brand-active:#134a31;
  --pk-on-brand:#ffffff;
  --pk-brand-text:#1d6a44;
  --pk-brand-soft:#e5f2ea;
  --pk-brand-border:#b9d9c6;
  --pk-focus:#1f6a48;
  --pk-focus-ring:#2f8a5c;

  /* Semantic states */
  --pk-success:#2f9e5b; --pk-success-fg:#1b6a3f; --pk-success-soft:#e6f4ec; --pk-success-border:#bde0ca;
  --pk-attention:#d99a1e; --pk-attention-fg:#7a5200; --pk-attention-soft:#fff4dc; --pk-attention-border:#f0d697;
  --pk-critical:#cf4545; --pk-critical-fg:#9b2c2c; --pk-critical-soft:#fdecec; --pk-critical-border:#f1c3c3;
  --pk-info:#3a7bb0; --pk-info-fg:#2b5677; --pk-info-soft:#eaf2f9; --pk-info-border:#c5d9ea;

  /* Header */
  --pk-header-bg:linear-gradient(118deg,#123a2a 0%,#174634 46%,#1d5a41 100%);
  --pk-header-glow:radial-gradient(640px 260px at 78% 120%,rgba(126,206,152,.28),transparent 70%);
  --pk-header-text:#ffffff;
  --pk-header-muted:#cfe3d7;
  --pk-header-action-bg:rgba(255,255,255,.1);
  --pk-header-action-hover:rgba(255,255,255,.18);
  --pk-header-action-border:rgba(255,255,255,.22);
  --pk-garden-stem:#8fd1a6;
  --pk-garden-leaf:#6fbf8c;
  --pk-garden-leaf-2:#a9dfba;
  --pk-garden-bloom:#f3d27a;

  /* Charts */
  --pk-chart-grid:#dfe6df; --pk-chart-label:#55635a; --pk-chart-line:#278a57;
  --pk-chart-limit:#8a6a18; --pk-chart-limit-text:#6d5518; --pk-chart-limit-bg:rgba(255,255,255,.9); --pk-chart-point:#ffffff;

  /* Shape, depth, rhythm */
  --pk-radius-sm:8px; --pk-radius:12px; --pk-radius-lg:18px; --pk-radius-xl:24px; --pk-radius-pill:999px;
  --pk-shadow-1:0 1px 2px rgba(16,42,28,.05),0 1px 1px rgba(16,42,28,.03);
  --pk-shadow-2:0 1px 2px rgba(16,42,28,.04),0 6px 20px rgba(16,42,28,.06);
  --pk-shadow-3:0 24px 64px rgba(10,30,20,.24);
  --pk-backdrop:rgba(12,26,19,.55);
  --pk-ease:cubic-bezier(.2,.7,.2,1);

  /* Legacy names that older rules referenced without ever defining them. */
  --border:var(--pk-border); --line:var(--pk-border); --muted:var(--pk-text-muted);
  --card:var(--pk-surface); --panel:var(--pk-surface); --bg-soft:var(--pk-surface-2); --surface-soft:var(--pk-surface-2);

  /* The existing one-action-language tokens (v2.39.10/12) follow the palette. */
  --pk-action-bg:var(--pk-brand); --pk-action-hover:var(--pk-brand-hover); --pk-action-active:var(--pk-brand-active);
  --pk-action-border:var(--pk-brand); --pk-action-fg:var(--pk-on-brand); --pk-action-focus:var(--pk-focus-ring);
  --pk-primary-bg:var(--pk-brand); --pk-primary-hover:var(--pk-brand-hover); --pk-primary-fg:var(--pk-on-brand);
  --pk-secondary-bg:var(--pk-surface); --pk-secondary-hover:var(--pk-surface-3); --pk-secondary-fg:var(--pk-brand-text); --pk-secondary-border:var(--pk-border-strong);
  --pk-danger-bg:var(--pk-surface); --pk-danger-hover:var(--pk-critical-soft); --pk-danger-fg:var(--pk-critical-fg); --pk-danger-border:var(--pk-critical);
}

/* Dark palette. The same declarations are applied automatically (system
   preference) and explicitly (stored choice); tests keep both blocks equal. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --pk-bg:#0e1512;
    --pk-bg-glow:radial-gradient(1200px 520px at 85% -120px,rgba(63,140,96,.18),transparent 70%);
    --pk-surface:#151f1a; --pk-surface-2:#1a2620; --pk-surface-3:#213029; --pk-surface-4:#2a3b32; --pk-surface-raised:rgba(21,31,26,.88);
    --pk-border:#26352d; --pk-border-strong:#36493e;
    --pk-text:#e3ece6; --pk-text-2:#c2d0c7; --pk-text-muted:#9fb2a6; --pk-text-faint:#74877b;
    --pk-brand-strong:#1d5c43; --pk-brand:#2a8057; --pk-brand-hover:#236d4a; --pk-brand-active:#1e6142; --pk-on-brand:#ffffff;
    --pk-brand-text:#7fd1a6; --pk-brand-soft:#183428; --pk-brand-border:#2f5a45; --pk-focus:#7fd1a6; --pk-focus-ring:#7fd1a6;
    --pk-success:#3fbf74; --pk-success-fg:#7dd8a4; --pk-success-soft:#15301f; --pk-success-border:#275a3c;
    --pk-attention:#e7ad3b; --pk-attention-fg:#f0c36a; --pk-attention-soft:#33270b; --pk-attention-border:#5c4715;
    --pk-critical:#e66060; --pk-critical-fg:#ff9c9c; --pk-critical-soft:#3a1717; --pk-critical-border:#6a2b2b;
    --pk-info:#5a9fd6; --pk-info-fg:#93c5ea; --pk-info-soft:#12263a; --pk-info-border:#29465e;
    --pk-header-bg:linear-gradient(118deg,#08130d 0%,#0d2018 50%,#123024 100%);
    --pk-header-glow:radial-gradient(640px 260px at 78% 120%,rgba(84,170,118,.22),transparent 70%);
    --pk-header-text:#eef6f1; --pk-header-muted:#a9c4b4;
    --pk-header-action-bg:rgba(255,255,255,.07); --pk-header-action-hover:rgba(255,255,255,.13); --pk-header-action-border:rgba(255,255,255,.16);
    --pk-garden-stem:#5fae7e; --pk-garden-leaf:#3f8f60; --pk-garden-leaf-2:#78c493; --pk-garden-bloom:#e9c463;
    --pk-chart-grid:#2a3a31; --pk-chart-label:#9fb2a6; --pk-chart-line:#5fd394;
    --pk-chart-limit:#e0b450; --pk-chart-limit-text:#f0c36a; --pk-chart-limit-bg:rgba(21,31,26,.92); --pk-chart-point:#151f1a;
    --pk-shadow-1:0 1px 2px rgba(0,0,0,.4);
    --pk-shadow-2:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.35);
    --pk-shadow-3:0 24px 64px rgba(0,0,0,.6);
    --pk-backdrop:rgba(0,0,0,.66);
  }
}
:root[data-theme="dark"]{
    color-scheme:dark;
    --pk-bg:#0e1512;
    --pk-bg-glow:radial-gradient(1200px 520px at 85% -120px,rgba(63,140,96,.18),transparent 70%);
    --pk-surface:#151f1a; --pk-surface-2:#1a2620; --pk-surface-3:#213029; --pk-surface-4:#2a3b32; --pk-surface-raised:rgba(21,31,26,.88);
    --pk-border:#26352d; --pk-border-strong:#36493e;
    --pk-text:#e3ece6; --pk-text-2:#c2d0c7; --pk-text-muted:#9fb2a6; --pk-text-faint:#74877b;
    --pk-brand-strong:#1d5c43; --pk-brand:#2a8057; --pk-brand-hover:#236d4a; --pk-brand-active:#1e6142; --pk-on-brand:#ffffff;
    --pk-brand-text:#7fd1a6; --pk-brand-soft:#183428; --pk-brand-border:#2f5a45; --pk-focus:#7fd1a6; --pk-focus-ring:#7fd1a6;
    --pk-success:#3fbf74; --pk-success-fg:#7dd8a4; --pk-success-soft:#15301f; --pk-success-border:#275a3c;
    --pk-attention:#e7ad3b; --pk-attention-fg:#f0c36a; --pk-attention-soft:#33270b; --pk-attention-border:#5c4715;
    --pk-critical:#e66060; --pk-critical-fg:#ff9c9c; --pk-critical-soft:#3a1717; --pk-critical-border:#6a2b2b;
    --pk-info:#5a9fd6; --pk-info-fg:#93c5ea; --pk-info-soft:#12263a; --pk-info-border:#29465e;
    --pk-header-bg:linear-gradient(118deg,#08130d 0%,#0d2018 50%,#123024 100%);
    --pk-header-glow:radial-gradient(640px 260px at 78% 120%,rgba(84,170,118,.22),transparent 70%);
    --pk-header-text:#eef6f1; --pk-header-muted:#a9c4b4;
    --pk-header-action-bg:rgba(255,255,255,.07); --pk-header-action-hover:rgba(255,255,255,.13); --pk-header-action-border:rgba(255,255,255,.16);
    --pk-garden-stem:#5fae7e; --pk-garden-leaf:#3f8f60; --pk-garden-leaf-2:#78c493; --pk-garden-bloom:#e9c463;
    --pk-chart-grid:#2a3a31; --pk-chart-label:#9fb2a6; --pk-chart-line:#5fd394;
    --pk-chart-limit:#e0b450; --pk-chart-limit-text:#f0c36a; --pk-chart-limit-bg:rgba(21,31,26,.92); --pk-chart-point:#151f1a;
    --pk-shadow-1:0 1px 2px rgba(0,0,0,.4);
    --pk-shadow-2:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.35);
    --pk-shadow-3:0 24px 64px rgba(0,0,0,.6);
    --pk-backdrop:rgba(0,0,0,.66);
}

/* Base: typography and page canvas. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{font-family:var(--pk-font-sans);color:var(--pk-text);background:var(--pk-bg);font-feature-settings:"cv11","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:var(--pk-bg-glow) no-repeat,var(--pk-bg);color:var(--pk-text);line-height:1.5;min-height:100vh}
:where(main) :where(h1,h2,h3,h4){color:var(--pk-text);letter-spacing:-.01em}
:where(main) h2{font-family:var(--pk-font-display);font-weight:600;font-optical-sizing:auto;letter-spacing:-.005em}
:where(main) :where(p,li,dd){color:inherit}
a{color:var(--pk-brand-text);text-decoration-thickness:from-font;text-underline-offset:3px}
::selection{background:var(--pk-brand-soft);color:var(--pk-text)}
code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
code{background:var(--pk-surface-3);color:var(--pk-text-2)}
hr{border:0;border-top:1px solid var(--pk-border)}
:where(input,select,textarea,button){font-family:inherit}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select,textarea){background-color:var(--pk-surface);color:var(--pk-text);border-color:var(--pk-border-strong)}
:where(input,select,textarea)::placeholder{color:var(--pk-text-faint);opacity:1}
input[type="checkbox"],input[type="radio"]{accent-color:var(--pk-brand)}
:where(strong,b){color:inherit}
@media print{body{background:#fff}}
