/* 基礎スタイル（首页から継承） */
    body {
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
      background-color: #faf7f2;
      color: #2f2e2c;
    }
    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; }
    /* モーダル */
    .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);
    }
    .modal-overlay.hidden { display: none !important; }
    /* 検索履歴チップ */
    .history-chip {
      display: inline-flex;
      align-items: center;
      background-color: #f2ece5;
      border: 1px solid #e8e0d5;
      border-radius: 9999px;
      padding: 5px 12px;
      font-size: 0.75rem;
      line-height: 1.2;
      cursor: pointer;
      transition: background-color 0.2s, border-color 0.2s, transform 0.2s;
    }
    .history-chip:hover {
      background-color: #e8e0d5;
      border-color: #d9cec2;
      transform: translateY(-1px);
    }
    .current-search-chip {
      display: inline-flex;
      align-items: center;
      max-width: 100%;
      background-color: #fff7f7;
      color: #9a2f2f;
      border: 1px solid #e7bcbc;
      border-radius: 9999px;
      padding: 5px 12px;
      font-size: 0.75rem;
      line-height: 1.2;
      overflow-wrap: anywhere;
    }
    /* モバイルメニュースタイル */
    .mobile-menu {
      display: none;
      animation: fadeIn 0.3s ease-in-out;
    }
    .mobile-menu.active {
      display: block;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }
