/* 生成物 (theme_css.py)。編集は static/css/theme_src/{dark,light}/global.css で行い、python3 theme_css.py で組み立てる。
   ダーク = <html> に data-theme が無い / dark、ライト = data-theme="light" (以前の白いデザイン)。 */

/* ===== ダーク ===== */
:root:where(:not([data-theme="light"])) {
  /* 2026-10-11 黒基調 (CapCut 風)。トークンは reader / studio / bun-cho.work と共通 (--bc-*) */
  --g-bg: #0b0b0d; --g-surface: #141417; --g-surface-2: #1c1c21; --g-surface-3: #26262c;
  --g-ink: #f4f4f6; --g-ink-2: #a9a9b4; --g-ink-3: #8b8b96;
  --g-line: #2c2c33; --g-line-strong: #3a3a43; --g-accent: #22d3ee; --g-accent-strong: #67e8f9; --g-accent-ink: #031418;
  --g-accent-soft: rgba(34, 211, 238, .12);
  --g-up: #34d399; --g-down: #fb7185; --g-radius: 14px;
  color-scheme: dark;
}
:where(html:not([data-theme="light"])) * { box-sizing: border-box; }
html:where(:not([data-theme="light"])) { -webkit-text-size-adjust: 100%; }
:where(html:not([data-theme="light"])) body.g { margin: 0; background: var(--g-bg); color: var(--g-ink); line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: hidden;
  font-family: "Inter", "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
:where(html:not([data-theme="light"])) body.g--zh-hant { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
:where(html:not([data-theme="light"])) .g a { color: var(--g-accent); }
:where(html:not([data-theme="light"])) .g a:hover { color: var(--g-accent-strong); }
:where(html:not([data-theme="light"])) .g a:focus-visible, :where(html:not([data-theme="light"])) .g summary:focus-visible { outline: 2px solid var(--g-accent); outline-offset: 2px; border-radius: 4px; }
:where(html:not([data-theme="light"])) .g-skip { position: absolute; left: -999px; top: 0; background: var(--g-surface); padding: .5rem 1rem; z-index: 10; }
:where(html:not([data-theme="light"])) .g-skip:focus { left: 8px; top: 8px; }
:where(html:not([data-theme="light"])) .g-wrap { max-width: 960px; margin: 0 auto; padding: 0 16px; }
:where(html:not([data-theme="light"])) .g-top { background: rgba(11, 11, 13, .88); border-bottom: 1px solid var(--g-line); position: sticky; top: 0; z-index: 5; -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); }
:where(html:not([data-theme="light"])) .g-top__in { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; padding-top: .5rem; padding-bottom: .5rem; min-height: 56px; }
:where(html:not([data-theme="light"])) .g-brand { font-weight: 800; font-size: 1.1rem; color: var(--g-ink) !important; text-decoration: none; margin-right: auto; }
:where(html:not([data-theme="light"])) .g-brand::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: .5rem; border-radius: 3px; background: var(--g-accent); vertical-align: .06em; }
:where(html:not([data-theme="light"])) .g-brand__by { font-weight: 500; font-size: .8rem; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-nav { display: flex; flex-wrap: wrap; gap: .2rem; font-size: .9rem; }
:where(html:not([data-theme="light"])) .g-nav a { text-decoration: none; color: var(--g-ink-2); padding: .55rem .8rem; border-radius: 999px; min-height: 44px; display: inline-flex; align-items: center; }
:where(html:not([data-theme="light"])) .g-nav a:hover { color: var(--g-ink); background: var(--g-surface-2); }
:where(html:not([data-theme="light"])) .g-nav a[aria-current] { color: var(--g-ink); font-weight: 700; background: var(--g-surface-2); }
:where(html:not([data-theme="light"])) .g-main { padding: 18px 0 56px; }
:where(html:not([data-theme="light"])) .g-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0 .4rem; padding: 0; margin: 0 0 .6rem; font-size: .8rem; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-crumbs li + li::before { content: "›"; margin-right: .4rem; }
:where(html:not([data-theme="light"])) .g-hero { padding: .6rem 0 1rem; }
:where(html:not([data-theme="light"])) .g-eyebrow { display: inline-block; margin: 0; font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--g-accent-strong); background: var(--g-accent-soft); border-radius: 999px; padding: .15rem .7rem; }
:where(html:not([data-theme="light"])) .g-h1 { font-size: clamp(1.6rem, 5.5vw, 2.4rem); line-height: 1.25; margin: .6rem 0 .5rem; }
:where(html:not([data-theme="light"])) .g-h2 { font-size: 1.35rem; line-height: 1.35; margin: 0 0 .7rem; }
:where(html:not([data-theme="light"])) .g-h3 { font-size: 1.02rem; margin: 1.1rem 0 .4rem; }
:where(html:not([data-theme="light"])) .g-lede { font-size: 1.05rem; color: var(--g-ink-2); max-width: 44em; margin: 0; }
:where(html:not([data-theme="light"])) .g-note { font-size: .88rem; color: var(--g-ink-2); background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 10px; padding: .6rem .8rem; max-width: 44em; }
:where(html:not([data-theme="light"])) .g-muted { color: var(--g-ink-3); font-size: .86rem; }
:where(html:not([data-theme="light"])) .g-updated { color: var(--g-ink-3); font-size: .9rem; margin: 0 0 .4rem; }
:where(html:not([data-theme="light"])) .g-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
:where(html:not([data-theme="light"])) .g-btn { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem 1.2rem; border-radius: 10px; border: 1px solid var(--g-line-strong); text-decoration: none; font-weight: 700; color: var(--g-ink) !important; background: var(--g-surface-2); transition: background-color .15s, border-color .15s; }
:where(html:not([data-theme="light"])) .g-btn:hover { border-color: var(--g-accent); }
:where(html:not([data-theme="light"])) .g-btn--primary { background: var(--g-accent); border-color: var(--g-accent); color: var(--g-accent-ink) !important; }
:where(html:not([data-theme="light"])) .g-btn--primary:hover { background: var(--g-accent-strong); border-color: var(--g-accent-strong); }
@media (prefers-reduced-motion: reduce) { :where(html:not([data-theme="light"])) .g-btn { transition: none; }}
:where(html:not([data-theme="light"])) .g-sec { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--g-radius); padding: 1.2rem 1.1rem; margin: 1rem 0; }
:where(html:not([data-theme="light"])) .g-sec > :last-child { margin-bottom: 0; }
:where(html:not([data-theme="light"])) .g-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8rem; }
:where(html:not([data-theme="light"])) .g-card { background: var(--g-surface-2); border: 1px solid var(--g-line); border-radius: 12px; padding: .9rem 1rem; }
:where(html:not([data-theme="light"])) .g-card .g-h3 { margin-top: 0; }
:where(html:not([data-theme="light"])) .g-card p { margin: .3rem 0; }
:where(html:not([data-theme="light"])) .g-list { padding-left: 1.2rem; }
:where(html:not([data-theme="light"])) .g-list li { margin: .25rem 0; }
:where(html:not([data-theme="light"])) .g-steps { padding-left: 1.3rem; }
:where(html:not([data-theme="light"])) .g-steps .g-h3 { margin-top: .9rem; }
:where(html:not([data-theme="light"])) .g-steps p { margin: .2rem 0; }
:where(html:not([data-theme="light"])) .g-shot { margin: 1rem 0 0; }
:where(html:not([data-theme="light"])) .g-shot img { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--g-line); }
:where(html:not([data-theme="light"])) .g-shot figcaption { font-size: .82rem; color: var(--g-ink-3); margin-top: .3rem; }
:where(html:not([data-theme="light"])) .g-faq div { border-top: 1px solid var(--g-line); padding: .7rem 0; }
:where(html:not([data-theme="light"])) .g-faq dt { font-weight: 700; }
:where(html:not([data-theme="light"])) .g-faq dd { margin: .25rem 0 0; color: var(--g-ink-2); }
:where(html:not([data-theme="light"])) .g-table-wrap { overflow-x: auto; }
:where(html:not([data-theme="light"])) .g-table { border-collapse: collapse; width: 100%; font-size: .9rem; }
:where(html:not([data-theme="light"])) .g-table th, :where(html:not([data-theme="light"])) .g-table td { border-bottom: 1px solid var(--g-line); padding: .5rem .45rem; text-align: left; vertical-align: top; }
:where(html:not([data-theme="light"])) .g-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; margin: .8rem 0; }
:where(html:not([data-theme="light"])) .g-plan { background: var(--g-surface-2); border: 1px solid var(--g-line); border-radius: 12px; padding: .9rem 1rem; }
:where(html:not([data-theme="light"])) .g-plan.is-pick { border: 2px solid var(--g-accent); }
:where(html:not([data-theme="light"])) .g-plan .g-h3 { margin-top: 0; }
:where(html:not([data-theme="light"])) .g-plan__pick { margin: 0 0 .3rem; font-size: .76rem; font-weight: 700; color: var(--g-accent-strong); }
:where(html:not([data-theme="light"])) .g-plan__price { font-size: 1.6rem; font-weight: 800; margin: .2rem 0 0; }
:where(html:not([data-theme="light"])) .g-plan__price small { font-size: .85rem; font-weight: 500; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-plan__jpy { font-size: .8rem; color: var(--g-ink-3); margin: 0 0 .4rem; }
:where(html:not([data-theme="light"])) .g-plan ul { padding-left: 1.1rem; margin: 0; font-size: .9rem; }
:where(html:not([data-theme="light"])) .g-ja { font-weight: 400; font-size: .85em; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-summary { background: var(--g-accent-soft); border-radius: 10px; padding: .7rem .9rem; margin: 0 0 .6rem; }
:where(html:not([data-theme="light"])) .g-summary p { margin: .2rem 0; }
:where(html:not([data-theme="light"])) .g-summary__label { font-size: .78rem; font-weight: 700; color: var(--g-accent-strong); }
:where(html:not([data-theme="light"])) .g-failed { color: var(--g-ink-2); }
:where(html:not([data-theme="light"])) .g-bars { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
:where(html:not([data-theme="light"])) .g-bars li { display: grid; grid-template-columns: minmax(8em, 13em) 1fr auto; align-items: center; gap: .6rem; font-size: .9rem; }
:where(html:not([data-theme="light"])) .g-bars__track { background: var(--g-surface-3); border-radius: 999px; height: .55rem; overflow: hidden; }
:where(html:not([data-theme="light"])) .g-bars__fill { display: block; height: 100%; background: var(--g-accent); border-radius: 999px; }
:where(html:not([data-theme="light"])) .g-bars__num { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 520px) { :where(html:not([data-theme="light"])) .g-bars li { grid-template-columns: 1fr auto; } :where(html:not([data-theme="light"])) .g-bars__track { grid-column: 1 / -1; grid-row: 2; }}
:where(html:not([data-theme="light"])) .g-delta { font-size: .8rem; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-delta.is-up { color: var(--g-up); }
:where(html:not([data-theme="light"])) .g-delta.is-down { color: var(--g-down); }
:where(html:not([data-theme="light"])) .g-2col { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.2rem; }
:where(html:not([data-theme="light"])) .g-words { padding-left: 1.3rem; margin: 0; }
:where(html:not([data-theme="light"])) .g-words li { margin: .2rem 0; }
:where(html:not([data-theme="light"])) .g-words__n, :where(html:not([data-theme="light"])) .g-gloss { color: var(--g-ink-3); font-size: .86rem; }
:where(html:not([data-theme="light"])) .g-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
:where(html:not([data-theme="light"])) .g-chips li { background: var(--g-surface-2); border: 1px solid var(--g-line); border-radius: 999px; padding: .15rem .65rem; font-size: .85rem; }
:where(html:not([data-theme="light"])) .g-chips li span:last-child { margin-left: .35rem; color: var(--g-ink-3); font-variant-numeric: tabular-nums; }
:where(html:not([data-theme="light"])) .g-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .5rem; margin: .4rem 0; }
:where(html:not([data-theme="light"])) .g-stats div { border: 1px solid var(--g-line); border-radius: 10px; padding: .5rem .7rem; }
:where(html:not([data-theme="light"])) .g-stats dt { font-size: .8rem; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-stats dd { margin: 0; font-weight: 700; font-size: 1.05rem; }
:where(html:not([data-theme="light"])) .g-stats small { font-weight: 400; color: var(--g-ink-3); font-size: .78rem; }
:where(html:not([data-theme="light"])) .g-works { padding-left: 1.6rem; margin: 0; }
:where(html:not([data-theme="light"])) .g-works li { margin: .3rem 0; }
:where(html:not([data-theme="light"])) .g-works__meta { color: var(--g-ink-3); font-size: .82rem; }
:where(html:not([data-theme="light"])) .g-weeklinks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .9rem; }
:where(html:not([data-theme="light"])) .g-weeks { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .6rem; }
:where(html:not([data-theme="light"])) .g-weeks a { display: block; padding: .8rem 1rem; background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 12px; text-decoration: none; }
:where(html:not([data-theme="light"])) .g-weeks a:hover { border-color: var(--g-line-strong); }
:where(html:not([data-theme="light"])) .g-weeks strong { display: block; color: var(--g-ink); }
:where(html:not([data-theme="light"])) .g-weeks span { display: block; font-size: .86rem; color: var(--g-ink-2); }
:where(html:not([data-theme="light"])) .g-foot { border-top: 1px solid var(--g-line); background: var(--g-bg); padding: 1.2rem 0 2rem; font-size: .86rem; color: var(--g-ink-3); }
:where(html:not([data-theme="light"])) .g-lang { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; }
:where(html:not([data-theme="light"])) .g-lang ul { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .9rem; padding: 0; margin: 0; }
:where(html:not([data-theme="light"])) .g-lang a[aria-current] { color: var(--g-ink); font-weight: 700; text-decoration: none; }
:where(html:not([data-theme="light"])) .g-foot__links, :where(html:not([data-theme="light"])) .g-foot__co { margin: .6rem 0 0; }

/* ===== ライト (以前の白いデザイン) ===== */
:root:where([data-theme="light"]) {
  --g-bg: #f6f7f9; --g-surface: #fff; --g-ink: #1d2430; --g-ink-2: #4a5462; --g-ink-3: #6b7583;
  --g-line: #e3e7ec; --g-accent: #157e97; --g-accent-strong: #0f6478; --g-accent-soft: #e6f5f9;
  --g-up: #0f7a3e; --g-down: #b3261e; --g-radius: 14px;
}
:where(html[data-theme="light"]) * { box-sizing: border-box; }
html:where([data-theme="light"]) { -webkit-text-size-adjust: 100%; }
:where(html[data-theme="light"]) body.g { margin: 0; background: var(--g-bg); color: var(--g-ink); line-height: 1.7;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
:where(html[data-theme="light"]) body.g--zh-hant { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
:where(html[data-theme="light"]) .g a { color: var(--g-accent); }
:where(html[data-theme="light"]) .g a:hover { color: var(--g-accent-strong); }
:where(html[data-theme="light"]) .g-skip { position: absolute; left: -999px; top: 0; background: var(--g-surface); padding: .5rem 1rem; z-index: 10; }
:where(html[data-theme="light"]) .g-skip:focus { left: 8px; top: 8px; }
:where(html[data-theme="light"]) .g-wrap { max-width: 960px; margin: 0 auto; padding: 0 16px; }
:where(html[data-theme="light"]) .g-top { background: var(--g-surface); border-bottom: 1px solid var(--g-line); }
:where(html[data-theme="light"]) .g-top__in { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; padding-top: .7rem; padding-bottom: .7rem; }
:where(html[data-theme="light"]) .g-brand { font-weight: 800; font-size: 1.15rem; color: var(--g-ink) !important; text-decoration: none; margin-right: auto; }
:where(html[data-theme="light"]) .g-brand__by { font-weight: 500; font-size: .8rem; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-nav { display: flex; flex-wrap: wrap; gap: .2rem 1rem; font-size: .92rem; }
:where(html[data-theme="light"]) .g-nav a { text-decoration: none; color: var(--g-ink-2); }
:where(html[data-theme="light"]) .g-nav a[aria-current] { color: var(--g-ink); font-weight: 700; }
:where(html[data-theme="light"]) .g-main { padding: 18px 0 56px; }
:where(html[data-theme="light"]) .g-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0 .4rem; padding: 0; margin: 0 0 .6rem; font-size: .8rem; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-crumbs li + li::before { content: "›"; margin-right: .4rem; }
:where(html[data-theme="light"]) .g-hero { padding: .6rem 0 1rem; }
:where(html[data-theme="light"]) .g-eyebrow { display: inline-block; margin: 0; font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--g-accent-strong); background: var(--g-accent-soft); border-radius: 999px; padding: .15rem .7rem; }
:where(html[data-theme="light"]) .g-h1 { font-size: clamp(1.6rem, 5.5vw, 2.4rem); line-height: 1.25; margin: .6rem 0 .5rem; }
:where(html[data-theme="light"]) .g-h2 { font-size: 1.35rem; line-height: 1.35; margin: 0 0 .7rem; }
:where(html[data-theme="light"]) .g-h3 { font-size: 1.02rem; margin: 1.1rem 0 .4rem; }
:where(html[data-theme="light"]) .g-lede { font-size: 1.05rem; color: var(--g-ink-2); max-width: 44em; margin: 0; }
:where(html[data-theme="light"]) .g-note { font-size: .88rem; color: var(--g-ink-2); background: var(--g-surface); border: 1px solid var(--g-line); border-radius: 10px; padding: .6rem .8rem; max-width: 44em; }
:where(html[data-theme="light"]) .g-muted { color: var(--g-ink-3); font-size: .86rem; }
:where(html[data-theme="light"]) .g-updated { color: var(--g-ink-3); font-size: .9rem; margin: 0 0 .4rem; }
:where(html[data-theme="light"]) .g-ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
:where(html[data-theme="light"]) .g-btn { display: inline-block; padding: .65rem 1.1rem; border-radius: 999px; border: 1px solid var(--g-accent); text-decoration: none; font-weight: 700; color: var(--g-accent) !important; background: transparent; }
:where(html[data-theme="light"]) .g-btn--primary { background: var(--g-accent); color: #fff !important; }
:where(html[data-theme="light"]) .g-sec { background: var(--g-surface); border: 1px solid var(--g-line); border-radius: var(--g-radius); padding: 1.2rem 1.1rem; margin: 1rem 0; }
:where(html[data-theme="light"]) .g-sec > :last-child { margin-bottom: 0; }
:where(html[data-theme="light"]) .g-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8rem; }
:where(html[data-theme="light"]) .g-card { border: 1px solid var(--g-line); border-radius: 12px; padding: .9rem 1rem; }
:where(html[data-theme="light"]) .g-card .g-h3 { margin-top: 0; }
:where(html[data-theme="light"]) .g-card p { margin: .3rem 0; }
:where(html[data-theme="light"]) .g-list { padding-left: 1.2rem; }
:where(html[data-theme="light"]) .g-list li { margin: .25rem 0; }
:where(html[data-theme="light"]) .g-steps { padding-left: 1.3rem; }
:where(html[data-theme="light"]) .g-steps .g-h3 { margin-top: .9rem; }
:where(html[data-theme="light"]) .g-steps p { margin: .2rem 0; }
:where(html[data-theme="light"]) .g-shot { margin: 1rem 0 0; }
:where(html[data-theme="light"]) .g-shot img { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--g-line); }
:where(html[data-theme="light"]) .g-shot figcaption { font-size: .82rem; color: var(--g-ink-3); margin-top: .3rem; }
:where(html[data-theme="light"]) .g-faq div { border-top: 1px solid var(--g-line); padding: .7rem 0; }
:where(html[data-theme="light"]) .g-faq dt { font-weight: 700; }
:where(html[data-theme="light"]) .g-faq dd { margin: .25rem 0 0; color: var(--g-ink-2); }
:where(html[data-theme="light"]) .g-table-wrap { overflow-x: auto; }
:where(html[data-theme="light"]) .g-table { border-collapse: collapse; width: 100%; font-size: .9rem; }
:where(html[data-theme="light"]) .g-table th, :where(html[data-theme="light"]) .g-table td { border-bottom: 1px solid var(--g-line); padding: .5rem .45rem; text-align: left; vertical-align: top; }
:where(html[data-theme="light"]) .g-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; margin: .8rem 0; }
:where(html[data-theme="light"]) .g-plan { border: 1px solid var(--g-line); border-radius: 12px; padding: .9rem 1rem; }
:where(html[data-theme="light"]) .g-plan.is-pick { border: 2px solid var(--g-accent); }
:where(html[data-theme="light"]) .g-plan .g-h3 { margin-top: 0; }
:where(html[data-theme="light"]) .g-plan__pick { margin: 0 0 .3rem; font-size: .76rem; font-weight: 700; color: var(--g-accent-strong); }
:where(html[data-theme="light"]) .g-plan__price { font-size: 1.6rem; font-weight: 800; margin: .2rem 0 0; }
:where(html[data-theme="light"]) .g-plan__price small { font-size: .85rem; font-weight: 500; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-plan__jpy { font-size: .8rem; color: var(--g-ink-3); margin: 0 0 .4rem; }
:where(html[data-theme="light"]) .g-plan ul { padding-left: 1.1rem; margin: 0; font-size: .9rem; }
:where(html[data-theme="light"]) .g-ja { font-weight: 400; font-size: .85em; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-summary { background: var(--g-accent-soft); border-radius: 10px; padding: .7rem .9rem; margin: 0 0 .6rem; }
:where(html[data-theme="light"]) .g-summary p { margin: .2rem 0; }
:where(html[data-theme="light"]) .g-summary__label { font-size: .78rem; font-weight: 700; color: var(--g-accent-strong); }
:where(html[data-theme="light"]) .g-failed { color: var(--g-ink-2); }
:where(html[data-theme="light"]) .g-bars { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
:where(html[data-theme="light"]) .g-bars li { display: grid; grid-template-columns: minmax(8em, 13em) 1fr auto; align-items: center; gap: .6rem; font-size: .9rem; }
:where(html[data-theme="light"]) .g-bars__track { background: var(--g-line); border-radius: 999px; height: .55rem; overflow: hidden; }
:where(html[data-theme="light"]) .g-bars__fill { display: block; height: 100%; background: var(--g-accent); border-radius: 999px; }
:where(html[data-theme="light"]) .g-bars__num { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 520px) { :where(html[data-theme="light"]) .g-bars li { grid-template-columns: 1fr auto; } :where(html[data-theme="light"]) .g-bars__track { grid-column: 1 / -1; grid-row: 2; }}
:where(html[data-theme="light"]) .g-delta { font-size: .8rem; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-delta.is-up { color: var(--g-up); }
:where(html[data-theme="light"]) .g-delta.is-down { color: var(--g-down); }
:where(html[data-theme="light"]) .g-2col { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.2rem; }
:where(html[data-theme="light"]) .g-words { padding-left: 1.3rem; margin: 0; }
:where(html[data-theme="light"]) .g-words li { margin: .2rem 0; }
:where(html[data-theme="light"]) .g-words__n, :where(html[data-theme="light"]) .g-gloss { color: var(--g-ink-3); font-size: .86rem; }
:where(html[data-theme="light"]) .g-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
:where(html[data-theme="light"]) .g-chips li { border: 1px solid var(--g-line); border-radius: 999px; padding: .15rem .65rem; font-size: .85rem; }
:where(html[data-theme="light"]) .g-chips li span:last-child { margin-left: .35rem; color: var(--g-ink-3); font-variant-numeric: tabular-nums; }
:where(html[data-theme="light"]) .g-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .5rem; margin: .4rem 0; }
:where(html[data-theme="light"]) .g-stats div { border: 1px solid var(--g-line); border-radius: 10px; padding: .5rem .7rem; }
:where(html[data-theme="light"]) .g-stats dt { font-size: .8rem; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-stats dd { margin: 0; font-weight: 700; font-size: 1.05rem; }
:where(html[data-theme="light"]) .g-stats small { font-weight: 400; color: var(--g-ink-3); font-size: .78rem; }
:where(html[data-theme="light"]) .g-works { padding-left: 1.6rem; margin: 0; }
:where(html[data-theme="light"]) .g-works li { margin: .3rem 0; }
:where(html[data-theme="light"]) .g-works__meta { color: var(--g-ink-3); font-size: .82rem; }
:where(html[data-theme="light"]) .g-weeklinks { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .9rem; }
:where(html[data-theme="light"]) .g-weeks { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .6rem; }
:where(html[data-theme="light"]) .g-weeks a { display: block; padding: .8rem 1rem; border: 1px solid var(--g-line); border-radius: 12px; text-decoration: none; }
:where(html[data-theme="light"]) .g-weeks strong { display: block; color: var(--g-ink); }
:where(html[data-theme="light"]) .g-weeks span { display: block; font-size: .86rem; color: var(--g-ink-2); }
:where(html[data-theme="light"]) .g-foot { border-top: 1px solid var(--g-line); background: var(--g-surface); padding: 1.2rem 0 2rem; font-size: .86rem; color: var(--g-ink-3); }
:where(html[data-theme="light"]) .g-lang { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; }
:where(html[data-theme="light"]) .g-lang ul { list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .9rem; padding: 0; margin: 0; }
:where(html[data-theme="light"]) .g-lang a[aria-current] { color: var(--g-ink); font-weight: 700; text-decoration: none; }
:where(html[data-theme="light"]) .g-foot__links, :where(html[data-theme="light"]) .g-foot__co { margin: .6rem 0 0; }

:root:where([data-theme="light"]) { --g-accent: #137489; --g-accent-strong: #0f6478; --g-ink-3: #5f6977; }

/* ===== 両テーマ共通 ===== */
/* テーマの切り替えボタン (templates/global/base.html のヘッダー)。色は --g-* (テーマごとの値) から */
.g-theme {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; border: 1px solid var(--g-line); border-radius: 999px;
  background: transparent; color: var(--g-ink-2); cursor: pointer; flex: 0 0 auto;
}
.g-theme:hover { color: var(--g-ink); border-color: var(--g-ink-3); }
.g-theme:focus-visible { outline: 2px solid var(--g-accent); outline-offset: 2px; }
.g-theme svg { width: 18px; height: 18px; display: block; }
html.bc-theme-anim:not(.b26-scan), html.bc-theme-anim:not(.b26-scan) *, html.bc-theme-anim:not(.b26-scan) *::before, html.bc-theme-anim:not(.b26-scan) *::after {
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease !important;
}
@media (prefers-reduced-motion: reduce) {
  html.bc-theme-anim, html.bc-theme-anim * { transition: none !important; }
}
/* 置き場所: 広い画面ではナビの右端、スマホではロゴの行の右端 (ナビは次の行) */
.g-top__in > .g-theme { order: 3; }
@media (max-width: 640px) {
  .g-top__in > .g-brand { order: 1; }
  .g-top__in > .g-theme { order: 2; }
  .g-top__in > .g-nav { order: 3; flex-basis: 100%; }
}
