/* Cyaneo identity for BookStack 26.09. Keep native layouts and controls. */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/font-0.ttf') format('truetype'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/font-1.ttf') format('truetype'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/font-2.ttf') format('truetype'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/font-3.ttf') format('truetype'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/font-4.ttf') format('truetype'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/font-5.ttf') format('truetype'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/font-6.ttf') format('truetype'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/font-7.ttf') format('truetype'); }

:root {
  --font-body: "DM Sans", sans-serif;
  --font-heading: "Space Grotesk", sans-serif;
  --cy-bg: #f5f8fb;
  --cy-panel: #fff;
  --cy-line: #cfdee7;
  --cy-accent: #008aa8;
  --cy-soft: #e1f3f7;
  --cy-text: #0b2334;
  --cy-muted: #536d7d;
  --cy-button-text: #fff;
  --color-primary: #008aa8;
  --color-primary-light: #e1f3f7;
  --color-link: #007a94;
  --color-book: #007f91;
  --color-bookshelf: #7954a8;
  --color-chapter: #a95412;
  --color-page: #007a94;
}
:root.dark-mode {
  --cy-bg: #041522;
  --cy-panel: #0a2030;
  --cy-line: #1d3b4e;
  --cy-accent: #22cef0;
  --cy-soft: #0b3445;
  --cy-text: #f2f6fa;
  --cy-muted: #a4b9c8;
  --cy-button-text: #041522;
  --color-primary: #22cef0;
  --color-primary-light: #0b3445;
  --color-link: #22cef0;
  --color-book: #22cef0;
  --color-bookshelf: #c1a0f2;
  --color-chapter: #ff9a39;
  --color-page: #72cde7;
}
@media screen {
  html, html.dark-mode, body, html.dark-mode body {
    background: var(--cy-bg);
    color: var(--cy-text);
  }
  h1, h2, h3, h4, h5, h6,
  html.dark-mode :is(h1,h2,h3,h4,h5,h6) {
    color: var(--cy-text);
    font-family: var(--font-heading);
    font-weight: 500;
  }
  h1 { letter-spacing: -.035em; }
  h1.list-heading { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; }
  body #header {
    background: var(--cy-bg) !important;
    border-bottom: 1px solid var(--cy-line);
    min-height: 86px;
    box-shadow: none;
    color: var(--cy-text);
  }
  #header .logo { color: var(--cy-text); gap: 10px; }
  #header .logo-image {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 50%;
    margin: 0;
  }
  #header .logo-text {
    font: 700 29px/1.15 var(--font-heading);
    letter-spacing: -1px;
    text-transform: lowercase;
    color: var(--cy-text);
  }
  #header .header-links a, #header .mobile-menu-toggle {
    color: var(--cy-text);
    fill: currentColor;
  }
  #header .header-links a:hover { color: var(--cy-accent); }
  #header .search-box input {
    background: var(--cy-panel);
    border: 1px solid var(--cy-line);
    border-radius: 5px;
    color: var(--cy-text);
    min-height: 44px;
  }
  #header .search-box input::placeholder { color: var(--cy-muted); opacity: 1; }
  #header .search-box > button { color: var(--cy-accent); fill: currentColor; }
  html .card, html.dark-mode .card,
  html .dropdown-menu, html.dark-mode .dropdown-menu,
  html .overlay .popup-body, html.dark-mode .overlay .popup-body {
    background: var(--cy-panel);
    border: 1px solid var(--cy-line);
    border-radius: 7px;
    color: var(--cy-text);
    box-shadow: 0 12px 32px #0000000a;
  }
  .content-wrap.card { padding-top: 26px; padding-bottom: 32px; }
  html .text-muted, html.dark-mode .text-muted { color: var(--cy-muted) !important; }
  .tri-layout-left, .tri-layout-right { color: var(--cy-muted); }
  .tri-layout-sides .text-primary { color: var(--color-link) !important; }
  .tri-layout-sides .icon-list a { border-radius: 5px; }
  .tri-layout-sides .icon-list a:hover { background: var(--cy-soft); color: var(--cy-text); }
  html .sticky-sidebar .sticky-sidebar-header,
  html.dark-mode .sticky-sidebar .sticky-sidebar-header { background: var(--cy-bg); }
  html .tri-layout-mobile-tabs, html.dark-mode .tri-layout-mobile-tabs {
    background: var(--cy-panel);
    border-color: var(--cy-line);
  }
  .entity-list-item-name { font-weight: 500; line-height: 1.4; }
  .entity-list > .entity-list-item { border-radius: 5px; transition: background .15s; }
  html .card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover,
  html.dark-mode .card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover {
    background: var(--cy-soft);
    border-radius: 5px;
  }
  .entity-list-item-image { border-radius: 5px; }
  html .dropdown-menu :is(.text-item,.icon-item,.label-item),
  html.dark-mode .dropdown-menu :is(.text-item,.icon-item,.label-item) { color: var(--cy-text); }
  html .dropdown-menu li a:hover,
  html.dark-mode .dropdown-menu li a:hover { background: var(--cy-soft); }
  html :is(input[type=text],input[type=search],input[type=email],input[type=password],select,textarea),
  html.dark-mode :is(input[type=text],input[type=search],input[type=email],input[type=password],select,textarea) {
    background-color: var(--cy-bg);
    border-color: var(--cy-line);
    color: var(--cy-text);
    border-radius: 5px;
  }
  .button { border-radius: 5px; font-weight: 600; }
  html .button:not(.secondary,.outline,.neg,.text-button),
  html.dark-mode .button:not(.secondary,.outline,.neg,.text-button) {
    background: var(--cy-accent);
    color: var(--cy-button-text);
  }
  html :is(.button.secondary,.button.outline),
  html.dark-mode :is(.button.secondary,.button.outline) {
    background: var(--cy-panel);
    color: var(--cy-text);
    border: 1px solid var(--cy-line);
  }
  html :is(hr,.border-top,.border-bottom,.card-footer-link),
  html.dark-mode :is(hr,.border-top,.border-bottom,.card-footer-link) { border-color: var(--cy-line); }
  html hr, html.dark-mode hr { background: var(--cy-line); }
  html :is(.list-sort,.list-sort-toggle,.list-sort-dir),
  html.dark-mode :is(.list-sort,.list-sort-toggle,.list-sort-dir) {
    color: var(--cy-text);
    border-color: var(--cy-line);
    background-color: var(--cy-panel);
  }
  .page-content { line-height: 1.8; }
  .page-content a { text-decoration: underline; text-underline-offset: 3px; }
  html .page-content blockquote, html.dark-mode .page-content blockquote {
    background: var(--cy-soft);
    border-left-color: var(--cy-accent);
    color: var(--cy-text);
  }
  html .page-content table th, html.dark-mode .page-content table th { background: var(--cy-soft); }
  html .page-content :is(td,th), html.dark-mode .page-content :is(td,th) { border-color: var(--cy-line); }
  .cyaneo-library-intro {
    border-bottom: 1px solid var(--cy-line);
    margin: 0 0 22px;
    padding: 4px 0 26px;
  }
  .cyaneo-library-intro .eyebrow {
    color: var(--cy-accent);
    font: 500 10px/1.6 var(--font-heading);
    letter-spacing: 1.8px;
    text-transform: uppercase;
    margin: 0 0 12px;
  }
  .cyaneo-library-intro h2 { font-size: clamp(25px, 3vw, 36px); margin: 0 0 12px; line-height: 1.2; }
  .cyaneo-library-intro p { color: var(--cy-muted); max-width: 650px; margin: 0; line-height: 1.8; }
  body > footer {
    border-top: 1px solid var(--cy-line);
    padding: 26px;
    background: var(--cy-bg);
    color: var(--cy-muted);
  }
  body > footer a { color: var(--cy-accent); }
  :focus-visible { outline: 2px solid var(--cy-accent) !important; outline-offset: 3px; }
  @media (max-width: 600px) {
    body #header { min-height: 76px; padding-inline: 20px; }
    #header .logo-image { width: 36px; height: 36px; }
    #header .logo-text { font-size: 27px; }
    .content-wrap.card { padding-inline: 18px; }
    .cyaneo-library-intro { padding-bottom: 20px; }
  }
}
@media print {
  .cyaneo-library-intro { display: none; }
}
