/* =========================================================================
   StratBeacon "Quiet Terminal" reskin for the Ghost Source theme.
   Loaded after screen.css in default.hbs - wins on equal specificity.
   Mirrors apps/trading-signals/src/app/globals.css in the Next app repo.
   Dark-only (the Next app defaults to dark; no light/dark sync exists
   between Ghost and the Next app, so this theme doesn't attempt a toggle).
   ========================================================================= */

:root {
    /* Quiet Terminal tokens, copied 1:1 from the Next app's globals.css */
    --qt-canvas: #0E0F11;
    --qt-canvas-raised: #15171A;
    --qt-canvas-inset: #1B1D21;
    --qt-canvas-overlay: rgba(14, 15, 17, 0.72);
    --qt-ink: #EDEAE3;
    --qt-ink-muted: #B4B6BD;
    --qt-ink-subtle: #898B92;
    --qt-rule: rgba(237, 234, 227, 0.08);
    --qt-rule-strong: rgba(237, 234, 227, 0.16);
    --qt-rule-bold: rgba(237, 234, 227, 0.28);
    --qt-bull: #5EE8A1;
    --qt-bull-soft: rgba(94, 232, 161, 0.12);
    --qt-bear: #FF7A75;

    /* Remap the theme's own vars so every component built on top of them
       (cards, meta text, dividers, buttons) inherits the palette for free */
    --color-white: var(--qt-canvas);
    --color-darker-gray: var(--qt-ink);
    --color-primary-text: var(--qt-ink);
    --color-secondary-text: var(--qt-ink-muted);
    --color-border: var(--qt-rule);
    --color-dark-border: var(--qt-rule-strong);
    --ghost-accent-color: var(--qt-bull);
}

::selection {
    background: var(--qt-bull);
    color: var(--qt-canvas);
}

:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--qt-bull) 60%, transparent);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--qt-bull) 10%, transparent);
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: var(--qt-rule-strong);
    border-radius: 999px;
    border: 2px solid var(--qt-canvas);
}
::-webkit-scrollbar-thumb:hover { background: var(--qt-rule-bold); }

/* ----- Navigation ----- */

.gh-navigation {
    background-color: var(--qt-canvas-overlay);
    backdrop-filter: blur(16px) saturate(1.1);
    -webkit-backdrop-filter: blur(16px) saturate(1.1);
    border-bottom: 1px solid var(--qt-rule);
    color: var(--qt-ink);
}

.gh-navigation-actions {
    background-color: transparent;
}

.gh-navigation-logo {
    font-family: var(--font-serif);
    font-weight: 450;
    color: var(--qt-ink);
}

.gh-navigation .nav a {
    color: var(--qt-ink-muted);
    transition: color 150ms ease;
}

.gh-navigation .nav a:hover,
.gh-navigation .nav .nav-current a {
    color: var(--qt-ink);
}

.gh-button {
    background-color: var(--qt-ink);
    color: var(--qt-canvas);
    transition: opacity 150ms ease;
}

.gh-button:hover {
    opacity: 0.88;
}

/* ----- Post list / cards ----- */

.gh-card-title {
    font-family: var(--font-serif);
    font-weight: 450;
    color: var(--qt-ink);
}

.gh-card-excerpt {
    color: var(--qt-ink-muted);
}

.gh-card-meta {
    color: var(--qt-ink-subtle);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 1.1rem;
}

.gh-card-tag {
    color: var(--qt-bull);
}

.post-list > li,
.gh-card {
    border-bottom: 1px solid var(--qt-rule);
    padding-bottom: 32px;
}

/* ----- Article / page content ----- */

.gh-content {
    color: var(--qt-ink);
}

.gh-content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--qt-ink);
}

.gh-content a {
    color: var(--qt-ink);
    text-decoration-color: var(--qt-rule-strong);
    text-underline-offset: 3px;
    transition: text-decoration-color 150ms ease;
}

.gh-content a:hover {
    text-decoration-color: var(--qt-bull);
}

.gh-content blockquote {
    border-left: 2px solid var(--qt-bull);
    color: var(--qt-ink-muted);
}

.gh-content pre,
.gh-content code {
    background-color: var(--qt-canvas-inset);
    border: 1px solid var(--qt-rule);
    font-family: var(--font-mono);
}

.gh-content figcaption {
    color: var(--qt-ink-subtle);
}

.gh-content hr {
    border-color: var(--qt-rule);
}

/* ----- Footer ----- */

.gh-footer {
    background-color: var(--qt-canvas);
    border-top: 1px solid var(--qt-rule);
    color: var(--qt-ink-subtle);
}

.gh-footer a {
    color: var(--qt-ink-muted);
    transition: color 150ms ease;
}

.gh-footer a:hover {
    color: var(--qt-ink);
}

.gh-form-input {
    background-color: var(--qt-canvas-inset);
    border-color: var(--qt-rule);
    color: var(--qt-ink);
}

.gh-form-input::placeholder {
    color: var(--qt-ink-subtle);
}

/* Post meta / author byline on article pages */

.gh-article-meta,
.gh-author-byline,
.gh-article-tag {
    color: var(--qt-ink-subtle);
}
