/* Ghost editor content only. Site layout belongs in screen.css. */
.gh-content {
    font-family: var(--font);
    font-size: 17px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.article-content {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,720px) minmax(0,1fr);
}
.article-content > * { grid-column: 2; min-width: 0; margin-bottom: 24px; }
.gh-content p { margin-bottom: 22px; }
.gh-content h1 { font-size: 32px; margin-block: 28px 20px; }
.gh-content h2 { font-size: 26px; margin-block: 36px 18px; }
.gh-content h3 { font-size: 21px; margin-block: 28px 16px; }
.gh-content h4 { font-size: 18px; margin-block: 24px 14px; }
.gh-content h5, .gh-content h6 { font-size: 16px; margin-block: 20px 12px; }
.gh-content > :first-child { margin-top: 0; }
.gh-content a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.gh-content a:hover { color: var(--muted); }
.gh-content ul, .gh-content ol { padding-left: 1.5em; }
.gh-content li + li { margin-top: 6px; }
.gh-content li p { margin-bottom: 8px; }
.gh-content blockquote { margin-inline: 0; border-left: 2px solid var(--ink); padding: 5px 22px; color: var(--muted); }
.gh-content blockquote p:last-child { margin-bottom: 0; }
.gh-content .kg-blockquote-alt { border: 0; padding: 20px 0; text-align: center; font-size: 26px; }
.gh-content hr { width: 100%; border: 0; border-top: 1px solid var(--line); margin-block: 30px; }
.gh-content code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85em; background: var(--subtle); padding: 3px 5px; border-radius: 3px; }
.gh-content pre { padding: 22px; background: var(--subtle); border: 1px solid var(--line); border-radius: 6px; overflow-x: auto; white-space: pre; line-height: 1.7; }
.gh-content pre code { padding: 0; background: none; font-size: 13px; }
.gh-content pre { color: var(--ink); tab-size: 4; scrollbar-width: thin; scrollbar-color: var(--faint) var(--subtle); }
/* Highlight.js tokens; the code surface follows the rest of the theme. */
:root { --code-keyword: #9b305d; --code-string: #236846; --code-number: #80550e; --code-title: #4f46a5; --code-attr: #12657b; --code-comment: #697078; }
:root[data-theme="dark"] { --code-keyword: #ed94b6; --code-string: #a1c89a; --code-number: #dfbb7e; --code-title: #b8aff1; --code-attr: #85c7db; --code-comment: #979da5; }
.hljs { color: var(--ink); }
.hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-meta .hljs-keyword { color: var(--code-keyword); }
.hljs-string, .hljs-regexp, .hljs-template-tag, .hljs-template-variable { color: var(--code-string); }
.hljs-number, .hljs-symbol, .hljs-bullet, .hljs-variable { color: var(--code-number); }
.hljs-title, .hljs-section, .hljs-selector-class, .hljs-selector-id { color: var(--code-title); }
.hljs-attr, .hljs-attribute, .hljs-built_in, .hljs-type, .hljs-name { color: var(--code-attr); }
.hljs-comment, .hljs-quote, .hljs-meta { color: var(--code-comment); }
.hljs-emphasis { font-style: italic; }
.hljs-strong { font-weight: 700; }
.hljs-addition { color: var(--code-string); background: color-mix(in srgb, var(--code-string) 10%, transparent); }
.hljs-deletion { color: var(--code-keyword); background: color-mix(in srgb, var(--code-keyword) 10%, transparent); }
@media print { .gh-content pre code, .gh-content pre code * { color: #222 !important; background: none !important; } }
.gh-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 14px; }
.gh-content th, .gh-content td { padding: 10px 14px; border: 1px solid var(--line); min-width: 100px; }
.gh-content th { background: var(--subtle); }
.gh-content img { max-width: 100%; height: auto; }
.kg-card { min-width: 0; }
.kg-width-wide { grid-column: 1/-1 !important; }
.kg-width-full { grid-column: 1/-1 !important; width: 100%; }
.kg-image-card img { display: block; margin-inline: auto; }
.kg-gallery-container { display: flex; flex-direction: column; gap: 10px; }
.kg-gallery-row { display: flex; gap: 10px; }
.kg-gallery-image { flex: 1 1 0; min-width: 0; }
.kg-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kg-embed-card iframe { max-width: 100%; }
.kg-embed-card iframe[src*="youtube"], .kg-embed-card iframe[src*="vimeo"] { width: 100%; height: auto; aspect-ratio: 16/9; }
.kg-bookmark-container { display: flex !important; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; text-decoration: none !important; color: var(--ink) !important; }
.kg-bookmark-content { padding: 18px; flex: 1; min-width: 0; }
.kg-bookmark-title { font-size: 14px; font-weight: 600; }
.kg-bookmark-description { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 8px 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kg-bookmark-metadata { display: flex; gap: 8px; align-items: center; font-size: 11px; }
.kg-bookmark-icon { width: 18px; height: 18px; }
.kg-bookmark-thumbnail { flex: 0 0 28%; position: relative; }
.kg-bookmark-thumbnail img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.kg-toggle-card, .kg-callout-card, .kg-audio-card, .kg-file-card, .kg-product-card-container { box-shadow: none !important; border: 1px solid var(--line); border-radius: 6px !important; }
.kg-toggle-card .kg-toggle-heading-text { margin: 0; font-size: 17px; }
.kg-callout-card { font-size: 15px; }
.kg-button-card a, .kg-product-card a { font-family: var(--font); }
.kg-signup-card h2, .kg-header-card h2 { margin-top: 0; }
.gh-post-upgrade-cta { grid-column: 2; border: 1px solid var(--line); border-radius: 7px; padding: 28px; text-align: center; background: var(--subtle); font-family: var(--font); }
.gh-post-upgrade-cta h2 { margin-top: 0; }
/* Theme-owned membership gate; no accent-color panel or Ghost button styles. */
.gh-content .member-gate { display: block; width: 100%; padding: 28px; margin-block: 24px; border: 1px solid var(--line); border-radius: 6px; background: var(--subtle); color: var(--ink); text-align: left; box-shadow: none; font-family: var(--font); }
.member-gate .member-gate-content { padding: 0; background: transparent; color: inherit; }
.gh-content .member-gate h2 { margin: 0; color: var(--ink); font-size: 20px; font-weight: 600; line-height: 1.5; }
.gh-content .member-gate p { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.member-gate .member-gate-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; margin-top: 22px; }
.gh-content .member-gate .button { min-height: 40px; padding: 9px 16px; color: var(--bg); background: var(--ink); border: 1px solid var(--ink); border-radius: 5px; font: 600 13px/1.5 var(--font); text-decoration: none; }
.gh-content .member-gate .button:hover { color: var(--bg); opacity: .85; }
.member-gate .member-gate-signin { color: var(--muted); font-size: 12px; line-height: 1.8; }
.gh-content .member-gate-signin a { margin-left: 5px; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.gh-content a.member-gate-signin { color: var(--ink); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) {
    .gh-content .member-gate { padding: 22px 20px; }
    .gh-content .member-gate h2 { font-size: 18px; }
}
.home-content > *:last-child { margin-bottom: 0; }
.home-content .kg-width-full, .sidebar-custom .kg-width-full { width: 100%; margin-inline: 0; }
.sidebar-custom .kg-card { max-width: 100%; }
@media (max-width: 520px) {
    .gh-content { font-size: 16px; }
    .gh-content h2 { font-size: 23px; }
    .gh-content h3 { font-size: 20px; }
    .gh-content pre { padding: 16px; }
    .kg-bookmark-thumbnail { display: none; }
}
@media print { .gh-content { font-size: 12pt; } }
