/* SINH TỰ ĐỘNG bởi backend/tools/build_themes.py từ backend/core/themes.py + themes/src/samurai.css — KHÔNG sửa tay */
:root[data-theme="samurai"],
[data-theme-preview="samurai"] {
  --ink: #1c1a17;
  --text: #2e2a25;
  --muted: #5d5549;
  --faint: #978c78;
  --bg: #f7f1e3;
  --bg-side: #efe6d2;
  --bg-soft: #ebe1cb;
  --line: #d6c8ab;
  --placeholder: #e5dac2;
  --accent: #a8261d;
  --accent-hover: #861d16;
  --accent-soft: #f1dccf;
  --callout: #f1e6cf;
  --cover: #1c1a17;
  --cover-accent: #c7372c;
  --on-accent: #fbf7ee;
  --green: #3a6537;
  --green-bg: #e1e9d5;
  --green-tag: #dbe5cd;
  --amber: #80520f;
  --amber-bg: #f0e0c0;
  --sand-bg: #eee0c3;
  --blue: #2a4a7b;
  --blue-bg: #dce3ed;
  --blue-tag: #d3dcea;
  --violet: #58397a;
  --violet-bg: #e5dcec;
  --red: #982820;
  --red-bg: #f2dbd2;
  --reading: #2a4a7b;
  --stage: #f3ebd9;
  --reader-select: #ead9b6;
  --r-sm: 2px;
  --r: 2px;
  --r-md: 3px;
  --r-lg: 4px;
  --font-display: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

:root[data-theme="samurai"] .cover:not([data-theme-preview] *),
[data-theme-preview="samurai"] .cover { background: #eee3ca url(/static/img/themes/samurai/cover.svg?v=20261001) center / cover no-repeat; }
:root[data-theme="samurai"] .cover svg:not([data-theme-preview] *),
[data-theme-preview="samurai"] .cover svg { display: none; }
:root[data-theme="samurai"] .page-title:not([data-theme-preview] *),
[data-theme-preview="samurai"] .page-title,
:root[data-theme="samurai"] .section-title:not([data-theme-preview] *),
[data-theme-preview="samurai"] .section-title,
:root[data-theme="samurai"] .chat-head-name:not([data-theme-preview] *),
[data-theme-preview="samurai"] .chat-head-name,
:root[data-theme="samurai"] h1:not([data-theme-preview] *),
[data-theme-preview="samurai"] h1,
:root[data-theme="samurai"] h2:not([data-theme-preview] *),
[data-theme-preview="samurai"] h2 { font-family: var(--font-display); letter-spacing: 0.02em; }
:root[data-theme="samurai"] .page-title:not([data-theme-preview] *)::after,
[data-theme-preview="samurai"] .page-title::after {
  content: ""; display: block; width: 132px; height: 9px; margin-top: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 9'%3E%3Cpath d='M2 6 C 30 2, 70 3, 130 4' fill='none' stroke='%23a8261d' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat; }
:root[data-theme="samurai"] .page-icon:not([data-theme-preview] *),
[data-theme-preview="samurai"] .page-icon { background: var(--accent); color: var(--on-accent); box-shadow: inset 0 0 0 3px var(--accent), inset 0 0 0 4.5px var(--on-accent); }
:root[data-theme="samurai"] .page-icon .icon:not([data-theme-preview] *),
[data-theme-preview="samurai"] .page-icon .icon { color: var(--on-accent); }
:root[data-theme="samurai"] .btn-primary:not([data-theme-preview] *),
[data-theme-preview="samurai"] .btn-primary { letter-spacing: 0.06em; }
:root[data-theme="samurai"] .card:not([data-theme-preview] *),
[data-theme-preview="samurai"] .card,
:root[data-theme="samurai"] .callout:not([data-theme-preview] *),
[data-theme-preview="samurai"] .callout { box-shadow: 3px 3px 0 var(--line); }
:root[data-theme="samurai"] .rd-body:not([data-theme-preview] *),
[data-theme-preview="samurai"] .rd-body { background: var(--bg-soft); }
