:root {
    --desk-radius-sm: 0;
    --desk-radius-lg: 12px;
}

* {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    background: var(--desk-paper);
    color: var(--desk-ink);
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: "Source Serif 4", Georgia, serif;
    background: var(--desk-paper);
    color: var(--desk-ink);
    font-size: 16px;
    line-height: 1.5
}

a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px
}

a:hover {
    color: var(--desk-oxblood)
}

button,
input {
    font: inherit
}

button {
    cursor: pointer
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 3px solid var(--desk-oxblood);
    outline-offset: 3px
}

html,
body {
    overflow-x: clip;
}

.desk-page {
    overflow: visible;
}

.desk-masthead {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 32px 17px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid var(--desk-ink)
}

.desk-brand {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.03em;
    text-decoration: none
}

.desk-brand img {
    display: block;
    max-width: 190px;
    max-height: 38px
}

.desk-kicker {
    margin: 0;
    font-family: "DM Mono", monospace;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 650;
    color: var(--desk-muted)
}

.desk-masthead__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0;
    position: relative;
}

.desk-action {
    border: 0;
    border-left: 1px solid var(--desk-rule);
    border-top: 1px solid transparent;
    border-right: 1px solid transparent;
    background: transparent;
    padding: 4px 13px;
    color: var(--desk-ink);
    font-family: "DM Mono", monospace;
    font-size: 12px;
    position: relative;
    z-index: 51;
    box-sizing: border-box;
    transition: background 0.15s ease, color 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.desk-action:last-child {
    border-right: 1px solid var(--desk-rule)
}

.desk-action[aria-expanded="true"],
.desk-action.is-active,
.desk-action:hover {
    color: var(--desk-oxblood);
}

.desk-action[aria-expanded="true"] {
    background: var(--desk-paper);
    border-left: 1px solid var(--desk-ink);
    border-right: 1px solid var(--desk-ink);
    border-top: 1px solid var(--desk-ink);
    z-index: 60;
}

.desk-action[aria-expanded="true"]::after {
    content: "";
    position: absolute;
    bottom: -18px;
    left: -1px;
    right: -1px;
    height: 20px;
    background: var(--desk-paper);
    z-index: 61;
    border-left: 1px solid var(--desk-ink);
    border-right: 1px solid var(--desk-ink);
}

/* Full Screen Overlay with Zoom & Fade Animation */
.desk-overlay {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: var(--desk-runtime-background-rgba-10-9-8-0-65);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transform: scale(0.96);
    transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease;
}

.desk-overlay.is-open {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/* Mobile & Tablet Pop-up: Center Zoom Animation (< 820px) */
@media (max-width: 819px) {
    .desk-masthead__actions .desk-action:not(.desk-action--theme) {
        display: none;
    }

    .desk-panel {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) scale(0.82);
        z-index: 45;
        width: min(440px, 90vw);
        max-height: calc(100vh - 140px);
        background: var(--desk-paper);
        border: 2px solid var(--desk-ink);
        box-shadow: 0 20px 40px var(--desk-runtime-shadow-rgba-0-0-0-0-35);
        opacity: 0;
        visibility: hidden;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.25s ease;
        overflow-y: auto;
        border-radius: 4px;
        padding: 24px 24px;
    }

    .desk-panel.is-open {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
        visibility: visible;
    }

    /* Fixed Mobile Bottom Nav (Text Only - Editorial Style) */
    .desk-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        z-index: 50;
        background: var(--desk-paper);
        border-top: 2px solid var(--desk-ink);
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        align-items: center;
        box-shadow: 0 -4px 15px var(--desk-runtime-shadow-rgba-0-0-0-0-12);
    }

    .desk-bottom-nav__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        height: 100%;
        background: transparent;
        border: 0;
        border-right: 1px solid var(--desk-rule);
        color: var(--desk-ink);
        font-family: "DM Mono", monospace;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        padding: 6px 4px;
        text-decoration: none;
    }

    .desk-bottom-nav__item:last-child {
        border-right: 0;
    }

    .desk-bottom-nav__item[aria-expanded="true"] {
        color: var(--desk-oxblood);
        background: var(--desk-paper-deep);
    }

    .desk-bottom-nav__icon {
        flex-shrink: 0;
    }

    body {
        padding-bottom: 56px;
    }
}

/* Desktop Dropdown Popups (>= 820px) */
@media (min-width: 820px) {
    .desk-overlay {
        display: none !important;
    }

    .desk-bottom-nav {
        display: none;
    }

    .desk-panel {
        position: fixed;
        top: 70px;
        z-index: 55;
        background: var(--desk-paper);
        border: 1px solid var(--desk-ink);
        box-shadow: 0 16px 36px var(--desk-runtime-shadow-rgba-0-0-0-0-18);
        border-radius: 0 0 2px 2px;
        margin-top: 0;
        transform: translateY(-8px) scale(0.96);
        opacity: 0;
        visibility: hidden;
        transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease, visibility 0.22s ease;
        overflow-y: auto;
        padding: 24px 28px;
    }

    .desk-panel.is-open {
        transform: translateY(0) scale(1);
        opacity: 1;
        visibility: visible;
    }

    .desk-panel[data-desk-panel="browse"] {
        right: max(160px, calc((100vw - 1400px) / 2 + 160px));
        width: 500px;
    }

    .desk-panel[data-desk-panel="search"] {
        right: max(90px, calc((100vw - 1400px) / 2 + 90px));
        width: 420px;
    }

    .desk-panel[data-desk-panel="library"] {
        right: max(32px, calc((100vw - 1400px) / 2 + 32px));
        width: 320px;
    }

    .desk-panel[data-desk-panel="browse"] .desk-category-index {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 18px;
    }

    .desk-panel[data-desk-panel="browse"] .desk-category-index a {
        padding: 10px 12px;
        border: 1px solid var(--desk-rule);
        font-size: 14px;
        border-bottom: 1px solid var(--desk-rule);
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--desk-paper-deep);
        text-decoration: none;
        transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    }

    .desk-panel[data-desk-panel="browse"] .desk-category-index a:hover {
        background: var(--desk-oxblood);
        color: var(--desk-text-on-theme);
        border-color: var(--desk-oxblood);
    }

    .desk-panel[data-desk-panel="browse"] .desk-category-index a.is-active {
        background: var(--desk-oxblood);
        color: var(--desk-text-on-theme);
        border-color: var(--desk-oxblood);
    }
}

@media (min-width: 820px) and (max-width: 1024px) {
    .desk-panel[data-desk-panel="browse"] {
        width: 400px;
    }

    .desk-panel[data-desk-panel="browse"] .desk-category-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.desk-panel__bar {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 2px solid var(--desk-ink);
    padding-bottom: 16px
}

.desk-panel__bar h2 {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 34px;
    font-weight: 400;
    margin: 0
}

.desk-panel__bar button {
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: var(--desk-oxblood)
}

.desk-category-index,
.desk-library-links {
    display: grid;
    margin-top: 18px
}

.desk-category-index a,
.desk-library-links a {
    padding: 13px 0;
    border-bottom: 1px solid var(--desk-rule);
    font-size: 21px;
    text-decoration: none;
    display: flex;
    justify-content: space-between
}

.desk-library-links a {
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
}

.desk-library-icon {
    width: 20px;
    height: 20px;
    color: var(--desk-muted);
    transition: color 0.15s ease;
    flex-shrink: 0;
}

.desk-library-links a:hover .desk-library-icon {
    color: var(--desk-oxblood);
}

.desk-category-index a.is-active {
    color: var(--desk-oxblood);
}

.desk-search-form {
    margin-top: 32px
}

.desk-search-form label {
    display: block;
    margin-bottom: 8px
}

.desk-search-form div {
    display: flex;
    border-bottom: 2px solid var(--desk-ink)
}

.desk-search-form input {
    min-width: 0;
    flex: 1;
    border: 0;
    background: transparent;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 29px;
    padding: 8px 0;
    color: var(--desk-ink);
}

.desk-search-form input::-webkit-search-decoration,
.desk-search-form input::-webkit-search-cancel-button,
.desk-search-form input::-webkit-search-results-button,
.desk-search-form input::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
}

.desk-search-form button {
    border: 0;
    background: var(--desk-oxblood);
    color: var(--desk-text-on-theme);
    padding: 8px 14px
}

.desk-main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px 72px
}

.feature-desk-banner {
    margin: 18px 0
}

.desk-annotation p,
.desk-card__meta,
.desk-entry__header>p:not(.desk-kicker) {
    font-family: "DM Mono", monospace;
    font-size: 12px;
    color: var(--desk-muted);
    margin: 0
}

.desk-watch {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    margin-top: 26px;
    padding: 11px 0;
    border-bottom: 2px solid var(--desk-oxblood);
    color: var(--desk-oxblood);
    font-family: "DM Mono", monospace;
    font-size: 13px;
    font-weight: 650;
    text-decoration: none
}

.desk-watch span {
    font-size: 20px
}

.desk-annotations {
    padding: 30px 0;
    border-bottom: 1px solid var(--desk-ink)
}

.desk-annotations header {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding-bottom: 14px
}

.desk-annotations h2,
.desk-section__title {
    margin: 0;
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
    letter-spacing: -.025em
}

.desk-annotations h2 {
    font-size: 29px
}

.desk-annotation {
    display: grid;
    grid-template-columns: 48px 156px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 13px 0;
    border-top: 1px solid var(--desk-rule)
}

.desk-annotation>span {
    font-family: "DM Mono", monospace;
    color: var(--desk-oxblood);
    font-size: 12px
}

.desk-annotation img {
    display: block;
    width: 156px;
    aspect-ratio: var(--fv-thumb-aspect-ratio);
    object-fit: cover
}

.desk-annotation h3 {
    font-size: 22px;
    line-height: 1.06;
    font-weight: 400;
    margin: 0 0 7px
}

.desk-annotation__read {
    font-family: "DM Mono", monospace;
    font-size: 12px;
    text-decoration: none
}

.desk-section {
    padding: 52px 0 0
}

.desk-section__heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 19px
}

.desk-section__title {
    font-size: clamp(38px, 4vw, 57px);
    line-height: .95;
    margin-top: 7px
}

.desk-section__subtitle {
    margin: 12px 0 0;
    color: var(--desk-muted)
}

.desk-filter {
    display: flex;
    gap: 0;
    border: 1px solid var(--desk-rule)
}

.desk-filter a {
    padding: 7px 9px;
    border-right: 1px solid var(--desk-rule);
    font-family: "DM Mono", monospace;
    font-size: 11px;
    text-decoration: none
}

.desk-filter a:last-child {
    border: 0
}

.desk-filter a[aria-current=page] {
    background: var(--desk-ink);
    color: var(--desk-text-on-ink)
}

.desk-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 35px
}

.desk-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    background: var(--desk-paper-deep)
}

.desk-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: var(--fv-thumb-aspect-ratio);
    object-fit: cover;
    transition: filter .18s ease
}

.desk-card__image:hover img {
    filter: contrast(1.06) brightness(.91)
}

.desk-card__ribbon {
    position: absolute;
    right: 0;
    top: 0;
    background: var(--desk-ink);
    color: var(--desk-text-on-ink);
    padding: 3px 6px;
    font-family: "DM Mono", monospace;
    font-size: 10px
}

.desk-card__body,
.fv-library-list .card__body {
    position: relative;
    padding-top: 9px
}

.desk-card__title,
.fv-library-list .card__title {
    margin: 0;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 600
}

.fv-library-list .card__media {
    position: relative;
    display: block;
    background: var(--desk-paper-deep)
}

.fv-library-list .fv-video-thumb {
    display: block;
    width: 100%;
    aspect-ratio: var(--fv-thumb-aspect-ratio);
    object-fit: cover
}

.fv-library-list > * {
    position: relative;
}

.fv-library-list .card__body {
    position: static;
}

.fv-library-list .card-remove-btn {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    border: 0;
    background: var(--desk-ink);
    color: var(--desk-text-on-ink);
    padding: 4px 6px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.fv-library-list .card-remove-btn:hover {
    background: var(--desk-oxblood);
    color: var(--desk-text-on-theme);
}

.fv-library-list .remove-icon {
    display: block;
    width: 14px;
    height: 14px;
}

.desk-card__meta {
    display: flex;
    gap: 8px;
    margin-top: 7px
}

.desk-card__meta span+span:before {
    content: "·";
    margin-right: 8px;
    color: var(--desk-rule)
}

.desk-empty {
    padding: 28px 0;
    border-top: 1px solid var(--desk-rule);
    color: var(--desk-muted)
}

.desk-pagination {
    margin-top: 42px;
    padding-top: 18px;
    border-top: 2px solid var(--desk-ink);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: "DM Mono", monospace;
    font-size: 12px;
}

.desk-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1px solid var(--desk-ink);
    background: transparent;
    color: var(--desk-ink);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    transition: background 0.2s, color 0.2s;
}

.desk-pagination__btn:hover:not(.is-disabled) {
    background: var(--desk-ink);
    color: var(--desk-text-on-ink);
}

.desk-pagination__btn.is-disabled {
    color: var(--desk-muted);
    border-color: var(--desk-rule);
    cursor: not-allowed;
}

.desk-pagination__numbers {
    display: flex;
    align-items: center;
    gap: 8px;
}

.desk-pagination__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border: 1px solid var(--desk-rule);
    color: var(--desk-ink);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.desk-pagination__item:hover:not(.is-active) {
    border-color: var(--desk-ink);
    color: var(--desk-oxblood);
}

.desk-pagination__item.is-active {
    background: var(--desk-oxblood);
    border-color: var(--desk-oxblood);
    color: var(--desk-text-on-theme);
    font-weight: 700;
}

.desk-pagination__dots {
    color: var(--desk-muted);
    padding: 0 4px;
}

.desk-pagination__state-mobile {
    display: none;
}

@media (max-width: 600px) {
    .desk-pagination__numbers {
        display: flex;
        gap: 4px;
    }
    .desk-pagination__state-mobile {
        display: none;
    }
    .desk-pagination__item {
        min-width: 26px;
        height: 26px;
        font-size: 11px;
    }
    .desk-pagination__btn {
        padding: 6px 8px;
        font-size: 11px;
    }
}

.related-load {
    text-align: center;
    margin-top: 26px
}

.related-load__button {
    border: 1px solid var(--desk-rule);
    border-radius: var(--desk-radius-sm);
    background: var(--desk-paper-deep);
    padding: 8px 16px;
    font-family: "DM Mono", monospace;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 650;
    color: var(--desk-ink);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.related-load__button:hover {
    color: var(--desk-oxblood);
    border-color: var(--desk-oxblood);
    background: var(--desk-paper-deep);
}

.desk-colophon {
    max-width: 1400px;
    margin: 0 auto;
    padding: 26px 32px 44px;
    border-top: 3px solid var(--desk-ink)
}

.desk-colophon__mast {
    display: flex;
    justify-content: space-between;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 27px
}

.desk-colophon__mast p {
    margin: 0
}

.desk-colophon__mast span {
    font-family: "DM Mono", monospace;
    font-size: 11px;
    color: var(--desk-muted)
}

.desk-colophon__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 38px;
    margin-top: 28px
}

.desk-colophon__copy {
    color: var(--desk-muted);
    max-width: 55ch
}

.desk-colophon nav {
    display: grid;
    align-content: start
}

.desk-colophon nav a {
    padding: 4px 0;
    font-size: 15px
}

.desk-colophon__keywords {
    display: flex;
    gap: 10px 16px;
    flex-wrap: wrap;
    border-top: 1px solid var(--desk-rule);
    margin-top: 31px;
    padding-top: 14px
}

.desk-colophon__keywords .desk-kicker {
    width: 100%
}

.desk-colophon__keywords a {
    font-size: 13px
}

.desk-entry {
    padding-top: 48px
}

.desk-entry__header {
    border-bottom: 1px solid var(--desk-ink);
    padding-bottom: 22px
}

.desk-entry__header h1 {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(42px, 5vw, 70px);
    line-height: .96;
    font-weight: 400;
    letter-spacing: -.04em;
    margin: 12px 0
}

.desk-player {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--desk-runtime-background-hex-0a0908);
    margin: 22px 0
}

.desk-player iframe {
    border: 0;
    width: 100%;
    height: 100%
}

.desk-player>div {
    display: grid;
    height: 100%;
    place-items: center;
    color: var(--desk-text-on-theme);
}

.desk-entry__details {
    max-width: 880px
}

.desk-entry__actions,
.desk-servers,
.desk-entry__links {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0
}

.desk-entry__actions button,
.desk-servers button {
    font-family: "DM Mono", monospace;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 650;
    padding: 8px 16px;
    border: 1px solid var(--desk-rule);
    background: var(--desk-paper-deep);
    color: var(--desk-ink);
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    border-radius: var(--desk-radius-sm);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.desk-entry__actions button .desk-library-icon {
    width: 14px;
    height: 14px;
    color: inherit;
}

.desk-entry__actions button:hover,
.desk-servers button:hover {
    color: var(--desk-oxblood);
    border-color: var(--desk-oxblood);
}

.desk-entry__actions button[aria-pressed=true],
.desk-servers button.is-active {
    background: var(--desk-oxblood);
    color: var(--desk-text-on-theme);
    border-color: var(--desk-oxblood);
}

.desk-entry__actions button[aria-pressed=true]:hover,
.desk-servers button.is-active:hover {
    background: var(--desk-oxblood);
    color: var(--desk-text-on-theme);
    border-color: var(--desk-oxblood);
    opacity: 0.88;
}

.desk-entry__links a {
    font-family: "DM Mono", monospace;
    font-size: 12px;
    color: var(--desk-oxblood)
}

.desk-entry__overview {
    max-height: 160px;
    overflow: hidden;
    margin-top: 22px;
    line-height: 1.65
}

.desk-entry__overview.is-expanded {
    max-height: none
}

.desk-overview-toggle {
    border: 0;
    border-bottom: 1px solid var(--desk-ink);
    padding: 4px 0;
    background: transparent;
    margin-top: 8px;
    color: var(--desk-oxblood);
    font-size: 13px
}

.desk-not-found {
    padding: 100px 0;
    max-width: 620px
}

.desk-not-found h1 {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 60px;
    line-height: .98;
    font-weight: 400;
    margin: 13px 0
}

.desk-not-found p:not(.desk-kicker) {
    color: var(--desk-muted)
}


@media (prefers-reduced-motion:reduce) {
    * {
        scroll-behavior: auto !important;
        animation-duration: 1ms !important;
        transition-duration: 1ms !important
    }
}

@media (max-width:820px) {
    .desk-masthead {
        padding: 16px 20px;
        grid-template-columns: 1fr auto
    }

    .desk-main {
        padding: 0 20px 54px
    }


    .desk-annotation {
        grid-template-columns: 28px 110px 1fr;
        gap: 11px
    }

    .desk-annotation img {
        width: 110px
    }

    .desk-annotation h3 {
        font-size: 17px
    }

    .desk-annotation__read {
        display: none
    }

    .desk-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 26px 12px
    }

    .desk-colophon {
        padding: 24px 20px 35px
    }

    .desk-colophon__grid {
        grid-template-columns: 1fr 1fr;
        gap: 27px
    }

    .desk-colophon__grid>div {
        grid-column: 1/-1
    }

    .desk-entry {
        padding-top: 28px
    }
}

@media (max-width:520px) {
    .desk-masthead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px
    }

    .desk-brand {
        font-size: 22px
    }

    .desk-masthead__actions {
        gap: 0
    }

    .desk-action {
        padding: 3px 6px;
        font-size: 10px
    }

    .desk-action--library {
        display: inline-block
    }

    .desk-panel {
        padding: 22px 20px
    }

    .desk-main {
        padding: 0 15px 44px
    }


    .desk-annotations {
        padding: 24px 0
    }

    .desk-annotation {
        grid-template-columns: 28px 90px 1fr
    }

    .desk-annotation img {
        width: 90px
    }

    .desk-annotation p {
        font-size: 10px
    }

    .desk-section {
        padding-top: 38px
    }

    .desk-section__heading {
        display: block
    }

    .desk-filter {
        margin-top: 18px;
        width: max-content
    }

    .desk-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 10px
    }

    .desk-card__title {
        font-size: 16px
    }

    .desk-card__meta {
        display: block;
        font-size: 10px
    }

    .desk-card__meta span+span:before {
        display: none
    }

    .desk-card__meta span {
        margin-right: 5px
    }

    .desk-colophon {
        padding: 24px 15px 32px
    }

    .desk-colophon__grid {
        display: block
    }

    .desk-colophon nav {
        margin-top: 23px
    }

    .desk-entry__header h1 {
        font-size: 44px
    }

    .desk-pagination {
        font-size: 11px
    }

    .desk-pagination__btn {
        padding: 6px 12px;
    }

    .desk-pagination__item {
        min-width: 28px;
        height: 28px;
    }


    .desk-watch {
        margin-top: 18px
    }
}

/* Consolidated Palette & Theme Customizations */
.desk-masthead {
    border-top: 6px solid var(--desk-oxblood);
    position: sticky;
    top: 0;
    z-index: 15;
    background: var(--desk-paper);
    transition: background 0.25s ease;
}


.desk-colophon {
    background: var(--desk-paper-deep);
    border-top: 1px solid var(--desk-rule);
    color: var(--desk-ink);
}

.desk-colophon__mast span,
.desk-colophon__copy {
    color: var(--desk-muted);
}

.desk-colophon__keywords {
    border-top-color: var(--desk-rule);
}


.desk-search-form {
    position: relative;
}

.desk-search-form .desk-search-suggestions {
    position: relative;
    z-index: 22;
    margin-top: 16px;
    display: grid;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid var(--desk-ink);
    background: var(--desk-paper);
    box-shadow: 8px 8px 0 var(--desk-runtime-shadow-rgba-26-23-22-0-16);
}

.desk-search-form .desk-search-suggestions[hidden] {
    display: none;
}

.desk-search-form .desk-search-suggestion {
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid var(--desk-rule);
    background: transparent;
    color: var(--desk-ink);
    text-align: left;
}

.desk-search-form .desk-search-suggestion:last-child {
    border-bottom: 0;
}

.desk-search-form .desk-search-suggestion:hover,
.desk-search-form .desk-search-suggestion:focus-visible {
    background: var(--desk-paper-deep);
    color: var(--desk-oxblood);
}



.age-gate {
    background: var(--desk-runtime-background-rgba-26-23-22-0-94) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
}

.age-gate__content {
    background: var(--desk-paper) !important;
    border: 2px solid var(--desk-ink) !important;
    border-radius: 0 !important;
    box-shadow: 10px 10px 0 var(--desk-oxblood) !important;
    color: var(--desk-ink) !important;
    font-family: "Source Serif 4", Georgia, serif !important;
}

.age-gate--active .age-gate__content {
    transform: scale(1) !important;
    opacity: 1 !important;
}

.age-gate__badge {
    text-align: center !important;
    line-
display: inline-flex !important; align-items: center !important; justify-content: center !important; 
    border-color: var(--desk-oxblood) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--desk-oxblood) !important;
    font-family: "DM Mono", monospace !important;
}

.age-gate__title {
    color: var(--desk-ink) !important;
    font-family: "DM Serif Display", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
}

.age-gate__desc {
    color: var(--desk-muted) !important;
}

.age-gate__btn {
    background: var(--desk-oxblood) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--desk-text-on-theme) !important;
    font-family: "DM Mono", monospace !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
}

.age-gate__btn:hover {
    background: var(--desk-ink) !important;
    color: var(--desk-text-on-ink) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Standardized Theme Tokens & Transition */
html,
body,
.desk-masthead,
.desk-colophon,
.desk-panel,
.desk-sidebar-viral,
.desk-card__image,
.desk-bottom-nav,
.desk-policy-card,
.desk-policy-form {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}



html[data-theme="dark"],
html[data-theme="dark"] body {
    background-color: var(--desk-paper);
    color: var(--desk-ink);
}

html[data-theme="light"],
html[data-theme="light"] body {
    background-color: var(--desk-paper);
    color: var(--desk-ink);
}

/* Theme Toggle Button */
.desk-action--theme {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 1;
}

.desk-action--theme svg {
    display: block;
}

.desk-action--theme .desk-icon-sun {
    display: none;
}

.desk-action--theme .desk-icon-moon {
    display: inline-block;
}

html[data-theme="dark"] .desk-action--theme .desk-icon-sun {
    display: inline-block;
}

html[data-theme="dark"] .desk-action--theme .desk-icon-moon {
    display: none;
}

/* Ensure Ads Banner Centering */
.feature-desk-banner,
.fv-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.fv-banner>*,
.fv-banner img,
.fv-banner iframe,
.fv-banner a {
    margin-left: auto;
    margin-right: auto;
}

/* Card Title Uniform 2-Line Height */
.desk-card__title,
.fv-library-list .card__title,
.desk-card .fv-video-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 17px;
    line-height: 1.35;
    height: 2.7em;
    margin: 0;
}

@media (max-width: 520px) {

    .desk-card__title,
    .fv-library-list .card__title,
    .desk-card .fv-video-title {
        font-size: 15px;
        line-height: 1.3;
        height: 2.6em;
    }
}

/* Meta Items with Solid SVG Icons */
.desk-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.desk-meta-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    opacity: 0.8;
}

.desk-card__meta,
.desk-entry__header>p,
.desk-annotation p {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.desk-card__meta span+span:before {
    display: none;
}
/* Policy and static records */
.desk-policy-shell{width:100%;padding:clamp(2rem,5vw,5rem) 1rem}.desk-policy-card{width:100%;max-width:940px;margin:0 auto;padding:clamp(1.25rem,4vw,3rem);color:var(--desk-ink);background:var(--desk-paper-deep);border:1px solid var(--desk-rule);border-radius:var(--desk-radius-lg);}.desk-policy-tab{display:inline-block;margin:0 0 1rem;padding:.4rem .65rem;color:var(--desk-text-on-theme);background:var(--desk-oxblood);font-size:.72rem;font-weight:700;letter-spacing:.1em}.desk-policy-card h1{margin:0 0 2rem;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1}.desk-policy-card h2{margin:2.2rem 0 .7rem;padding-bottom:.5rem;color:var(--desk-oxblood);border-bottom:1px solid var(--desk-rule)}.desk-policy-card p,.desk-policy-card li{color:var(--desk-muted);line-height:1.8}.desk-policy-card a{color:var(--desk-oxblood);font-weight:700;text-decoration:underline}.desk-policy-note{margin:1.5rem 0;padding:1rem;border-left:4px solid var(--desk-oxblood)}.desk-policy-form{width:100%;max-width:720px;margin:2rem auto 0;padding:clamp(1rem,3vw,1.75rem);background:var(--desk-paper-deep);border:1px solid var(--desk-rule);border-radius:var(--desk-radius-lg);}.desk-policy-form fieldset{margin:0;padding:0;border:0}.desk-policy-form legend{margin-bottom:1rem;font-weight:700}.desk-form-grid{display:grid;gap:1rem}.desk-policy-field{display:grid;gap:.4rem}.desk-policy-field input,.desk-policy-field textarea,.desk-policy-field select{width:100%;min-height:46px;padding:.75rem;color:var(--desk-ink);background-color:var(--desk-paper-deep);border:1px solid var(--desk-rule);font:inherit}.desk-policy-field textarea{min-height:150px;resize:vertical}.desk-policy-field select{appearance:none;padding-right:2.8rem;background-image:var(--desk-select-arrow);background-position:right .9rem center;background-repeat:no-repeat}.desk-policy-check{display:flex;gap:.7rem;align-items:flex-start;color:var(--desk-muted)}.desk-policy-submit{min-height:46px;margin-top:1rem;padding:.75rem 1rem;color:var(--desk-text-on-theme);background:var(--desk-oxblood);border:1px solid var(--desk-oxblood);font-weight:700}.desk-policy-status{min-height:1.5rem}.desk-policy-table-wrap{margin:1.5rem 0;overflow-x:auto;border:1px solid var(--desk-rule)}.desk-policy-table{width:100%;min-width:680px;border-collapse:collapse}.desk-policy-table caption{padding:.8rem;color:var(--desk-text-on-theme);background:var(--desk-oxblood);text-align:left;font-weight:700}.desk-policy-table th,.desk-policy-table td{padding:.75rem;border:1px solid var(--desk-rule);text-align:left}.desk-policy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;max-width:940px;margin:1.5rem auto}.desk-policy-links a{color:var(--desk-oxblood);font-size:.72rem}@media(min-width:680px){.desk-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-field-wide{grid-column:1/-1}}

/* Scroll Lock when Panel Open */
html.is-locked,
body.is-locked {
    overflow: hidden !important;
    height: 100% !important;
}

/* Viral Sidebar Layout */
@media (min-width: 820px) {
    .desk-section__content--has-sidebar {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(280px, 1.1fr);
        gap: 36px;
        align-items: start;
    }
    .desk-section__content--has-sidebar .desk-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .desk-section__sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 96px;
        z-index: 10;
    }
}

@media (max-width: 819px) {
    .desk-section__content--has-sidebar {
        display: block;
    }
    .desk-section__sidebar {
        margin-top: 48px;
    }
}

/* Sidebar Viral styles */
.desk-sidebar-viral {
    background: var(--desk-paper-deep);
    border: 1px solid var(--desk-rule);
    padding: 24px;
    box-sizing: border-box;
}

.desk-sidebar-viral__title-wrap {
    border-bottom: 2px solid var(--desk-ink);
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.desk-sidebar-viral__title {
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
    margin: 0;
    color: var(--desk-ink);
}

.desk-sidebar-viral__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.desk-sidebar-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 12px;
    align-items: start;
}

.desk-sidebar-item__image {
    display: block;
    position: relative;
    background: var(--desk-paper);
}

.desk-sidebar-item__image img {
    display: block;
    width: 100%;
    aspect-ratio: var(--fv-thumb-aspect-ratio);
    object-fit: cover;
}

.desk-sidebar-item__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.desk-sidebar-item__title {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 600;
    margin: 0;
}

.desk-sidebar-item__title a {
    color: var(--desk-ink);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.desk-sidebar-item__title a:hover {
    color: var(--desk-oxblood);
}

.desk-sidebar-item__meta {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-family: "DM Mono", monospace;
    font-size: 10px;
    color: var(--desk-muted);
}

/* Sidebar Ad & Backlinks */
.desk-sidebar-ad {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    border-top: 1px dashed var(--desk-rule);
    padding-top: 24px;
}

.desk-sidebar-backlinks {
    margin-top: 28px;
    border-top: 1px dashed var(--desk-rule);
    padding-top: 24px;
}

.desk-sidebar-backlinks__title {
    font-family: "DM Mono", monospace;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 650;
    color: var(--desk-muted);
    margin: 0 0 14px;
}

.desk-sidebar-backlinks__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.desk-sidebar-backlinks__list li {
    display: inline-block;
}

.desk-sidebar-backlinks__list a {
    font-family: "Source Serif 4", Georgia, serif;
    font-size: 13px;
    color: var(--desk-ink);
    text-decoration: underline;
}

.desk-sidebar-backlinks__list a:hover {
    color: var(--desk-oxblood);
}
