/* Prima Speak — design tokens.
   One source for the website, the dashboard and (later) the extension panel, the way DubMog's popup.css mirrors
   get.dubmog.com's :root. Dark-first: the product lives in a dark UI; light "paper" cards give it contrast.
   Brand story: "first light, first words" — every accent is a slice of one sunrise (gold → coral → rose → violet). */
:root{
  /* surfaces (violet-black, warmer than DubMog's blue-black so the two products read as siblings, not twins) */
  --ps-ink:#0B0913; --ps-bg:#100E17; --ps-surface:#171420; --ps-surface-2:#1F1B2B; --ps-surface-3:#292437;
  --ps-line:rgba(255,255,255,.08); --ps-line-2:rgba(255,255,255,.14); --ps-line-3:rgba(255,255,255,.24);
  --ps-text:#F4F0F8; --ps-muted:#A9A1B8; --ps-faint:#9B94A8;   /* faint: 4.5:1 or more on every surface and tint it sits on (surface-3, the gold wash of Prima's lines); #6F677F was 3.4:1 on a card */
  /* brand */
  --ps-gold:#F5B942;   --ps-gold-ink:#2A1B00;  --ps-gold-soft:rgba(245,185,66,.14);   /* Prima Gold — the primary action, progress, "first" */
  --ps-coral:#FF7A59;  --ps-coral-soft:rgba(255,122,89,.14);                           /* Voice Coral — the human voice, live states */
  --ps-rose:#FF6FB5;   --ps-rose-soft:rgba(255,111,181,.14);                           /* Rose — glow only */
  --ps-violet:#8B7CFF; --ps-violet-soft:rgba(139,124,255,.16);                         /* Iris Violet — the AI, night, links */
  --ps-mint:#5EE1B5;   --ps-mint-ink:#03301F;  --ps-mint-soft:rgba(94,225,181,.14);   /* Mint — correct, success */
  --ps-danger:#FF6B6B; --ps-danger-soft:rgba(255,107,107,.14); --ps-focus:#B4A7FF;
  /* paper (light cards on the dark stage) */
  --ps-paper:#FBF7F1; --ps-paper-2:#F1EBE2; --ps-paper-3:#E4DCD0; --ps-paper-ink:#16121D; --ps-paper-muted:#6B6377; --ps-paper-line:rgba(22,18,29,.1);
  /* gradients */
  --ps-sunrise:linear-gradient(135deg,#F5B942 0%,#FF7A59 38%,#FF6FB5 68%,#8B7CFF 100%);
  --ps-sunrise-v:linear-gradient(180deg,#FFC857 0%,#FF7A59 42%,#FF6FB5 72%,#8B7CFF 100%);
  --ps-sunrise-text:linear-gradient(90deg,#FFC857,#FF7A59 45%,#FF6FB5);
  /* type */
  --ps-display:"Fraunces",Georgia,"Times New Roman",serif;
  --ps-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ps-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* shape */
  --ps-r-sm:10px; --ps-r-md:16px; --ps-r-lg:24px; --ps-r-xl:32px; --ps-r-pill:999px;
  /* motion (every transition on the site uses one of these) */
  --ps-ease-out:cubic-bezier(.2,.8,.2,1);
  --ps-ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ps-ease-in-out:cubic-bezier(.65,0,.35,1);
  --ps-dur-1:.16s; --ps-dur-2:.32s; --ps-dur-3:.6s; --ps-dur-4:.9s;
  /* depth */
  --ps-shadow-1:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
  --ps-shadow-2:0 2px 6px rgba(0,0,0,.35),0 24px 64px rgba(0,0,0,.5);
  --ps-shadow-paper:0 1px 2px rgba(22,18,29,.08),0 18px 48px rgba(22,18,29,.35);
  --ps-glow-gold:0 0 0 1px rgba(245,185,66,.35),0 10px 40px rgba(245,185,66,.28);
  --ps-glow-violet:0 0 0 1px rgba(139,124,255,.35),0 10px 40px rgba(139,124,255,.3);
  /* layout */
  --ps-gutter:clamp(16px,4vw,48px); --ps-max:1200px; --ps-nav-h:56px;
}
/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:dark}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ps-bg);color:var(--ps-text);font-family:var(--ps-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--ps-focus);outline-offset:3px;border-radius:var(--ps-r-sm)}
::selection{background:rgba(245,185,66,.35);color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---- type scale ---- */
.ps-display{font-family:var(--ps-display);font-weight:500;letter-spacing:-.02em;line-height:1.02;font-variation-settings:"opsz" 144}
.ps-display em,.ps-display i{font-style:italic;font-weight:500}
.ps-h1{font-size:clamp(2.6rem,7vw,5.6rem)}
.ps-h2{font-size:clamp(2rem,4.6vw,3.6rem)}
.ps-h3{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1}
.ps-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55;color:var(--ps-muted)}
.ps-eyebrow{font-family:var(--ps-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ps-faint)}
/* the serif small-caps label from the reference ("FLOATING NAVIGATION"): a section's kicker */
.ps-serif-label{font-family:var(--ps-display);font-weight:500;font-size:.95rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ps-muted);font-variation-settings:"opsz" 48}
.ps-gradient-text{background:var(--ps-sunrise-text);-webkit-background-clip:text;background-clip:text;color:transparent}
