/* The marketing site's palette and type — the same tokens the landing page (site/src/pages/index.astro) uses for its own Ising-green terminal look, so the whole site reads as one thing rather than two unrelated designs stitched together at the front door. Every page imports this file (via BaseLayout.astro); AtmosphereLayout.astro layers a quiet, static echo of the landing page's scanline/vignette register on top for the marketing pages, while the docs/api/get-started/ legal pages ("hospitality" pages below) use these same colors and type with no atmosphere layered on — see AtmosphereLayout's own comment and CLAUDE.md's refuge rule. */ :root { --ink: #eaf6ee; --ink-dim: #7fae8c; --ground: #05100a; --panel: rgba(14, 26, 19, 0.82); --line: rgba(88, 224, 122, 0.22); --accent: #58e07a; --warn: #e0a758; --mono: ui-monospace, "SF Mono", "JetBrains Mono", "DejaVu Sans Mono", monospace; --measure: 40rem; } * { box-sizing: border-box; } html, body { margin: 0; background: var(--ground); color: var(--ink); font: 15px/1.6 var(--mono); } a { color: var(--accent); } a:hover { text-decoration: none; } .site-header, .site-footer { padding: 14px 20px; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; gap: 16px; } .site-footer { border-bottom: none; border-top: 1px solid var(--line); color: var(--ink-dim); font-size: 13px; } .mark { color: var(--accent); letter-spacing: 0.04em; text-decoration: none; } .site-header nav, .site-footer nav { display: flex; flex-wrap: wrap; gap: 14px; } .site-header nav a, .site-footer nav a { color: var(--ink-dim); text-decoration: none; } .site-header nav a:hover, .site-footer nav a:hover { color: var(--ink); } main { max-width: var(--measure); margin: 0 auto; padding: 40px 20px 80px; } main.wide { max-width: 60rem; } h1, h2, h3 { color: var(--ink); font-weight: normal; line-height: 1.3; } h1 { font-size: 1.7em; } .lede { color: var(--ink-dim); } .button { display: inline-block; padding: 6px 14px; margin: 4px 8px 4px 0; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); text-decoration: none; } .button:hover { border-color: var(--accent); color: var(--accent); } .button.primary { border-color: rgba(143, 208, 160, 0.45); color: var(--accent); } .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 24px 0; } .card { padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); } .card h2, .card h3 { margin-top: 0; font-size: 1em; color: var(--accent); } /* A subpage's illustration (see src/components/SubpageBody.astro). The image carries its own width/height from the astro:assets import, so this only has to keep it inside the measure and stop it overflowing on a narrow viewport. */ .subpage-figure { margin: 24px 0; } .subpage-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); } pre, code { font: inherit; background: rgba(255, 255, 255, 0.04); border-radius: 4px; } code { padding: 0.1em 0.35em; } pre { padding: 12px; overflow-x: auto; border: 1px solid var(--line); } pre code { padding: 0; background: none; } table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid var(--line); padding: 6px 10px; text-align: left; } blockquote { margin: 0; padding-left: 12px; border-left: 2px solid var(--line); color: var(--ink-dim); } .doc-nav { columns: 2; gap: 24px; list-style: none; padding: 0; } .source-path { color: var(--ink-dim); font-size: 12px; } /* A content hash, hoverable for the real commit that produced it. No visible affordance beyond the cursor — see docs/../DocsLayout.astro. */ .provenance { cursor: help; border-bottom: 1px dotted var(--line); }