:root {
  color-scheme: light;
  --page-bg: #fff;
  --text: #222;
  --muted: #666;
  --link: #075da8;
  --button-bg: #e5e8ea;
  --button-hover: #d3d9dd;
  --button-border: #b3bbc1;
  --button-text: #293038;
  --category-bg: #edf3f8;
  --category-hover: #dce9f3;
  --category-border: #aab9c5;
  --error-text: #a52222;
  --error-bg: #fff0ed;
  --error-border: #e2aaa2;
  --table-border: #aaa;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --page-bg: #171a1e;
  --text: #e5e8eb;
  --muted: #adb5bd;
  --link: #91c9ff;
  --button-bg: #64717d;
  --button-hover: #74838f;
  --button-border: #8897a3;
  --button-text: #fff;
  --category-bg: #293642;
  --category-hover: #354756;
  --category-border: #627483;
  --error-text: #ffaaa2;
  --error-bg: #402b2b;
  --error-border: #93605c;
  --table-border: #69727a;
}

body { font: 18px/1.6 system-ui,sans-serif; color: var(--text); background: var(--page-bg); max-width: 960px; margin: 40px auto; padding: 0 24px; }
a { color: var(--link); }
.page-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
.page-layout.has-editor { grid-template-columns: 180px minmax(0,1fr); }
.page-layout > article { min-width: 0; }
.column-left { padding-top: 8px; }
.editor-row { display: grid; grid-template-columns: 52px 28px minmax(0,1fr); align-items: center; gap: 6px; margin-bottom: 8px; font-size: 14px; }
.editor-row .edit-button { font-size: 12px; padding: 2px 6px; }
.editor-value { overflow-wrap: anywhere; }
h1 { line-height: 1.2; margin-bottom: 12px; }
.date { color: var(--muted); margin-bottom: 24px; }
img, iframe { max-width: 100%; }
.error_msg { display: inline-block; color: var(--error-text); background: var(--error-bg); border: 1px solid var(--error-border); padding: 4px 8px; }
:root[data-theme="dark"] .draft-notice { color: var(--error-text) !important; }
.more { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 88px; padding: 8px 18px; border: 1px solid var(--button-border); border-radius: 6px; background: var(--button-bg); color: var(--button-text); font: 16px/1 system-ui,sans-serif; text-decoration: none; box-sizing: border-box; }
.more:hover { background: var(--button-hover); }
.header-categories, .category-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.header-categories .more, .category-links .category-button { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 8px 14px; }
.header-categories .home-button, .category-links .home-button { width: 44px; height: 44px; min-width: 44px; padding: 0; flex: 0 0 44px; }
.home-button svg { display: block; flex-shrink: 0; }
.category-links { margin: 0 0 24px; }
.category-button { display: inline-block; padding: 4px 12px; border: 1px solid var(--category-border); border-radius: 4px; background: var(--category-bg); color: var(--link); font: 14px/1.5 system-ui,sans-serif; text-decoration: none; }
.category-button:hover { background: var(--category-hover); }
.category-pages { margin: 0 0 24px; font: 700 15px/2.9 system-ui,sans-serif; }
.category-pages a { display: inline; padding: 9px 10px; background: #f0f8ff; color: #808080; text-decoration: none; overflow-wrap: anywhere; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.category-pages a:hover, .category-pages a:focus-visible { background: var(--category-hover); color: var(--link); }
:root[data-theme="dark"] .category-pages a { background: var(--category-bg); color: var(--text); }
.menu_bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 20px 0; padding: 10px 14px; border: 1px solid var(--category-border); border-radius: 4px; background: var(--category-bg); font-size: 15px; }
.menu_bottom a { color: var(--link); }
.edit-button { display: inline-block; background: #237a3b; color: #fff; padding: 2px 7px; border: 1px solid #237a3b; border-radius: 4px; font: 12px system-ui,sans-serif; text-decoration: none; }
.edit-button:hover { background: #195b2b; }
.theme-controls { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.theme-toggle { padding: 5px 10px; border: 1px solid var(--category-border); border-radius: 4px; background: var(--category-bg); color: var(--text); font: 14px system-ui,sans-serif; cursor: pointer; }
.theme-toggle:hover { background: var(--category-hover); }
.ddw-hreflist { border-collapse: collapse; width: 100%; }
.ddw-hreflist th, .ddw-hreflist td { border: 1px solid var(--table-border); padding: 8px 12px; text-align: left; }
.ddw-hreflist td:nth-child(-n+2) { font-size: .8em; white-space: nowrap; }
.ddw-hreflist th:nth-child(-n+2), .ddw-hreflist td:nth-child(-n+2) { width: 1%; }
@media (max-width: 600px) {
  .page-layout, .page-layout.has-editor { grid-template-columns: minmax(0,1fr); }
  .column-left { padding-top: 0; }
}
