/* safe.gm design tokens, shared by the landing page and the dashboard.
   Identity: river blue with violet accents, set in Bricolage Grotesque + Instrument Sans. */
@font-face{font-family:"Bricolage Grotesque Variable";font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2-variations")}
@font-face{font-family:"Instrument Sans Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2-variations")}

:root{
  --ink:#0B1B3A; --ink-2:#4A5873; --paper:#F4F6FB; --surface:#FFFFFF; --line:#DCE2EE;
  --river:#1236C8; --river-deep:#0C2796; --on-river:#FFFFFF; --river-soft:#E5EBFF;
  --bank:#17803C; --bank-soft:#E1F4E7;
  --flag:#D6182E; --flag-soft:#FDE7EA;
  --sun:#9A5B00; --sun-soft:#FFF1D6;
  --radius:14px; --radius-s:9px;
  --display:"Bricolage Grotesque Variable","Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"Instrument Sans Variable","Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#EAF0FF; --ink-2:#A9B6D3; --paper:#0A1126; --surface:#111B38; --line:#25315A;
    --river:#3F5FF0; --river-deep:#2A47CC; --river-soft:#16224D;
    --bank:#52D07F; --bank-soft:#12301F;
    --flag:#FF6B7C; --flag-soft:#3A141B;
    --sun:#F2B84B; --sun-soft:#34270B;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#EAF0FF; --ink-2:#A9B6D3; --paper:#0A1126; --surface:#111B38; --line:#25315A;
  --river:#3F5FF0; --river-deep:#2A47CC; --river-soft:#16224D;
  --bank:#52D07F; --bank-soft:#12301F;
  --flag:#FF6B7C; --flag-soft:#3A141B;
  --sun:#F2B84B; --sun-soft:#34270B;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.05;letter-spacing:-.02em;font-weight:700}
p{margin:0}
a{color:var(--river)}
:focus-visible{outline:3px solid var(--river);outline-offset:2px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* Brand line: blue to violet. Used as a divider and as the dashboard's top edge. */
.flag{height:14px;background:linear-gradient(90deg,#1236C8,#5B6CFF 50%,#8B5CF6)}
.flag.thin{height:6px}

/* buttons + fields */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;font:600 15px/1 var(--body);cursor:pointer;text-decoration:none;
  background:var(--river);color:var(--on-river);transition:background .15s,transform .1s}
.btn:hover{background:var(--river-deep)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn.ghost:hover{background:var(--river-soft)}
.btn.danger{background:transparent;color:var(--flag);box-shadow:inset 0 0 0 1.5px var(--flag)}
.btn.danger:hover{background:var(--flag-soft)}
.btn.light{background:#fff;color:#0C2796}
.btn.light:hover{background:#E5EBFF}
.btn.red{background:#D6182E;color:#fff}
.btn.red:hover{background:#B8121F}
.btn.small{padding:9px 16px;font-size:14px}
.btn[disabled]{opacity:.55;cursor:default}
input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-s);padding:11px 13px;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--river);box-shadow:0 0 0 3px var(--river-soft)}
::placeholder{color:var(--ink-2);opacity:.75}
.muted{color:var(--ink-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* the address bar: the memorable element of the whole product */
.addr{display:flex;align-items:center;gap:6px;background:#fff;color:#0B1B3A;border-radius:999px;padding:7px 7px 7px 18px;
  box-shadow:0 1px 0 rgba(255,255,255,.2),0 10px 30px -12px rgba(5,15,70,.55)}
.addr svg{flex:none;opacity:.7}
.addr input{border:0;background:transparent;color:#0B1B3A;padding:10px 0;min-width:0;font:700 clamp(20px,5vw,30px)/1.1 var(--display);letter-spacing:-.02em;box-shadow:none}
.addr input:focus{box-shadow:none}
.addr input::placeholder{color:#8A96B2;opacity:1}
.addr .suffix{font:700 clamp(20px,5vw,30px)/1.1 var(--display);letter-spacing:-.02em;color:#5B6B91;white-space:nowrap}
.addr .btn{flex:none}
@media (max-width:520px){.addr{padding-left:14px}.addr .btn{padding:12px 16px}}

.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600}
.pill.ok{background:var(--bank-soft);color:var(--bank)}
.pill.wait{background:var(--sun-soft);color:var(--sun)}
.pill.bad{background:var(--flag-soft);color:var(--flag)}
.pill.off{background:var(--river-soft);color:var(--river)}
