/* 基礎スタイル */
    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
      background-color: #faf7f2; /* 和紙色 */
      color: #2f2e2c;
      margin: 0;
      padding: 0;
      /* 全局圆角变量（统一维护） */
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 12px;
      --radius-xl: 16px;
    }
    h1, h2, h3, h4, h5, h6, .brand-serif {
      font-family: 'Hiragino Mincho ProN', 'Yu Mincho', YuMincho, Georgia, serif;
    }
    /* 星評価 */
    .star-filled { color: #b33a3a; }  /* 紅緋 */
    .star-empty { color: #dcd3ca; }
    /* 年齢警告 */
    .age-warning-bg { 
      background-color: #b33a3a; 
      border-radius: var(--radius-md); /* 警告バー圆角 */
      margin: 0 auto;
      max-width: 100%; /* 左右留空更柔和 */
    }
    /* モーダル - 大幅圆角优化 */
    .modal-overlay {
      position: fixed;
      top: 0; left: 0; width: 100%; height: 100%;
      background-color: rgba(0,0,0,0.5);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1000;
    }
    .modal-content {
      background-color: white;
      max-width: 500px;
      width: 90%;
      max-height: 90vh;
      overflow-y: auto;
      border: 1px solid #e8e0d5;
      box-shadow: 0 10px 25px rgba(0,0,0,0.1);
      border-radius: var(--radius-lg); /* 模态框大圆角 */
      padding: 1rem !important; /* 内部留白配合圆角 */
    }
    .modal-overlay.hidden { display: none !important; }
    /* スケルトンローダー */
    .skeleton {
      background: linear-gradient(90deg, #e2ddd6 25%, #e8e0d5 50%, #e2ddd6 75%);
      background-size: 200% 100%;
      animation: skeleton-loading 1.5s infinite;
      border-radius: var(--radius-sm); /* 骨架屏圆角 */
    }
    @keyframes skeleton-loading {
      0% { background-position: 200% 0; }
      100% { background-position: -200% 0; }
    }
    /* モバイルメニュースタイル */
    .mobile-menu {
      display: none;
      opacity: 0;
      transform: translateY(-10px);
      transition: all 0.3s ease;
      border-radius: var(--radius-md); /* 移动端菜单圆角 */
      background-color: #fff;
      padding: 0.5rem;
      border: 1px solid #e8e0d5;
    }
    .mobile-menu.active {
      display: block;
      opacity: 1;
      transform: translateY(0);
    }
    .fade-in {
      animation: fadeIn 0.3s ease forwards;
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    /* アクセシビリティ強化 */
    :focus-visible {
      outline: 2px solid #b33a3a;
      outline-offset: 2px;
      border-radius: var(--radius-sm); /* 焦点状态圆角 */
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border-width: 0;
    }

    /* 全局圆角补充：所有按钮/输入框/卡片统一圆角 */
    button, input, select, textarea {
      border-radius: var(--radius-md) !important;
    }
    /* 修复：卡片圆角（关键！用ID选择器#card-grid，而非类选择器.card-grid） */
    #card-grid > div,
    #card-grid > a {
      border-radius: var(--radius-lg) !important;
      overflow: hidden !important; /* 强制防止内容溢出圆角 */
      transition: box-shadow 0.2s ease; /* 新增：hover阴影，增强质感 */
    }
    /* 修复：卡片hover效果（可选，增强交互） */
    #card-grid > div:hover,
    #card-grid > a:hover {
      box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    }
    /* 修复：卡片内图片容器圆角（确保顶部圆角生效） */
    #card-grid .aspect-\[250\/188\] {
      border-top-left-radius: var(--radius-lg) !important;
      border-top-right-radius: var(--radius-lg) !important;
      overflow: hidden !important;
    }
    /* 搜索栏容器圆角 */
    .bg-white\/60.border {
      border-radius: var(--radius-lg) !important;
    }
    /* 搜索输入框父容器圆角 */
    .flex-1.bg-white.border {
      border-radius: var(--radius-md) !important;
      overflow: hidden;
    }
    /* 页脚链接hover圆角 */
    footer a {
      border-radius: var(--radius-sm);
      padding: 0.2rem 0.4rem;
    }
    /* 注目バナー圆角 */
    .bg-white\/70.border.p-5 {
      border-radius: var(--radius-lg) !important;
    }
    /* 加载更多按钮圆角强化 */
    #load-more-btn {
      border-radius: var(--radius-lg) !important;
      padding: 0.8rem 2rem !important;
    }
    /* 头部导航栏优化 */
    header {
      padding: 0.5rem 0;
    }
    .brand-serif {
      padding: 0.2rem 0.4rem;
    }
