@font-face {
  font-family: 'Avenir';
  src: url('/static/fonts/AvenirLTStd-Book.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Avenir';
  src: url('/static/fonts/AvenirLTStd-Roman.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Avenir Black is weight 900. Medium (500) and Heavy (800) are specified across the
   site but not yet licensed: until they are added, 500 renders as Roman and 800 as Black. */
@font-face {
  font-family: 'Avenir';
  src: url('/static/fonts/AvenirLTStd-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Julius Sans One';
  src: url('/static/fonts/JuliusSansOne-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Shared public website and administration design primitives (design system v2). */
:root {
  color-scheme: dark;
  --lc-font-body: 'Avenir', 'Avenir Next', ui-sans-serif, system-ui, sans-serif;
  --lc-font-heading: 'Julius Sans One', 'Avenir', sans-serif;
  --lc-font-cjk: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
  --lc-font-cjk-serif: 'Noto Serif TC', 'Songti TC', 'PMingLiU', serif;

  --lc-surface: #030712;
  --lc-surface-raised: #111827;
  --lc-surface-control: #1f2937;
  --lc-surface-control-hover: #374151;
  --lc-overlay: #000000b3;
  --lc-border: #6b7280;
  --lc-border-subtle: #374151;
  --lc-hairline: #1f2937;
  --lc-text: #f3f4f6;
  --lc-text-secondary: #d1d5db;
  --lc-text-tertiary: #9ca3af;
  --lc-text-disabled: #6b7280;
  --lc-on-action: #ffffff;
  --lc-action: #fc0902;
  --lc-action-hover: #df160f;
  --lc-action-pressed: #b80803;
  --lc-accent: #fd534e;
  --lc-focus: #ffffff;
  --lc-brand-red: #fe0601;
  --lc-error: #f87171;
  --lc-discord: #5865f2;
  --lc-discord-hover: #4752c4;
  --lc-steam: #16364f;
  --lc-steam-light: #1b5875;
  --lc-ease: cubic-bezier(0.2, 0, 0, 1);

  /* v1 names, kept as aliases for code that still reads them (admin, player). */
  --lc-background: var(--lc-surface);
  --lc-panel: var(--lc-surface-raised);
  --lc-input: var(--lc-surface-control);
  --lc-muted: var(--lc-text-tertiary);
  --lc-primary: var(--lc-action);
}

/* One focus treatment for everything. */
:focus-visible {
  outline: 2px solid var(--lc-focus);
  outline-offset: 2px;
}

:lang(zh-Hant) {
  font-family: var(--lc-font-cjk);
}

.lc-input {
  box-sizing: border-box;
  background: var(--lc-surface-control);
  color: var(--lc-text);
  border: 1px solid var(--lc-border);
  border-radius: 6px;
  padding: 0 16px;
  min-height: 44px;
  font-size: 16px;
}
.lc-input:hover {
  border-color: var(--lc-text-tertiary);
}
.lc-input:focus-visible {
  outline: 2px solid var(--lc-focus);
  outline-offset: 2px;
}
.lc-primary {
  background: var(--lc-action);
  border-color: var(--lc-action);
  color: var(--lc-on-action);
  font-weight: 700;
}
.lc-primary:hover {
  background: var(--lc-action-hover);
  border-color: var(--lc-action-hover);
}
.lc-primary:active {
  background: var(--lc-action-pressed);
}
