:root {
    --bs-primary: #569c79;
    --bs-primary-hover: #3d8462;
    --bs-primary-active: #307857;
    --bs-primary-disabled: #9bb9a8;
    --bs-primary-contrast: #000000;
    --bs-primary-rgb: 86, 156, 121;
    --primary-light: #7bc29d;
    --primary-dark: #367e5c;
    --primary-bg: #eaf3f0;
    --bs-secondary: #589fa9;
    --bs-accent: #c6777b;
    --bs-light: #f6fbf7;
    --bs-dark: #17241c;
    --bs-white: #ffffff;
    --bs-black: #000000;
    --bs-dark-rgb: 23, 36, 28;
    --bs-light-rgb: 246, 251, 247;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-success: #886e00;
    --bs-warning: #c65300;
    --bs-danger: #f35e78;
    --bs-info: #007b7f;
    --bs-success-rgb: 136, 110, 0;
    --bs-warning-rgb: 198, 83, 0;
    --bs-danger-rgb: 243, 94, 120;
    --bs-info-rgb: 0, 123, 127;
    --bs-body-bg: #e9f4f0;
    --bs-body-color: #132018;
    --bs-secondary-color: #4e6355;
    --bs-border-color: #dce8df;
    --bs-form-border-color: #4e6355;
    --secondary-light: #7ec5cf;
    --secondary-dark: #38818a;
    --secondary-bg: #eaf4f4;
    --accent-light: #e89599;
    --accent-dark: #a5595e;
    --accent-bg: #efeaeb;
    --gray-50: #f6faf5;
    --gray-100: #dfe4de;
    --gray-200: #c8cec8;
    --gray-300: #b2b9b2;
    --gray-400: #9ca49c;
    --gray-500: #878f87;
    --gray-600: #727c73;
    --gray-700: #5e685f;
    --gray-800: #4a554c;
    --gray-900: #384339;
    --gray-950: #263228;
    --bs-border-radius: 1rem;
    --bs-border-radius-sm: .65rem;
    --bs-border-radius-lg: 1.35rem;
    --bs-shadow: 0 22px 60px rgba(var(--bs-dark-rgb), .13);
    --bs-shadow-float: 0 28px 80px rgba(var(--bs-dark-rgb), .20);
    --bs-body-font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
    --bs-headings-font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
    --bs-monospace-font-family: "Fira Code", monospace;
    --ap-bg: var(--bs-body-bg);
    --ap-surface: rgba(var(--bs-white-rgb), .78);
    --ap-surface-solid: var(--bs-white);
    --ap-ink: var(--bs-body-color);
    --ap-muted: var(--bs-secondary-color);
    --ap-line: var(--bs-border-color);
    --ap-brand: var(--bs-primary);
    --ap-brand-hover: var(--bs-primary-hover);
    --ap-accent: var(--bs-accent);
    --ap-accent-soft: var(--accent-bg);
    --ap-violet: var(--bs-secondary);
    --ap-radius: var(--bs-border-radius);
    --ap-shadow: var(--bs-shadow);
    --ap-shadow-float: var(--bs-shadow-float);
    --ap-font-body: var(--bs-body-font-family);
    --ap-font-display: var(--bs-headings-font-family);
}
