/* common.css — глобальные токены Sally + базовый ресет. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* Палитра DESIGN-QUICK v1.0 */
  --primary: #E8A857;
  --primary-hover: #D8923A;
  --primary-soft: #F8E0B8;
  --secondary: #5B8A8A;
  --secondary-hover: #476F6F;
  --accent: #D86A6A;

  --bg: #F7F2EA;
  --bg-alt: #EFE7D9;
  --surface: #FFFFFF;
  --surface-alt: #FBF7F0;
  --border: #E2D8C6;
  --border-strong: #C9BCA3;
  --text-primary: #2C2A26;
  --text-secondary: #6B6558;
  --text-muted: #9A9486;
  --text-on-primary: #FFFFFF;

  --success: #5BA86A;
  --success-soft: #E1F1E2;
  --warning: #E0A22A;
  --warning-soft: #FBF0D4;
  --error: #C8533F;
  --error-soft: #F7DDD4;
  --info: #4A88B0;
  --info-soft: #DDEAF3;

  /* Алиасы для ранних MVP-страниц, чтобы не ломать старую разметку. */
  --bg-elev: var(--surface);
  --fg: var(--text-primary);
  --fg-muted: var(--text-secondary);
  --danger: var(--error);
  --accent-hover: #B95555;

  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', Menlo, Consolas, monospace;

  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;
  --radius-sm: var(--r-sm);
  --radius-md: var(--r-md);
  --radius-lg: var(--r-lg);

  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;

  --shadow-sm: 0 1px 2px rgba(44,42,38,0.06);
  --shadow-md: 0 4px 12px rgba(44,42,38,0.10);
  --shadow-lg: 0 12px 32px rgba(44,42,38,0.14);
  --shadow-glow: 0 0 0 4px rgba(232,168,87,0.25);
  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  min-height: 100vh;
}

body { text-rendering: optimizeLegibility; }

a { color: var(--secondary); text-decoration: none; }
a:hover { color: var(--secondary-hover); }

img { max-width: 100%; display: block; }

.center { display: flex; align-items: center; justify-content: center; }
.stack > * + * { margin-top: 1rem; }
.muted { color: var(--text-secondary); }
.error { color: var(--error); font-size: 0.9rem; min-height: 1.2em; }

:focus-visible { outline: none; box-shadow: var(--shadow-glow); }
