/* ---------- Переменные ---------- */
:root {
    --color-bg: #faf8f5;
    --color-surface: #ffffff;
    --color-text: #2b2b2b;
    --color-text-muted: #7a7a7a;
    --color-accent: #c0392b;
    --color-accent-soft: #f3e1de;
    --color-pinyin: #5a7d9a;
    --color-border: #e6e1db;
    --color-success: #2e8b57;
    --color-danger: #b83a2e;

    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;

    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;

    --header-height: 56px;
    --bottom-nav-height: 64px;

    --font-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-hanzi: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ---------- Сброс ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-base);
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.5;
    min-height: 100dvh;
    -webkit-font-smoothing: antialiased;
    overscroll-behavior-y: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

ul {
    list-style: none;
}

/* Иероглифы — отдельный шрифт */
.hanzi {
    font-family: var(--font-hanzi);
}