/* Riggd shared shell — precision-instrument theme. One accent, hairlines,
   Inter light display type, tabular data in monospace. */
:root:not([data-theme="light"]){ color-scheme:dark; }
:root{
  --bg-0:#0a0a0b; --bg-1:#141416;
  --panel:rgba(24,24,27,0.72); --panel-solid:#18181b;
  --line:rgba(255,255,255,0.08); --border:#333;
  --text:#eeeeef; --muted:#9a9aa0; --faint:#6e6e76;
  --accent:#6f9cb8; --accent-ink:#0a0a0b; --accent-dim:rgba(111,156,184,0.16);
  --signature:#d98c4a; --signature-dim:rgba(217,140,74,0.16);
  --ok:#7fd6a4; --warn:#e0b84c; --err:#e06868;
  --r:16px; --r-in:12px; --r-sm:8px;
  --display:'Instrument Serif',Georgia,'Times New Roman',serif;
  --ui:'Geist','Inter',system-ui,-apple-system,sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.35'/></svg>");
}
@media (prefers-color-scheme: light){
  :root{
    --bg-0:#eef0f2; --bg-1:#e2e4e7;
    --panel:rgba(255,255,255,0.74); --panel-solid:#ffffff;
    --line:rgba(0,0,0,0.08); --border:#e0e0e4;
    --text:#18181b; --muted:#5b5b62; --faint:#87878f;
    --accent:#3f6f8c; --accent-ink:#ffffff; --accent-dim:rgba(63,111,140,0.14);
    color-scheme:light;
  }
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:var(--ui);
  background:radial-gradient(120% 140% at 50% 0%, var(--bg-1), var(--bg-0));
  background-attachment:fixed;
  color:var(--text); min-height:100vh;
  -webkit-tap-highlight-color:transparent;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  background-image:var(--noise); opacity:.035; mix-blend-mode:overlay;
}
.wrap, .topbar{ position:relative; z-index:2; }
/* top bar */
.topbar{
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; gap:18px;
  padding:12px 22px;
  background:color-mix(in srgb, var(--bg-0) 78%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(140%); backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.wordmark{ font-weight:700; font-size:15px; letter-spacing:.02em; color:var(--text);
  text-decoration:none; display:flex; align-items:center; gap:9px; }
.wordmark .mark{ width:26px; height:26px; flex:0 0 auto; display:block; }
.wordmark .name{ font-weight:600; letter-spacing:.005em; }
.topnav a{ position:relative; }
.topnav a.on{ color:var(--accent); }
.topnav a.on::after{ content:""; position:absolute; left:12px; right:12px; bottom:3px; height:2px;
  border-radius:1px; background:var(--accent); }
.avatar-dot{ width:9px; height:9px; border-radius:50%; background:var(--ok);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 20%, transparent); }
.topnav{ display:flex; gap:4px; margin-left:8px; }
.topnav a{ color:var(--muted); text-decoration:none; font-size:13px; font-weight:500;
  padding:8px 12px; border-radius:8px; }
.topnav a:hover{ color:var(--text); background:var(--accent-dim); }
.topnav a.on{ color:var(--accent); }
.top-auth{ margin-left:auto; font-size:12.5px; color:var(--faint); display:flex; gap:10px; align-items:center; }
.top-auth a{ color:var(--muted); text-decoration:none; }
.top-auth a:hover{ color:var(--accent); }
/* layout + type */
.wrap{ max-width:960px; margin:0 auto; padding:40px 22px 64px; }
.eyebrow{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  font-weight:600; margin-bottom:14px; }
h1.hero{ font-weight:200; font-size:clamp(38px, 6vw, 60px); line-height:1.04;
  letter-spacing:-0.02em; margin:0 0 14px; }
h1.hero b{ font-weight:600; }
.lede{ color:var(--muted); font-size:15px; line-height:1.65; max-width:56ch; margin:0; }
.lede b{ color:var(--text); font-weight:500; }
.mono{ font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace; font-variant-numeric:tabular-nums; }
/* icons from icons.js sprite */
.ic{ width:14px; height:14px; flex:0 0 auto; vertical-align:-2px; }
.btn .ic{ transition:transform .15s ease; }
.btn:hover .ic.chev{ transform:translateX(2px); }
/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 22px; border-radius:10px; font-weight:600; font-size:14px; font-family:var(--ui);
  text-decoration:none; cursor:pointer; border:1px solid transparent;
  transition:transform .12s cubic-bezier(.2,.7,.3,1), background .15s, border-color .15s, color .15s; }
.btn:active{ transform:scale(.98); }
.btn.primary{ background:var(--accent); color:var(--accent-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.22), 0 1px 0 rgba(0,0,0,.2),
    0 6px 22px -8px color-mix(in srgb, var(--accent) 55%, transparent); }
.btn.primary:hover{ background:color-mix(in srgb, var(--accent) 92%, white); }
.btn .chev, .btn .arrow{ transition:transform .18s cubic-bezier(.2,.7,.3,1); }
.btn:hover .chev, .btn:hover .arrow{ transform:translateX(3px); }
.btn.ghost{ border-color:var(--border); color:var(--text);
  background:color-mix(in srgb, var(--panel) 50%, transparent); }
.btn.ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn.quiet{ border:none; background:none; color:var(--muted); padding:8px 6px; }
.btn.quiet:hover{ color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.btn.sm{ padding:8px 14px; font-size:12.5px; border-radius:var(--r-sm); }
/* cards */
.card{ background:var(--panel); -webkit-backdrop-filter:blur(18px) saturate(140%);
  backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--line); border-radius:var(--r);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 12px 40px rgba(0,0,0,.35); }
a.card:hover{ border-color:var(--accent); }
button{ font-family:inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; }
input[type=text], input[type=password], input[type=email], input[type=number], select{
  background:#0e0e10; color:var(--text); border:1px solid var(--border);
  border-radius:8px; padding:11px 12px; font-size:14px; font-family:inherit; }
@media (prefers-color-scheme: light){
  input[type=text], input[type=password], input[type=email], input[type=number], select{ background:#fff; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}
@media (max-width:640px){
  .wrap{ padding:28px 16px 48px; }
  .topbar{ padding:10px 14px; gap:10px; }
  .topnav{ margin-left:0; }
}

/* Broaden the accent system */
--signature:#d98c4a;
--signature-dim:rgba(217,140,74,0.14);

/* Replace Inter import in every HTML file with Geist + Instrument Serif + Geist Mono */

/* Real wordmark in topbar.js — copy the SVG from the block above */

/* Inner highlight on cards + topbar */
.card, .topbar{
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 12px 40px rgba(0,0,0,.35);
}

/* Canonical .input class */
.input{
  background: color-mix(in srgb, var(--bg-0) 85%, black);
  border:1px solid var(--border);
  border-radius:8px; padding:11px 12px; font:inherit; color:var(--text);
}
