/* ============================================
   IO-DARTS-AGENT DOKU: nur Doku-spezifische Regeln.
   Tokens, Reset, Schriften, Nav, Footer und .doc-card kommen aus
   assets/site.css (wird vor dieser Datei eingebunden).
   Quelle: tools/docs/doku.css
   ============================================ */

/* ---- DOKU ---- */
/* .skip-link kommt jetzt aus assets/site.css (gemeinsam mit den Site-Seiten). */
.doku-layout { max-width: 1320px; margin: 0 auto; padding: calc(72px + var(--space-lg)) clamp(16px, 4vw, 48px) var(--space-xl); display: grid; grid-template-columns: 220px minmax(0, 1fr) 220px; gap: var(--space-xl); }
.doku-main { min-width: 0; }
.doku-sidebar, .doku-toc { position: sticky; top: calc(72px + var(--space-lg)); align-self: start; max-height: calc(100vh - 120px); overflow-y: auto; font-size: 14px; }
.doku-sidebar a, .doku-toc a { display: block; padding: 6px 0 6px 12px; color: var(--castor-gray-600); text-decoration: none; border-left: 2px solid var(--castor-gray-100); }
.doku-sidebar a:hover, .doku-toc a:hover { color: var(--castor-black); border-left-color: var(--castor-gray-400); }
.doku-sidebar a[aria-current="page"] { color: var(--castor-black); font-weight: 600; border-left-color: var(--castor-red); }
.doku-toc .toc-h3 { padding-left: 24px; font-size: 13px; }
.doku-toc-title, .doku-sidebar-title { font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--castor-red-dark); margin-bottom: var(--space-sm); }
.doku-content { min-width: 0; max-width: 760px; }
.doku-content h1 { font-size: clamp(32px, 5vw, 48px); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: var(--space-lg); overflow-wrap: break-word; }
.doku-content h2 { font-size: clamp(24px, 3vw, 32px); line-height: 1.2; margin: var(--space-xl) 0 var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--castor-gray-100); }
.doku-content h3 { font-size: 20px; margin: var(--space-lg) 0 var(--space-sm); }
.doku-content h4 { font-size: 16px; margin: var(--space-md) 0 var(--space-sm); }
.doku-content :is(h1, h2, h3, h4) { scroll-margin-top: calc(72px + var(--space-md)); }
.doku-content p, .doku-content ul, .doku-content ol, .doku-content blockquote { margin-bottom: var(--space-md); }
.doku-content ul, .doku-content ol { padding-left: 24px; }
.doku-content li { margin-bottom: 4px; }
.doku-content a { color: var(--castor-black); text-decoration-color: var(--castor-red); text-underline-offset: 3px; }
.doku-content blockquote { border-left: 3px solid var(--castor-red); padding: var(--space-sm) var(--space-md); background: var(--castor-gray-50); }
.doku-content blockquote > :last-child { margin-bottom: 0; }
.doku-content img { max-width: 100%; height: auto; border: 1px solid var(--castor-gray-100); }
.doku-content :not(pre) > code { font-family: var(--font-mono); font-size: 0.9em; background: var(--castor-gray-50); border: 1px solid var(--castor-gray-100); padding: 1px 5px; overflow-wrap: anywhere; }
.doku-content :is(td, th) code { overflow-wrap: normal; }
.doku-content hr { border: 0; border-top: 1px solid var(--castor-gray-100); margin: var(--space-lg) 0; }
.doku-content hr:has(+ h2) { display: none; }
.doku-content pre { background: var(--castor-gray-900); color: var(--castor-gray-100); padding: var(--space-md); overflow-x: auto; margin-bottom: var(--space-md); font-size: 13px; line-height: 1.55; }
.doku-content pre code { font-family: var(--font-mono); }
.doku-table { overflow-x: auto; margin-bottom: var(--space-md); }
.doku-content table { border-collapse: collapse; font-size: 14px; min-width: 100%; }
.doku-content th, .doku-content td { border: 1px solid var(--castor-gray-100); padding: 8px 10px; text-align: left; vertical-align: top; }
.doku-content th { background: var(--castor-gray-50); font-weight: 600; }
.hljs-keyword, .hljs-built_in, .hljs-selector-tag { color: #FF6B6B; }
.hljs-string, .hljs-attr { color: #F5F5F5; }
.hljs-number, .hljs-literal { color: #FF9B9B; }
.hljs-comment { color: var(--castor-gray-400); font-style: italic; }
.hljs-title, .hljs-name, .hljs-property { color: #FFFFFF; font-weight: 600; }

/* Übersichtsseite: Karten wie die Doku-Karten der Startseite */
.doku-intro { font-size: 18px; color: var(--castor-gray-600); }
.doku-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--space-md); margin-top: var(--space-lg); }
.doku-content a.doc-card { display: block; color: var(--castor-black); text-decoration: none; }
.doku-content .doc-card h2 { font-size: 18px; font-weight: 600; line-height: 1.3; margin: 0 0 var(--space-sm); padding: 0; border: 0; }

.doku-mobile-nav { display: none; }
.doku-source { max-width: 1200px; margin: var(--space-sm) auto 0; font-family: var(--font-mono); font-size: 11px; color: var(--castor-gray-400); }
.footer-links { flex-wrap: wrap; }
@media (max-width: 1023px) {
  .doku-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-md); }
  .doku-sidebar, .doku-toc { display: none; }
  .doku-mobile-nav { display: block; border: 1px solid var(--castor-gray-100); padding: var(--space-sm) var(--space-md); margin-bottom: var(--space-sm); }
  .doku-mobile-nav summary { cursor: pointer; font-weight: 600; }
  .doku-mobile-nav a { display: block; padding: 6px 0 6px 12px; color: var(--castor-gray-600); text-decoration: none; border-left: 2px solid var(--castor-gray-100); font-size: 14px; }
  .doku-mobile-nav a[aria-current="page"] { color: var(--castor-black); font-weight: 600; border-left-color: var(--castor-red); }
  .doku-mobile-nav .toc-h3 { padding-left: 24px; font-size: 13px; }
  .doku-mobile-nav[open] summary { margin-bottom: var(--space-sm); }
  .doku-mobile-nav:last-of-type { margin-bottom: var(--space-lg); }
  .doku-content { max-width: none; }
}
