/* ============================================================
   Reset, typography, shared utilities
   ============================================================ */
@import url("../fonts/fonts.css");

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font-sans);
  font-size:var(--fs-14);line-height:1.5;
  font-feature-settings:"tnum" 1;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}
button:disabled{cursor:not-allowed}
input,select,textarea{font:inherit;color:inherit;border:none;background:none}
input:focus{outline:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--jade);outline-offset:2px;border-radius:6px}
[hidden]{display:none !important}
::placeholder{color:var(--ink-4);opacity:1}
select{background:var(--sunk);box-shadow:0 0 0 1px var(--line);border-radius:var(--r-sm);padding:7px 10px;font-size:var(--fs-12);color:var(--ink-2);accent-color:var(--jade)}
input,textarea{accent-color:var(--jade)}

/* Bricolage carries every heading; Figtree everything else. */
.sf{font-family:var(--font-display)}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:650;letter-spacing:-.02em;line-height:1.15;text-wrap:balance}
h1{font-size:var(--fs-24)} h2{font-size:var(--fs-17)} h3{font-size:var(--fs-15)} h4{font-size:var(--fs-13)}
h1 em{font-style:normal;color:var(--jade)}
em{font-style:italic}

/* Numbers are tabular everywhere so columns never jitter. */
.n{font-variant-numeric:tabular-nums}
.mono{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:-.01em}
.pos{color:var(--jade)}
.neg{color:var(--coral)}
.hide{display:none !important}
.sp{flex:1}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Uploaded profile photos share one rule wherever they appear. */
.profile-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.chat-message>.profile-photo{width:32px;height:32px;flex:none}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}
