/* Dawnstar layer over Ghost Source 1.5.0.
   Same tokens, nav and footer as dawnstarexploration.com and app.dawnstarexploration.com.
   Loaded after built/screen.css; kept as one plain CSS file so it can change without a build step.
   Source sets html { font-size: 62.5% } (1rem = 10px), so this file uses px throughout. */

:root, :root.has-light-text, :root.has-dark-text {
    --ds-black: #080808; --ds-deep: #0d0d0d; --ds-surface: #141414; --ds-border: #222222; --ds-border-mid: #333333;
    --ds-text: #e8e2d9; --ds-text-dim: #7a7060; --ds-text-mid: #b0a898; --ds-accent: #ff3c00; --ds-accent-hover: #ff5520;
    --ds-mono: 'DM Mono', ui-monospace, monospace; --ds-display: 'Bebas Neue', Impact, sans-serif; --ds-body: 'Spectral', Georgia, serif;

    /* Source's own variables, pointed at the Dawnstar palette */
    --background-color: var(--ds-black);
    --color-white: var(--ds-black);
    --color-lighter-gray: var(--ds-surface);
    --color-light-gray: var(--ds-border);
    --color-mid-gray: var(--ds-border-mid);
    --color-dark-gray: var(--ds-text-mid);
    --color-darker-gray: var(--ds-text);
    --color-black: var(--ds-text);
    --color-primary-text: var(--ds-text);
    --color-secondary-text: var(--ds-text-mid);
    --color-border: var(--ds-border);
    --color-dark-border: var(--ds-border-mid);
    --font-sans: var(--ds-body);
    --font-serif: var(--ds-body);
    --font-serif-alt: var(--ds-body);
    --font-mono: var(--ds-mono);
}
/* Ghost injects --ghost-accent-color from the admin brand setting; this wins on specificity */
html:root { --ghost-accent-color: #ff3c00; }

html, body { background: var(--ds-black); }
body { color: var(--ds-text); font-family: var(--ds-body); }
.gh-navigation[hidden] { display: none !important; }
.ds-scroll-sentinel { height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }

/* ── Type ── */
body .is-title,
body .gh-content :is(h1, h2, h3),
body .gh-header-title, body .gh-article-title, body .gh-card-title, body .gh-about-title,
body .gh-footer-signup-header, body .gh-more {
    font-family: var(--ds-display) !important; font-weight: 400 !important; letter-spacing: 0.02em; color: var(--ds-text);
}
body .is-body, body .gh-content, body .gh-card-excerpt, body .gh-article-excerpt, body .gh-about-description {
    font-family: var(--ds-body) !important; color: var(--ds-text-mid);
}
body .gh-article-title { font-size: clamp(40px, 5.5vw, 72px); line-height: 0.95; }
body .gh-article-excerpt { font-style: italic; font-weight: 300; font-size: 21px; line-height: 1.7; }
body .gh-content { font-size: 19px; line-height: 1.75; }
body .gh-content > * + * { margin-top: 1.1em; }
body .gh-content > p, body .gh-content li { color: var(--ds-text-mid); }
body .gh-content strong { color: var(--ds-text); }
body .gh-content :is(h2) { font-size: 38px; line-height: 1.05; margin-top: 1.6em; }
body .gh-content :is(h3) { font-size: 28px; line-height: 1.1; }
body .gh-content a { color: var(--ds-text); text-decoration-color: var(--ds-accent); text-underline-offset: 3px; }
body .gh-content a:hover { color: var(--ds-accent); }
body .gh-content blockquote:not([class]) { border-left: 3px solid var(--ds-accent); color: var(--ds-text); font-style: italic; }
body .gh-content hr { border-color: var(--ds-border); }
body .gh-content :is(code, pre) { font-family: var(--ds-mono); background: var(--ds-surface); }

/* mono labels: tags, dates, meta, section titles */
body :is(.gh-card-tag, .gh-article-tag, .gh-card-meta, .gh-article-meta, .gh-article-meta-content, .gh-container-title,
         .gh-sidebar-title, .gh-author-meta, .gh-author-location, .gh-card-date, .gh-card-author) {
    font-family: var(--ds-mono) !important; font-size: 11px !important; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ds-text-dim) !important;
}
body .gh-article-tag, body .gh-card-tag { color: var(--ds-accent) !important; }
body .gh-container-title { border-bottom: 1px solid var(--ds-border); padding-bottom: 14px; }

/* cards */
body .gh-card-link:hover .gh-card-title { color: var(--ds-accent); opacity: 1; }
body .gh-card-image, body .gh-article-image img { border-radius: 0; }

/* buttons and forms */
body .gh-button, body .gh-form button, body .gh-form .gh-button, body .kg-btn {
    font-family: var(--ds-mono) !important; font-size: 12px !important; letter-spacing: 0.15em; text-transform: uppercase;
    background: var(--ds-accent) !important; color: #fff !important; border-radius: 0 !important; border: 0;
}
body .gh-button:hover { background: var(--ds-accent-hover) !important; opacity: 1; }
body .gh-form, body .gh-form-input { background: var(--ds-deep) !important; border: 1px solid var(--ds-border-mid) !important; border-radius: 0 !important; color: var(--ds-text) !important; }
body .gh-form-input::placeholder { color: #5c554a; }

/* home header */
body .gh-header { background: var(--ds-black); }
body .gh-header-title { font-size: clamp(48px, 7vw, 96px); line-height: 0.92; }
body .gh-card-title { font-size: 22px; line-height: 1.1; }
body .gh-featured-feed .gh-card-title, body .gh-header .gh-card-title { font-size: 22px; }
body .gh-card-excerpt { font-size: 16px; line-height: 1.6; }

/* ── Nav (matches dawnstarexploration.com) ── */
.ds-nav { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 64px;
    border-bottom: 1px solid var(--ds-border); position: sticky; top: 0; z-index: 100;
    background: rgba(8,8,8,0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.ds-nav-logo { font-family: var(--ds-mono); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ds-text-dim); text-decoration: none; white-space: nowrap; }
.ds-nav-logo strong { color: var(--ds-text); font-weight: 500; }
.ds-nav-links { display: flex; gap: 32px; align-items: center; }
.ds-nav-links a { font-family: var(--ds-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ds-text-dim); text-decoration: none; transition: color 0.2s; white-space: nowrap; }
.ds-nav-links a:hover, .ds-nav-links a[aria-current="page"] { color: var(--ds-text); }
.ds-nav-cta { font-family: var(--ds-mono); font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ds-accent);
    text-decoration: none; border: 1px solid var(--ds-accent); padding: 8px 20px; white-space: nowrap; transition: all 0.2s; }
.ds-nav-cta:hover { background: var(--ds-accent); color: #fff; }

/* ── Signup band (only when Ghost members are enabled) ── */
.ds-signup { background: var(--ds-surface); border-top: 1px solid var(--ds-border); padding: 64px 0; text-align: center; }
.ds-signup .gh-inner { display: flex; flex-direction: column; align-items: center; }
.ds-signup .gh-footer-signup-header { font-size: clamp(36px, 5vw, 54px); }
.ds-signup .gh-footer-signup-subhead { text-align: center; margin: 8px auto 0; font-size: 18px; color: var(--ds-text-mid); }
.ds-signup .gh-form { width: 100%; max-width: 520px; margin: 24px auto 0; }

/* ── Footer (matches dawnstarexploration.com) ── */
.ds-footer { border-top: 1px solid var(--ds-border); padding: 40px 24px; display: flex; flex-direction: column; align-items: center;
    gap: 20px; text-align: center; background: var(--ds-deep); }
.ds-footer-logo { font-family: var(--ds-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ds-text-dim); }
.ds-footer-logo strong { color: var(--ds-text); font-weight: 500; }
.ds-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 28px; list-style: none; margin: 0; padding: 0; }
.ds-footer-links a { font-family: var(--ds-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ds-text-dim); text-decoration: none; }
.ds-footer-links a:hover { color: var(--ds-text); }
.ds-footer-copy { font-family: var(--ds-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--ds-text-dim); }

@media (max-width: 1280px) { .ds-nav { padding: 18px 24px; } .ds-nav-links { gap: 20px; } }
@media (max-width: 1024px) {
    .ds-nav { flex-wrap: wrap; row-gap: 12px; }
    .ds-nav-logo { order: 1; } .ds-nav-cta { order: 2; }
    .ds-nav-links { order: 3; width: 100%; flex-wrap: wrap; gap: 10px 24px; }
}
@media (max-width: 760px) {
    .ds-nav { flex-wrap: wrap; row-gap: 12px; padding: 14px 16px; }
    .ds-nav-logo { order: 1; font-size: 10px; letter-spacing: 0.12em; }
    .ds-nav-cta { order: 2; font-size: 10px; letter-spacing: 0.08em; padding: 6px 10px; }
    .ds-nav-links { order: 3; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
    body .gh-content { font-size: 18px; }
    body .gh-content :is(h2) { font-size: 32px; }
    .ds-nav-links a { font-size: 10px; letter-spacing: 0.06em; }
}
