:root {
  color-scheme: light;
  --gp-active-bg: color-mix(in srgb, var(--theme-color) 10%, var(--color-bg));
  --gp-active-text: var(--theme-color);
  --gp-hover-bg: color-mix(in srgb, var(--theme-color) 7%, var(--color-bg));
  --gp-muted: #69768c;
  --gp-marker: var(--theme-color);
  --gp-image-shadow: 0 12px 32px -18px #243b6659;
  --theme-color: #3355FF;
  --color-bg: #ffffff;
  --color-text: #475569;
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-size: 16px;
  --font-weight: 400;
  --line-height: 1.8;
  --heading-color: #172440;
  --heading-font-weight: 650;
  --strong-color: #253453;
  --border-color: #e5eaf3;
  --border-radius: 10px;
  --content-max-width: 860px;
  --content-margin-inline: 56px;
  --link-color: var(--theme-color);
  --link-underline-thickness: 1px;
  --sidebar-width: 292px;
  --sidebar-bg: #f7f9fd;
  --sidebar-font-size: 14px;
  --sidebar-link-color: #58657c;
  --sidebar-link-spacing: 0.6em;
  --sidebar-group-title-color: #273854;
  --sidebar-group-title-font-size: 12px;
  --sidebar-group-title-font-weight: 700;
  --sidebar-name-margin: 32px 24px 24px;
  --sidebar-toggle-bg: var(--gp-active-bg);
  --sidebar-toggle-color: var(--theme-color);
  --sidebar-toggle-height: 44px;
  --sidebar-toggle-width: 28px;
  --sidebar-toggle-alignment: end;
  --navbar-height: 72px;
  --navbar-font-size: 14px;
  --code-bg: #f0f3fa;
  --codeblock-bg: #f7f9fd;
  --table-row-alt-bg: #f7f9fd;
  --callout-border-radius: 12px;
  --form-element-bg: #fff;
  --form-element-border-color: #dce3ef;
  --form-element-border-radius: 10px;
  --blockquote-bg: var(--sidebar-bg);
  --blockquote-color: var(--color-text);
  --blockquote-padding: 16px 24px;
  --blockquote-border-radius: 0 12px 12px 0;
  --code-color: var(--strong-color);
  --button-bg: var(--theme-color);
  --button-color: #fff;
  --button-border-radius: 10px;
  --button-padding: 0.65em 1.15em;
  --docsifytabs-border-color: var(--border-color);
  --docsifytabs-border-radius-px: 12px;
  --docsifytabs-tab-background: var(--sidebar-bg);
  --docsifytabs-tab-background--active: #3355FF;
  --docsifytabs-tab-color: var(--color-text);
  --docsifytabs-tab-color--active: #fff;
  --docsifytabs-content-background: var(--color-bg);
  --docsifytabs-content-padding: 24px;
}

/* Keep the familiar brand and make long articles easier to scan. */
.sidebar .app-name { text-align: left; }
.sidebar .app-name img { width: 159px; max-width: 100%; }
.sidebar-nav { padding-bottom: 64px; }
/* Loose Markdown lists wrap page links in paragraphs. Keep the page link
   visible when Docsify collapses its nested section navigation. */
.sidebar-nav li.collapse > p:has(> a) { display: block; }
.sidebar-nav li.collapse > p > .app-sub-sidebar { display: none; }
.sidebar-nav > ul > li { margin-block: 8px; }
.sidebar-nav > ul > li > p {
  letter-spacing: 0.055em;
}
.sidebar-nav a {
  border-radius: 7px;
  padding-inline-start: 10px;
  margin-inline-start: -10px;
}
.sidebar-nav li.active > a {
  background: var(--gp-active-bg);
  color: var(--gp-active-text);
  font-weight: 600;
}
.sidebar-nav a:hover,
.sidebar-nav a:focus-visible {
  background-color: var(--gp-hover-bg);
  color: var(--gp-active-text);
}
.sidebar .search { margin: 20px 18px 24px; }
.sidebar .search input { font-size: 14px; }
.app-nav > ul {
  box-sizing: border-box;
  min-height: 44px;
  align-items: center;
  padding: 8px 16px;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: var(--color-bg);
}
.app-nav { gap: 10px; }
body > #theme-toggle { display: none; }
#theme-toggle {
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: var(--color-bg);
  color: var(--heading-color);
  cursor: pointer;
}
#theme-toggle:hover { background: var(--gp-hover-bg); }
#theme-toggle svg { width: 22px; height: 22px; }
#theme-toggle .theme-sun { display: none; }
:root[data-theme="dark"] #theme-toggle .theme-sun { display: block; }
:root[data-theme="dark"] #theme-toggle .theme-moon { display: none; }
.markdown-section { padding-block: 24px 80px; }
.markdown-section h1 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  letter-spacing: -0.045em;
  line-height: 1.18;
  margin-block: 32px 20px;
}
.markdown-section h1 strong { color: var(--theme-color); }
.markdown-section :is(h2, h3) {
  letter-spacing: -0.025em;
  margin-top: 2em;
}
.markdown-section h1 + p:has(> em:only-child) {
  color: var(--gp-muted);
  font-size: 1.125rem;
}
.markdown-section hr { margin-block: 36px; }
.markdown-section li { margin-block: 7px; }
.markdown-section li::marker { color: var(--gp-marker); }
.markdown-section ol > li { padding-inline-start: 6px; }
.markdown-section ol > li::marker { color: var(--theme-color); font-weight: 700; }
.markdown-section :is(p, li) { overflow-wrap: anywhere; }
.markdown-section :not(pre) > code {
  padding: 0.15em 0.4em;
  border: 1px solid var(--border-color);
  border-radius: 5px;
}
.markdown-section pre {
  border: 1px solid var(--border-color);
  border-radius: 12px;
  line-height: 1.65;
  tab-size: 2;
}
.markdown-section table {
  display: block;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  border-spacing: 0;
  font-size: 0.9375rem;
}
.markdown-section :is(th, td) {
  padding: 12px 16px;
  overflow-wrap: normal;
  word-break: normal;
}
.markdown-section table:has(th:nth-child(6)) :is(th, td) { min-width: 150px; }
.markdown-section table:has(th:nth-child(6)) :is(th, td):first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--sidebar-bg);
  box-shadow: 1px 0 var(--border-color);
}
.markdown-section .docsify-pagination-container {
  gap: 16px;
  margin-top: 48px;
  padding-top: 24px;
  border-color: var(--border-color);
  overflow: visible;
}
.markdown-section .pagination-item { flex: 1 1 240px; margin-top: 0; }
.markdown-section .pagination-item a {
  display: block;
  height: 100%;
  padding: 18px 22px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--sidebar-bg);
  color: var(--heading-color);
}
.markdown-section .pagination-item a:hover { background: var(--gp-hover-bg); }
.markdown-section .docsify-pagination-container .pagination-item a :is(.pagination-item-label, .pagination-item-title, .pagination-item-subtitle) {
  opacity: 1;
}
.markdown-section .pagination-item .pagination-item-title { font-size: 1.125rem; font-weight: 600; }
.markdown-section .pagination-item .pagination-item-label { color: var(--gp-muted); margin-bottom: 6px; }
.markdown-section .docsify-copy-code-button {
  opacity: 1;
  border-radius: 0 10px 0 8px;
  background: var(--button-bg);
  color: var(--button-color);
}
.markdown-section pre:has(.docsify-copy-code-button) { padding-top: 3.25rem; }
.markdown-section th {
  color: var(--heading-color);
  background: var(--sidebar-bg);
  font-weight: 650;
}
.markdown-section tbody tr:hover { background: var(--gp-hover-bg); }
.markdown-section blockquote > :first-child { margin-top: 0; }
.markdown-section blockquote > :last-child { margin-bottom: 0; }
/* Only the existing widget demo buttons, not controls injected by widgets. */
.markdown-section > button,
.markdown-section > p > button {
  margin-block: 10px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 3px 8px #00000012;
}
.markdown-section > button:hover,
.markdown-section > p > button:hover { background: var(--theme-color); }
/* Brand-blue tips with stars; red warnings with exclamation marks. */
.markdown-section .callout:is(.tip, .important) {
  --callout-charm-inset: 50% auto auto 15px;
  --callout-charm-translate: 0 -50%;
}
.markdown-section .callout:is(.tip, .important)::before {
  display: grid;
  place-items: center;
  line-height: 1;
}
.markdown-section .callout.important {
  --callout-bg: #fff1f2;
  --callout-border-color: #fecdd3;
  --callout-charm-bg: transparent;
  --callout-charm-content: "!";
  --callout-charm-color: #e34559;
  --callout-charm-font-size: 24px;
}
.markdown-section .callout.tip {
  --callout-bg: #3355FF;
  --callout-border-color: #3355FF;
  --callout-color: #fff;
  --callout-charm-bg: transparent;
  --callout-charm-content: "★";
  --callout-charm-color: #fff;
  --callout-charm-font-size: 24px;
  --strong-color: #fff;
  --link-color: #fff;
  --link-color-hover: #fff;
  --link-underline-color: #fff;
  --code-color: #fff;
  --color-mono-min: #3355FF;
  --code-bg: #3355FF;
}
/* Style full-size screenshots without affecting inline menu icons. */
.markdown-section p > img:only-child {
  border: 1px solid var(--border-color);
  border-radius: 14px;
  box-shadow: var(--gp-image-shadow);
}
:is(a, button, input):focus-visible {
  outline: 3px solid var(--theme-color);
  outline-offset: 4px;
}
@media (max-width: 768px) {
  :root { --content-margin-inline: 24px; --navbar-height: 64px; }
  .markdown-section { padding-top: 12px; }
  .markdown-section h1 { margin-top: 24px; }
  .markdown-section :is(th, td) { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { --duration-slow: 0ms; --duration-medium: 0ms; --duration-fast: 0ms; }
  html { scroll-behavior: auto; }
}

.sidebar-nav a { white-space: normal; line-height: 1.5; }
.markdown-section > h1 + p { font-size: 1.1rem; color: var(--gp-muted); }
.markdown-section details {
  margin-block: 24px;
  padding: 16px 20px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--sidebar-bg);
}
.markdown-section summary {
  cursor: pointer;
  font-weight: 600;
  color: #fff;
  background: #3355FF;
  padding: 12px 16px;
  border-radius: 8px;
}
.markdown-section summary:hover { background: #2947db; }
.markdown-section a.gp-action-link {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 8px;
  background: #3355FF;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}
.markdown-section a.gp-action-link:hover { background: #2947db; color: #fff; }
.markdown-section details[open] > summary { margin-bottom: 16px; }
.markdown-section .widget-demo { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-block: 20px; }
.markdown-section .widget-demo button { font: inherit; cursor: pointer; }
.markdown-section .docsify-tabs { margin-block: 28px; }
.markdown-section .docsify-tabs__tab { min-height: 44px; border-color: #3355FF; }
.markdown-section .docsify-tabs__tab[aria-selected="true"] { background: #3355FF; color: #fff; }
.markdown-section .docsify-tabs__tab[aria-selected="false"] { background: var(--sidebar-bg); color: var(--link-color); }
.markdown-section td code { white-space: normal; overflow-wrap: anywhere; }
.markdown-section td:first-child:has(> code) { min-width: 6ch; }
.markdown-section td:first-child > code { white-space: nowrap; overflow-wrap: normal; }
.search a:hover { color: var(--link-color-hover, var(--link-color)); }
:is(a, button, input, summary):focus-visible { outline-color: var(--link-color); }

/* Preserve the existing mobile chat layout. */
@media only screen and (max-width: 768px) {.zammad-chat.zammad-chat-is-open {width: 100% !important;}}
@media only screen and (max-width: 768px) {.zammad-chat {width: 60% !important;}}

/* App logos follow the documentation theme, including its manual toggle. */
.markdown-section .app-logo { margin-block: 12px 20px; }
.markdown-section .app-logo img {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
}
.markdown-section .app-logo img.app-logo__dark { display: none; }
:root[data-theme="dark"] .markdown-section .app-logo img.app-logo__light { display: none; }
:root[data-theme="dark"] .markdown-section .app-logo img.app-logo__dark { display: block; }
