Ryan Malloy 37b3cd721d Add clickable links and chart showcase to landing page
- Each use-case card now links to its how-to guide
- Chart showcase below cards: tide chart + conditions dashboard
  side by side, with caption linking to visualization guide
- CSS for showcase grid layout and card link styling
2026-02-24 11:23:17 -07:00

260 lines
6.0 KiB
CSS

/* mcnoaa-tides Maritime Theme — Deep ocean with teal accents */
/* ── Dark Theme (default) ── */
:root {
--sl-color-accent-low: #0d3b3e;
--sl-color-accent: #1a8a8f;
--sl-color-accent-high: #5ec4c8;
--sl-color-white: #e8f0f0;
--sl-color-gray-1: #c4d4d6;
--sl-color-gray-2: #8fa8ac;
--sl-color-gray-3: #4a6568;
--sl-color-gray-4: #2a3d40;
--sl-color-gray-5: #1a2c2f;
--sl-color-gray-6: #0f1f22;
--sl-color-black: #0a1517;
--sl-color-bg-nav: #0c1b1fdd;
--sl-color-bg-sidebar: #0e1e22ee;
--sl-color-hairline-light: #1a3538;
--sl-color-hairline-shade: #0a1517;
--sl-font: "Inter", sans-serif;
--sl-font-system-mono: "JetBrains Mono", monospace;
--sl-content-width: 72rem;
--sl-nav-height: 3.5rem;
}
/* ── Light Theme ── */
:root[data-theme="light"] {
--sl-color-accent-low: #d4f0f1;
--sl-color-accent: #137275;
--sl-color-accent-high: #0b4d50;
--sl-color-white: #1a2c2f;
--sl-color-gray-1: #2a3d40;
--sl-color-gray-2: #4a6568;
--sl-color-gray-3: #8fa8ac;
--sl-color-gray-4: #c4d4d6;
--sl-color-gray-5: #e4eced;
--sl-color-gray-6: #f0f5f6;
--sl-color-black: #f7fafa;
--sl-color-bg-nav: #f0f5f6ee;
--sl-color-bg-sidebar: #f7fafaee;
--sl-color-hairline-light: #d0dfe0;
--sl-color-hairline-shade: #c0d0d2;
}
/* ── Global ── */
html {
scroll-behavior: smooth;
}
/* ── Headings ── */
.sl-markdown-content h1,
.sl-markdown-content h2,
.sl-markdown-content h3,
.sl-markdown-content h4 {
font-family: "Inter", sans-serif;
font-weight: 600;
letter-spacing: -0.01em;
}
.sl-markdown-content h2 {
border-bottom: 1px solid var(--sl-color-hairline-light);
padding-bottom: 0.4em;
margin-top: 2em;
}
/* ── Links ── */
.sl-markdown-content a {
color: var(--sl-color-accent-high);
text-decoration-color: var(--sl-color-accent);
text-underline-offset: 0.15em;
transition: color 0.15s ease;
}
.sl-markdown-content a:hover {
color: var(--sl-color-accent);
}
/* ── Code blocks ── */
.expressive-code {
--ec-brdCol: var(--sl-color-hairline-light);
--ec-brdRad: 0.4rem;
}
.expressive-code pre {
border: 1px solid var(--sl-color-hairline-light);
}
/* ── Tables ── */
.sl-markdown-content table {
border-collapse: collapse;
width: 100%;
}
.sl-markdown-content th {
border-bottom: 2px solid var(--sl-color-accent);
text-align: left;
padding: 0.5em 0.75em;
font-weight: 600;
}
.sl-markdown-content td {
border-bottom: 1px solid var(--sl-color-hairline-light);
padding: 0.5em 0.75em;
}
/* ── Sidebar ── */
nav.sidebar .top-level > li > details > summary,
nav.sidebar .top-level > li > a {
font-weight: 600;
text-transform: uppercase;
font-size: var(--sl-text-xs);
letter-spacing: 0.06em;
color: var(--sl-color-gray-2);
}
/* ── Badges ── */
.sl-badge {
font-family: var(--sl-font-system-mono);
text-transform: uppercase;
letter-spacing: 0.04em;
font-size: 0.7rem;
}
/* ── Card grid for landing page ── */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1rem;
margin: 1.5rem 0;
}
.card-grid a {
display: block;
padding: 1.25rem;
border: 1px solid var(--sl-color-hairline-light);
border-radius: 0.5rem;
text-decoration: none;
color: inherit;
transition: border-color 0.2s ease, background 0.2s ease;
}
.card-grid a:hover {
border-color: var(--sl-color-accent);
background: var(--sl-color-accent-low);
}
.card-grid a h3 {
margin: 0 0 0.5rem;
font-size: 1rem;
color: var(--sl-color-accent-high);
}
.card-grid a p {
margin: 0;
font-size: 0.9rem;
color: var(--sl-color-gray-2);
}
/* ── Splash page ── */
.hero-wave {
max-width: 440px;
width: 100%;
height: auto;
}
/* Splash page sections — spacing and centering */
[data-page-template="splash"] .sl-markdown-content .splash-section {
max-width: 64rem;
margin: 3rem auto;
padding: 0 1rem;
}
[data-page-template="splash"] .sl-markdown-content .splash-section h2 {
text-align: center;
border-bottom: none;
padding-bottom: 0;
margin-bottom: 1.5rem;
}
/* Use-case cards: italic prompts stand out */
[data-page-template="splash"] .sl-markdown-content .card em {
color: var(--sl-color-accent-high);
font-style: italic;
display: block;
margin-bottom: 0.5rem;
}
/* Showcase image grid — two charts side by side */
.showcase-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1rem;
margin: 1.5rem 0 0.5rem;
}
.showcase-grid img {
border: 1px solid var(--sl-color-hairline-light);
border-radius: 0.5rem;
width: 100%;
height: auto;
}
/* Card "see how" links — make them stand out */
[data-page-template="splash"] .sl-markdown-content .card a[href] {
display: inline-block;
margin-top: 0.5rem;
font-size: 0.85rem;
font-weight: 600;
color: var(--sl-color-accent);
text-decoration: none;
transition: color 0.15s ease;
}
[data-page-template="splash"] .sl-markdown-content .card a[href]:hover {
color: var(--sl-color-accent-high);
}
/* Install section: center the install block */
[data-page-template="splash"] .sl-markdown-content .splash-section:last-child {
text-align: center;
}
[data-page-template="splash"] .sl-markdown-content .splash-section:last-child .expressive-code,
[data-page-template="splash"] .sl-markdown-content .splash-section:last-child .link-card {
text-align: left;
max-width: 40rem;
margin-left: auto;
margin-right: auto;
}
/* ── Conversation-style guides ── */
/* User prompt blockquotes — teal accent bar */
.sl-markdown-content blockquote {
border-left: 3px solid var(--sl-color-accent);
background: var(--sl-color-accent-low);
padding: 0.75rem 1rem;
margin: 1.5rem 0;
border-radius: 0 0.4rem 0.4rem 0;
font-style: italic;
color: var(--sl-color-white);
}
.sl-markdown-content blockquote p {
margin: 0;
}
/* Make the bold recommendation block stand out */
.sl-markdown-content blockquote strong {
color: var(--sl-color-accent-high);
font-style: normal;
}
/* Tabs inside guides — don't dominate the page */
.sl-markdown-content starlight-tabs {
margin: 1rem 0 1.5rem;
}