/*
// Copyright (c) 2025, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
//   29 Dec 2025  Brian Frank  Derive from defc stylesheet
*/

xetodoc-page {
  display: block;
  font: 16px -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
  line-height: 1.5em;
  width: min(960px, 100%);
  margin: 1em auto 0 auto;

  --divider-border: 1px solid #eee;

  --link-color:    #3e7cc4;  /* blue   - nav, links */
  --title-color:   #7f42cc;  /* docgen */
  --name-color:    #27ae60;  /* green  - specs, instances, chapter, types, slots */
  --sidebar-color: #a0a0a0;  /* gray   - left sidebar tab */
}

xetodoc-page img {
  border:0;
}

xetodoc-page hr {
  border: 0;
  border-top: var(--divider-border);
  height: 1px;
}

xetodoc-page a {
  color: var(--link-color);
}

xetodoc-page code {
  font: 14px Menlo, Consolas, Courier, monospace;
  color: #777;
}

xetodoc-page pre {
  font: 14px Menlo, Consolas, Courier, monospace;
  background: #f7f7f9;
  color: #222;
  margin: 0.5em 0;
  padding: 1em;
  overflow: auto;
}

xetodoc-page pre code {
  color: inherit;
}

xetodoc-page h1 {
  color: var(--title-color);
  margin: 0 0 0.5em 0;
  padding: 0;
}

xetodoc-page h2 {
  color: var(--name-color);
}

xetodoc-page p > img {
  display:block;
  margin:0 auto;
  max-width: 600px;
}

xetodoc-page table {
  border-collapse: collapse;
  margin: 1em 0;
}

xetodoc-page table th,
xetodoc-page table td {
  border: 1px solid #ccc;
  padding: 0.3em 0.6em;
  text-align: left;
}

/*************************************************************************
 * Navigation
 ************************************************************************/

xetodoc-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

xetodoc-nav ul li {
  display: inline;
  margin: 0 4px;
  padding: 2px 0;
  color: #aaa;
}

xetodoc-nav li.next {
  text-align: right;
}

xetodoc-nav li + li.next {
  float: right;
}

/*************************************************************************
 * Main Two Column Grid
 ************************************************************************/

xetodoc-main {
  margin: 20px 0 0 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-row-gap: 30px;
  grid-column-gap: 20px;
}

xetodoc-tab {
  margin: 0;
  padding: 5px 10px 0 0;
  text-align: right;
  font-size: 100%;
  font-weight: normal;
  color: var(--sidebar-color);
  max-width: 160px;
  overflow-wrap: break-word;
}

xetodoc-section {
  margin: 0;
  padding: 0;
}

xetodoc-footer  {
  font-size: 60%;
  color: #999;
}

/*************************************************************************
 * Props Table
 ************************************************************************/

xetodoc-prop-table {
  display: table;
  border-collapse: collapse;
}

xetodoc-prop-tr {
  display: table-row;
  border-top: var(--divider-border);
}

xetodoc-prop-th {
  display: table-cell;
  font-weight: bold;
  text-align: left;
  vertical-align: text-top;
  padding: 4px 10px 4px 0px;
  white-space: nowrap;
}

xetodoc-prop-td {
  display: table-cell;
  padding: 4px 6px;
}

xetodoc-prop-th a {
  color: var(--name-color);
  text-decoration: none;
}

xetodoc-prop-th a:hover {
  color: var(--name-color);
  text-decoration: underline;
}

xetodoc-prop-td a {
  text-decoration: none;
}

xetodoc-prop-td a:hover {
  text-decoration: underline;
}

xetodoc-prop-td p {
  margin: 0;
}

xetodoc-prop-heading {
  display: table-cell;
  font-weight: bold;
  font-size: 130%;
  text-align: left;
  vertical-align: text-top;
  padding: 30px 0 4px 0;
  white-space: nowrap;
  color: var(--title-color);
}

xetodoc-prop-toggle {
  display: table-cell;
  margin: 0;
  padding: 0;
}

xetodoc-prop-toggle input {
  margin-left: 0;
}

.xetodoc-hidden {
  display: none;
}

/***************************************************************
 * Slot Details
 **************************************************************/

xetodoc-slot {
  margin: 0;
  padding: 3px 0;
  color: var(--name-color);
}

xetodoc-slot a {
  color: var(--name-color);
  text-decoration: none;
}

xetodoc-slot a:hover {
  color: var(--name-color);
  text-decoration: underline;
}

xetodoc-slot-nested {
  display: block
}

xetodoc-slot-nested ul {
  list-style-type: none;
  padding: 0;
}

/*************************************************************************
 * Chapter
 ************************************************************************/

xetodoc-chapter {
  display: block;
  margin: 1em 0;
}

xetodoc-chapter h1:not(:first-child) {
  color: var(--name-color);
  font-size: 1.5em;
}

xetodoc-chapter h2 {
  color: var(--name-color);
  font-size: 1.3em;
}

xetodoc-chapter h3 {
  color: var(--name-color);
  font-size: 1.1em;
}

/*************************************************************************
 * Search
 ************************************************************************/

xetodoc-page form input[type=text] {
  width: 600px;
  border: 1px solid #bbb;
  border-radius: 2px;
  margin: 0;
  padding: 6px;
  font-size: 16px;
}

xetodoc-search-info {
  padding: 10px 0 0 0;
  font-size: 12px;
  font-weight: bold;
  color: #aaa;
}

xetodoc-search-hits {
  display: block;
  margin: 0;
  padding: 0;
}

xetodoc-search-hit {
  display: block;
  margin-top: 20px;
}

xetodoc-search-hit h3 {
  padding: 0 0 4px 0;
  margin: 0;
}

xetodoc-search-hit a {
  color: var(--link-color);
  padding: 2px;
  text-decoration: none;
}

xetodoc-search-hit a:hover {
  text-decoration: underline;
}

xetodoc-search-hit p {
  margin: 0;
  padding: 0;
}

xetodoc-tag  {
  padding: 2px 8px;
  font-size: 75%;
  color: #fff;
  background: var(--name-color);
  margin-right: 10px;
  border: 0px solid #bbb;
  border-radius: 10px;
}

