:root{
  --paper: #ddd8cb;
  --surface: #e8e3d7;
  --ink: #17150f;
  --ink-soft: #3d3a30;
  --muted: #544d3b;
  --line: rgba(23, 21, 15, 0.18);
  --line-soft: rgba(23, 21, 15, 0.09);
  --accent: #ff4b00;
  --ok: #2e7d4f;
  --term-bg: #17150f;
  --term-fg: #d9d3c4;
  --brand-bg: #17150f;
  --brand-fg: #e8e4d8;
  --cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='%23ff4b00' stroke='%2317150f' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 3l13.5 7.5-5.7 1.4-2.8 6z'/%3E%3C/svg%3E") 6 4, auto;

  --font-display: "Unbounded", sans-serif;
  --font-body: "Golos Text", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --font-serif: "Spectral", Georgia, serif;
}

*{ cursor: var(--cursor); }
html{ scroll-behavior: smooth; }
body{ font-family: var(--font-body); background: var(--paper); color: var(--ink); }

.font-display{ font-family: var(--font-display); }
.font-body{ font-family: var(--font-body); }
.font-mono{ font-family: var(--font-mono); }
.font-serif{ font-family: var(--font-serif); }

.bg-paper{ background: var(--paper); }
.bg-surface{ background: var(--surface); }
.bg-term{ background: var(--term-bg); }
.text-term{ color: var(--term-fg); }
.bg-brand{ background: var(--brand-bg); }
.text-brand{ color: var(--brand-fg); }
.text-ink{ color: var(--ink); }
.text-ink-soft{ color: var(--ink-soft); }
.text-muted{ color: var(--muted); }
.border-line{ border-color: var(--line); }
.border-line-soft{ border-color: var(--line-soft); }
.accent-text{ color: var(--accent); }
.accent-bg{ background: var(--accent); color: var(--ink); }
.ok-text{ color: var(--ok); }

.lang-btn{ color: var(--term-fg); opacity:.55; border: 1px solid transparent; transition: opacity .15s ease; font-family: var(--font-mono); }
.lang-btn:hover{ opacity: 1; }
.lang-btn.active{ opacity:1; color: var(--ink); background: var(--accent); border-radius: 4px; }

.btn-accent{ background: var(--accent); color: var(--ink); font-weight:600; transition: transform .15s ease, opacity .15s ease; }
.btn-accent:hover{ opacity:.9; transform: translateY(-1px); }

input.field{ background: var(--paper); border:1px solid var(--line); color: var(--ink); }
input.field:focus{ outline:none; border-color: var(--accent); }
input.field::placeholder{ color: var(--muted); opacity:.7; }
