/* game-kit 8cacc23: css/themes.css — edit in game-kit and run tools/kit-sync.js */
/* Mood themes of the standard (1.9). GENERATED by tools/make-theme.mjs from js/theme-presets.js - do not edit, change the preset and run it again.
   Use on top of a base theme:  <html data-theme="dark-industrial shrine-night">  (game.json "theme": "dark-industrial shrine-night"); kit.json cssExtra "themes".
   Every text / background pair meets WCAG AA (test/contrast.test.mjs checks these blocks too). */
/* 社の夜: 黒漆と朱、金の文字。神社・祭り・お札の怪談 */
[data-theme~="shrine-night"] {
  color-scheme: dark;
  --gf-bg: #0b0909;
  --gf-surface: #171212;
  --gf-surface-2: #231e1e;
  --gf-panel: rgba(23, 18, 18, 0.97);
  --gf-panel-soft: rgba(23, 18, 18, 0.9);
  --gf-text: #efe4d2;
  --gf-text-dim: #a39b8f;
  --gf-accent: #db543d;
  --gf-accent-ink: #141210;
  --gf-accent-2: #d9b25a;
  --gf-goal: #d9b25a;
  --gf-accent-soft: #3e1c17;
  --gf-highlight: #362c1e;
  --gf-heading: #db543d;
  --gf-accent-hover: #df6954;
  --gf-border: #562720;
  --gf-border-strong: #9b5245;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #362c1e;
  --gf-note-text: #efe4d2;
  --gf-note-label: #d9b25a;
  --gf-note-line: #d9b25a;
  --gf-hint-bg: #233126;
  --gf-hint-text: #efe4d2;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #3c201d;
  --gf-warn-text: #efe4d2;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #1f1a1a;
  --gf-quote-text: #efe4d2;
  --gf-quote-label: #a39b8f;
  --gf-quote-line: #a39b8f;
  --gf-voice-bg: #2b1916;
  --gf-voice-text: #efe4d2;
  --gf-voice-label: #de624d;
  --gf-voice-line: #db543d;
  --gf-chip-bg: #46221c;
  --gf-chip-text: #efe4d2;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #0f0c0c;
  --gf-code-text: #efe4d2;
  --gf-hud-bg: #171212;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.66;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #150d0c;
  --gf-mg-bg-2: #1f1514;
  --gf-mg-btn: #2f1a17;
  --gf-mg-line: #642920;
  --gf-mg-ink: #efe4d2;
  --gf-mg-accent: #de624d;
  --gf-mg-warn: #d9b25a;
  --gf-mg-dim: #a39b8f;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #3a1e1a;
  --gf-map-corridor: #2e251b;
  --gf-map-outdoor: #233126;
  --gf-map-stairs: #463823;
  --gf-map-door: #d9b25a;
  --gf-map-grid: #191615;
  --gf-map-grid-2: #262321;
  --gf-font: 'Zen Old Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --gf-radius: 4px;
  --gf-radius-lg: 6px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

/* 夏の田舎: 日に焼けた紙と空の青、稲の緑。帰省・田舎道 */
[data-theme~="summer-rural"] {
  color-scheme: light;
  --gf-bg: #dfe6dc;
  --gf-surface: #fbf8ee;
  --gf-surface-2: #eeece2;
  --gf-panel: rgba(251, 248, 238, 0.97);
  --gf-panel-soft: rgba(251, 248, 238, 0.9);
  --gf-text: #25302a;
  --gf-text-dim: #636862;
  --gf-accent: #2f6f9a;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #c27a1a;
  --gf-goal: #9b6215;
  --gf-accent-soft: #e3e8e4;
  --gf-highlight: #f3e6d0;
  --gf-heading: #2f6f9a;
  --gf-accent-hover: #296288;
  --gf-border: #cedadc;
  --gf-border-strong: #7292a5;
  --gf-scrim: rgba(67, 69, 66, 0.3);
  --gf-danger: #b3261e;
  --gf-ok: #3f7a3a;
  --gf-overlay: rgba(45, 46, 44, 0.5);
  --gf-overlay-strong: rgba(45, 46, 44, 0.72);
  --gf-note-bg: #f4e9d5;
  --gf-note-text: #25302a;
  --gf-note-label: #8c5813;
  --gf-note-line: #b27018;
  --gf-hint-bg: #e4e9d8;
  --gf-hint-text: #25302a;
  --gf-hint-label: #3a7035;
  --gf-hint-line: #3f7a3a;
  --gf-warn-bg: #f2dfd5;
  --gf-warn-text: #25302a;
  --gf-warn-label: #b3261e;
  --gf-warn-line: #b3261e;
  --gf-quote-bg: #efece3;
  --gf-quote-text: #25302a;
  --gf-quote-label: #636862;
  --gf-quote-line: #636862;
  --gf-voice-bg: #ebede7;
  --gf-voice-text: #25302a;
  --gf-voice-label: #2f6f9a;
  --gf-voice-line: #2f6f9a;
  --gf-chip-bg: #dae2e1;
  --gf-chip-text: #25302a;
  --gf-badge-bg: #b3261e;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #e9e7dd;
  --gf-code-text: #25302a;
  --gf-hud-bg: #fbf8ee;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.62;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #f8f0e1;
  --gf-mg-bg-2: #fbf8ee;
  --gf-mg-btn: #f3e6d0;
  --gf-mg-line: #a8bcc5;
  --gf-mg-ink: #25302a;
  --gf-mg-accent: #2d6b94;
  --gf-mg-warn: #8c5813;
  --gf-mg-dim: #636862;
  --gf-mg-bad: #b3261e;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1e7040;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #d6dfdf;
  --gf-map-corridor: #f4e9d5;
  --gf-map-outdoor: #dde4d1;
  --gf-map-stairs: #eddabb;
  --gf-map-door: #ab6b17;
  --gf-map-grid: #d4dbd1;
  --gf-map-grid-2: #c9d0c7;
  --gf-font: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  --gf-radius: 12px;
  --gf-radius-lg: 19px;
  --gf-shadow: 0 8px 30px rgba(56, 58, 55, 0.28);
}

/* 夜の病棟: 青白い蛍光灯と消毒の緑。病院・研究所 */
[data-theme~="hospital-cold"] {
  color-scheme: light;
  --gf-bg: #d5dee2;
  --gf-surface: #f4f8f9;
  --gf-surface-2: #e8eced;
  --gf-panel: rgba(244, 248, 249, 0.97);
  --gf-panel-soft: rgba(244, 248, 249, 0.9);
  --gf-text: #1d2a30;
  --gf-text-dim: #60696d;
  --gf-accent: #28757b;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #8a6a1a;
  --gf-goal: #8a6a1a;
  --gf-accent-soft: #dce9ea;
  --gf-highlight: #e5e4da;
  --gf-heading: #2a7a80;
  --gf-accent-hover: #23676c;
  --gf-border: #c7dbdd;
  --gf-border-strong: #668e91;
  --gf-scrim: rgba(64, 67, 68, 0.3);
  --gf-danger: #b02020;
  --gf-ok: #2e7a4a;
  --gf-overlay: rgba(43, 44, 45, 0.5);
  --gf-overlay-strong: rgba(43, 44, 45, 0.72);
  --gf-note-bg: #e7e7de;
  --gf-note-text: #1d2a30;
  --gf-note-label: #7f6218;
  --gf-note-line: #8a6a1a;
  --gf-hint-bg: #dce9e4;
  --gf-hint-text: #1d2a30;
  --gf-hint-label: #2a7044;
  --gf-hint-line: #2e7a4a;
  --gf-warn-bg: #ecdedf;
  --gf-warn-text: #1d2a30;
  --gf-warn-label: #b02020;
  --gf-warn-line: #b02020;
  --gf-quote-bg: #e8edee;
  --gf-quote-text: #1d2a30;
  --gf-quote-label: #60696d;
  --gf-quote-line: #60696d;
  --gf-voice-bg: #e4eeef;
  --gf-voice-text: #1d2a30;
  --gf-voice-label: #267076;
  --gf-voice-line: #28757b;
  --gf-chip-bg: #d3e3e5;
  --gf-chip-text: #1d2a30;
  --gf-badge-bg: #b02020;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #e3e7e8;
  --gf-code-text: #1d2a30;
  --gf-hud-bg: #f4f8f9;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.6;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #eeefec;
  --gf-mg-bg-2: #f4f8f9;
  --gf-mg-btn: #e5e4da;
  --gf-mg-line: #9fbebf;
  --gf-mg-ink: #1d2a30;
  --gf-mg-accent: #256c71;
  --gf-mg-warn: #795d17;
  --gf-mg-dim: #5c6569;
  --gf-mg-bad: #b02020;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1e7040;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #cfe0e2;
  --gf-map-corridor: #e7e7de;
  --gf-map-outdoor: #d4e4dd;
  --gf-map-stairs: #dbd6c3;
  --gf-map-door: #8a6a1a;
  --gf-map-grid: #cad3d7;
  --gf-map-grid-2: #bfc8cd;
  --gf-font: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --gf-radius: 6px;
  --gf-radius-lg: 10px;
  --gf-shadow: 0 8px 30px rgba(53, 56, 57, 0.28);
}

/* 夕方の校舎: 夕焼けの橙と黒板の緑。学校・放課後 */
[data-theme~="school-dusk"] {
  color-scheme: dark;
  --gf-bg: #140f0c;
  --gf-surface: #211915;
  --gf-surface-2: #2c2521;
  --gf-panel: rgba(33, 25, 21, 0.97);
  --gf-panel-soft: rgba(33, 25, 21, 0.9);
  --gf-text: #f2e6da;
  --gf-text-dim: #a99e95;
  --gf-accent: #e8843a;
  --gf-accent-ink: #141210;
  --gf-accent-2: #8fc59a;
  --gf-goal: #8fc59a;
  --gf-accent-soft: #492e1c;
  --gf-highlight: #33352a;
  --gf-heading: #e8843a;
  --gf-accent-hover: #eb9352;
  --gf-border: #613b21;
  --gf-border-strong: #98592b;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #33352a;
  --gf-note-text: #f2e6da;
  --gf-note-label: #8fc59a;
  --gf-note-line: #8fc59a;
  --gf-hint-bg: #2b3729;
  --gf-hint-text: #f2e6da;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #452620;
  --gf-warn-text: #f2e6da;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #29211d;
  --gf-quote-text: #f2e6da;
  --gf-quote-label: #a99e95;
  --gf-quote-line: #a99e95;
  --gf-voice-bg: #352419;
  --gf-voice-text: #f2e6da;
  --gf-voice-label: #e8843a;
  --gf-voice-line: #e8843a;
  --gf-chip-bg: #51331e;
  --gf-chip-text: #f2e6da;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #15100e;
  --gf-code-text: #f2e6da;
  --gf-hud-bg: #211915;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.68;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #1f150e;
  --gf-mg-bg-2: #291d16;
  --gf-mg-btn: #392619;
  --gf-mg-line: #6f4120;
  --gf-mg-ink: #f2e6da;
  --gf-mg-accent: #e8843a;
  --gf-mg-warn: #8fc59a;
  --gf-mg-dim: #a99e95;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #452c1c;
  --gf-map-corridor: #2e2e25;
  --gf-map-outdoor: #2b3729;
  --gf-map-stairs: #3b4235;
  --gf-map-door: #8fc59a;
  --gf-map-grid: #211c18;
  --gf-map-grid-2: #2f2925;
  --gf-font: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  --gf-radius: 8px;
  --gf-radius-lg: 13px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

/* 古いビデオ: 黒にマゼンタとシアン、等幅の字と走査線。テープ・映像の怪談 */
[data-theme~="vhs-tape"] {
  color-scheme: dark;
  --gf-bg: #07060c;
  --gf-surface: #110f1a;
  --gf-surface-2: #1d1b25;
  --gf-panel: rgba(17, 15, 26, 0.97);
  --gf-panel-soft: rgba(17, 15, 26, 0.9);
  --gf-text: #e8e6ff;
  --gf-text-dim: #9d9baf;
  --gf-accent: #ff4fb4;
  --gf-accent-ink: #141210;
  --gf-accent-2: #4fe0ff;
  --gf-goal: #4fe0ff;
  --gf-accent-soft: #411c39;
  --gf-highlight: #1b303f;
  --gf-heading: #ff4fb4;
  --gf-accent-hover: #ff64bd;
  --gf-border: #5d234b;
  --gf-border-strong: #a43d7b;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #1b303f;
  --gf-note-text: #e8e6ff;
  --gf-note-label: #4fe0ff;
  --gf-note-line: #4fe0ff;
  --gf-hint-bg: #1d2f2d;
  --gf-hint-text: #e8e6ff;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #371e24;
  --gf-warn-text: #e8e6ff;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #191723;
  --gf-quote-text: #e8e6ff;
  --gf-quote-label: #9d9baf;
  --gf-quote-line: #9d9baf;
  --gf-voice-bg: #291529;
  --gf-voice-text: #e8e6ff;
  --gf-voice-label: #ff4fb4;
  --gf-voice-line: #ff4fb4;
  --gf-chip-bg: #4a1e3f;
  --gf-chip-text: #e8e6ff;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #0b0a11;
  --gf-code-text: #e8e6ff;
  --gf-hud-bg: #110f1a;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.64;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #130a14;
  --gf-mg-bg-2: #1b1220;
  --gf-mg-btn: #2e172c;
  --gf-mg-line: #712654;
  --gf-mg-ink: #e8e6ff;
  --gf-mg-accent: #ff4fb4;
  --gf-mg-warn: #4fe0ff;
  --gf-mg-dim: #9d9baf;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #3c1b36;
  --gf-map-corridor: #182835;
  --gf-map-outdoor: #1d2f2d;
  --gf-map-stairs: #204151;
  --gf-map-door: #4fe0ff;
  --gf-map-grid: #15131b;
  --gf-map-grid-2: #222129;
  --gf-font: ui-monospace, 'Cascadia Mono', 'SFMono-Regular', Consolas, 'Noto Sans Mono CJK JP', monospace;
  --gf-radius: 2px;
  --gf-radius-lg: 3px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
  --gf-scanlines: 0.14;
}

/* 雪の夜: 青みの灰と白。山小屋・雪に閉ざされた村 */
[data-theme~="snow-silence"] {
  color-scheme: light;
  --gf-bg: #d8dee6;
  --gf-surface: #f7f9fb;
  --gf-surface-2: #ebedee;
  --gf-panel: rgba(247, 249, 251, 0.97);
  --gf-panel-soft: rgba(247, 249, 251, 0.9);
  --gf-text: #1f2633;
  --gf-text-dim: #62676f;
  --gf-accent: #3a5a8a;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #8a5a2a;
  --gf-goal: #8a5a2a;
  --gf-accent-soft: #e0e6ed;
  --gf-highlight: #e8e3de;
  --gf-heading: #3a5a8a;
  --gf-accent-hover: #334f79;
  --gf-border: #cdd6e2;
  --gf-border-strong: #7b8ea8;
  --gf-scrim: rgba(65, 67, 69, 0.3);
  --gf-danger: #b3261e;
  --gf-ok: #2e7a4a;
  --gf-overlay: rgba(43, 44, 46, 0.5);
  --gf-overlay-strong: rgba(43, 44, 46, 0.72);
  --gf-note-bg: #eae6e2;
  --gf-note-text: #1f2633;
  --gf-note-label: #8a5a2a;
  --gf-note-line: #8a5a2a;
  --gf-hint-bg: #dfeae6;
  --gf-hint-text: #1f2633;
  --gf-hint-label: #2a7044;
  --gf-hint-line: #2e7a4a;
  --gf-warn-bg: #efe0e0;
  --gf-warn-text: #1f2633;
  --gf-warn-label: #b3261e;
  --gf-warn-line: #b3261e;
  --gf-quote-bg: #ebedf0;
  --gf-quote-text: #1f2633;
  --gf-quote-label: #62676f;
  --gf-quote-line: #62676f;
  --gf-voice-bg: #e8ecf2;
  --gf-voice-text: #1f2633;
  --gf-voice-label: #3a5a8a;
  --gf-voice-line: #3a5a8a;
  --gf-chip-bg: #d9e0e9;
  --gf-chip-text: #1f2633;
  --gf-badge-bg: #b3261e;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #e6e8e9;
  --gf-code-text: #1f2633;
  --gf-hud-bg: #f7f9fb;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.6;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #f0efee;
  --gf-mg-bg-2: #f7f9fb;
  --gf-mg-btn: #e8e3de;
  --gf-mg-line: #a7b3c6;
  --gf-mg-ink: #1f2633;
  --gf-mg-accent: #3a5a8a;
  --gf-mg-warn: #8a5a2a;
  --gf-mg-dim: #5e636b;
  --gf-mg-bad: #b3261e;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1e7040;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #d5dce7;
  --gf-map-corridor: #eae6e2;
  --gf-map-outdoor: #d7e5df;
  --gf-map-stairs: #ddd3c9;
  --gf-map-door: #8a5a2a;
  --gf-map-grid: #cdd3db;
  --gf-map-grid-2: #c2c8d1;
  --gf-font: 'Zen Old Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --gf-radius: 10px;
  --gf-radius-lg: 16px;
  --gf-shadow: 0 8px 30px rgba(54, 56, 58, 0.28);
}

/* 水底: 紺と青緑。海・ダム・井戸・水の怪異 */
[data-theme~="deep-water"] {
  color-scheme: dark;
  --gf-bg: #050c12;
  --gf-surface: #0c1822;
  --gf-surface-2: #18242d;
  --gf-panel: rgba(12, 24, 34, 0.97);
  --gf-panel-soft: rgba(12, 24, 34, 0.9);
  --gf-text: #d6ecf2;
  --gf-text-dim: #8fa2a9;
  --gf-accent: #3ec2c8;
  --gf-accent-ink: #141210;
  --gf-accent-2: #e0c070;
  --gf-goal: #e0c070;
  --gf-accent-soft: #163a43;
  --gf-highlight: #2e332e;
  --gf-heading: #3ec2c8;
  --gf-accent-hover: #55c9cf;
  --gf-border: #1c4e57;
  --gf-border-strong: #2a7e86;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #2e332e;
  --gf-note-text: #d6ecf2;
  --gf-note-label: #e0c070;
  --gf-note-line: #e0c070;
  --gf-hint-bg: #193634;
  --gf-hint-text: #d6ecf2;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #33252b;
  --gf-warn-text: #d6ecf2;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #14202a;
  --gf-quote-text: #d6ecf2;
  --gf-quote-label: #8fa2a9;
  --gf-quote-line: #8fa2a9;
  --gf-voice-bg: #112933;
  --gf-voice-text: #d6ecf2;
  --gf-voice-label: #3ec2c8;
  --gf-voice-line: #3ec2c8;
  --gf-chip-bg: #18414a;
  --gf-chip-text: #d6ecf2;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #081016;
  --gf-code-text: #d6ecf2;
  --gf-hud-bg: #0c1822;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.66;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #08151b;
  --gf-mg-bg-2: #0e1f29;
  --gf-mg-btn: #122c36;
  --gf-mg-line: #1e5a60;
  --gf-mg-ink: #d6ecf2;
  --gf-mg-accent: #3ec2c8;
  --gf-mg-warn: #e0c070;
  --gf-mg-dim: #8fa2a9;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #153740;
  --gf-map-corridor: #252c2b;
  --gf-map-outdoor: #193634;
  --gf-map-stairs: #3f4035;
  --gf-map-door: #e0c070;
  --gf-map-grid: #12191f;
  --gf-map-grid-2: #1e272d;
  --gf-font: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --gf-radius: 8px;
  --gf-radius-lg: 13px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

/* 和紙と血: 生成りの和紙と深い赤、墨。旧家・因習・呪い */
[data-theme~="blood-washi"] {
  color-scheme: light;
  --gf-bg: #e7dfcf;
  --gf-surface: #fbf6ea;
  --gf-surface-2: #eeeade;
  --gf-panel: rgba(251, 246, 234, 0.97);
  --gf-panel-soft: rgba(251, 246, 234, 0.9);
  --gf-text: #2a201a;
  --gf-text-dim: #6e675f;
  --gf-accent: #9a1a1a;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #6a4a1a;
  --gf-goal: #6a4a1a;
  --gf-accent-soft: #efdcd1;
  --gf-highlight: #e7decd;
  --gf-heading: #9a1a1a;
  --gf-accent-hover: #881717;
  --gf-border: #e6c6bc;
  --gf-border-strong: #c1726d;
  --gf-scrim: rgba(69, 67, 62, 0.3);
  --gf-danger: #b3261e;
  --gf-ok: #2e7a4a;
  --gf-overlay: rgba(46, 45, 41, 0.5);
  --gf-overlay-strong: rgba(46, 45, 41, 0.72);
  --gf-note-bg: #eae1d1;
  --gf-note-text: #2a201a;
  --gf-note-label: #6a4a1a;
  --gf-note-line: #6a4a1a;
  --gf-hint-bg: #e2e7d7;
  --gf-hint-text: #2a201a;
  --gf-hint-label: #2a7044;
  --gf-hint-line: #2e7a4a;
  --gf-warn-bg: #f2ddd2;
  --gf-warn-text: #2a201a;
  --gf-warn-label: #b3261e;
  --gf-warn-line: #b3261e;
  --gf-quote-bg: #f0ebdf;
  --gf-quote-text: #2a201a;
  --gf-quote-label: #6e675f;
  --gf-quote-line: #6e675f;
  --gf-voice-bg: #f3e4d9;
  --gf-voice-text: #2a201a;
  --gf-voice-label: #9a1a1a;
  --gf-voice-line: #9a1a1a;
  --gf-chip-bg: #ebd3c9;
  --gf-chip-text: #2a201a;
  --gf-badge-bg: #b3261e;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #e9e5da;
  --gf-code-text: #2a201a;
  --gf-hud-bg: #fbf6ea;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.6;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #f2ecde;
  --gf-mg-bg-2: #fbf6ea;
  --gf-mg-btn: #e7decd;
  --gf-mg-line: #cf9890;
  --gf-mg-ink: #2a201a;
  --gf-mg-accent: #9a1a1a;
  --gf-mg-warn: #6a4a1a;
  --gf-mg-dim: #655f57;
  --gf-mg-bad: #b3261e;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1d6c3d;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #eacec5;
  --gf-map-corridor: #eae1d1;
  --gf-map-outdoor: #dae2d0;
  --gf-map-stairs: #d8cdb8;
  --gf-map-door: #6a4a1a;
  --gf-map-grid: #dcd4c4;
  --gf-map-grid-2: #d0c8b9;
  --gf-font: 'Zen Old Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --gf-radius: 4px;
  --gf-radius-lg: 6px;
  --gf-shadow: 0 8px 30px rgba(58, 56, 52, 0.28);
}

/* 深夜のオフィス: 灰緑の蛍光灯と事務の青。会社・倉庫・夜勤 */
[data-theme~="office-night"] {
  color-scheme: light;
  --gf-bg: #d9ddd6;
  --gf-surface: #f6f7f2;
  --gf-surface-2: #eaebe6;
  --gf-panel: rgba(246, 247, 242, 0.97);
  --gf-panel-soft: rgba(246, 247, 242, 0.9);
  --gf-text: #22261f;
  --gf-text-dim: #636661;
  --gf-accent: #2a5aa0;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #8a6a00;
  --gf-goal: #846600;
  --gf-accent-soft: #dee4e8;
  --gf-highlight: #e7e3d0;
  --gf-heading: #2a5aa0;
  --gf-accent-hover: #254f8d;
  --gf-border: #c9d4e0;
  --gf-border-strong: #728db2;
  --gf-scrim: rgba(65, 66, 64, 0.3);
  --gf-danger: #b3261e;
  --gf-ok: #2e7a4a;
  --gf-overlay: rgba(43, 44, 43, 0.5);
  --gf-overlay-strong: rgba(43, 44, 43, 0.72);
  --gf-note-bg: #e9e6d5;
  --gf-note-text: #22261f;
  --gf-note-label: #795d00;
  --gf-note-line: #8a6a00;
  --gf-hint-bg: #dee8de;
  --gf-hint-text: #22261f;
  --gf-hint-label: #2a7044;
  --gf-hint-line: #2e7a4a;
  --gf-warn-bg: #eeded9;
  --gf-warn-text: #22261f;
  --gf-warn-label: #b3261e;
  --gf-warn-line: #b3261e;
  --gf-quote-bg: #eaebe6;
  --gf-quote-text: #22261f;
  --gf-quote-label: #636661;
  --gf-quote-line: #636661;
  --gf-voice-bg: #e6eaeb;
  --gf-voice-text: #22261f;
  --gf-voice-label: #2a5aa0;
  --gf-voice-line: #2a5aa0;
  --gf-chip-bg: #d5dee5;
  --gf-chip-text: #22261f;
  --gf-badge-bg: #b3261e;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #e5e6e1;
  --gf-code-text: #22261f;
  --gf-hud-bg: #f6f7f2;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.6;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #f0efe3;
  --gf-mg-bg-2: #f6f7f2;
  --gf-mg-btn: #e7e3d0;
  --gf-mg-line: #a1b3c8;
  --gf-mg-ink: #22261f;
  --gf-mg-accent: #2a5aa0;
  --gf-mg-warn: #795d00;
  --gf-mg-dim: #5f625d;
  --gf-mg-bad: #b3261e;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1e7040;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #d1dbe3;
  --gf-map-corridor: #e9e6d5;
  --gf-map-outdoor: #d6e3d7;
  --gf-map-stairs: #dcd5b8;
  --gf-map-door: #8a6a00;
  --gf-map-grid: #ced2cb;
  --gf-map-grid-2: #c3c7c0;
  --gf-font: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --gf-radius: 4px;
  --gf-radius-lg: 6px;
  --gf-shadow: 0 8px 30px rgba(54, 55, 54, 0.28);
}

/* 蝋燭の間: 琥珀と焦げ茶。蔵・仏間・灯りのない家 */
[data-theme~="candle-room"] {
  color-scheme: dark;
  --gf-bg: #0e0a06;
  --gf-surface: #1b140d;
  --gf-surface-2: #262019;
  --gf-panel: rgba(27, 20, 13, 0.97);
  --gf-panel-soft: rgba(27, 20, 13, 0.9);
  --gf-text: #f4e2c4;
  --gf-text-dim: #a89a84;
  --gf-accent: #e8a040;
  --gf-accent-ink: #141210;
  --gf-accent-2: #c86a3a;
  --gf-goal: #c86a3a;
  --gf-accent-soft: #443017;
  --gf-highlight: #372214;
  --gf-heading: #e8a040;
  --gf-accent-hover: #ebab57;
  --gf-border: #5d411d;
  --gf-border-strong: #96682c;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #372214;
  --gf-note-text: #f4e2c4;
  --gf-note-label: #cf7c52;
  --gf-note-line: #c86a3a;
  --gf-hint-bg: #263322;
  --gf-hint-text: #f4e2c4;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #3f2219;
  --gf-warn-text: #f4e2c4;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #231c14;
  --gf-quote-text: #f4e2c4;
  --gf-quote-label: #a89a84;
  --gf-quote-line: #a89a84;
  --gf-voice-bg: #302212;
  --gf-voice-text: #f4e2c4;
  --gf-voice-label: #e8a040;
  --gf-voice-line: #e8a040;
  --gf-chip-bg: #4c3619;
  --gf-chip-text: #f4e2c4;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #120d08;
  --gf-code-text: #f4e2c4;
  --gf-hud-bg: #1b140d;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.66;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #191209;
  --gf-mg-bg-2: #231a0f;
  --gf-mg-btn: #342513;
  --gf-mg-line: #6c4b1f;
  --gf-mg-ink: #f4e2c4;
  --gf-mg-accent: #e8a040;
  --gf-mg-warn: #cf7c52;
  --gf-mg-dim: #a89a84;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #402d16;
  --gf-map-corridor: #301e12;
  --gf-map-outdoor: #263322;
  --gf-map-stairs: #452918;
  --gf-map-door: #c86a3a;
  --gf-map-grid: #1c1711;
  --gf-map-grid-2: #2a241d;
  --gf-font: 'Zen Old Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --gf-radius: 6px;
  --gf-radius-lg: 10px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

/* 霧の森: 苔の緑と霧の灰。山・森・廃村 */
[data-theme~="fog-forest"] {
  color-scheme: dark;
  --gf-bg: #0b0f0c;
  --gf-surface: #141b16;
  --gf-surface-2: #202622;
  --gf-panel: rgba(20, 27, 22, 0.97);
  --gf-panel-soft: rgba(20, 27, 22, 0.9);
  --gf-text: #e0e8de;
  --gf-text-dim: #99a098;
  --gf-accent: #8ac27a;
  --gf-accent-ink: #141210;
  --gf-accent-2: #d8c890;
  --gf-goal: #d8c890;
  --gf-accent-soft: #2c3c2a;
  --gf-highlight: #33372a;
  --gf-heading: #8ac27a;
  --gf-accent-hover: #98c98a;
  --gf-border: #3a5036;
  --gf-border-strong: #5b7f52;
  --gf-scrim: rgba(0, 0, 0, 0.5);
  --gf-danger: #ff6a58;
  --gf-ok: #5fd690;
  --gf-overlay: rgba(0, 0, 0, 0.7);
  --gf-overlay-strong: rgba(0, 0, 0, 0.85);
  --gf-note-bg: #33372a;
  --gf-note-text: #e0e8de;
  --gf-note-label: #d8c890;
  --gf-note-line: #d8c890;
  --gf-hint-bg: #20392a;
  --gf-hint-text: #e0e8de;
  --gf-hint-label: #5fd690;
  --gf-hint-line: #5fd690;
  --gf-warn-bg: #3a2821;
  --gf-warn-text: #e0e8de;
  --gf-warn-label: #ff6a58;
  --gf-warn-line: #ff6a58;
  --gf-quote-bg: #1c231e;
  --gf-quote-text: #e0e8de;
  --gf-quote-label: #99a098;
  --gf-quote-line: #99a098;
  --gf-voice-bg: #202c20;
  --gf-voice-text: #e0e8de;
  --gf-voice-label: #8ac27a;
  --gf-voice-line: #8ac27a;
  --gf-chip-bg: #30432e;
  --gf-chip-text: #e0e8de;
  --gf-badge-bg: #ff6a58;
  --gf-badge-text: #1a0603;
  --gf-code-bg: #0d120e;
  --gf-code-text: #e0e8de;
  --gf-hud-bg: #141b16;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.68;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #111812;
  --gf-mg-bg-2: #19221a;
  --gf-mg-btn: #222f22;
  --gf-mg-line: #415c3c;
  --gf-mg-ink: #e0e8de;
  --gf-mg-accent: #8ac27a;
  --gf-mg-warn: #d8c890;
  --gf-mg-dim: #99a098;
  --gf-mg-bad: #ff6a58;
  --gf-mg-c1: #ff6b5a;
  --gf-mg-c2: #6db3ff;
  --gf-mg-c3: #f0d24a;
  --gf-mg-c4: #4fd283;
  --gf-mg-c5: #c996f2;
  --gf-map-room: #293928;
  --gf-map-corridor: #2c3025;
  --gf-map-outdoor: #20392a;
  --gf-map-stairs: #434533;
  --gf-map-door: #d8c890;
  --gf-map-grid: #181c19;
  --gf-map-grid-2: #252925;
  --gf-font: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --gf-radius: 10px;
  --gf-radius-lg: 16px;
  --gf-shadow: 0 10px 40px rgba(0, 0, 0, 0.7);
}

/* 鉛筆の日記: 罫線の紙と鉛筆の灰、赤ペン。日記・手紙・記録 */
[data-theme~="pencil-diary"] {
  color-scheme: light;
  --gf-bg: #e4e2da;
  --gf-surface: #fdfcf6;
  --gf-surface-2: #f0efea;
  --gf-panel: rgba(253, 252, 246, 0.97);
  --gf-panel-soft: rgba(253, 252, 246, 0.9);
  --gf-text: #2b2b2b;
  --gf-text-dim: #6c6b69;
  --gf-accent: #4a5a6a;
  --gf-accent-ink: #ffffff;
  --gf-accent-2: #b3261e;
  --gf-goal: #b3261e;
  --gf-accent-soft: #e8e9e5;
  --gf-highlight: #f3ded8;
  --gf-heading: #4a5a6a;
  --gf-accent-hover: #414f5d;
  --gf-border: #d6d8d7;
  --gf-border-strong: #868f95;
  --gf-scrim: rgba(68, 68, 65, 0.3);
  --gf-danger: #b3261e;
  --gf-ok: #2e7a4a;
  --gf-overlay: rgba(46, 45, 44, 0.5);
  --gf-overlay-strong: rgba(46, 45, 44, 0.72);
  --gf-note-bg: #f4e2dc;
  --gf-note-text: #2b2b2b;
  --gf-note-label: #b3261e;
  --gf-note-line: #b3261e;
  --gf-hint-bg: #e4ece1;
  --gf-hint-text: #2b2b2b;
  --gf-hint-label: #2c7547;
  --gf-hint-line: #2e7a4a;
  --gf-warn-bg: #f4e2dc;
  --gf-warn-text: #2b2b2b;
  --gf-warn-label: #b3261e;
  --gf-warn-line: #b3261e;
  --gf-quote-bg: #f1f0eb;
  --gf-quote-text: #2b2b2b;
  --gf-quote-label: #6c6b69;
  --gf-quote-line: #6c6b69;
  --gf-voice-bg: #efefeb;
  --gf-voice-text: #2b2b2b;
  --gf-voice-label: #4a5a6a;
  --gf-voice-line: #4a5a6a;
  --gf-chip-bg: #e0e2e0;
  --gf-chip-text: #2b2b2b;
  --gf-badge-bg: #b3261e;
  --gf-badge-text: #ffffff;
  --gf-code-bg: #ebeae5;
  --gf-code-text: #2b2b2b;
  --gf-hud-bg: #fdfcf6;
  --gf-hud-alpha: 0.72;
  --gf-hud-btn-alpha: 0.6;
  --gf-hud-alpha-active: 0.92;
  --gf-mg-bg: #f9efe9;
  --gf-mg-bg-2: #fdfcf6;
  --gf-mg-btn: #f3ded8;
  --gf-mg-line: #b3b3b6;
  --gf-mg-ink: #2b2b2b;
  --gf-mg-accent: #4a5a6a;
  --gf-mg-warn: #b3261e;
  --gf-mg-dim: #636261;
  --gf-mg-bad: #b3261e;
  --gf-mg-c1: #b3261e;
  --gf-mg-c2: #1d5aa8;
  --gf-mg-c3: #7a5a00;
  --gf-mg-c4: #1e7040;
  --gf-mg-c5: #7a359f;
  --gf-map-room: #dddfdd;
  --gf-map-corridor: #f4e2dc;
  --gf-map-outdoor: #dce7da;
  --gf-map-stairs: #ebc9c2;
  --gf-map-door: #b3261e;
  --gf-map-grid: #d9d7d0;
  --gf-map-grid-2: #ceccc5;
  --gf-font: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  --gf-radius: 8px;
  --gf-radius-lg: 13px;
  --gf-shadow: 0 8px 30px rgba(57, 57, 55, 0.28);
}
