@font-face { font-family: Harmony; src: url('../fonts/harmony-regular.woff2') format('woff2'); font-display: swap; font-weight: 400; }
@font-face { font-family: Harmony; src: url('../fonts/harmony-bold.woff2') format('woff2'); font-display: swap; font-weight: 700; }
@font-face { font-family: Terminal; src: url('../fonts/terminal.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: Bank; src: url('../fonts/bank-bold.woff2') format('woff2'); font-display: swap; font-weight: 700; }
:root {
  color-scheme: dark;
  --bg: oklch(0.135 0.009 275);
  --surface: oklch(0.175 0.009 275);
  --surface-raised: oklch(0.25 0.012 265);
  --gold: oklch(0.86 0.16 92);
  --gold-soft: oklch(0.76 0.095 92);
  --text: oklch(0.94 0.009 90);
  --muted: oklch(0.75 0.014 90);
  --faint: oklch(0.65 0.013 90);
  --line: oklch(0.4 0.025 92);
  --line-soft: oklch(0.3 0.017 92);
  --green: oklch(0.83 0.13 148);
  --font-body: Harmony, 'Microsoft YaHei', system-ui, sans-serif;
  --font-mono: Terminal, Consolas, monospace;
  --font-display: Bank, var(--font-mono);
  --content-width: 1040px;
  --gutter: clamp(20px, 6vw, 96px);
  --header-height: 60px;
  --bar-height: 40px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font-body); line-height: 1.75; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a, summary, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-underline-offset: 5px; }
a:hover { color: var(--gold); }
img { max-width: 100%; }
button:focus-visible, a:focus-visible, summary:focus-visible, select:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
::selection { background: var(--gold); color: var(--bg); }
h1, h2, h3, p, ul, ol, dl { margin: 0; }
button { color: inherit; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 100; transform: translateY(-180%); padding: 12px 20px; background: var(--gold); color: var(--bg); }
.skip-link:focus { transform: translateY(0); }
.button { min-height: 52px; display: inline-flex; justify-content: space-between; align-items: center; gap: 32px; padding: 12px 22px; text-decoration: none; font-weight: 700; line-height: 1.5; transition: color .2s, background .2s, transform .2s var(--ease); border: 1px solid transparent; }
.button:hover { transform: translateY(-2px); }
.primary { background: var(--gold); color: var(--bg); }
.primary:hover { background: var(--text); color: var(--bg); }
.secondary { border-color: var(--line); background: var(--bg); }
.secondary:hover { border-color: var(--gold); }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; color: var(--gold); text-decoration: none; background: none; border: 0; padding: 8px 0; }
.text-link:hover { text-decoration: underline; }
.status-light { display: inline-block; flex: 0 0 6px; width: 6px; height: 6px; background: var(--green); border-radius: 50%; }
.status-light.pending { background: var(--gold); }
.cursor { color: var(--gold); animation: cursor-blink 1.2s steps(1) infinite; }
.crt-texture { position: fixed; inset: 0; z-index: 10; pointer-events: none; opacity: .16; background: repeating-linear-gradient(0deg, transparent 0 3px, oklch(0.135 0.009 275 / .4) 3px 4px); }
@keyframes cursor-blink { 50% { opacity: 0; } }
[data-effects='off'] .cursor { animation: none; }
[data-effects='off'] .crt-texture { display: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } .crt-texture { display: none; } }
