html {
    /* ===== text / spacing ===== */
    --anime-text-small-font-size: 12px;
    --anime-text-small-line-height: 1.4;
    --anime-text-small-margin: 2px;
    --anime-text-small-padding: 4px;
    --anime-text-medium-font-size: 14px;
    --anime-text-medium-line-height: 1.6;
    --anime-text-medium-margin: 6px;
    --anime-text-medium-padding: 8px;
    --anime-text-large-font-size: 16px;
    --anime-text-large-line-height: 1.8;
    --anime-text-large-margin: 10px;
    --anime-text-large-padding: 12px;
    /* ===== card / box layout ===== */
    --anime-box-compact-gap: 8px;
    --anime-box-compact-padding: 10px;
    --anime-box-compact-radius: 6px;
    --anime-box-compact-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    --anime-box-balanced-gap: 16px;
    --anime-box-balanced-padding: 16px;
    --anime-box-balanced-radius: 10px;
    --anime-box-balanced-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    --anime-box-spacious-gap: 24px;
    --anime-box-spacious-padding: 20px;
    --anime-box-spacious-radius: 14px;
    --anime-box-spacious-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    /* ===== color themes ===== */
    --anime-theme-light-bg: #ffffff;
    --anime-theme-light-text: #333;
    --anime-theme-light-accent: #0078ff;
    --anime-theme-light-border: #ddd;
    --anime-theme-dark-bg: #181818;
    --anime-theme-dark-text: #f1f1f1;
    --anime-theme-dark-accent: #4eaaff;
    --anime-theme-dark-border: #333;
    --anime-theme-neon-bg: #0b0f1a;
    --anime-theme-neon-text: #c7f5ff;
    --anime-theme-neon-accent: #0ff;
    --anime-theme-neon-border: #1a2a3a;
    --anime-theme-pastel-bg: #fdf6f0;
    --anime-theme-pastel-text: #4a4a4a;
    --anime-theme-pastel-accent: #ff7f50;
    --anime-theme-pastel-border: #e0d4c8;
    --anime-theme-retro-bg: #2e1a0f;
    --anime-theme-retro-text: #f0e4d7;
    --anime-theme-retro-accent: #ffb347;
    --anime-theme-retro-border: #4b3621;
    --anime-theme-minimal-bg: #f5f5f5;
    --anime-theme-minimal-text: #2c2c2c;
    --anime-theme-minimal-accent: #888;
    --anime-theme-minimal-border: #ccc;
    /* ===== grid layouts ===== */
    --anime-grid-two-cols: repeat(2, 1fr);
    --anime-grid-two-gap: 16px;
    --anime-grid-three-cols: repeat(3, 1fr);
    --anime-grid-three-gap: 20px;
    --anime-grid-four-cols: repeat(4, 1fr);
    --anime-grid-four-gap: 24px;
    --anime-grid-five-cols: repeat(5, 1fr);
    --anime-grid-five-gap: 28px;
    /* ===== title text ===== */
    --anime-title-def-weight: 500;
    --anime-title-small-size: 18px;
    --anime-title-small-weight: 600;
    --anime-title-small-margin: 8px 0;
    --anime-title-medium-size: 22px;
    --anime-title-medium-weight: 700;
    --anime-title-medium-margin: 12px 0;
    --anime-title-large-size: 28px;
    --anime-title-large-weight: 800;
    --anime-title-large-margin: 16px 0;
    /* ==== navigation menu ===== */
    --anime-nav-style-small-size: 16rem;
    --anime-nav-style-medium-size: 200px;
    --anime-nav-style-large-size: 300px;
    --anime-nav-width-default-size: 250px;
    --anime-nav-style-small-padding: 6px;
    --anime-nav-style-medium-padding: 12px;
    --anime-nav-style-large-padding: 18px;
    --anime-nav-title-space-def: 8px;
    --anime-nav-title-space-x2: 16px;
    --anime-nav-title-space-x3: 24px;
    --anime-nav-title-space-x4: 32px;
    --anime-nav-title-space-x5: 40px;
    --anime-nav-title-font-size-def: 18px;
    --anime-nav-title-font-weight: 400;
    --anime-nav-title-font-size-x2: 22px;
    --anime-nav-title-font-weight-x2: 500;
    --anime-nav-title-font-size-x3: 26px;
    --anime-nav-title-font-weight-x3: 600;
    --anime-nav-title-font-size-x4: 30px;
    --anime-nav-title-font-weight-x4: 700;
    --anime-nav-item-font-size-def: 14px;
    --anime-nav-item-font-weight: 400;
    --anime-nav-item-font-size-x2: 16px;
    --anime-nav-item-font-weight-x2: 500;
    --anime-nav-item-font-size-x3: 18px;
    --anime-nav-item-font-weight-x3: 600;
    --anime-nav-item-font-size-x4: 20px;
    --anime-nav-item-font-weight-x4: 700;
    /* ===== main content spacing ===== */
    --anime-main-padding-def: 4px;
    --anime-main-padding-x2: 8px;
    --anime-main-padding-x3: 12px;
    --anime-main-padding-x4: 16px;
    --anime-main-padding-x5: 20px;
    --anime-main-padding-x6: 24px;
    --anime-main-padding-x7: 28px;
    --anime-margin-def: 4px;
    --anime-margin-x2: 8px;
    --anime-margin-x3: 12px;
    --anime-margin-x4: 16px;
    --anime-margin-x5: 20px;
    --anime-margin-x6: 24px;
    --anime-margin-x7: 28px;
    --anime-margin-x8: 32px;
    /* ===== default colors ===== */
    --anime-cardsection-backdefault-color: #1A1B1D;
    --anime-navi-backdefault-color: #181818;
    --anime-main-backdefault-color: #121212;
    --anime-card-backdefault-color: #2C2E33;
    --anime-card-text-default-color: #F5F5F5;
    --anime-card-arasuzi-default-color: #B0B3B8;
    --anime-card-metainfo-default-color: #888888;
    --anime-a-link-color: #3b5fa0;
}
/*==================================
  全体設定
==================================*/
* {
    -webkit-user-select: none; /* Safari, Chrome */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* IE 10+ */
    user-select: none;         /* Standard syntax */
}

body {
    background-color: var(--anime-theme-dark-bg);
    color: #333;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    font-weight: 400;
    font-display: swap;
}

h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    border: 0;
}

a {
    color: var(--anime-a-link-color);
}

/*==================================
  フッター
==================================*/
.site-footer {
    text-align: center;
    padding: var(--anime-main-padding-x5);
    margin-top: var(--anime-margin-x2);
    background-color: #e0e0e0;
    border-top: 1px solid var(--anime-theme-minimal-border);
}

.footer-links {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: var(--anime-margin-x2);
}

.footer-links a {
    text-decoration: none;
    color: #555;
    font-weight: 700;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #333;
    text-decoration: underline;
}