~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/knotless

git that lives in your Atmosphere account

Forked from chadtmiller.com/knotless

0
0
225 lines · 5.9 KB Raw History
/* Starlight in the pages' own look: its palette, type and links taken
   from web/src/tokens.css, which change with the colour scheme as the
   app's do. Starlight's light palette names its colours as its dark one
   does, the strongest text `white` and the page `black`, so one mapping
   holds in both. */

@import '../../web/src/tokens.css';

:root,
:root[data-theme='light'] {
  --sl-color-white: var(--fg);
  --sl-color-gray-1: var(--fg);
  --sl-color-gray-2: var(--fg);
  --sl-color-gray-3: var(--mute);
  --sl-color-gray-4: var(--faint);
  --sl-color-gray-5: var(--line);
  --sl-color-gray-6: var(--soft);
  --sl-color-gray-7: var(--panel);
  --sl-color-black: var(--bg);
  --sl-color-accent-low: var(--accent-soft);
  --sl-color-accent: var(--primary);
  --sl-color-accent-high: var(--accent);
  --sl-color-bg-nav: var(--bg);
  --sl-color-bg-sidebar: var(--bg);
  --sl-color-hairline: var(--line);
  --sl-color-hairline-light: var(--line);
  --sl-color-hairline-shade: var(--line);
  --sl-font: var(--font-sans);
  --sl-font-mono: var(--font-mono);
  --sl-line-height: var(--leading-prose);
  /* Type on the pages' prose scale, not Starlight's larger one. */
  --sl-text-body: var(--text-md);
  --sl-text-h1: var(--text-3xl);
  --sl-text-h2: var(--text-xl);
  --sl-text-h3: var(--text-lg);
  --sl-text-h4: var(--text-md);
  --sl-text-h5: var(--text-md);
  --sl-text-h6: var(--text-md);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-tight);
}

/* A section's heading is ruled off, as in the pages' prose. */
.sl-markdown-content .level-h2 {
  padding-bottom: var(--space-1-5);
  border-bottom: var(--border);
}

/* The header: the pages' brand, in their mono. */
.brand {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font: var(--weight-semibold) var(--text-base) var(--font-mono);
  color: var(--fg);
  text-decoration: none;
  white-space: nowrap;
}
.brand.section {
  font-weight: var(--weight-normal);
  color: var(--mute);
}

/* Links underlined quietly, as the pages' prose has them. */
.sl-markdown-content a:not(:where(.not-content *)) {
  color: var(--fg);
  text-decoration-color: var(--link-line);
  text-underline-offset: var(--underline-offset);
}
.sl-markdown-content a:not(:where(.not-content *)):hover {
  color: var(--fg);
  text-decoration-color: currentColor;
}

/* Sidebar: the page one is on marked as the pages mark the tab one is on. */
.sidebar-content a[aria-current='page'] {
  background: var(--accent-soft);
  color: var(--fg);
  font-weight: var(--weight-semibold);
}

/* Diagrams take the page's colours, as the repository pages' do. */
.sl-markdown-content .diagram {
  line-height: normal;
  overflow-x: auto;
  --pele-bg: var(--bg);
  --pele-fg: var(--fg);
  --pele-muted: var(--mute);
  --pele-line: var(--mute);
  --pele-surface: var(--soft);
  --pele-surface-alt: var(--panel);
  --pele-border: var(--faint);
  --pele-accent: var(--primary);
  --pele-critical: var(--rem);
  --pele-error: var(--rem);
  --pele-font: var(--font-sans);
  --pele-font-mono: var(--font-mono);
}

/* Reference: a table of names and what each does, drawn as a list of
   them (reference.mjs), each name on a line of its own. */
.sl-markdown-content .ref-list {
  margin-top: var(--space-4);
  border-top: var(--border);
}
.sl-markdown-content .ref-list dt {
  margin-top: 0;
  padding-top: var(--space-4);
  font-weight: var(--weight-normal);
}
.sl-markdown-content .ref-list dt code {
  background: none;
  padding: 0;
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
  /* A signature breaks between its words, never inside a flag. */
  overflow-wrap: normal;
  word-break: normal;
}
.sl-markdown-content .ref-list dd {
  margin: var(--space-1) 0 0;
  padding-bottom: var(--space-4);
  border-bottom: var(--border);
}
.sl-markdown-content .ref-list dd > * + * {
  margin-top: var(--space-2);
}
.sl-markdown-content .ref-meta {
  font-size: var(--text-sm);
  color: var(--mute);
}
.ref-label {
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--faint);
  margin-right: var(--space-1);
}

/* An HTTP method, as a badge before its route. */
.method {
  display: inline-block;
  padding: 0 var(--space-1-5);
  border-radius: var(--radius-sm);
  font: var(--weight-semibold) var(--text-2xs) / 1.6 var(--font-mono);
  letter-spacing: 0.02em;
  vertical-align: 0.15em;
  background: var(--accent-soft);
  color: var(--accent);
}
.method-post {
  background: var(--soft);
  color: var(--green);
}
.method-ws {
  color: var(--purple);
}

/* A method's lexicon, folded away under it. */
.sl-markdown-content .lexicon {
  margin-top: var(--space-2);
  border: var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
}
.sl-markdown-content .lexicon summary {
  padding: var(--space-1-5) var(--space-3);
  color: var(--mute);
  cursor: pointer;
}
.sl-markdown-content .lexicon[open] summary {
  border-bottom: var(--border);
}
.sl-markdown-content .lexicon > :not(summary) {
  margin: var(--space-3);
}
.sl-markdown-content .lex-title {
  font-weight: var(--weight-semibold);
  color: var(--fg);
  margin-bottom: var(--space-1) !important;
}
.sl-markdown-content .lex-fields {
  display: table;
  table-layout: fixed;
  width: calc(100% - 2 * var(--space-3));
  font-size: var(--text-sm);
}
.sl-markdown-content .lex-fields td {
  vertical-align: top;
}
.lex-type {
  display: block;
  margin-top: var(--space-0-5);
  color: var(--mute);
  font-size: var(--text-xs);
}
.sl-markdown-content .lex-fields td:first-child {
  width: 40%;
}
.sl-markdown-content .ref-list dt .word {
  white-space: nowrap;
}
.sl-markdown-content .lex-source {
  color: var(--mute);
}

/* The header's link to the repository, quiet as the pages' header links
   are, and no divider after it: Starlight's sits before the theme
   picker, which the docs leave out. */
.social-icons::after {
  display: none;
}
.social-icons a {
  color: var(--mute);
}
.social-icons a:hover {
  color: var(--fg);
}