/* Shared website identity. Do not load on the performance workstation or Live. */
@font-face {
  font-family: Inter;
  src: url('/assets/fonts/inter-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: light;
  --conduct-black: #0A0A0B;
  --graphite: #23262B;
  --warm-white: #F5F4EF;
  --cue-blue: #3F66FF;
  --live-green: #22C55E;
  --warning-amber: #F5A524;
  --error-red: #E5484D;
  --action: var(--cue-blue);
  --on-action: #FFFFFF;
  --link-blue: #2549C9;
  --action-soft: #E9EDFF;
  --success-text: #166534;
  --warning-text: #785018;
  --danger: #B42332;
  --paper: var(--warm-white);
  --panel: #FFFFFF;
  --text: var(--graphite);
  --ink: var(--conduct-black);
  --muted: #5A6069;
  --line: #D6D7D3;
  --rule: var(--line);
  --focus: var(--link-blue);
  --amber: var(--warning-amber);
  --brass: var(--action);
  --brass-dim: var(--action-soft);
  --body: Inter, system-ui, sans-serif;
  --display: var(--body);
  --control-radius: 6px;
  --shell-width: 1440px;
  font-family: var(--body);
  color: var(--text);
  background: var(--paper);
}
body { font-family: var(--body); }
.brand img,.public-brand img { width: 100px; height: auto; flex: none; }
/* A dot diameter of clear space around the compact wordmark. */
a.brand,a.public-brand { padding: 4px; min-width: 108px; min-height: 48px; }
header.site { position: relative; min-height: 88px; border-bottom: 1px solid var(--line); }
header.site>.desktop-nav,.desktop-account { display: flex; gap: 28px; align-items: center; }
header.site .desktop-nav a,header.site .desktop-account>a { display: inline-flex; gap: 9px; min-height: 44px; align-items: center; text-decoration: none; }
header.site>.public-menu { display: none; }
header.site .public-menu summary { display: flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 10px 0 10px 12px; cursor: pointer; list-style: none; }
header.site .public-menu summary::-webkit-details-marker { display: none; }
header.site .public-menu nav { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; display: grid; gap: 0; padding: 18px 24px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 14px 24px #0a0a0b0d; }
header.site .public-menu nav a { min-height: 48px; text-decoration: none; }
@media(max-width:1100px) {
  header.site>.desktop-nav,header.site>.desktop-account { display: none; }
  header.site>.public-menu { display: block; }
  header.site .public-menu summary { width: fit-content; margin-left: auto; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior: auto!important; animation: none!important; transition: none!important; }
}
/* Join uses the website theme; its existing form behavior remains independent. */
body.join-page {
  --bed: var(--paper); --chrome: var(--panel); --signal: var(--action); --ink-on-signal: var(--on-action); --sans: var(--body);
  font-family: var(--body); color: var(--text); background: var(--paper);
  padding: 0 max(20px,3.5vw) 20px;
}
.join-page .join-nav { min-height: 88px; border-bottom: 1px solid var(--line); padding: 12px 0; }
.join-page .join-nav nav { flex-wrap: wrap; gap: 8px 20px; }
.join-page .join input { font-family: var(--body); }
.join-page .join-hint a { color: var(--link-blue); }
.join-page .join input:focus { outline: 3px solid var(--focus); outline-offset: 3px; }
.join-page :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
