/* Signoff field style for evals.signoff.space, matching signoff.space and Signoff Voice.
   Loaded after app.css and lbcards.css, so it only overrides: near-black ground, hairline rules, square corners,
   Inter Tight headings, Figtree text, uppercase JetBrains Mono labels, a faint grid and an orbiting node field
   behind the page, and a 1px scroll-progress line. Pass, fail and warning colours keep their meaning. */
:root {
  --bg: #08090B; --bg-2: #050608; --surface: rgba(11,14,18,.86); --surface-2: #111419; --hover: rgba(242,241,238,.06);
  --line: rgba(242,241,238,.12); --line-2: rgba(242,241,238,.06);
  --text: #F2F1EE; --text-2: rgba(242,241,238,.72); --text-3: #8A8F98;
  --accent: #C6FF3D; --accent-ink: #08090B; --accent-2: #7FD4C1;
  --pass: #7FD4C1; --pass-soft: rgba(127,212,193,.12);
  --radius: 0px; --radius-s: 0px;
  --display: "Inter Tight", "Helvetica Neue", system-ui, sans-serif;
  --sans: "Figtree", "Inter", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --shadow: none; --glow: none;
  --ease: cubic-bezier(.16,1,.3,1);
}
html { background: var(--bg); }
body { background: transparent !important; background-image: none !important; font-family: var(--sans); font-size: 15.5px; line-height: 1.6; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(to right, rgba(242,241,238,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(242,241,238,.05) 1px, transparent 1px);
  background-size: 64px 64px; -webkit-mask-image: radial-gradient(120% 80% at 50% 10%, #000 15%, transparent 70%); mask-image: radial-gradient(120% 80% at 50% 10%, #000 15%, transparent 70%); }
.field-layer { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.field-layer > div { position: absolute; inset: 0; transform: translate(min(320px, 18vw), 0) scale(.8); opacity: .55; }
.progress { position: fixed; top: 0; left: 0; right: 0; height: 1px; background: rgba(242,241,238,.06); z-index: 60; }
.progress > span { display: block; height: 100%; width: 0; background: var(--accent); }
h1, h2, h3 { font-family: var(--display); font-weight: 600; letter-spacing: -.03em; }
.page-head h1 { font-size: clamp(30px, 3.8vw, 46px); line-height: 1.02; font-weight: 600; animation: sf-line-in .7s var(--ease) both; }
@keyframes sf-line-in { 0% { transform: translateY(24px); opacity: 0; } 100% { transform: none; opacity: 1; } }
.mono, code { font-family: var(--mono); }
:focus-visible { outline: 1px solid var(--accent-2); border-radius: 0; }
::selection { background: var(--accent); color: var(--accent-ink); }

/* header */
.topbar { top: 1px; background: rgba(8,9,11,.82) !important; backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.topbar .wrap { height: 56px; max-width: 1440px; }
.wrap { max-width: 1440px; }
.brand { font-family: var(--display); font-weight: 600; font-size: 17px; }
.brand .logo { width: 22px; height: 22px; border-radius: 6px; box-shadow: none; }
.brand .logo svg { width: 15px; height: 15px; }
.nav { gap: 22px; }
.nav a { font: 400 11px/1.4 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--text-3); padding: 4px 0 3px; border-radius: 0; border-bottom: 1px solid transparent; transition: color .24s var(--ease), border-color .24s var(--ease); }
.nav a:hover { background: none; color: var(--text); }
.nav a.active { background: none; color: var(--text); border-bottom-color: var(--accent); }
.menu-btn { border-radius: 0; background: transparent; }
.menu-pop { background: rgba(8,9,11,.92); backdrop-filter: blur(8px); }
.menu-pop a, .menu-pop button { border-radius: 0; }

/* square, hairline surfaces everywhere */
.card, .dcard, .setcard, .table-card, .auth-card, .modal, .menu-pop, .notice, .chip, .seg, .seg button, .pill, .badge, .btn, .input, select, textarea,
.tabs button, .docs-nav a, .stepper, .step, .tc, .rp-chip, .tchip, .photo-opt, .check-row, .search, .gbtn, .icon-btn, .onoff, .toast, .drop, .medal, .heat, .bar, .scorebar, .stackbar, .mini-bar,
.lbc, .lbc-seg, .lbc-seg button, .lbc-pick select, .lbc-more, .lbc-logo, .lbc-empty, .lbc-track, .lbc-track i { border-radius: 0 !important; }
.card, .dcard, .setcard, .table-card, .auth-card { background: var(--surface); backdrop-filter: blur(6px); box-shadow: none; }
.dcard, .card { transition: border-color .24s var(--ease), background-color .24s var(--ease); }
.dcard:hover { border-color: rgba(242,241,238,.24); }
.btn { font: 400 11px/1 var(--mono); letter-spacing: .16em; text-transform: uppercase; background: transparent; border-color: rgba(242,241,238,.24); transition: color .24s var(--ease), background-color .24s var(--ease), border-color .24s var(--ease); }
.btn:hover:not(:disabled) { background: rgba(242,241,238,.06); border-color: var(--text); }
.btn-primary { background: var(--text); border-color: var(--text); color: var(--bg); }
.btn-primary:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); box-shadow: none; }
.btn-danger { color: var(--fail); }
.chip, .seg button { font: 400 11px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.tabs button { font: 400 11px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.docs-nav a.active { background: none; color: var(--text); box-shadow: inset 2px 0 0 var(--accent); }
.field > label, .field > .label, th, .sec-label { font: 400 10.5px/1.4 var(--mono) !important; letter-spacing: .16em !important; text-transform: uppercase; color: var(--text-3); }
.input:focus, select:focus, textarea:focus { box-shadow: none; }
.notice.info { background: rgba(127,212,193,.1); color: var(--accent-2); }

/* leaderboard cards, same as on signoff.space */
.lbc-grid { --lbc-bg: rgba(11,14,18,.82); --lbc-bg2: #050608; --lbc-line: rgba(242,241,238,.12); --lbc-line2: rgba(242,241,238,.06); --lbc-text: #F2F1EE; --lbc-text2: rgba(242,241,238,.72); --lbc-text3: #8A8F98; --lbc-accent: #C6FF3D; --lbc-violet: #7FD4C1; }
.lbc { backdrop-filter: blur(6px); }
.lbc-kicker { font-size: 11px; letter-spacing: .18em; color: var(--lbc-text3); }
.lbc-title, .lbc-rank, .lbc-score { font-family: "Inter Tight", system-ui, sans-serif; }
.lbc-title { font-weight: 600; letter-spacing: -.03em; }
.lbc-seg button, .lbc-more { font: 400 11px "JetBrains Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.lbc-track i { background: rgba(242,241,238,.36); }
.lbc-row.top .lbc-track i { background: #C6FF3D; }

#splash { background: #08090B !important; }
#splash .word { font-family: "Inter Tight", system-ui, sans-serif !important; font-weight: 600 !important; }
@media (prefers-reduced-motion: reduce) { .page-head h1 { animation: none; } }
.brand { gap: 0; }
.brand .logo { margin-right: 9px; }
.lbc-wide { background: rgba(11,14,18,.88) !important; }
/* logos sit bare: no tile, no border, no white background */
.lbc-logo:has(img) { background: transparent !important; border: 0 !important; color: transparent !important; }
.lbc-logo img { background: transparent !important; padding: 0 !important; object-fit: contain; }
