/* PlanSift design tokens (ws/ux). Loaded AFTER app.css: these values are the design system; the block at the top of app.css is the
   fallback the brand test pins. One brand accent (indigo), calm cool-neutral surfaces, semantic status colours (always paired with an
   icon SHAPE: circle-check, triangle, octagon, diamond, dashed circle, dotted circle), three elevation levels, one radius / spacing /
   type scale. Light and dark are designed as equals. No inline styles anywhere (CSP style-src 'self'). */
:root{
  /* surfaces: canvas < panel < raised */
  --bg:#f3f4f9; --surface:#ffffff; --surface-2:#f7f8fc; --surface-3:#eceef5; --page-bg:#e4e7f0; --paper:#ffffff;
  /* ink */
  --ink:#171a2c; --ink-2:#434960; --ink-3:#5e667e; --line:#d5d9e6; --line-2:#e7e9f2;
  /* brand: indigo is the only chrome accent; amber is the evidence node (never a status) */
  --brand:#4338ca; --brand-ink:#1e1b4b; --tile:#4338ca; --hi:#f59e0b;
  --accent:#4338ca; --accent-hover:#3730a3; --accent-bg:#ecedfd; --accent-line:#c7cbf7; --accent-ink:#ffffff; --focus:#4338ca;
  /* status: mark (icons, strokes, rails), ink (text on tint, AA), bg (tint), line (chip border) */
  --ok:#12805c; --ok-bg:#e4f4ec; --ok-ink:#0b5a41; --ok-line:#a9d8c3;
  --verify:#b96d00; --verify-bg:#fcf1dc; --verify-ink:#784500; --verify-line:#e6c68c;
  --nf:#69718a; --nf-bg:#eceef4; --nf-ink:#454c60; --nf-line:#c4c9d8;
  --alarm:#c8242c; --alarm-bg:#fde9e9; --alarm-ink:#96141c; --alarm-line:#eeb0b3;
  --conflict:#8a3fc4; --conflict-bg:#f3e9fb; --conflict-ink:#5f238f; --conflict-line:#d3b4ea;
  --assumed:#b5348a; --assumed-bg:#fae7f3; --assumed-ink:#7d1b5d; --assumed-line:#e7b3d5;
  /* method hues stay quiet (the method is an icon first) */
  --m-read:#3b5bdb; --m-measured:#0b7285; --m-calculated:#566079; --m-assumed:#a8337f;
  /* elevation: 1 = resting card, 2 = raised / hover / sticky, 3 = floating (menus, dialogs, tour) */
  --e1:0 1px 2px rgba(23,26,44,.06),0 1px 1px rgba(23,26,44,.04);
  --e2:0 1px 2px rgba(23,26,44,.06),0 6px 16px -4px rgba(23,26,44,.12);
  --e3:0 4px 10px rgba(23,26,44,.08),0 18px 48px -10px rgba(23,26,44,.28);
  --shadow:var(--e2);
  --paper-shadow:0 0 0 1px rgba(23,26,44,.10),0 2px 6px rgba(23,26,44,.08),0 18px 40px -12px rgba(23,26,44,.28);
  --grid-dot:rgba(67,56,202,.13);
  --scrim:rgba(23,26,44,.42);
  /* radius, spacing, type, motion */
  --r-sm:5px; --r:8px; --r-lg:12px; --r-xl:16px; --r-pill:999px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --fs-xs:11.5px; --fs-sm:12.5px; --fs-md:13.5px; --fs-lg:15px; --fs-xl:18px; --fs-2xl:28px;
  --font:"Inter var","Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;
  --t-fast:.12s; --t:.18s; --t-slow:.32s; --ease:cubic-bezier(.2,.8,.2,1);
  /* layout */
  --rail-w:212px; --rail-mini:60px; --right-w:clamp(400px,35vw,600px); --prov-h:56%; --rh:32px;
  /* second pass: the sidebar has its own quiet tint, amber gets a tint / ink pair for evidence surfaces, the sheet dims around the proof */
  --rail-a:#fafaff; --rail-b:#eff0fa; --hi-bg:#fff5dc; --hi-ink:#7a4a00; --hi-line:#f0cd85;
  --spot:rgba(30,27,75,.105); --brand-grad:linear-gradient(135deg,#4338ca 0%,#5b4fe0 55%,#6d5ef0 100%);
  --brand-glow:0 1px 2px rgba(67,56,202,.35),0 6px 16px -4px rgba(67,56,202,.55);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0d0f18; --surface:#161927; --surface-2:#1b1f30; --surface-3:#252a3f; --page-bg:#090b12; --paper:#fbfbfd;
  --ink:#e9ebf6; --ink-2:#b8bed4; --ink-3:#959db8; --line:#30364f; --line-2:#242940;
  --brand:#a5b4fc; --brand-ink:#e0e7ff; --tile:#4338ca; --hi:#fbbf24;
  --accent:#a5b4fc; --accent-hover:#c7d2fe; --accent-bg:#252a55; --accent-line:#3c4380; --accent-ink:#1e1b4b; --focus:#c7d2fe;
  --ok:#3cc493; --ok-bg:#12352b; --ok-ink:#86e3c0; --ok-line:#1f5a47;
  --verify:#eaa53d; --verify-bg:#3d2e10; --verify-ink:#fbd08a; --verify-line:#6a4f17;
  --nf:#8f98b0; --nf-bg:#252a3a; --nf-ink:#bcc3d6; --nf-line:#424960;
  --alarm:#ff7a80; --alarm-bg:#451a1e; --alarm-ink:#ffb4b7; --alarm-line:#7a2c32;
  --conflict:#c29bff; --conflict-bg:#33224f; --conflict-ink:#dcc8ff; --conflict-line:#573b85;
  --assumed:#ff8fcf; --assumed-bg:#481f3a; --assumed-ink:#ffc2e6; --assumed-line:#7a3463;
  --m-read:#8fa8ff; --m-measured:#4fd0e6; --m-calculated:#9aa5c0; --m-assumed:#ff8fcf;
  --e1:0 1px 2px rgba(0,0,0,.4);
  --e2:0 1px 2px rgba(0,0,0,.4),0 8px 20px -4px rgba(0,0,0,.5);
  --e3:0 4px 12px rgba(0,0,0,.45),0 22px 56px -10px rgba(0,0,0,.7);
  --shadow:var(--e2);
  --paper-shadow:0 0 0 1px rgba(0,0,0,.6),0 18px 48px -10px rgba(0,0,0,.8);
  --grid-dot:rgba(165,180,252,.10);
  --scrim:rgba(4,5,10,.6);
  --rail-a:#151828; --rail-b:#0f111c; --hi-bg:#3a2c0c; --hi-ink:#fcd58b; --hi-line:#6b5216;
  --spot:rgba(10,12,24,.20); --brand-grad:linear-gradient(135deg,#4f46e5 0%,#6366f1 60%,#818cf8 100%);
  --brand-glow:0 1px 2px rgba(0,0,0,.5),0 6px 18px -4px rgba(99,102,241,.6);
}}
:root[data-theme="dark"]{
  --bg:#0d0f18; --surface:#161927; --surface-2:#1b1f30; --surface-3:#252a3f; --page-bg:#090b12; --paper:#fbfbfd;
  --ink:#e9ebf6; --ink-2:#b8bed4; --ink-3:#959db8; --line:#30364f; --line-2:#242940;
  --brand:#a5b4fc; --brand-ink:#e0e7ff; --tile:#4338ca; --hi:#fbbf24;
  --accent:#a5b4fc; --accent-hover:#c7d2fe; --accent-bg:#252a55; --accent-line:#3c4380; --accent-ink:#1e1b4b; --focus:#c7d2fe;
  --ok:#3cc493; --ok-bg:#12352b; --ok-ink:#86e3c0; --ok-line:#1f5a47;
  --verify:#eaa53d; --verify-bg:#3d2e10; --verify-ink:#fbd08a; --verify-line:#6a4f17;
  --nf:#8f98b0; --nf-bg:#252a3a; --nf-ink:#bcc3d6; --nf-line:#424960;
  --alarm:#ff7a80; --alarm-bg:#451a1e; --alarm-ink:#ffb4b7; --alarm-line:#7a2c32;
  --conflict:#c29bff; --conflict-bg:#33224f; --conflict-ink:#dcc8ff; --conflict-line:#573b85;
  --assumed:#ff8fcf; --assumed-bg:#481f3a; --assumed-ink:#ffc2e6; --assumed-line:#7a3463;
  --m-read:#8fa8ff; --m-measured:#4fd0e6; --m-calculated:#9aa5c0; --m-assumed:#ff8fcf;
  --e1:0 1px 2px rgba(0,0,0,.4);
  --e2:0 1px 2px rgba(0,0,0,.4),0 8px 20px -4px rgba(0,0,0,.5);
  --e3:0 4px 12px rgba(0,0,0,.45),0 22px 56px -10px rgba(0,0,0,.7);
  --shadow:var(--e2);
  --paper-shadow:0 0 0 1px rgba(0,0,0,.6),0 18px 48px -10px rgba(0,0,0,.8);
  --grid-dot:rgba(165,180,252,.10);
  --scrim:rgba(4,5,10,.6);
  --rail-a:#151828; --rail-b:#0f111c; --hi-bg:#3a2c0c; --hi-ink:#fcd58b; --hi-line:#6b5216;
  --spot:rgba(10,12,24,.20); --brand-grad:linear-gradient(135deg,#4f46e5 0%,#6366f1 60%,#818cf8 100%);
  --brand-glow:0 1px 2px rgba(0,0,0,.5),0 6px 18px -4px rgba(99,102,241,.6);
}
/* state classes also expose the chip border colour */
.st-ok,.sev-ok{--c-line:var(--ok-line)} .st-verify,.sev-warn{--c-line:var(--verify-line)} .st-not_found,.sev-info{--c-line:var(--nf-line)}
.st-alarm,.sev-alarm{--c-line:var(--alarm-line)} .st-conflict{--c-line:var(--conflict-line)} .st-assumed{--c-line:var(--assumed-line)}
