/* OSPRY webfonts - variable Inter + JetBrains Mono, copied from web-new/app/static/fonts */
@font-face{font-family:'Inter Variable';src:url('../fonts/files/inter-var.woff2') format('woff2');font-weight:100 900;font-style:normal;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:'Inter Variable';src:url('../fonts/files/inter-var-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0300-03FF, U+0400-04FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';src:url('../fonts/files/inter-var.woff2') format('woff2');font-weight:100 900;font-style:normal;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:'Inter';src:url('../fonts/files/inter-var-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0300-03FF, U+0400-04FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono Variable';src:url('../fonts/files/jetbrains-mono-var.woff2') format('woff2');font-weight:100 900;font-style:normal;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:'JetBrains Mono Variable';src:url('../fonts/files/jetbrains-mono-var-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0300-03FF, U+0400-04FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/files/jetbrains-mono-var.woff2') format('woff2');font-weight:100 900;font-style:normal;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:'JetBrains Mono';src:url('../fonts/files/jetbrains-mono-var-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0300-03FF, U+0400-04FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* OSPRY color tokens - PRD-071, verbatim from web-new/prototype + app.css.
   GREEN IS SCARCE: --verified appears only on verified/identified states, success,
   the primary button, and the osprey mark's wing tips. Never links, nav, focus, ambient. */
:root{
--bg-canvas:#0A0B0D;--bg-surface:#13151A;--bg-elevated:#1C1F26;--bg-subtle:#242831;--bg-inset:#06070A;
--text-1:#F5F6F7;--text-2:#A1A8B3;--text-3:#858B97;--text-dis:#4A5160;
--line-1:#1F2229;--line-2:#2A2E37;--line-3:#3A3F4A;
--verified:#3DDC97;--verified-hover:#2EC585;--verified-pressed:#22A26D;--verified-on:#04130C;--verified-subtle:rgba(61,220,151,.12);--verified-glow:rgba(61,220,151,.35);
--interactive:#2BA8FF;--interactive-hover:#1F93E8;--interactive-pressed:#1A7DC8;--interactive-subtle:rgba(43,168,255,.12);--interactive-glow:rgba(43,168,255,.32);
--enrich:#9B72FF;--enrich-hover:#885CF0;--enrich-pressed:#7547D4;--enrich-subtle:rgba(155,114,255,.12);--enrich-glow:rgba(155,114,255,.32);
--highlight:#E2683C;--highlight-hover:#D0592F;--highlight-pressed:#B84A24;--highlight-subtle:rgba(226,104,60,.12);--highlight-glow:rgba(226,104,60,.32);
--critical:#FF4D5E;--warning:#FFB02E;--info:#5B8AFF;--success:var(--verified);
--glass-bg:rgba(28,31,38,.55);--glass-strong:rgba(17,19,24,.74);--glass-border:rgba(255,255,255,.10);--glass-hairline:rgba(255,255,255,.07);
--glass-sheen:linear-gradient(180deg,rgba(255,255,255,.05),transparent 46%); /* @kind other */
--glass-filter:blur(22px); /* @kind other */
--glass-shadow:none;
--panel-shadow:0 30px 80px rgba(0,0,0,.28);--panel-shadow-sm:0 24px 70px rgba(0,0,0,.22);
--nav-bg:rgba(10,11,13,.78);--nav-text:#D8DEE7;--stat-bg:rgba(19,21,26,.5);
--aurora-1:rgba(43,168,255,.14);--aurora-2:rgba(155,114,255,.09);--aurora-3:rgba(61,220,151,.07);--dots:rgba(148,163,184,.05);
}
/* Light theme - 2026-08-16 retune (white canvas, harder glass), from web-new/app/src/app.css */
[data-theme="light"]{
--bg-canvas:#FFFFFF;--bg-surface:#F7F9FC;--bg-elevated:#FFFFFF;--bg-subtle:#EDF1F7;--bg-inset:#F2F5FA;
--text-1:#0B0D12;--text-2:#44505F;--text-3:#6B7480;--text-dis:#A6AEBB;
--line-1:#D7DEE8;--line-2:#C5CEDA;--line-3:#AEB9C7;
--verified:#18A968;--verified-hover:#15945C;--verified-pressed:#127F4F;--verified-on:#04130C;--verified-subtle:rgba(24,169,104,.12);--verified-glow:rgba(24,169,104,.26);
--interactive:#1273D6;--interactive-hover:#0F64BC;--interactive-pressed:#0D56A3;--interactive-subtle:rgba(18,115,214,.12);--interactive-glow:rgba(18,115,214,.26);
--enrich:#6D45D9;--enrich-hover:#5F3AC2;--enrich-pressed:#5232AB;--enrich-subtle:rgba(109,69,217,.12);--enrich-glow:rgba(109,69,217,.26);
--highlight:#C2541F;--highlight-hover:#AD491A;--highlight-pressed:#983F16;--highlight-subtle:rgba(194,84,31,.12);--highlight-glow:rgba(194,84,31,.26);
--critical:#DC2839;--warning:#C77A00;--info:#2E5BD9;
--glass-bg:rgba(255,255,255,.55);--glass-strong:rgba(255,255,255,.72);--glass-border:rgba(11,13,18,.09);--glass-hairline:rgba(11,13,18,.06);
--glass-sheen:linear-gradient(180deg,rgba(255,255,255,.6),transparent 52%); /* @kind other */
--glass-filter:blur(22px) saturate(180%); /* @kind other */
--glass-shadow:0 1px 2px rgba(20,30,50,.04),0 6px 16px rgba(20,30,50,.045);
--panel-shadow:0 1px 3px rgba(20,30,50,.04),0 10px 28px rgba(20,30,50,.06);
--panel-shadow-sm:0 1px 2px rgba(20,30,50,.035),0 6px 18px rgba(20,30,50,.05);
--nav-bg:rgba(255,255,255,.72);--nav-text:#1F2933;--stat-bg:rgba(247,249,252,.7);
--aurora-1:rgba(18,115,214,.16);--aurora-2:rgba(109,69,217,.12);--aurora-3:rgba(24,169,104,.1);--dots:rgba(20,30,50,.05);
}

/* OSPRY type tokens. Mono = anything a robot produced (data, labels, numbers, chips).
   Sans = anything that is speech. */
:root{
--mono:'JetBrains Mono Variable','JetBrains Mono','SF Mono',Menlo,Consolas,monospace; /* @kind font */
--sans:'Inter Display','Inter Variable',Inter,-apple-system,'Segoe UI',system-ui,sans-serif; /* @kind font */
--h1-size:clamp(38px,4.6vw,58px);--h1-weight:800;--h1-leading:1.06;--h1-tracking:-.02em;
--h2-size:clamp(28px,3.2vw,40px);--h2-weight:800;--h2-leading:1.12;--h2-tracking:-.015em;
--hero-sub-size:17.5px;--body-size:16.5px;--body-leading:1.55;
--eyebrow-size:12px;--eyebrow-tracking:.22em;
--chip-size:10.5px;--rowline-size:12.5px;--demo-tag-size:9.5px;--demo-tag-tracking:.16em;
--stat-size:clamp(24px,2.6vw,34px);
}

/* PRD-071 spacing ramp (4px base), radii, shadows, z-index, motion */
:root{
--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;
--shadow-sm:0 1px 2px rgba(0,0,0,.40);--shadow-md:0 4px 12px rgba(0,0,0,.40);--shadow-lg:0 12px 32px rgba(0,0,0,.50);--shadow-xl:0 24px 64px rgba(0,0,0,.55);
--glow-verified:0 0 0 1px var(--verified-subtle),0 8px 32px var(--verified-glow);
--glow-interactive:0 0 0 1px var(--interactive-subtle),0 8px 32px var(--interactive-glow);
--glow-enrich:0 0 0 1px var(--enrich-subtle),0 8px 32px var(--enrich-glow);
--glow-highlight:0 0 0 1px var(--highlight-subtle),0 8px 32px var(--highlight-glow);
--z-base:1; /* @kind other */
--z-raised:10; /* @kind other */
--z-dropdown:100; /* @kind other */
--z-overlay:500; /* @kind other */
--z-modal:1000; /* @kind other */
--ease:cubic-bezier(.16,1,.3,1); /* @kind other */
--spring:cubic-bezier(.34,1.56,.64,1); /* @kind other */
}

/* OSPRY canvas + global resets, lifted from web-new/prototype/index.html */
*{box-sizing:border-box;margin:0;padding:0}
body{background-color:var(--bg-canvas);color:var(--text-1);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;
background-image:radial-gradient(72% 58% at 10% -6%,var(--aurora-1),transparent 60%),radial-gradient(56% 48% at 92% 2%,var(--aurora-2),transparent 62%),radial-gradient(30% 24% at 78% 108%,var(--aurora-3),transparent 70%),radial-gradient(circle at 1px 1px,var(--dots) 1px,transparent 0);
background-size:auto,auto,auto,28px 28px;background-attachment:fixed}
::selection{background:var(--interactive-subtle)}
a{color:var(--interactive);text-decoration:none}
a:hover{color:var(--interactive);text-decoration:underline}
.mono{font-family:var(--mono)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
