/* Original content styles. Cards use local HTML, CSS and native media controls. */
.gh-content {
    min-width: 0;
    color: var(--ink);
    font-family: var(--font-body);
    font-size: clamp(1rem, .92rem + .35vw, 1.125rem);
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.gh-content > * { max-width: 100%; margin-block: 0 1.5em; }
.gh-content > :last-child { margin-bottom: 0; }
.gh-content :where(h1, h2, h3, h4, h5, h6) {
    margin-block: 1.8em .65em;
    color: var(--ink);
    font-weight: 500;
    line-height: 1.3;
    text-wrap: balance;
    scroll-margin-top: 6rem;
}
.gh-content h1 { font-size: 2em; }
.gh-content h2 { font-size: 1.65em; }
.gh-content h3 { font-size: 1.35em; }
.gh-content h4 { font-size: 1.15em; }
.gh-content :where(h5, h6) { font-size: 1em; font-weight: 700; }
.gh-content :where(p, ul, ol, dl) { margin-block: 0 1.25em; }
.gh-content :where(ul, ol) { padding-inline-start: 1.5em; }
.gh-content li + li { margin-block-start: .4em; }
.gh-content li > :where(ul, ol) { margin-block: .5em 0; }
.gh-content li > p:last-child { margin-bottom: 0; }
.gh-content dt { font-weight: 700; }
.gh-content dd { margin: .2em 0 1em 1.4em; }
.gh-content a {
    color: var(--accent);
    text-decoration-thickness: .06em;
    text-underline-offset: .2em;
}
.gh-content a:hover { text-decoration-thickness: .12em; }
.gh-content :where(a, summary, audio, video):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}
.gh-content :where(strong, b) { font-weight: 700; }
.gh-content small { font-size: .8em; }
.gh-content :where(sub, sup) { font-size: .75em; line-height: 0; }
.gh-content mark { background: var(--line); color: inherit; padding: .1em .15em; }
.gh-content blockquote {
    margin-inline: 0;
    padding: .3em 0 .3em 1.35em;
    border-inline-start: 2px solid var(--line);
    font-style: italic;
}
.gh-content blockquote > :last-child { margin-bottom: 0; }
.gh-content .kg-blockquote-alt {
    padding: 1em .5em;
    border: 0;
    font-size: 1.4em;
    text-align: center;
}
.gh-content hr { margin-block: 2.5em; border: 0; border-top: 1px solid var(--line); }
.gh-content :where(code, kbd, samp, pre) {
    font-family: var(--font-ui);
    font-size: .86em;
    font-variant-numeric: tabular-nums;
}
.gh-content :where(code, kbd, samp) { padding: .12em .35em; border-radius: .3em; background: var(--surface); }
.gh-content pre {
    padding: 1.1rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--surface);
    overflow-x: auto;
    white-space: pre;
    line-height: 1.65;
    tab-size: 4;
}
.gh-content pre code { padding: 0; background: none; font-size: inherit; }
.gh-content table {
    display: block;
    width: max-content;
    max-width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
    font-size: .9em;
}
.gh-content :where(th, td) { padding: .65em .9em; border: 1px solid var(--line); text-align: start; vertical-align: top; }
.gh-content th { background: var(--surface); font-family: var(--font-ui); font-weight: 600; }
.gh-content caption { padding-bottom: .65em; color: var(--muted); text-align: start; }
.gh-content :where(figure, .kg-card) { min-width: 0; margin-inline: 0; }
.gh-content :where(img, video, iframe) { max-width: 100%; }
.gh-content :where(img, video) { height: auto; border-radius: .65rem; }
.gh-content figure > img, .gh-content figure > a > img { display: block; margin-inline: auto; }
.gh-content figcaption {
    margin-top: .75em;
    color: var(--muted);
    font-family: var(--font-ui);
    font-size: .73em;
    line-height: 1.6;
    text-align: center;
}
.gh-content figcaption > :last-child { margin-bottom: 0; }
.gh-content :where(.kg-width-wide, .kg-width-full) { width: 100%; max-width: 100%; margin-inline: 0; }
.gh-content .kg-image { display: block; max-width: 100%; margin-inline: auto; }
.gh-content .kg-gallery-container { display: flex; flex-direction: column; gap: .6rem; }
.gh-content .kg-gallery-row { display: flex; align-items: stretch; gap: .6rem; }
.gh-content .kg-gallery-image { flex: 1 1 0; min-width: 0; }
.gh-content .kg-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gh-content .kg-bookmark-card { font-family: var(--font-ui); font-size: .85em; line-height: 1.6; }
.gh-content .kg-bookmark-container {
    display: flex;
    min-height: 8rem;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--surface);
    overflow: hidden;
    color: var(--ink);
    text-decoration: none;
}
.gh-content .kg-bookmark-container:hover { border-color: var(--muted); }
.gh-content .kg-bookmark-content { flex: 1 1 65%; min-width: 0; padding: 1rem; }
.gh-content .kg-bookmark-title { font-weight: 600; line-height: 1.4; }
.gh-content .kg-bookmark-description { margin-top: .5em; color: var(--muted); font-size: .9em; }
.gh-content .kg-bookmark-metadata { display: flex; flex-wrap: wrap; align-items: center; gap: .4em .65em; margin-top: .9em; font-size: .8em; }
.gh-content .kg-bookmark-icon { flex: 0 0 1.1rem; width: 1.1rem; height: 1.1rem; border-radius: .2rem; }
.gh-content .kg-bookmark-author { color: var(--ink); }
.gh-content .kg-bookmark-publisher { color: var(--muted); }
.gh-content .kg-bookmark-thumbnail { flex: 0 1 30%; min-width: 0; }
.gh-content .kg-bookmark-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.gh-content :where(.kg-file-card, .kg-audio-card, .kg-product-card, .kg-nft-card, .kg-toggle-card) {
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--surface);
}
.gh-content .kg-file-card { font-family: var(--font-ui); font-size: .85em; }
.gh-content .kg-file-card-container { display: flex; align-items: center; gap: 1rem; color: inherit; text-decoration: none; }
.gh-content .kg-file-card-contents { flex: 1; min-width: 0; }
.gh-content .kg-file-card-title { font-weight: 600; }
.gh-content .kg-file-card-caption { margin-top: .3em; color: var(--muted); }
.gh-content .kg-file-card-metadata { display: flex; flex-wrap: wrap; gap: .4em 1em; margin-top: .5em; }
.gh-content :where(.kg-file-card-filename, .kg-file-card-filesize) { font-size: .8em; color: var(--muted); }
.gh-content :where(.kg-file-card-medium, .kg-file-card-small) { max-width: 100%; }
.gh-content .kg-file-card-icon { display: grid; flex: 0 0 2rem; place-items: center; }
.gh-content .kg-file-card-icon svg { width: 1.5rem; height: 1.5rem; fill: currentColor; }
.gh-content .kg-button-card { display: flex; }
.gh-content .kg-button-card.kg-align-left { justify-content: flex-start; }
.gh-content .kg-button-card.kg-align-center { justify-content: center; }
.gh-content :where(.kg-btn, .kg-header-card-button, .kg-product-card-button) {
    display: inline-block;
    padding: .7em 1.2em;
    border: 1px solid var(--line);
    border-radius: 2rem;
    background: var(--surface);
    color: var(--ink);
    font: 500 .85rem/1.5 var(--font-ui);
    text-align: center;
    text-decoration: none;
}
.gh-content :where(.kg-btn-accent, .kg-product-card-btn-accent) { border-color: var(--muted); }
.gh-content .kg-callout-card { display: flex; align-items: flex-start; gap: .9em; padding: 1.1em; border: 1px solid var(--line); border-radius: .9rem; }
.gh-content .kg-callout-emoji { flex: 0 0 auto; font-style: normal; }
.gh-content .kg-callout-text { min-width: 0; }
.gh-content .kg-callout-text > :last-child { margin-bottom: 0; }
.gh-content :where(.kg-callout-card-grey, .kg-callout-card-white, .kg-callout-card-blue, .kg-callout-card-green, .kg-callout-card-yellow, .kg-callout-card-red, .kg-callout-card-pink, .kg-callout-card-purple, .kg-callout-card-accent) { color: var(--ink); background: var(--surface); }
.gh-content .kg-header-card { position: relative; padding: clamp(1.5rem, 6vw, 3.5rem); border: 1px solid var(--line); border-radius: .9rem; background-position: center; background-size: cover; overflow: hidden; }
.gh-content .kg-header-card-content { position: relative; z-index: 1; }
.gh-content .kg-header-card-text { padding: 1.25rem; border-radius: .7rem; background: var(--surface); }
.gh-content :where(.kg-header-card-heading, .kg-header-card-subheading) { margin-block: 0 1rem; }
.gh-content .kg-header-card-heading { font-size: clamp(1.5rem, 4vw, 2.5rem); }
.gh-content .kg-header-card-subheading { font-size: 1rem; line-height: 1.6; }
.gh-content :where(.kg-header-card.kg-style-dark, .kg-header-card.kg-style-light, .kg-header-card.kg-style-accent) { color: var(--ink); background-color: var(--surface); }
.gh-content .kg-header-card-image { display: block; width: 100%; margin-bottom: 1rem; }
.gh-content details { padding: .9em 1em; border: 1px solid var(--line); border-radius: .8rem; }
.gh-content summary { cursor: pointer; font-family: var(--font-ui); font-size: .9em; }
.gh-content details[open] > summary { margin-bottom: 1em; }
.gh-content details > :last-child { margin-bottom: 0; }
.gh-content .kg-toggle-heading { margin-bottom: .7em; }
.gh-content .kg-toggle-heading-text { margin: 0; font-size: 1.15em; }
.gh-content .kg-toggle-content { display: block; height: auto; visibility: visible; opacity: 1; }
.gh-content .kg-toggle-content > :last-child { margin-bottom: 0; }
.gh-content .kg-toggle-card-icon { display: none; }
.gh-content :where(audio, video) { display: block; width: 100%; }
.gh-content .kg-audio-card { display: grid; grid-template-columns: auto 1fr; gap: .8rem 1rem; align-items: center; }
.gh-content .kg-audio-thumbnail { width: 4rem; height: 4rem; object-fit: cover; }
.gh-content .kg-audio-thumbnail.placeholder { display: none; }
.gh-content .kg-audio-player-container { min-width: 0; }
.gh-content .kg-audio-title { margin: 0; font: 500 1rem/1.5 var(--font-ui); }
.gh-content .kg-audio-card audio { grid-column: 1 / -1; grid-row: 2; }
.gh-content .kg-video-card { overflow: hidden; }
.gh-content .kg-video-container { position: relative; }
.gh-content :where(.kg-audio-player, .kg-video-overlay, .kg-video-large-play-icon, .kg-video-player-container, .kg-video-player, .kg-video-hide) { display: none; }
.gh-content :where(.kg-audio-current-time, .kg-audio-time, .kg-audio-duration, .kg-audio-play-icon, .kg-audio-pause-icon, .kg-audio-seek-slider, .kg-audio-playback-rate, .kg-audio-mute-icon, .kg-audio-unmute-icon, .kg-audio-volume-slider, .kg-video-current-time, .kg-video-time, .kg-video-duration, .kg-video-play-icon, .kg-video-pause-icon, .kg-video-seek-slider, .kg-video-playback-rate, .kg-video-mute-icon, .kg-video-unmute-icon, .kg-video-volume-slider) { display: none; }
.gh-content :where(.kg-product-card-container, .kg-nft-card-container) { color: var(--ink); text-decoration: none; }
.gh-content :where(.kg-product-card-image, .kg-nft-image) { display: block; width: 100%; }
.gh-content :where(.kg-product-card-title-container, .kg-nft-header) { margin-block: 1em .6em; }
.gh-content :where(.kg-product-card-title, .kg-nft-title) { margin: 0; font-size: 1.3em; }
.gh-content :where(.kg-product-card-description, .kg-nft-description) { margin-block: .7em; }
.gh-content :where(.kg-product-card-rating, .kg-nft-metadata, .kg-nft-creator) { font-family: var(--font-ui); font-size: .8em; color: var(--muted); }
.gh-content .kg-product-card-rating-star { width: 1rem; height: 1rem; fill: var(--line); }
.gh-content .kg-product-card-rating-active { fill: var(--ink); }
.gh-content .kg-nft-opensea-logo { display: none; }
.gh-content .kg-before-after-card { display: grid; gap: .8rem; }
.gh-content :where(.kg-before-after-card-image-before, .kg-before-after-card-image-after) { position: static; width: 100%; clip-path: none; }
@media (max-width: 480px) {
    .gh-content .kg-bookmark-container { flex-direction: column; }
    .gh-content .kg-bookmark-thumbnail { flex-basis: auto; }
    .gh-content .kg-bookmark-thumbnail img { max-height: 12rem; }
    .gh-content .kg-gallery-row { flex-wrap: wrap; }
    .gh-content .kg-gallery-image { flex-basis: 40%; }
}
@media print {
    .gh-content { color: #000; font-size: 11pt; line-height: 1.6; }
    .gh-content :where(h1, h2, h3, h4, h5, h6) { color: #000; break-after: avoid; }
    .gh-content :where(p, li) { orphans: 3; widows: 3; }
    .gh-content :where(figure, blockquote, pre, tr, .kg-card) { break-inside: avoid; }
    .gh-content :where(pre, table) { overflow: visible; }
    .gh-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
    .gh-content table { display: table; width: 100%; }
    .gh-content :where(a, figcaption, caption) { color: #000; }
    .gh-content :where(.kg-card, blockquote, pre, th, td, details) { background: transparent; box-shadow: none; border-color: #bbb; }
    .gh-content :where(audio, video, iframe) { display: none; }
    .gh-content details > :not(summary) { display: block; }
}
