/* Swiss index for kaspa.rs. Keep Ghost's native cards, search and comments. */
:root {
    --swiss-paper: #f7f7f5;
    --swiss-ink: #13171c;
    --swiss-muted: #5e636d;
    --swiss-line: #c7cacf;
    --swiss-accent: #214ce6;
    --swiss-code: #e9edf8;
    --primary-color: var(--swiss-accent);
    --primary-text-color: var(--swiss-ink);
    --secondary-text-color: var(--swiss-muted);
    --content-width: 720px;
    --container-width: 1040px;
    --font-sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}
.dark-mode {
    --swiss-paper: #191b20;
    --swiss-ink: #f2f4f8;
    --swiss-muted: #b3bbc9;
    --swiss-line: #434753;
    --swiss-accent: #a6baff;
    --swiss-code: #242c41;
    --dark-mode-bg-color: var(--swiss-paper);
    --dark-mode-darker-bg-color: var(--swiss-code);
    --dark-mode-primary-text-color: var(--swiss-ink);
    --dark-mode-secondary-text-color: var(--swiss-muted);
}
body, .dark-mode body { background: var(--swiss-paper); color: var(--swiss-ink); font-family: var(--gh-font-body, var(--font-sans)); }
.site { max-width: 1040px; margin: 0 auto; padding: 0 46px; }
#gh-head { height: auto; min-height: 104px; padding: 26px 0; background: var(--swiss-paper); border-bottom: 4px solid var(--swiss-ink); }
.gh-head-inner { padding: 0; max-width: none; min-height: 48px; gap: 24px; }
.gh-head-logo { font-size: 28px; letter-spacing: -1.5px; line-height: 1.2; }
.gh-head-brand-wrapper { display: block; }
.swiss-domain { display: block; font-size: 12px; color: var(--swiss-muted); line-height: 1.6; margin-top: 4px; }
.gh-head-menu { font-size: 13px; font-weight: 500; }
.gh-head-menu .nav { gap: 24px; }
.gh-head-menu .nav-current a { color: var(--swiss-accent); }
.gh-head-actions { gap: 24px; }
.toggle-track { border: 0; padding: 0; cursor: pointer; }
.site-content { padding-top: 0; }
.swiss-intro { display: grid; grid-template-columns: 1fr 230px; column-gap: 32px; padding: 36px 0 35px; }
.swiss-eyebrow { grid-column: 1 / -1; color: var(--swiss-accent); font-size: 11px; line-height: 1.5; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; margin: 0 0 12px; }
.swiss-intro h1 { font-family: var(--gh-font-heading, var(--font-sans)); font-size: 56px; font-weight: 800; line-height: .98; letter-spacing: -3px; margin: 0; }
.swiss-description { align-self: end; font-size: 13px; line-height: 1.6; color: var(--swiss-muted); margin: 0 0 6px; }
.post-feed { counter-reset: swiss-post; }
.post-feed .swiss-entry { display: grid; grid-template-columns: 32px minmax(0, 1fr) 280px; gap: 20px; margin: 0; padding: 24px 0; border-bottom: 1px solid var(--swiss-line); align-items: center; }
.post-feed .swiss-entry.no-image { grid-template-columns: 32px minmax(0, 1fr); }
.swiss-entry-copy { min-width: 0; }
.swiss-number { font: 13px/1.5 var(--font-mono); color: var(--swiss-accent); padding-top: 3px; align-self: start; }
.swiss-number::before { counter-increment: swiss-post; content: counter(swiss-post, decimal-leading-zero); }
.post-feed .post-header { display: flex; flex-direction: column; gap: 0; }
.post-feed .post-title { font-family: var(--gh-font-heading, var(--font-sans)); font-size: 24px; font-weight: 750; line-height: 1.22; letter-spacing: -.8px; margin: 0 0 10px; }
.post-meta { color: var(--swiss-muted); font: 11px/1.6 var(--font-mono); text-transform: none; letter-spacing: .1px; margin: 0 0 10px; }
.post-meta-item:not(:first-of-type)::before { content: '·'; padding: 0 6px; font-family: inherit; }
.post-tag { color: inherit; }
.post-feed .post-excerpt { font-family: var(--font-sans); font-size: 14px; line-height: 1.55; color: var(--swiss-muted); margin: 0; max-width: 620px; }
.post-feed .post-media { display: block; width: 280px; height: 140px; max-width: 100%; margin: 0; }
.swiss-thumbnail .post-image-link { display: block; width: 100%; height: 100%; background: transparent; }
.swiss-thumbnail .post-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.swiss-comment-row { margin-top: 12px; font: 12px/1.6 var(--font-mono); }
.swiss-comment-row a, .dark-mode .swiss-comment-row a { display: inline-block; color: var(--swiss-accent); }
.swiss-comment-row a:hover { text-decoration: underline; text-underline-offset: 3px; }
.swiss-comment-row span[aria-hidden] { margin-left: 5px; }
#comments { scroll-margin-top: 24px; }
.pagination { padding: 32px 0; margin: 0; color: var(--swiss-muted); font-size: 13px; }
.pagination .page-number { border-color: var(--swiss-line); color: var(--swiss-muted); }
.gh-outer { padding-left: 0; padding-right: 0; }
.gh-foot { padding: 32px 0; margin-top: 16px; font-size: 11px; color: var(--swiss-muted); }
.gh-foot-inner { max-width: none; }
.gh-inner { max-width: none; }
.term { padding: 34px 0; }
.term-name { font-size: 40px; line-height: 1.1; letter-spacing: -1.5px; }
.term-description { color: var(--swiss-muted); font-size: 15px; }
.single-post { margin-top: 40px; margin-bottom: 40px; }
.single-post .article-header { max-width: 720px; margin: 0 auto 25px; text-align: left; display: grid; grid-template-columns: minmax(0, 1fr) 190px; column-gap: 28px; align-items: start; }
.single-post .article-header .post-title { grid-column: 1; grid-row: 1; font-family: var(--font-sans); font-size: 43px; line-height: 1.08; font-weight: 800; letter-spacing: -1.9px; margin: 0 0 18px; }
.single-post .article-header .post-meta { grid-column: 1; grid-row: 2; margin: 0; }
.single-post.no-image .article-header { grid-template-columns: 1fr; }
.single-post .swiss-feature-image { grid-column: 2; grid-row: 1 / span 2; width: 190px; max-width: 190px; margin: 0; }
.single-post .swiss-feature-image img { width: 190px; height: 140px; object-fit: contain; background: var(--swiss-code); }
.swiss-feature-image figcaption { font-size: 11px; line-height: 1.5; color: var(--swiss-muted); text-align: left; margin-top: 6px; }
.gh-canvas { grid-template-columns: [full-start wide-start] minmax(0, 1fr) [main-start] min(720px, 100%) [main-end] minmax(0, 1fr) [wide-end full-end]; column-gap: 0; }
.gh-content { font-size: 17px; line-height: 1.7; }
.gh-content > :first-child { margin-top: 0; }
.gh-content h2 { font-family: var(--gh-font-heading, var(--font-sans)); font-size: 25px; line-height: 1.25; font-weight: 750; letter-spacing: -.6px; }
.gh-content h3 { font-family: var(--gh-font-heading, var(--font-sans)); font-size: 21px; line-height: 1.3; font-weight: 700; }
.gh-content a { color: var(--swiss-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dark-mode .gh-content a:not(.kg-btn):not(.kg-product-card-button):not(.kg-header-card-button) { color: var(--swiss-accent); }
.gh-content pre, .dark-mode .gh-content pre { background: var(--swiss-code); color: var(--swiss-ink); border-left: 4px solid var(--swiss-accent); border-radius: 0; padding: 18px 20px; font: 14px/1.65 var(--font-mono); }
.gh-content .kg-image-card { width: 100%; max-width: 720px; margin-left: auto; margin-right: auto; }
.gh-content .kg-image-card img { max-height: 520px; width: auto; max-width: 100%; object-fit: contain; margin-left: auto; margin-right: auto; }
.gh-content .kg-width-wide, .gh-content .kg-width-full { grid-column: main-start / main-end; max-width: 720px; }
.gh-content figcaption { color: var(--swiss-muted); font-size: 12px; line-height: 1.6; }
.author { margin-top: 38px; padding-top: 24px; border-top: 1px solid var(--swiss-line); }
.gh-comments { margin-top: 40px; }
.related-posts { margin-top: 46px; }
.related-feed { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.related-feed .post-media { margin-bottom: 14px; }
.related-feed .u-placeholder { padding-bottom: 0; height: 110px; }
.related-feed .post-image { position: static; width: 100%; height: 110px; object-fit: contain; background: var(--swiss-code); }
.related-title { color: var(--swiss-muted); }
a:hover { opacity: 1; color: var(--swiss-accent); }
:focus-visible { outline: 2px solid var(--swiss-accent); outline-offset: 4px; }
@media (max-width: 767px) {
    .site { padding: 0 25px; }
    #gh-head { padding: 22px 0; min-height: 95px; }
    .gh-head-logo { font-size: 25px; }
    .swiss-intro { grid-template-columns: 1fr; padding: 30px 0; }
    .swiss-intro h1 { font-size: 46px; letter-spacing: -2px; }
    .swiss-description { margin: 18px 0 0; max-width: 330px; }
    .post-feed .swiss-entry { grid-template-columns: 23px minmax(0, 1fr); gap: 10px; align-items: start; }
    .post-feed .swiss-thumbnail { grid-column: 2; width: min(280px, 100%); height: auto; aspect-ratio: 2 / 1; margin-top: 8px; }
    .single-post .article-header .post-title { font-size: 34px; letter-spacing: -1.2px; }
    .single-post .article-header { grid-template-columns: minmax(0, 1fr) 140px; gap: 16px; }
    .single-post .swiss-feature-image { width: 140px; max-width: 140px; }
    .single-post .swiss-feature-image img { width: 140px; height: 110px; }
    .gh-head-open #gh-head { background: var(--swiss-paper); }
}
@media (max-width: 480px) {
    .site { padding: 0 20px; }
    .swiss-intro h1 { font-size: 40px; }
    .post-feed .swiss-entry { grid-template-columns: 23px minmax(0, 1fr); gap: 10px; padding: 22px 0; }
    .post-feed .swiss-thumbnail { display: block; }
    .post-feed .post-title { font-size: 23px; letter-spacing: -.6px; }
    .post-feed .post-excerpt { font-size: 14px; }
    .post-meta { font-size: 11px; }
    .single-post { margin-top: 30px; }
    .single-post .article-header { grid-template-columns: 1fr; }
    .single-post .article-header .post-title { font-size: 34px; line-height: 1.1; }
    .single-post .swiss-feature-image { grid-column: 1; grid-row: 3; width: 100%; max-width: 100%; margin-top: 6px; }
    .single-post .swiss-feature-image img { width: 100%; height: 150px; }
    .gh-content { font-size: 17px; }
    .gh-content pre { font-size: 13px; padding: 14px 16px; }
    .gh-foot-inner { gap: 18px; }
}
