/* Explain: Theme tokens and typography. */
:root {
    /* Core palette */
    --navy-color: #102f59;
    --blue-color: #1d5792;
    --pale-color: #edf4fb;
    --pink-color: #ed4d82;
    --ink-color: #1d2b3d;
    --muted-color: #65758a;
    --line-color: #dce5ef;

    /* Shared tokens (used across all pages) */
    --primary-color: #102f59;
    --primary-hover: #1d5792;
    --secondary-color: #1d5792;
    --accent-color: #ed4d82;
    --background-color: #ffffff;
    --surface-color: #ffffff;
    --surface-warm: #edf4fb;
    --text-color: #1d2b3d;
    --text-muted: #65758a;
    --border-color: #dce5ef;
    --pearl-color: #ffffff;
    --champagne-color: #edf4fb;
    --rose-nude-color: #ed4d82;
    --soft-gray-color: #dce5ef;
    --espresso-color: #102f59;

    --font-heading: 'Noto Serif JP', Georgia, serif;
    --font-body: 'Noto Sans JP', 'Yu Gothic', Meiryo, system-ui, sans-serif;

    --radius-oval: 999px;
    --radius-soft: 16px;
    --shadow-soft: 0 14px 32px rgba(16, 47, 89, 0.12);
    --shadow-card: 0 8px 24px rgba(16, 47, 89, 0.05);
}