/* ============================================================
   theme.css — 表示設定（テーマ 自動/ライト/ダーク ＋ 文字サイズ）
   ライト基調（白＋ブルー）。ダークは深いネイビーに反転。
   ============================================================ */

/* ---------- 文字サイズ ---------- */
html{font-size:17px}
html[data-fontsize="small"]{font-size:15px}
html[data-fontsize="medium"]{font-size:17px}
html[data-fontsize="large"]{font-size:19px}

body,.site-header,.service-card,.strength-card,.stat,.section-light,.section-tint,.faq-item,
.section-title,.service-title,.stat-num,.news-title,.about-body,.service-desc,.llm-card{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease;
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ============================================================
   ダークモード [data-theme-resolved="dark"]（深いネイビー基調）
   ============================================================ */
:root[data-theme-resolved="dark"]{
  --paper:#13202e;
  --tint:#0f1b27;
  --tint-2:#13202e;
  --blue-soft:#16314a;
  --blue-soft-2:#13202e;
  --green-soft:#13302a;
  --ink:#eaf2fa;
  --body:#b8c8d8;
  --muted:#8499ab;
  --line:rgba(255,255,255,.10);
  --border:rgba(255,255,255,.10);
  --off-white:#0f1b27;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.45);
  --shadow-md:0 18px 50px rgba(0,0,0,.55);
}
:root[data-theme-resolved="dark"] body{background:#0c1622;color:var(--body)}
:root[data-theme-resolved="dark"] .site-header{background:rgba(12,22,34,.74)}
:root[data-theme-resolved="dark"] .site-header.scrolled{background:rgba(12,22,34,.95);box-shadow:0 4px 24px rgba(0,0,0,.4)}
:root[data-theme-resolved="dark"] .header-nav a{color:var(--ink)}
:root[data-theme-resolved="dark"] .logo-name{color:#fff}
:root[data-theme-resolved="dark"] .hero-bg{
  background:radial-gradient(1200px 680px at 88% -6%,rgba(47,155,232,.16),transparent 58%),
             radial-gradient(820px 520px at -6% 110%,rgba(22,163,124,.10),transparent 60%),
             linear-gradient(180deg,#0f1b27,#0c1622 64%)}
:root[data-theme-resolved="dark"] .hero-tags span{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#cfe4f6}
:root[data-theme-resolved="dark"] .faq-hero,
:root[data-theme-resolved="dark"] .static-page-header{
  background:radial-gradient(900px 440px at 82% -18%,rgba(47,155,232,.14),transparent 58%),linear-gradient(180deg,#0f1b27,#0c1622);
  border-bottom-color:rgba(255,255,255,.08)}
:root[data-theme-resolved="dark"] .section-contact{background:linear-gradient(180deg,#0f1b27,#13202e)}
:root[data-theme-resolved="dark"] .marquee-wrap{background:#0f1b27;border-color:rgba(255,255,255,.08)}
:root[data-theme-resolved="dark"] .news-item a:hover{background:rgba(255,255,255,.04)}

/* ============================================================
   表示設定ウィジェット（FAB ＋ パネル）  ※左下固定
   ============================================================ */
.disp-prefs{position:fixed;left:24px;bottom:24px;z-index:1200;font-family:var(--font-sans)}
.disp-prefs-toggle{width:48px;height:48px;border-radius:9px;background:var(--ink,#14324a);color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md,0 8px 26px rgba(22,49,74,.10));border:1px solid rgba(255,255,255,.14);
  transition:transform .25s ease,background .25s ease}
.disp-prefs-toggle:hover{transform:translateY(-2px);background:var(--blue,#0a6ec2)}
.disp-prefs-toggle svg{width:22px;height:22px}
:root[data-theme-resolved="dark"] .disp-prefs-toggle{background:#16314a;border-color:rgba(255,255,255,.16)}
.disp-prefs-panel{position:absolute;left:0;bottom:58px;width:248px;padding:18px;background:#fff;color:#16273a;
  border:1px solid var(--line,#e3ecf4);border-radius:12px;box-shadow:var(--shadow-md,0 8px 26px rgba(22,49,74,.12));
  opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:bottom left;
  transition:opacity .2s ease,transform .2s ease,visibility .2s}
.disp-prefs.open .disp-prefs-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
:root[data-theme-resolved="dark"] .disp-prefs-panel{background:#13202e;color:#e6eef7;border-color:rgba(255,255,255,.12)}
.disp-prefs-title{font-family:var(--font-data);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue,#0a6ec2);margin-bottom:14px}
.disp-prefs-group{margin-bottom:16px}
.disp-prefs-group:last-child{margin-bottom:0}
.disp-prefs-label{font-size:.78rem;font-weight:600;margin-bottom:8px;opacity:.7}
.disp-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#eef3f8;border-radius:8px;padding:4px}
:root[data-theme-resolved="dark"] .disp-seg{background:rgba(255,255,255,.06)}
.disp-seg button{font-size:.8rem;font-weight:600;padding:7px 4px;border-radius:6px;color:inherit;line-height:1.2;transition:background .2s ease,color .2s ease}
.disp-seg button[aria-pressed="true"]{background:var(--blue,#0a6ec2);color:#fff}
@media (max-width:600px){.disp-prefs{left:16px;bottom:16px}.disp-prefs-panel{width:220px}}

section[id],.anchor-spacer{scroll-margin-top:94px}
.anchor-spacer{display:block;height:0}
