/* ============================================================
   theme.css — ダークモード上書き（2026-08-31）
   ・トグルボタン（.se-theme-toggle）は theme.js が注入する新規要素。
   ・ダーク上書きはすべて html[data-theme="dark"] スコープ内。
     → data-theme="light" 時の表示は既存とまったく同一。
   ・読み込み順: 全ページの最後の<link>（インライン<style>より前だが、
     html[data-theme="dark"] 分のセレクタ詳細度で勝つ。負ける箇所と
     インラインstyle起因の箇所のみ !important を使用）
   ============================================================ */

/* --- テーマトグルボタン（新規要素のみ。ライト表示には影響しない） --- */
.se-theme-toggle {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: none;
  color: #506168;
  cursor: pointer;
}
.se-theme-toggle .sm-icon { width: 21px; height: 21px; }
.se-theme-toggle:hover { color: #076bc9; }

@media (max-width: 767px) {
  .se-theme-toggle { width: 35px; height: 44px; }
  .se-theme-toggle .sm-icon { width: 22px; height: 22px; }
}

/* ============================================================
   以下、すべて html[data-theme="dark"] スコープ
   パレット: 背景#0f1519 / 面#171f24 / 面2#1c262c / 罫線#2a343a
             文字#e2e8ea / 本文#b6c2c7 / 弱文字#8fa0a7
   ブランド色（青#076bc9 / 緑#00a38d / オレンジ#ff8a00）は維持
   ============================================================ */

html[data-theme="dark"] {
  --se-bg: #0f1519;
  --se-surface: #171f24;
  --se-surface-2: #1c262c;
  --se-line: #2a343a;
  --se-line-strong: #3a464d;
  --se-ink: #e2e8ea;
  --se-body: #b6c2c7;
  --se-muted: #8fa0a7;
  --se-blue-soft: #0e1d2b;      /* #f0f7ff 相当 */
  --se-blue-line: #1e3a55;      /* #cce0f5 相当 */
  --se-teal-soft: #10262a;      /* #eff9f7 相当 */
  --se-amber-soft: #241d0d;     /* #fffaf0 / #fff9e6 相当 */
  --se-amber-line: #4a3c14;     /* #f0e0a0 相当 */
  --se-amber-ink: #e0af52;      /* #805500 相当 */
  color-scheme: dark;
}

html[data-theme="dark"] .se-theme-toggle { color: #aebbc0; }
html[data-theme="dark"] .se-theme-toggle:hover { color: #4da3f0; }

/* ---------- 共通: body / 変数の再定義 ---------- */
html[data-theme="dark"] body.market-home {
  --sm-ink: var(--se-ink);
  --sm-muted: var(--se-muted);
  --sm-line: var(--se-line);
  --sm-soft: var(--se-surface-2);
  background: var(--se-bg);
  color: var(--se-ink);
}

/* ---------- 共通ヘッダー ---------- */
html[data-theme="dark"] .sm-header {
  background: var(--se-surface);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}
html[data-theme="dark"] .sm-logo { color: var(--se-ink); }
html[data-theme="dark"] .sm-search {
  border-color: var(--se-line-strong);
  background: var(--se-surface-2);
}
html[data-theme="dark"] .sm-search__scope { border-right-color: var(--se-line-strong); }
html[data-theme="dark"] .sm-search__scope::after { background: var(--se-muted); }
html[data-theme="dark"] .sm-search select { color: var(--se-body); }
html[data-theme="dark"] .sm-search input { background: var(--se-surface-2); }
html[data-theme="dark"] .sm-search input::placeholder { color: #6f7f86; }
html[data-theme="dark"] .sm-search button { color: #aebbc0; }
html[data-theme="dark"] .sm-header__help { color: #aebbc0; }
html[data-theme="dark"] .sm-mobile-search-button { color: #aebbc0; }
html[data-theme="dark"] .sm-header__nav { background: var(--se-surface); }
html[data-theme="dark"] .sm-header__nav a { color: #c3ccd0; }
html[data-theme="dark"] .sm-header__nav a:hover { color: #4da3f0; background: var(--se-surface-2); }
html[data-theme="dark"] .sm-mobile-search input { background: var(--se-surface-2); border-color: var(--se-line-strong); }
html[data-theme="dark"] .sm-badge-soon { color: var(--se-muted); }
html[data-theme="dark"] .sm-header__register--disabled { background: #4a565c; }

/* ---------- 共通フッター（元々ダーク。白い内箱のみ調整） ---------- */
html[data-theme="dark"] .sm-footer { background: #14191c; }
html[data-theme="dark"] .sm-footer__contact,
html[data-theme="dark"] .sm-footer__feedback { background: var(--se-surface); color: var(--se-body); }
html[data-theme="dark"] .sm-footer__contact h2,
html[data-theme="dark"] .sm-footer__feedback h2 { color: var(--se-ink); }
html[data-theme="dark"] .sm-footer__feedback textarea {
  background: var(--se-surface-2);
  border-color: var(--se-line-strong);
  color: var(--se-ink);
}
html[data-theme="dark"] .sm-footer__feedback button:disabled { color: #7c898e; background: #2c363c; }

/* ---------- index.html（body.market-home 共有部品） ---------- */
html[data-theme="dark"] .sm-hero { background: var(--se-bg); }
html[data-theme="dark"] .sm-hero-intro { background: var(--se-surface); border-bottom-color: var(--se-line); }
html[data-theme="dark"] .sm-hero-intro__lead,
html[data-theme="dark"] .sm-hero-intro__sub { color: var(--se-ink); }
html[data-theme="dark"] .sm-cta-button--secondary { background: transparent; }
html[data-theme="dark"] .sm-cta-button--secondary:hover { background: var(--se-blue-soft); }

html[data-theme="dark"] .sm-sidebar h2 { border-bottom-color: var(--se-line-strong); }
html[data-theme="dark"] .sm-sidebar li a { color: #c3ccd0; }
html[data-theme="dark"] .sm-sidebar li .sm-icon { color: var(--se-muted); }
html[data-theme="dark"] .sm-sidebar__divider { border-top-color: var(--se-line); color: var(--se-muted); }

html[data-theme="dark"] .sm-category-card {
  border-color: var(--se-line);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .sm-category-card__label { color: var(--se-ink); }
html[data-theme="dark"] .sm-category-card__icon { border-color: var(--se-line); }

html[data-theme="dark"] .sm-scene-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-scene-card__label { color: var(--se-ink); }

html[data-theme="dark"] .sm-merit h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-merit p { color: var(--se-body); }
html[data-theme="dark"] .sm-merit__visual { background: var(--se-blue-soft); color: #4da3f0; }

html[data-theme="dark"] .sm-section-heading h2 span { color: var(--se-muted); background: var(--se-surface-2); }

html[data-theme="dark"] .sm-carousel__arrow {
  color: #dfe7ea;
  background: var(--se-surface-2);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6), 0 0 0 1px var(--se-line-strong);
}
html[data-theme="dark"] .sm-carousel__arrow:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.7), 0 0 0 1px var(--se-line-strong);
}

/* カテゴリ別ランキング（タブ・順位バッジ） */
html[data-theme="dark"] .sm-cat-ranking__tab {
  border-color: var(--se-line-strong);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .sm-cat-ranking__tab:hover { border-color: #076bc9; color: #4da3f0; }
html[data-theme="dark"] .sm-cat-ranking__tab.is-active {
  border-color: #076bc9;
  background: #076bc9;
  color: #fff;
}
html[data-theme="dark"] .sm-cat-ranking__tab.is-active:hover { color: #fff; }
html[data-theme="dark"] .sm-cat-rank { box-shadow: 0 1px 4px rgba(0, 0, 0, 0.6); }
html[data-theme="dark"] .sm-cat-rank--rest { background: #4a565c; }
html[data-theme="dark"] .sm-cat-rank__crown { filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.6)); }

html[data-theme="dark"] .sm-product-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-product-card:hover { border-color: #4d626c; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5); }
html[data-theme="dark"] .sm-product-card__name { color: var(--se-ink); }
html[data-theme="dark"] .sm-product-card__tagline { color: var(--se-body); }
html[data-theme="dark"] .sm-product-card__price { color: var(--se-ink); }
html[data-theme="dark"] .sm-product-card__difficulty { color: var(--se-muted); }
html[data-theme="dark"] .sm-product-card__developer { color: var(--se-muted); }
html[data-theme="dark"] .sm-product-card__rank--rest { color: var(--se-body); background: var(--se-surface-2); }
/* home.js がインラインで入れる「いいね数」（color:#607077）を可読色に */
html[data-theme="dark"] .sm-product-card__meta span[style*="color:#607077"] { color: var(--se-muted) !important; }

html[data-theme="dark"] .sm-creator-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-creator-card__name { color: var(--se-ink); }
html[data-theme="dark"] .sm-creator-card__role { color: var(--se-body); }

html[data-theme="dark"] .sm-request-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-request-card h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-request-card dl > div { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .sm-request-card dt { color: var(--se-muted); }
html[data-theme="dark"] .sm-request-card dt .sm-icon { color: var(--se-muted); }
html[data-theme="dark"] .sm-request-card dd { color: var(--se-body); }
html[data-theme="dark"] .sm-request-card__author { color: var(--se-muted); }

html[data-theme="dark"] .sm-shelf__heading h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-shelf__heading h3 .sm-icon { color: var(--se-muted); }
html[data-theme="dark"] .sm-shelves-toggle {
  border-color: var(--se-line-strong);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .sm-shelves-toggle:hover { background: var(--se-surface-2); border-color: #55656d; }

html[data-theme="dark"] .sm-article-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-article-card h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-article-card p { color: var(--se-muted); }

html[data-theme="dark"] .sm-qna-grid a { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-qna-grid b { color: var(--se-ink); }
html[data-theme="dark"] .sm-qna-grid span { color: var(--se-muted); }

html[data-theme="dark"] .sm-news li { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .sm-news time { color: var(--se-muted); }
html[data-theme="dark"] .sm-news a { color: var(--se-body); }

html[data-theme="dark"] .sm-story__card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-story__body h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-story__body p { color: var(--se-body); }

html[data-theme="dark"] .sm-safety-item { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-safety-item h3 { color: var(--se-ink); }
html[data-theme="dark"] .sm-safety-item p { color: var(--se-body); }

html[data-theme="dark"] .sm-support-banner {
  background: var(--se-blue-soft);
  border-color: var(--se-blue-line);
}
html[data-theme="dark"] .sm-support-banner .sm-icon { color: #4da3f0; }

html[data-theme="dark"] .sm-final-cta { background: var(--se-blue-soft); }
html[data-theme="dark"] .sm-final-cta h2 { color: var(--se-ink); }

html[data-theme="dark"] .sm-beginner-banner {
  color: var(--se-body);
  border-color: var(--se-line);
  background: var(--se-surface);
}
html[data-theme="dark"] .sm-beginner-banner small { color: var(--se-muted); }

html[data-theme="dark"] .sm-register-panel { background: var(--se-surface-2); }
html[data-theme="dark"] .sm-register-panel h2 { color: var(--se-ink); }

html[data-theme="dark"] .sm-mobile-directory { border-top-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .sm-mobile-directory li { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .sm-mobile-directory a { color: #c3ccd0; }
html[data-theme="dark"] .sm-mobile-directory__title { color: var(--se-ink); border-bottom-color: var(--se-line); }

/* みんなの使ってみた報告（home.jsがインラインstyleで生成するためここだけ !important） */
html[data-theme="dark"] #sm-tsukatta-track > div {
  background: var(--se-surface) !important;
  border-color: var(--se-line) !important;
}
html[data-theme="dark"] #sm-tsukatta-track > div > div:first-child { color: var(--se-ink) !important; }
html[data-theme="dark"] #sm-tsukatta-track > div > p { color: var(--se-body) !important; }

/* premium.js が生成するモーダル（JS注入<style>の後勝ちを !important で返す） */
html[data-theme="dark"] .se-pmodal__card { background: var(--se-surface) !important; color: var(--se-ink); }
html[data-theme="dark"] .se-pmodal__benefits { background: var(--se-blue-soft) !important; color: #9cc4e8 !important; }

/* ---------- street.html ---------- */
html[data-theme="dark"] .st-page { background: var(--se-bg); color: var(--se-ink); }
html[data-theme="dark"] .st-page h1 { color: var(--se-ink) !important; } /* h1はインラインstyleのため */
html[data-theme="dark"] .st-search input {
  border-color: var(--se-line-strong);
  color: var(--se-ink);
  background: var(--se-surface);
}
html[data-theme="dark"] .st-search input::placeholder { color: #6f7f86; }
html[data-theme="dark"] .st-search__results {
  background: var(--se-surface);
  border-color: var(--se-line-strong);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.55);
}
html[data-theme="dark"] .st-search__results-header { color: var(--se-muted); border-bottom-color: var(--se-line); }
html[data-theme="dark"] .st-search__result-item { color: var(--se-ink); }
html[data-theme="dark"] .st-search__result-item:hover { background: var(--se-surface-2); }
html[data-theme="dark"] .st-filter-tab {
  border-color: var(--se-line-strong);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .st-filter-tab:hover { border-color: #076bc9; color: #4da3f0; }
html[data-theme="dark"] .st-filter-tab.is-active { background: #076bc9; color: #fff; border-color: #076bc9; }
html[data-theme="dark"] .st-chip {
  border-color: var(--se-line-strong);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .st-chip:hover { border-color: #076bc9; color: #4da3f0; }
html[data-theme="dark"] .st-chip.is-active { background: var(--se-blue-soft); border-color: #076bc9; color: #4da3f0; }
html[data-theme="dark"] .st-chips--sub { border-left-color: var(--se-line); }
html[data-theme="dark"] .st-verified-wrap { color: var(--se-body); }
html[data-theme="dark"] .st-sort {
  border-color: var(--se-line-strong);
  color: var(--se-body);
  background: var(--se-surface);
}
html[data-theme="dark"] .st-count { color: var(--se-muted); }
html[data-theme="dark"] .st-sample-notice {
  background: var(--se-amber-soft);
  border-color: var(--se-amber-line);
  color: var(--se-amber-ink);
}
html[data-theme="dark"] .st-empty { border-color: var(--se-line-strong); background: var(--se-surface); }
html[data-theme="dark"] .st-empty__title { color: var(--se-ink); }
html[data-theme="dark"] .st-empty__link:hover { background: var(--se-blue-soft); }
html[data-theme="dark"] .st-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .st-card:hover { border-color: #4d626c; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); }
html[data-theme="dark"] .st-card__name { color: var(--se-ink); }
html[data-theme="dark"] .st-card__tagline { color: var(--se-body); }
html[data-theme="dark"] .st-card__price { color: var(--se-ink); }
html[data-theme="dark"] .st-card__difficulty,
html[data-theme="dark"] .st-card__dev { color: var(--se-muted); }
html[data-theme="dark"] .st-recommend { background: var(--se-blue-soft); border-color: var(--se-blue-line); }
html[data-theme="dark"] .st-recommend__header { color: var(--se-ink); }
html[data-theme="dark"] .st-recommend__desc { color: var(--se-body); }
html[data-theme="dark"] .st-recommend__lock-text { color: var(--se-body); }

/* ---------- ranking.html ---------- */
html[data-theme="dark"] .rk-page { background: var(--se-bg); color: var(--se-ink); }
html[data-theme="dark"] .rk-page h1 { color: var(--se-ink) !important; } /* h1はインラインstyleのため */
html[data-theme="dark"] .rk-tab {
  border-color: var(--se-line-strong);
  background: var(--se-surface);
  color: var(--se-body);
}
html[data-theme="dark"] .rk-tab:hover { border-color: #076bc9; color: #4da3f0; }
html[data-theme="dark"] .rk-tab.is-active { background: #076bc9; color: #fff; border-color: #076bc9; }
html[data-theme="dark"] .rk-sort label { color: var(--se-muted); }
html[data-theme="dark"] .rk-sort select {
  border-color: var(--se-line-strong);
  color: var(--se-body);
  background: var(--se-surface);
}
html[data-theme="dark"] .rk-sample {
  background: var(--se-amber-soft);
  border-color: var(--se-amber-line);
  color: var(--se-amber-ink);
}
html[data-theme="dark"] .rk-item { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .rk-item:hover { background: var(--se-surface); }
html[data-theme="dark"] .rk-rank--other { background: var(--se-surface-2); color: var(--se-body); }
html[data-theme="dark"] .rk-name { color: var(--se-ink); }
html[data-theme="dark"] .rk-tagline { color: var(--se-muted); }
html[data-theme="dark"] .rk-maker-company { color: var(--se-muted); }
html[data-theme="dark"] .rk-stats__val { color: var(--se-ink); }
html[data-theme="dark"] .rk-stats__label { color: var(--se-muted); }
html[data-theme="dark"] .rk-lock-overlay {
  background: linear-gradient(180deg, rgba(15, 21, 25, 0) 0%, rgba(23, 31, 36, 0.95) 20%);
}
html[data-theme="dark"] .rk-lock-overlay__text { color: var(--se-body); }

/* ---------- login.html ---------- */
html[data-theme="dark"] .login-page { background: var(--se-bg); }
html[data-theme="dark"] .login-card {
  background: var(--se-surface);
  border-color: var(--se-line);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}
html[data-theme="dark"] .login-card__logo span { color: var(--se-ink); }
html[data-theme="dark"] .login-card h1 { color: var(--se-ink); }
html[data-theme="dark"] .login-tabs { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .login-tab { color: var(--se-muted); }
html[data-theme="dark"] .login-tab.is-active { color: #4da3f0; border-bottom-color: #4da3f0; }
html[data-theme="dark"] .login-field label { color: var(--se-ink); }
html[data-theme="dark"] .login-field input {
  border-color: var(--se-line-strong);
  background: var(--se-surface-2);
  color: var(--se-ink);
}
html[data-theme="dark"] .login-field input:focus { border-color: #076bc9; background: var(--se-surface-2); }
html[data-theme="dark"] .login-demo-note {
  background: var(--se-blue-soft);
  border-color: var(--se-blue-line);
  color: #9cc4e8;
}
/* #login-status は showStatus() が el.style で色を直接設定する（JSインラインstyle）。
   el.style.background='#eefaf0' はstyle属性上 rgb(238, 250, 240) に正規化されるため、
   rgb表記とhex表記の両方でマッチさせて !important で暗色に置き換える。 */
html[data-theme="dark"] #login-status[style*="rgb(238, 250, 240)"],
html[data-theme="dark"] #login-status[style*="#eefaf0"] {
  background: #12261a !important;
  border-color: #2a5c3a !important;
  color: #85d69d !important;
}
html[data-theme="dark"] #login-status[style*="rgb(253, 240, 240)"],
html[data-theme="dark"] #login-status[style*="#fdf0f0"] {
  background: #2a1517 !important;
  border-color: #5c2c2c !important;
  color: #e89a9a !important;
}

/* ---------- premium.html ---------- */
html[data-theme="dark"] .pm-page { background: var(--se-bg); color: var(--se-ink); }
html[data-theme="dark"] .pm-hero h1 { color: var(--se-ink); }
html[data-theme="dark"] .pm-hero p { color: var(--se-body); }
html[data-theme="dark"] .pm-message {
  background: var(--se-blue-soft);
  border-color: var(--se-blue-line);
  color: #9cc4e8;
}
html[data-theme="dark"] .pm-feature { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .pm-feature__title { color: var(--se-ink); }
html[data-theme="dark"] .pm-feature__desc { color: var(--se-body); }
html[data-theme="dark"] .pm-pricing { background: var(--se-surface); border-color: var(--se-line); }
html[data-theme="dark"] .pm-pricing__price { color: #4da3f0; }
html[data-theme="dark"] .pm-pricing__price small,
html[data-theme="dark"] .pm-pricing__note { color: var(--se-muted); }
html[data-theme="dark"] .pm-trial { border-top-color: var(--se-line); }
html[data-theme="dark"] .pm-trial__link { color: var(--se-muted); }
html[data-theme="dark"] .pm-trial__active { color: #4da3f0; }

/* ---------- premium-features.html ---------- */
html[data-theme="dark"] .pf-page { background: var(--se-bg); color: var(--se-ink); }
html[data-theme="dark"] .pf-hero h1 { color: var(--se-ink); }
html[data-theme="dark"] .pf-hero p { color: var(--se-body); }
html[data-theme="dark"] .pf-section__title { color: var(--se-ink); }
html[data-theme="dark"] .pf-section__desc { color: var(--se-body); }
html[data-theme="dark"] .pf-compare__box--free { background: var(--se-surface); border-color: var(--se-line); }
html[data-theme="dark"] .pf-compare__box--premium { background: var(--se-blue-soft); border-color: var(--se-blue-line); }
html[data-theme="dark"] .pf-compare__label--free { color: var(--se-muted); }
html[data-theme="dark"] .pf-compare__label--premium { color: #4da3f0; }
html[data-theme="dark"] .pf-visual { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .pf-ranking-row { border-bottom-color: var(--se-line); }
html[data-theme="dark"] .pf-ranking-row__name { color: var(--se-ink); }
html[data-theme="dark"] .pf-ranking-row__likes { color: #4da3f0; }
html[data-theme="dark"] .pf-ranking-row__rank--normal { background: var(--se-surface-2); color: var(--se-body); }
html[data-theme="dark"] .pf-ranking-lock { color: var(--se-muted); }
html[data-theme="dark"] .pf-sort-mock__tab {
  border-color: var(--se-line-strong);
  background: var(--se-surface-2);
  color: var(--se-body);
}
html[data-theme="dark"] .pf-sort-mock__tab--active { background: #076bc9; color: #fff; border-color: #076bc9; }
html[data-theme="dark"] .pf-sort-mock__tab--locked { color: #5d6c73; }
html[data-theme="dark"] .pf-sort-item { color: var(--se-ink); }
html[data-theme="dark"] .pf-genre-pill { background: var(--se-blue-soft); color: #4da3f0; border-color: var(--se-blue-line); }
html[data-theme="dark"] .pf-genre-pill--active { background: #076bc9; color: #fff; }
html[data-theme="dark"] .pf-rec-card { border-color: var(--se-line); background: var(--se-surface-2); }
html[data-theme="dark"] .pf-rec-card__tag { color: #4da3f0; }
html[data-theme="dark"] .pf-rec-card__name { color: var(--se-ink); }
html[data-theme="dark"] .pf-rec-card__desc { color: var(--se-muted); }
html[data-theme="dark"] .pf-rec-card__match { color: #4da3f0; }
html[data-theme="dark"] .pf-cta { background: var(--se-blue-soft); border-color: var(--se-blue-line); }
html[data-theme="dark"] .pf-cta__price { color: #4da3f0; }
html[data-theme="dark"] .pf-cta__price small,
html[data-theme="dark"] .pf-cta__note { color: var(--se-muted); }

/* ---------- setup-support.html（ss-* は home-market.css内・変数ベース多め） ---------- */
html[data-theme="dark"] .ss-hero { background: linear-gradient(135deg, #101a24 0%, #0f1d28 50%, #161326 100%); }
html[data-theme="dark"] .ss-hero__eyebrow { color: #4da3f0; background: rgba(7, 107, 201, 0.22); }
html[data-theme="dark"] .ss-option-card { background: var(--se-surface); }
html[data-theme="dark"] .ss-option-card--highlight { border-color: #076bc9; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45); }
html[data-theme="dark"] .ss-price-box { background: var(--se-surface); }

/* ---------- item.html（--co-* 変数の再定義で一括ダーク化） ---------- */
html[data-theme="dark"] body.item-detail-page {
  --co-ink: var(--se-ink);
  --co-body: var(--se-body);
  --co-muted: var(--se-muted);
  --co-line: var(--se-line-strong);
  --co-line-soft: var(--se-line);
  --co-primary-soft: var(--se-teal-soft);
  --co-blue: #4da3f0;
  background: var(--se-bg);
}
html[data-theme="dark"] .co-root { background: var(--se-bg); }
html[data-theme="dark"] .co-badge-unverified { background: var(--se-surface-2); }
html[data-theme="dark"] .co-tabs { background: rgba(23, 31, 36, 0.98); }
html[data-theme="dark"] .co-tabs__like { background: var(--se-surface); }
html[data-theme="dark"] .co-hero__note { background: var(--se-surface); color: var(--se-muted); }
html[data-theme="dark"] .co-spec th { background: var(--se-surface-2); }
html[data-theme="dark"] .co-section > h2 { border-bottom-color: var(--se-line-strong); }
html[data-theme="dark"] .co-wip__bar { background: var(--se-surface-2); }
html[data-theme="dark"] .co-task {
  border-color: var(--se-amber-line);
  background: var(--se-amber-soft);
  color: var(--se-amber-ink);
}
html[data-theme="dark"] .co-prompt { background: var(--se-surface-2); }
html[data-theme="dark"] .co-pill { background: var(--se-surface); }
html[data-theme="dark"] .co-support-card { background: var(--se-surface); }
html[data-theme="dark"] .co-review { background: var(--se-surface); }
html[data-theme="dark"] .co-review-form { background: var(--se-surface); }
html[data-theme="dark"] .co-review-form .form-input,
html[data-theme="dark"] .co-review-form .form-textarea { background: var(--se-surface-2); }
html[data-theme="dark"] .co-price-box { background: var(--se-surface); }
html[data-theme="dark"] .co-btn--secondary { background: var(--se-surface); }
html[data-theme="dark"] .co-btn--ghost { background: var(--se-surface); }
html[data-theme="dark"] .co-btn:disabled { background: var(--se-surface-2); }
html[data-theme="dark"] .co-alert--warn {
  background: var(--se-amber-soft);
  border-color: var(--se-amber-line);
  color: var(--se-amber-ink);
}
html[data-theme="dark"] .co-alert--danger { background: #2a1416; border-color: #5c2429; color: #f1959d; }
html[data-theme="dark"] .co-trust { background: var(--se-surface); }
html[data-theme="dark"] .co-similar { background: var(--se-surface); }
html[data-theme="dark"] .co-similar-card { background: var(--se-surface-2); }
html[data-theme="dark"] .co-similar-card:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.55); }
html[data-theme="dark"] .co-modal-overlay { background: rgba(0, 0, 0, 0.68); }
html[data-theme="dark"] .co-modal { background: var(--se-surface); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6); }
html[data-theme="dark"] .co-modal__close:hover { background: var(--se-surface-2); }
html[data-theme="dark"] .co-modal .form-input,
html[data-theme="dark"] .co-modal .form-textarea { background: var(--se-surface-2); }
html[data-theme="dark"] .co-mobile-cta {
  border-top-color: var(--se-line);
  background: rgba(23, 31, 36, 0.98);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.55);
}
/* item.html モーダル内の固定色テキスト（インラインstyleのため） */
html[data-theme="dark"] #custom-result > div[style*="color:#202a2e"] { color: var(--se-ink) !important; }

/* ---------- maker.html（--mk-* 変数の再定義で一括ダーク化） ---------- */
html[data-theme="dark"] body.maker-profile-page {
  --mk-ink: var(--se-ink);
  --mk-body: var(--se-body);
  --mk-muted: var(--se-muted);
  --mk-line: var(--se-line-strong);
  --mk-primary-soft: var(--se-teal-soft);
  background: var(--se-bg);
}
html[data-theme="dark"] .mk-root { background: var(--se-bg); }
html[data-theme="dark"] .mk-tabs { border-bottom-color: var(--se-line); background: rgba(23, 31, 36, 0.98); }
html[data-theme="dark"] .mk-profile__avatar { border-color: var(--se-bg); }
html[data-theme="dark"] .mk-round-button { border-color: var(--se-line-strong); color: #aebbc0; background: var(--se-surface); }
html[data-theme="dark"] .mk-overflow__menu {
  background: var(--se-surface);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
html[data-theme="dark"] .mk-profile__trust i { color: var(--se-muted); }
html[data-theme="dark"] .mk-profile__stats { color: var(--se-body); }
html[data-theme="dark"] .mk-profile__condition span { color: var(--se-body); background: var(--se-surface-2); }
html[data-theme="dark"] .mk-button--secondary { background: var(--se-surface); }
html[data-theme="dark"] .mk-service-card { border-color: var(--se-line); background: var(--se-surface); }
html[data-theme="dark"] .mk-rating__sample { color: var(--se-body); background: var(--se-surface-2); }
html[data-theme="dark"] .mk-rating__count { color: var(--se-muted); }
html[data-theme="dark"] .mk-rating-summary small { color: var(--se-muted); }
html[data-theme="dark"] .mk-introduction__more { color: var(--se-muted); background: transparent; }
html[data-theme="dark"] .mk-mobile-cta {
  border-top-color: var(--se-line);
  background: rgba(23, 31, 36, 0.98);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.55);
}
@media (max-width: 767px) {
  html[data-theme="dark"] .mk-introduction__text::after {
    background: linear-gradient(rgba(15, 21, 25, 0), var(--se-bg));
  }
}
