/* Board and Library presentation lives in curator_roots.css. */
:root {
    --curator-ink: #1d1d1b;
    --curator-muted: #6b6a64;
    --curator-utility-ink: #3f3c39;
    --curator-line: #d9d6ce;
    --curator-accent: #b63825;
    --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

body.dark-mode {
    --curator-utility-ink: #e7e3db;
}

body.curator-new-page {
    --content-max-width: none;
    background: var(--curator-paper);
    color: var(--curator-ink);
}

/* Preserve the final type layout while brand fonts load, with a quiet paper-toned
   shimmer in place of the gated glyphs. */
.curator-font-skeleton {
    position: relative;
}

body.rhune-font-pending .curator-font-skeleton.rhune-font-ready,
.curator-board-shell.is-font-pending .curator-font-skeleton.rhune-font-ready {
    color: transparent !important;
    opacity: 1;
    text-shadow: none !important;
}

body.rhune-font-pending .curator-font-skeleton::after,
.curator-board-shell.is-font-pending .curator-font-skeleton::after {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.62em;
    border-radius: 2px;
    background: var(--rh-skeleton-shimmer);
    background-size: 220% 100%;
    content: "";
    pointer-events: none;
    transform: translateY(-50%);
    animation: curator-font-shimmer 1.65s ease-in-out infinite;
}

body.rhune-font-pending .curator-font-skeleton--location {
    display: inline-block;
    min-width: 5ch;
}

body.rhune-font-pending .curator-font-skeleton--foreword::after {
    top: 0.14em;
    width: min(92%, 22rem);
    height: calc(100% - 0.28em);
    transform: none;
}

@media (min-width: 1101px) {
    body.rhune-font-pending .curator-entry-add-label.curator-font-skeleton {
        display: inline-block;
    }
}

@keyframes curator-font-shimmer {
    from { background-position: 180% 0; }
    to { background-position: -120% 0; }
}

@media (prefers-reduced-motion: reduce) {
    body.rhune-font-pending .curator-font-skeleton::after,
    .curator-board-shell.is-font-pending .curator-font-skeleton::after {
        animation: none;
    }
}

/* Curator notifications live above the cached shell surfaces. */
.header-actions--account {
    gap: 0.22rem;
    top: 55%;
}

.curator-header-action {
    position: relative;
    display: inline-grid;
    width: 34px;
    height: 34px;
    box-sizing: border-box;
    flex: 0 0 34px;
    align-self: center;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: var(--curator-utility-ink);
    cursor: pointer;
    touch-action: manipulation;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.curator-header-action > svg {
    display: block;
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-header-action:focus,
.curator-header-action:focus-visible {
    outline: none;
    box-shadow: none;
}

.curator-header-menu-trigger > svg {
    width: 21px;
    height: 21px;
}

.curator-header-static-mark,
.curator-header-brand-mark {
    display: none;
}

.curator-header-section-title {
    display: none;
}

.curator-search-trigger > svg {
    width: 22px;
    height: 22px;
}

.curator-notification-trigger {
    position: relative;
}

.curator-notification-trigger > svg {
    width: 22px;
    height: 22px;
}

.curator-notification-dot {
    position: absolute;
    right: 2px;
    bottom: 3px;
    width: 6px;
    height: 6px;
    border: 1.5px solid var(--curator-paper);
    border-radius: 50%;
    background: #b83b32;
}

.curator-notification-dot[hidden] {
    display: none;
}

.curator-notification-trigger.has-new-arrival .curator-notification-dot {
    animation: curator-notification-dot-in 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes curator-notification-dot-in {
    0% { opacity: 0; transform: scale(0.35); }
    55% { opacity: 1; transform: scale(1.35); }
    100% { opacity: 1; transform: scale(1); }
}

@media (hover: hover) and (pointer: fine) {
    .curator-header-action:hover {
        color: #211f1c;
        background: rgba(38, 36, 32, 0.045);
    }
}

body.curator-entry-page .curator-shell-base-actions,
body.curator-profile-detail-page .curator-shell-base-actions,
body.curator-artist-detail-page .curator-shell-base-actions,
body.curator-manage-detail-page .curator-shell-base-actions {
    display: none;
}

body.curator-manage-detail-page .site-header .branding-link {
    visibility: hidden;
}

/* Below the desktop-sidebar breakpoint, the Profile root uses the Rhune mark
   as its account/menu control and detail pages use the same quiet, translucent
   control language for back and overflow actions. Read the live shell section,
   rather than the cold-load body class, because native tab navigation keeps the
   owning document alive. Board, Library and canonical artist wrappers retain
   their original header chrome. */
@media (max-width: 1100px) {
    body.curator-app-shell-page.curator-app-nav-page:not(.curator-artist-detail-page)
        .site-header .branding-link {
        visibility: hidden;
        pointer-events: none;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions {
        right: max(0.72rem, env(safe-area-inset-right, 0px));
        left: max(0.72rem, env(safe-area-inset-left, 0px));
        width: auto;
        justify-content: flex-end;
        gap: 0.18rem;
        pointer-events: none;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions > * {
        pointer-events: auto;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-header-menu-trigger,
    body.curator-app-shell-page .site-header .curator-header-static-mark {
        position: absolute;
        top: 50%;
        left: 0;
        background: rgba(143, 116, 78, 0.065);
        color: #242220;
        -webkit-backdrop-filter: blur(12px) saturate(0.85);
        backdrop-filter: blur(12px) saturate(0.85);
        transform: translateY(-50%);
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-header-menu-trigger > svg {
        display: none;
    }



    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header :is(.curator-search-trigger, .curator-notification-trigger) {
        background: rgba(143, 116, 78, 0.065);
        -webkit-backdrop-filter: blur(12px) saturate(0.85);
        backdrop-filter: blur(12px) saturate(0.85);
        color: var(--curator-utility-ink);
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header :is(.curator-search-trigger, .curator-notification-trigger) > svg {
        width: 22px;
        height: 22px;
        stroke-width: 1.5;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-notification-dot {
        right: 1px;
        bottom: 2px;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions .header-menu {
        position: absolute;
        z-index: 40;
        display: flex;
        top: calc(100% + 0.35rem);
        right: auto;
        left: calc(0px - max(0.72rem, env(safe-area-inset-left, 0px)));
        width: min(72vw, 258px);
        min-width: 0;
        padding: 0.58rem 0.64rem 0.66rem;
        gap: 0.08rem;
        border: 1px solid rgba(48, 44, 39, 0.11);
        border-left: 0;
        border-radius: 0 16px 16px 0;
        background: color-mix(in srgb, var(--curator-paper) 94%, transparent);
        color: #242220;
        box-shadow: 12px 18px 42px rgba(36, 32, 27, 0.13);
        opacity: 0;
        visibility: hidden;
        transform: translate3d(calc(-100% - 10px), 0, 0);
        transform-origin: left center;
        transition:
            transform 0.26s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.18s ease,
            visibility 0s linear 0.26s;
        -webkit-backdrop-filter: blur(18px) saturate(0.9);
        backdrop-filter: blur(18px) saturate(0.9);
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions.is-open .header-menu {
        opacity: 1;
        visibility: visible;
        transform: translate3d(0, 0, 0);
        transition-delay: 0s;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions .header-menu-link {
        min-height: 46px;
        padding: 0 0.78rem;
        border-radius: 8px;
        color: #292623;
        font: 500 0.72rem/1.2 var(--rh-sans);
        letter-spacing: 0.055em;
        text-transform: none;
        transform: none;
        transition: background-color 0.16s ease, color 0.16s ease;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions button.header-menu-link {
        color: #292623;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions .header-menu-link:is(:hover, :focus-visible) {
        background: rgba(48, 44, 39, 0.055);
        color: #171614;
        transform: none;
    }

    html.rhune-native-ios .site-header .curator-shell-base-actions .header-menu {
        display: none !important;
    }
}

@media (max-width: 1100px) {
    body.curator-app-shell-page:has(
        .curator-app-shell:is(
            [data-curator-app-section="board"],
            [data-curator-app-section="library"]
        )
    ) .site-header .curator-shell-base-actions {
        top: 50%;
        right: max(1.12rem, env(safe-area-inset-right, 0px));
        left: max(0.72rem, env(safe-area-inset-left, 0px));
        width: auto;
        justify-content: flex-end;
    }

    body.curator-app-shell-page:has(
        .curator-app-shell:is(
            [data-curator-app-section="board"],
            [data-curator-app-section="library"]
        )
    ) .site-header .curator-shell-base-actions > :not(.curator-header-section-title):not(.curator-header-static-mark) {
        display: none;
    }

    body.curator-app-shell-page:has(
        .curator-app-shell:is(
            [data-curator-app-section="board"],
            [data-curator-app-section="library"]
        )
    ) .site-header .curator-header-section-title {
        display: block;
        margin: 0 -0.12em 0 0;
        transform: translateY(0.32rem);
        white-space: nowrap;
    }

    .curator-header-section-title > span {
        display: none;
    }

    body.curator-app-shell-page:has(
        .curator-app-shell[data-curator-app-section="board"]
    ) .curator-header-section-title > [data-curator-header-section-title="board"],
    body.curator-app-shell-page:has(
        .curator-app-shell[data-curator-app-section="library"]
    ) .curator-header-section-title > [data-curator-header-section-title="library"] {
        display: inline;
    }

    /* All three roots share You's mark geometry; only You is a menu control. */
    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header :is(.curator-header-menu-trigger, .curator-search-trigger, .curator-notification-trigger),
    body.curator-app-shell-page .site-header .curator-header-static-mark {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
        flex-basis: 40px;
        display: grid;
        place-items: center;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-header-brand-mark,
    body.curator-app-shell-page .site-header .curator-header-static-mark .curator-header-brand-mark {
        display: block;
        width: auto;
        height: 18px;
        opacity: 0.86;
    }

    body.curator-app-shell-page .site-header .curator-header-static-mark {
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        cursor: default;
        pointer-events: none;
    }

    body.curator-app-shell-page:not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"]))) .site-header .curator-header-static-mark {
        display: none;
    }
}

@media (max-width: 1100px) and (prefers-reduced-motion: reduce) {
    body.curator-app-shell-page:not(.curator-artist-detail-page):not(:has(.curator-app-shell:is([data-curator-app-section="board"], [data-curator-app-section="library"])))
        .site-header .curator-shell-base-actions .header-menu {
        transition: none;
    }
}

.curator-search {
    position: fixed;
    inset: calc(env(safe-area-inset-top) + 4.65rem) 0 auto;
    width: min(calc(100% - 1.2rem), 460px);
    height: min(72dvh, 525px);
    max-width: none;
    max-height: none;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border: 0.5px solid rgba(38, 35, 31, 0.16);
    border-radius: 12px;
    background: var(--curator-paper);
    color: #292724;
    box-shadow: 0 22px 65px rgba(29, 26, 22, 0.18);
}

.curator-search[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    animation: none;
}

.curator-search::backdrop {
    background: rgba(31, 29, 25, 0.13);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.curator-search__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 1.3rem 1.45rem 1.05rem;
    border-bottom: 0.5px solid rgba(31, 30, 28, 0.09);
}

.curator-search__header > div {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
}

.curator-search__header h2.rhune-index-title {
    margin: 0;
    color: rgba(12, 12, 11, 0.9);
    font: 500 0.68rem/1 var(--rh-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

.curator-search__header button {
    flex: 0 0 auto;
    margin-top: 0.08rem;
    padding: 0 0 0.26rem;
    border: 0;
    border-bottom: 1px solid rgba(36, 34, 32, 0.25);
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: #77736d;
    font: 500 0.5rem/1.2 var(--rh-sans);
    letter-spacing: 0.13em;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.curator-search__header button:focus,
.curator-search__header button:focus-visible {
    border-bottom-color: rgba(36, 34, 32, 0.42);
    outline: none;
    box-shadow: none;
}

.curator-search__body {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    padding-top: 0.35rem;
    overflow: hidden;
}

.curator-search__field {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 1.1rem;
    border-bottom: 1px solid rgba(37, 34, 30, 0.28);
}

.curator-search__field:focus-within {
    border-bottom-color: rgba(37, 34, 30, 0.72);
}

.curator-search__field > svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-right: 0.7rem;
    fill: none;
    stroke: rgba(42, 39, 35, 0.66);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-search__field input {
    width: 100%;
    min-width: 0;
    height: 3.55rem;
    padding: 0 2rem 0 0;
    border: 0;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: #292724;
    font: 400 1.34rem/1.1 "Cormorant Garamond", Georgia, serif;
    letter-spacing: 0.005em;
}

.curator-search__field input::placeholder {
    color: rgba(76, 71, 65, 0.42);
    opacity: 1;
}

.curator-search__field input:focus {
    outline: none;
}

.curator-search__field input::-webkit-search-cancel-button {
    display: none;
}

.curator-search__activity {
    position: absolute;
    right: 0.2rem;
    width: 13px;
    height: 13px;
    box-sizing: border-box;
    border: 1px solid rgba(46, 43, 39, 0.18);
    border-top-color: rgba(46, 43, 39, 0.72);
    border-radius: 50%;
    animation: curator-search-spin 650ms linear infinite;
}

.curator-search__activity[hidden] {
    display: none;
}

@keyframes curator-search-spin { to { transform: rotate(360deg); } }

.curator-search__results {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.55rem 0 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.curator-search__result {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    min-height: 64px;
    box-sizing: border-box;
    padding: 0.58rem 1.1rem;
    color: inherit;
    text-decoration: none;
    transition: background-color 130ms ease;
    animation: curator-search-result-in 210ms cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--search-result-index, 0) * 18ms);
}

@keyframes curator-search-result-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.curator-search__result.is-active {
    background: rgba(218, 212, 202, 0.34);
}

.curator-search__image {
    position: relative;
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    overflow: hidden;
    border-radius: 3px;
    background: #ded9d0;
    color: rgba(54, 50, 45, 0.68);
    font: 500 1.08rem/1 "Cormorant Garamond", Georgia, serif;
}

.curator-search__result--curator .curator-search__image {
    border-radius: 50%;
}

.curator-search__image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 230ms ease;
}

.curator-search__image img.is-loaded {
    opacity: 1;
}

.curator-search__copy {
    display: grid;
    min-width: 0;
    gap: 0.18rem;
}

.curator-search__name {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 0.3rem;
    color: #292724;
    font: 500 1.04rem/1.2 var(--rh-sans);
}

.curator-search__name > span:first-child {
    overflow: hidden;
    padding: 0.08em 0 0.14em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.curator-search__verified {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    color: var(--verified-color, #9a8460);
}

.curator-search__result--curator .curator-search__verified {
    display: none;
}

.curator-search__meta {
    overflow: hidden;
    color: rgba(71, 66, 60, 0.52);
    font: 500 0.5rem/1.15 var(--rh-sans);
    letter-spacing: 0.105em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.curator-search__result--curator .curator-search__meta {
    color: #8a857d;
    font: 400 0.72rem/1.2 "Cormorant Garamond", Georgia, serif;
    letter-spacing: -0.038em;
    text-transform: none;
}

.curator-search__skeleton {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    min-height: 64px;
    box-sizing: border-box;
    padding: 0.58rem 1.1rem;
}

.curator-search__skeleton-avatar,
.curator-search__skeleton-line {
    background: var(--rh-skeleton-shimmer);
    background-size: 220% 100%;
    animation: curator-search-skeleton 1.25s ease-in-out infinite;
}

.curator-search__skeleton-avatar {
    width: 43px;
    height: 43px;
    border-radius: 50%;
}

.curator-search__skeleton-copy {
    display: grid;
    gap: 0.55rem;
}

.curator-search__skeleton-line {
    width: min(58%, 170px);
    height: 8px;
    border-radius: 2px;
}

.curator-search__skeleton-line:last-child {
    width: min(36%, 105px);
    height: 5px;
    opacity: 0.72;
}

@keyframes curator-search-skeleton {
    from { background-position: 180% 0; }
    to { background-position: -120% 0; }
}

.curator-search__message {
    grid-row: 2;
    align-self: center;
    margin: 0;
    padding: 2.7rem 1.5rem 3.1rem;
    color: rgba(74, 69, 63, 0.52);
    font: 400 1rem/1.35 var(--rh-sans);
    text-align: center;
}

.curator-search__message[hidden] {
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .curator-search__result:hover {
        background: rgba(218, 212, 202, 0.26);
    }

    .curator-search__header button:hover {
        color: #211f1c;
    }
}

@media (hover: none), (pointer: coarse) {
    .curator-search__result {
        transition: none;
        -webkit-tap-highlight-color: transparent;
    }
}

@media (max-width: 540px) {
    .curator-search {
        inset: calc(env(safe-area-inset-top) + 4.35rem) 0 auto;
        width: calc(100% - 0.8rem);
        height: min(68dvh, 510px);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 9.5rem);
        margin: 0 auto;
        border-radius: 10px;
    }

    .curator-search__field input {
        height: 3.35rem;
        font-size: 1.24rem;
    }

    .curator-search__result {
        grid-template-columns: 41px minmax(0, 1fr);
    }

    .curator-search__image {
        width: 41px;
        height: 41px;
    }
}

/* Connections are a navigation destination in the iOS shell, matching Search
   and Notifications while retaining the Followers/Following switch. */
html.rhune-native-ios .curator-connections-dialog {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: var(--curator-paper);
    box-shadow: none;
}

html.rhune-native-ios .curator-connections-dialog[open] {
    animation: curator-native-page-in 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

html.rhune-native-ios .curator-connections-dialog::backdrop {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

html.rhune-native-ios .curator-connections-frame {
    width: 100%;
    height: 100%;
    max-height: none;
}

html.rhune-native-ios .curator-connections-header {
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: calc(env(safe-area-inset-top) + 4.25rem);
    box-sizing: border-box;
    align-items: center;
    gap: 0;
    padding: calc(env(safe-area-inset-top) + 0.55rem) 0.72rem 0.55rem;
    border-bottom: 1px solid rgba(31, 30, 28, 0.08);
}

html.rhune-native-ios .curator-connections-header > button {
    position: relative;
    width: 44px;
    height: 44px;
    color: transparent;
    font-size: 0;
}

html.rhune-native-ios .curator-connections-header > button::before {
    position: absolute;
    top: 13px;
    left: 14px;
    width: 12px;
    height: 12px;
    border: solid rgba(31, 29, 26, 0.88);
    border-width: 0 0 1.6px 1.6px;
    content: "";
    transform: rotate(45deg);
}

html.rhune-native-ios .curator-connections-header-tabs {
    justify-self: center;
    justify-content: center;
    gap: 1.4rem;
    padding-right: 44px;
}

html.rhune-native-ios .curator-connections-header-tabs button::after {
    bottom: -0.75rem;
}

html.rhune-native-ios .curator-connections-header-title {
    justify-self: center;
    padding-right: 44px;
}

html.rhune-native-ios .curator-connections-panels {
    min-height: 0;
    flex: 1 1 auto;
    padding-bottom: env(safe-area-inset-bottom);
    -webkit-overflow-scrolling: touch;
}

html.rhune-native-ios .curator-connections-list {
    width: min(100%, 620px);
    box-sizing: border-box;
    margin-inline: auto;
    padding: 0.85rem max(1.15rem, env(safe-area-inset-right)) 1.25rem max(1.15rem, env(safe-area-inset-left));
}

@media (prefers-reduced-motion: reduce) {
    .curator-search[open],
    .curator-search__activity,
    .curator-search__result,
    .curator-search__skeleton-avatar,
    .curator-search__skeleton-line {
        animation: none;
    }
}

.curator-notifications {
    position: fixed;
    inset: calc(env(safe-area-inset-top) + 4.65rem) 0 auto;
    width: min(calc(100% - 1.2rem), 430px);
    max-width: none;
    max-height: min(72dvh, 620px);
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    border: 0.5px solid rgba(38, 35, 31, 0.16);
    border-radius: 12px;
    background: var(--curator-paper);
    color: #292724;
    box-shadow: 0 22px 65px rgba(29, 26, 22, 0.18);
    outline: none;
}

.curator-notifications:focus,
.curator-notifications:focus-visible {
    outline: none;
}

.curator-notifications[open] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    animation: none;
}

.curator-notifications::backdrop {
    background: rgba(31, 29, 25, 0.18);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.curator-notifications__header {
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    padding: 1.3rem 1.45rem 1.05rem;
    border-bottom: 0.5px solid rgba(31, 30, 28, 0.09);
}

.curator-notifications__header > div {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
}

.curator-notifications__header h2.rhune-index-title {
    margin: 0;
    color: rgba(12, 12, 11, 0.9);
    font-family: var(--rh-sans);
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

.curator-notifications__header button {
    flex: 0 0 auto;
    margin-top: 0.08rem;
    padding: 0 0 0.26rem;
    border: 0;
    border-bottom: 1px solid rgba(36, 34, 32, 0.25);
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    color: #77736d;
    font: 500 0.5rem/1.2 var(--rh-sans);
    letter-spacing: 0.13em;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.curator-notifications__header button:focus,
.curator-notifications__header button:focus-visible {
    border-bottom-color: rgba(36, 34, 32, 0.42);
    outline: none;
    box-shadow: none;
}

.curator-notifications__list {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.curator-notifications__item {
    display: grid;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 0.82rem;
    align-items: center;
    min-height: 68px;
    box-sizing: border-box;
    padding: 0.72rem 1.08rem;
    border-bottom: 0.5px solid rgba(38, 35, 31, 0.08);
    background: transparent;
    color: inherit;
    text-decoration: none;
    transition: background-color 150ms ease;
}

.curator-notifications__item.is-unread {
    background: rgba(222, 216, 205, 0.27);
}

.curator-notifications__item.is-arriving {
    animation: curator-notification-row-in 300ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes curator-notification-row-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.curator-notifications__avatar {
    position: relative;
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #e2ddd3;
    color: #5f5951;
    text-decoration: none;
    font: 500 1.05rem/1 "Cormorant Garamond", Georgia, serif;
}

.curator-notifications__avatar img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: opacity 280ms ease;
}

.curator-notifications__avatar.is-loading img {
    opacity: 0;
}

.curator-notifications__copy {
    display: grid;
    min-width: 0;
    gap: 0.28rem;
    color: #4d4943;
    text-decoration: none;
    font: 400 0.94rem/1.24 var(--rh-sans);
}

.curator-notifications__copy strong {
    color: #292724;
    font-weight: 500;
}

.curator-notifications__copy em {
    color: #292724;
    font-style: normal;
    font-weight: 500;
}

.curator-notifications__copy small {
    color: rgba(65, 61, 56, 0.55);
    font: 400 0.56rem/1 var(--rh-sans);
    letter-spacing: 0.045em;
}

.curator-notifications__empty {
    margin: 0;
    padding: 3.2rem 1.2rem 3.5rem;
    color: rgba(74, 69, 63, 0.55);
    font: 400 1rem/1.35 var(--rh-sans);
    text-align: center;
}

.curator-notifications__empty[hidden] {
    display: none;
}

@media (hover: hover) and (pointer: fine) {
    .curator-notifications__item:hover {
        background: rgba(222, 216, 205, 0.19);
    }

    .curator-notifications__header button:hover {
        color: #211f1c;
    }
}

@media (hover: none), (pointer: coarse) {
    .curator-notifications__item {
        transition: none;
        -webkit-tap-highlight-color: transparent;
    }
}

@media (max-width: 540px) {
    .curator-notifications {
        top: calc(env(safe-area-inset-top) + 4.35rem);
        width: calc(100% - 0.8rem);
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 9.5rem);
        border-radius: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .curator-notifications[open],
    .curator-notifications__item.is-arriving,
    .curator-notification-trigger.has-new-arrival .curator-notification-dot {
        animation: none;
    }

    .curator-notifications__avatar img {
        transition: none;
    }
}

/* In the iOS shell these tools are navigation destinations, not floating web
   dialogs. The native tab bar remains outside the web view while this surface
   occupies the full content area. */
html.rhune-native-ios .curator-search,
html.rhune-native-ios .curator-notifications {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: var(--curator-paper);
    box-shadow: none;
}

html.rhune-native-ios .curator-search[open],
html.rhune-native-ios .curator-notifications[open] {
    animation: curator-native-page-in 220ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

html.rhune-native-ios .curator-search::backdrop,
html.rhune-native-ios .curator-notifications::backdrop {
    background: transparent;
}

html.rhune-native-ios .curator-search__header,
html.rhune-native-ios .curator-notifications__header {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    min-height: calc(env(safe-area-inset-top) + 4.25rem);
    padding: calc(env(safe-area-inset-top) + 0.55rem) 0.72rem 0.55rem;
    border-bottom-color: rgba(31, 30, 28, 0.08);
}

html.rhune-native-ios .curator-search__header::after,
html.rhune-native-ios .curator-notifications__header::after {
    content: "";
    width: 44px;
}

html.rhune-native-ios .curator-search__header > div,
html.rhune-native-ios .curator-notifications__header > div {
    text-align: center;
}

html.rhune-native-ios .curator-search__header button,
html.rhune-native-ios .curator-notifications__header button {
    position: relative;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    color: transparent;
    font-size: 0;
}

html.rhune-native-ios .curator-search__header button::before,
html.rhune-native-ios .curator-notifications__header button::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 13px;
    width: 12px;
    height: 12px;
    border: solid rgba(31, 29, 26, 0.88);
    border-width: 0 0 1.6px 1.6px;
    transform: rotate(45deg);
}

html.rhune-native-ios .curator-search__body {
    padding-top: 0.8rem;
}

html.rhune-native-ios .curator-search__field {
    margin-inline: 1.25rem;
}

html.rhune-native-ios .curator-search__results,
html.rhune-native-ios .curator-notifications__list {
    padding-bottom: calc(env(safe-area-inset-bottom) + 1rem);
}

html.rhune-native-ios .curator-notifications__list,
html.rhune-native-ios .curator-notifications__empty {
    grid-row: 2;
    grid-column: 1;
}

html.rhune-native-ios .curator-notifications__empty {
    align-self: start;
}

@keyframes curator-native-page-in {
    from { opacity: 0.78; transform: translate3d(7%, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    html.rhune-native-ios .curator-search[open],
    html.rhune-native-ios .curator-notifications[open] {
        animation: none;
    }
}

body.curator-profile-has-background {
    position: relative;
}

body.curator-profile-has-background::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: -12%;
    background-size: cover;
    background-position: center;
    filter: blur(26px);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.05);
    transition: opacity 0.7s ease;
}

body.curator-profile-has-background.curator-profile-bg-loaded::before {
    opacity: 0.14;
}

body.curator-profile-has-background .site-header,
body.curator-profile-has-background .curator-profile-shell,
body.curator-profile-has-background .site-footer {
    position: relative;
}

body.curator-profile-has-background .site-header {
    z-index: 30;
}

body.curator-profile-has-background .curator-profile-shell,
body.curator-profile-has-background .site-footer {
    z-index: 1;
}

.curator-entry-shell,
.curator-form-shell {
    width: min(100% - 2rem, 1040px);
    margin: 0 auto;
    padding: 5rem 0 7rem;
}

.curator-profile-shell {
    position: relative;
    width: min(100% - 2rem, 1040px);
    margin: 0 auto;
    padding: 1.5rem 0 6rem;
}

.curator-profile-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.34rem;
    min-height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #6b6862;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.16s ease;
}

.curator-profile-badge:hover {
    color: #383631;
}

.curator-profile-badge-shell {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.curator-profile-badge:focus-visible {
    outline: 1px solid rgba(38, 36, 32, 0.55);
    outline-offset: 5px;
}

.curator-profile-badge-popover {
    position: absolute;
    z-index: 12;
    top: calc(100% + 0.85rem);
    left: 50%;
    width: max-content;
    max-width: min(250px, calc(100vw - 2rem));
    box-sizing: border-box;
    padding: 0.72rem 0.85rem 0.76rem;
    border: 1px solid rgba(38, 36, 32, 0.16);
    background: #f8f6f1;
    box-shadow: 0 10px 28px rgba(42, 38, 33, 0.11);
    color: #66635e;
    font: 400 0.7rem/1.45 var(--rh-sans);
    text-align: left;
    white-space: normal;
    transform: translateX(-50%);
}

.curator-profile-badge-popover[hidden] {
    display: none;
}

.curator-profile-badge-popover::before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid rgba(38, 36, 32, 0.16);
    border-left: 1px solid rgba(38, 36, 32, 0.16);
    background: #f8f6f1;
    content: "";
    transform: translate(-50%, 50%) rotate(45deg);
}

.curator-profile-badge-popover strong {
    color: #242220;
    font-weight: 600;
}

.curator-profile-badge-mark {
    display: grid;
    place-items: center;
    width: 15px;
    height: 15px;
    overflow: hidden;
    background: transparent;
    contain: strict;
}

.curator-profile-badge-mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

.curator-profile-badge-divider {
    display: block;
    width: 1px;
    height: 19px;
    background: rgba(38, 36, 32, 0.28);
}

.curator-profile-badge-label {
    padding-left: 0.42rem;
    border-left: 1px solid rgba(38, 36, 32, 0.2);
    font: 500 0.7rem / 1 var(--rh-sans);
    letter-spacing: 0.105rem;
    text-transform: uppercase;
    transition: border-color 0.16s ease;
}

.curator-profile-badge:hover .curator-profile-badge-label {
    border-left-color: rgba(38, 36, 32, 0.34);
}

.curator-profile-handle {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    color: #777570;
    padding-bottom: 0.08em;
    font: 400 0.9rem/1.2 "Cormorant Garamond", Georgia, serif;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.038em;
}

.curator-profile-handle-control {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-width: 0;
    max-width: 100%;
}

.curator-identity-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    padding: 3px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #777570;
    cursor: pointer;
    contain: layout paint;
}

.curator-identity-action:hover,
.curator-identity-action:focus-visible {
    outline: none;
    color: #292824;
    background: rgba(35, 32, 28, 0.06);
}

.curator-identity-action svg {
    display: block;
    width: 16px;
    height: 16px;
}

.curator-identity-action .curator-identity-action-check,
.curator-identity-action-spinner {
    display: none;
}

.curator-identity-action.is-editing .curator-identity-action-pen,
.curator-identity-action.is-saving .curator-identity-action-pen,
.curator-identity-action.is-saving .curator-identity-action-check {
    display: none;
}

.curator-identity-action.is-editing:not(.is-saving) .curator-identity-action-check {
    display: block;
}

.curator-identity-action.is-saving .curator-identity-action-spinner {
    display: block;
    width: 10px;
    height: 10px;
    border: 1px solid rgba(66, 63, 58, 0.25);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: curator-identity-spin 0.7s linear infinite;
}

@keyframes curator-identity-spin {
    to { transform: rotate(360deg); }
}

.curator-profile-meta {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    max-width: 100%;
    min-height: 22px;
    margin-top: 0.38rem;
    line-height: 1;
}

.curator-profile-meta .curator-profile-badge {
    flex: 0 0 auto;
}

.curator-entry-hero {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: clamp(2rem, 7vw, 6rem);
    align-items: end;
    min-height: 330px;
    padding-bottom: 4rem;
    border-bottom: 1px solid var(--curator-line);
}

.curator-profile-identity {
    display: flex;
    flex-direction: column;
    padding: 1.5rem 0 2.25rem;
}

.curator-profile-cluster {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.82rem;
    justify-items: center;
    align-items: start;
    width: 100%;
}

.curator-profile-cluster--no-image {
    grid-template-columns: minmax(0, 1fr);
}

.curator-profile-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    text-align: center;
}

.curator-profile-image-control {
    position: relative;
    width: clamp(176px, 20vw, 220px);
    min-width: 0;
}

.curator-profile-cluster > .curator-profile-polaroid {
    width: clamp(176px, 20vw, 220px);
}

.curator-profile-polaroid {
    width: 100%;
    margin: 0;
    padding: clamp(8px, 1.35vw, 11px) clamp(8px, 1.35vw, 11px) clamp(22px, 3.2vw, 28px);
    box-sizing: border-box;
    background: linear-gradient(165deg, #f9f8f4 0%, #f1efe9 100%);
    border: 1px solid rgba(33, 29, 24, 0.05);
    border-radius: 3px;
    box-shadow: 0 9px 20px rgba(22, 18, 14, 0.08);
}

button.curator-profile-polaroid {
    display: block;
    border: 1px solid rgba(33, 29, 24, 0.05);
    color: inherit;
    font: inherit;
    text-align: inherit;
}

.curator-profile-polaroid--editable {
    cursor: pointer;
}

.curator-profile-polaroid--editable:focus-visible {
    outline: 1px solid rgba(31, 29, 26, 0.75);
    outline-offset: 4px;
}

.curator-profile-image-actions {
    position: absolute;
    z-index: 220;
    top: calc(100% + 0.55rem);
    left: 50%;
    width: max-content;
    min-width: 170px;
    padding: 0.32rem;
    border: 1px solid rgba(39, 36, 31, 0.16);
    border-radius: 3px;
    background: rgba(250, 249, 245, 0.98);
    box-shadow: 0 12px 28px rgba(25, 21, 17, 0.14);
    transform: translateX(-50%);
}

.curator-profile-image-actions[hidden] {
    display: none;
}

.curator-profile-image-action {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    padding: 0.62rem 0.66rem;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: #2a2824;
    font: 600 0.67rem/1 var(--rh-sans);
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

.curator-profile-image-action:hover,
.curator-profile-image-action:focus-visible {
    outline: none;
    background: rgba(35, 32, 28, 0.07);
}

.curator-profile-image-action-icon {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.curator-profile-image-action-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.curator-profile-portrait,
.curator-entry-cover {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    background: #e5e1d8;
    overflow: hidden;
}

.curator-profile-portrait {
    margin: 0;
    position: relative;
    border-radius: 2px;
    background: linear-gradient(135deg, #f0ede6 0, #f0ede6 12px, #e3ddd2 12px, #e3ddd2 24px);
}

.curator-profile-portrait.is-placeholder {
    background: #050505 !important;
}

.curator-profile-image-placeholder {
    position: absolute;
    z-index: 1;
    display: block;
    inset: 0;
    background:
        linear-gradient(118deg, transparent 20%, rgba(255, 255, 255, 0.075) 43%, transparent 63%),
        #050505;
}

.curator-profile-image-placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 28px rgba(255, 255, 255, 0.025);
}

.curator-profile-upload-mark {
    position: absolute;
    z-index: 4;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.18s ease;
}

.curator-profile-portrait.is-placeholder .curator-profile-upload-mark,
.curator-profile-polaroid--editable:hover .curator-profile-upload-mark,
.curator-profile-polaroid--editable:focus-visible .curator-profile-upload-mark {
    opacity: 1;
}

.curator-profile-upload-mark::before,
.curator-profile-upload-mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 1px;
    background: rgba(255, 255, 255, 0.82);
    transform: translate(-50%, -50%);
}

.curator-profile-upload-mark::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.curator-profile-polaroid--editable.is-uploading .curator-profile-upload-mark {
    width: 21px;
    height: 21px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-top-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    opacity: 1;
    animation: curator-profile-upload-spin 0.8s linear infinite;
}

.curator-profile-polaroid--editable.is-uploading .curator-profile-upload-mark::before,
.curator-profile-polaroid--editable.is-uploading .curator-profile-upload-mark::after {
    display: none;
}

.curator-profile-polaroid--editable.is-error {
    animation: curator-profile-image-shake 0.28s ease;
}

.curator-profile-polaroid--editable.is-error .curator-profile-upload-mark::before,
.curator-profile-polaroid--editable.is-error .curator-profile-upload-mark::after {
    background: #b9483f;
}

@keyframes curator-profile-upload-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes curator-profile-image-shake {
    25% { transform: translateX(-2px); }
    75% { transform: translateX(2px); }
}

.curator-profile-portrait::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    border-radius: 1px;
    box-shadow: inset 0 0 0 0.5px rgba(40, 36, 33, 0.13);
    pointer-events: none;
}

.curator-profile-portrait img,
.curator-entry-cover img,
.curator-entry-art img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 1;
    transition: opacity 0.28s ease;
}

.curator-profile-portrait.has-image.is-loading img,
.curator-entry-cover.has-image.is-loading img,
.curator-entry-art.has-image.is-loading img {
    opacity: 0;
}

.curator-profile-portrait.is-error img,
.curator-entry-cover.is-error img,
.curator-entry-art.is-error img {
    display: none;
}

/* Track preview toggle: shared by entry note cards, longform track blocks and Board records. */
/* Base glyph; surfaces may size or recolour it in their own context. */
:is(.curator-track-media-toggle, [data-track-preview-fallback]) svg {
    display: block;
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-track-media-toggle {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: 1.15rem;
    height: 1.15rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    line-height: 1;
    cursor: pointer;
}

.curator-track-media-toggle:disabled {
    cursor: default;
    opacity: 1;
}

.curator-track-media-toggle:focus-visible {
    color: var(--curator-reading-ink);
    outline: 1px solid currentColor;
    outline-offset: 3px;
}

.curator-track-media-toggle > span {
    grid-area: 1 / 1;
}

.curator-track-media-icon--headphones,
.curator-track-media-icon--playing,
.curator-track-media-icon--loading {
    display: none;
}

.curator-track-media-icon--headphones {
    width: 1.15rem;
    height: 1.15rem;
    opacity: 1;
    transition: opacity 0.68s cubic-bezier(0.22, 1, 0.36, 1), color 0.45s ease;
}

:is([data-track-card], [data-board-track]):not(.is-playing):not(.is-loading-audio) .curator-track-media-icon--headphones {
    display: inline-flex;
}

:is([data-track-card], [data-board-track]).is-loading-preview .curator-track-media-icon--loading {
    display: inline-flex;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: center;
    color: currentColor;
    opacity: 0.34;
    clip-path: inset(0 100% 0 0);
    pointer-events: none;
    animation: curator-preview-headphone-sweep 2.25s ease-in-out infinite;
}

:is([data-track-card], [data-board-track]).is-loading-preview .curator-track-media-icon--headphones {
    opacity: 0.12;
}

.curator-track-media-icon--loading svg {
    width: 1.15rem;
    height: 1.15rem;
}

:is([data-track-card], [data-board-track]).is-loading-audio .curator-track-media-icon--loading {
    display: block;
    position: relative;
    inset: auto;
    width: 0.72rem;
    height: 0.72rem;
    box-sizing: border-box;
    border: 1px solid rgba(31, 30, 28, 0.2);
    border-top-color: rgba(31, 30, 28, 0.72);
    border-radius: 50%;
    opacity: 1;
    clip-path: none;
    animation: curator-preview-audio-loading 0.86s linear infinite;
}

:is([data-track-card], [data-board-track]).is-loading-audio .curator-track-media-icon--loading svg {
    display: none;
}

:is([data-track-card], [data-board-track]).is-playing .curator-track-media-icon--playing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.5px;
    width: 1.15rem;
    height: 1.15rem;
}

.curator-track-media-icon--playing > span {
    width: 1.5px;
    height: 55%;
    background: currentColor;
    transform-origin: center;
    animation: curator-preview-bars 0.72s ease-in-out infinite;
}

.curator-track-media-icon--playing > span:nth-child(2) {
    animation-delay: -0.24s;
}

.curator-track-media-icon--playing > span:nth-child(3) {
    animation-delay: -0.46s;
}

@keyframes curator-preview-headphone-sweep {
    0%, 18% { clip-path: inset(0 100% 0 0); opacity: 0.16; }
    52% { clip-path: inset(0 0 0 0); opacity: 0.34; }
    78%, 100% { clip-path: inset(0 0 0 100%); opacity: 0.14; }
}

@keyframes curator-preview-audio-loading {
    to { transform: rotate(360deg); }
}

@keyframes curator-preview-bars {
    0%, 100% { transform: scaleY(0.42); }
    50% { transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
    :is([data-track-card], [data-board-track]).is-loading-preview .curator-track-media-icon--loading,
    :is([data-track-card], [data-board-track]).is-loading-audio .curator-track-media-icon--loading,
    .curator-track-media-icon--playing > span {
        animation: none;
    }

    :is([data-track-card], [data-board-track]).is-loading-preview .curator-track-media-icon--loading {
        display: none;
    }
}

.curator-artwork-loading {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.34s ease;
}

.has-image.is-loading > .curator-artwork-loading {
    opacity: 1;
}

/* The decoded image supplies the reveal. Retire the brighter shimmer layer
   immediately so its moving highlight cannot fade across the visible image. */
[data-curator-artwork].is-revealing > .curator-artwork-loading {
    opacity: 0;
    transition: none;
}

[data-curator-artwork].is-revealing > .curator-artwork-loading .curator-artwork-skeleton {
    animation-play-state: paused;
}

.curator-artwork-skeleton {
    width: 100%;
    height: 100%;
    border-radius: 2px;
    background: var(--rh-skeleton-shimmer);
    background-size: 200% 100%;
    animation: curator-artwork-shimmer 1.5s infinite;
}

/* Image URLs resolve after the page structure. Keep that interim frame
   neutral: artwork should move from paper-grey to pixels, never through a
   beige fallback inherited from its eventual card treatment. */
[data-curator-artwork].is-loading,
.curator-entry-fetch-artwork.is-loading,
.curator-notifications__avatar.is-loading {
    background: var(--rh-skeleton-base);
}

/* Keep profile artwork on one neutral backing colour from skeleton through
   decode. Without this, removing `is-loading` briefly exposes each component's
   older beige fallback underneath the image fade. */
.curator-profile-shell [data-curator-artwork]:not(.is-placeholder) {
    background: var(--rh-skeleton-base);
}

@keyframes curator-artwork-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .curator-artwork-skeleton {
        animation: none;
    }
}

.curator-profile-kind,
.curator-entry-meta-line,
.curator-entry-state,
.curator-url-field > span,
.curator-entry-form legend {
    margin: 0 0 0.8rem;
    color: var(--curator-muted);
    font: 600 0.72rem/1.2 Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0;
}

.curator-profile-identity h1,
.curator-entry-identity h1,
.curator-form-heading h1 {
    max-width: 760px;
    margin: 0;
    font: 400 4.8rem/0.96 Georgia, serif;
    letter-spacing: -0.038em;
    overflow-wrap: anywhere;
}

.curator-profile-identity h1 {
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-size: 4.15rem;
    font-weight: 500;
    line-height: 1.02;
}

.curator-name-sheen {
    position: relative;
    display: inline-block;
    color: inherit;
}

.curator-identity-editable {
    border-radius: 2px;
    cursor: text;
    transition: color 0.14s ease, box-shadow 0.14s ease;
}

.curator-profile-handle .curator-identity-editable:not(.is-editing) {
    cursor: default;
}

.curator-identity-editable:focus-visible {
    outline: none;
}

.curator-identity-editable.is-editing {
    box-shadow: inset 0 -1px 0 rgba(31, 30, 28, 0.42);
}

.curator-identity-editable.is-limit-hit,
.curator-identity-editable.is-error {
    color: #a63b32;
    animation: curator-identity-shake 0.26s ease;
}

@keyframes curator-identity-shake {
    25% { transform: translateX(-2px); }
    75% { transform: translateX(2px); }
}

.curator-profile-summary,
.curator-entry-identity > p {
    max-width: 42rem;
    margin: 1.4rem 0 0;
    color: var(--curator-muted);
    font: 1rem/1.65 Arial, sans-serif;
}

.curator-profile-foreword {
    position: relative;
    width: min(600px, 100%);
    margin: 0.82rem auto 0;
}

.curator-profile-summary {
    max-width: 600px;
    margin: 0;
    padding: 0 0.22em 0 0;
    border-radius: 4px;
    color: #696863;
    font: 300 1rem/1.4 var(--rh-sans);
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

[data-curator-foreword] {
    cursor: text;
    transition: background-color 0.18s ease;
}

[data-curator-foreword]:hover,
[data-curator-foreword]:focus-visible,
.curator-profile-foreword.is-editing [data-curator-foreword] {
    background: rgba(31, 30, 28, 0.035);
    outline: none;
}

.curator-profile-foreword.is-empty .curator-profile-summary {
    color: #8c8881;
}

.curator-profile-foreword.is-editing .curator-profile-summary {
    min-height: 1.35em;
    caret-color: #2f2318;
}

.curator-foreword-counter {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.35rem;
    color: var(--curator-muted);
    font: 0.62rem Arial, sans-serif;
    opacity: 0;
}

.curator-foreword-counter.is-limit-hit {
    color: #a13f38;
    animation: curator-counter-limit 240ms ease-out;
}

@keyframes curator-counter-limit {
    0%, 100% { transform: translateX(0); }
    30% { transform: translateX(-2px); }
    65% { transform: translateX(2px); }
}

.curator-profile-foreword.is-editing .curator-foreword-counter {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .curator-foreword-counter.is-limit-hit {
        animation: none;
    }
}

.curator-save-toast {
    position: fixed;
    z-index: 50;
    top: 1rem;
    left: 50%;
    padding: 0.42rem 0.7rem;
    border-radius: 3px;
    background: var(--curator-ink);
    color: #fff;
    font: 0.7rem Arial, sans-serif;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -8px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.curator-save-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.curator-save-toast.is-error {
    background: #963b34;
}

.curator-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 2.25rem;
}

.curator-entry-launch {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0 0.5rem;
    border: 0;
    border-bottom: 1px solid rgba(31, 30, 28, 0.28);
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: rgba(31, 30, 28, 0.92);
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 1.8vw, 1.8rem);
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.curator-entry-launch-label {
    display: inline-block;
    line-height: 1.1;
    white-space: nowrap;
}

body.rhune-font-pending .curator-profile-identity h1.curator-font-skeleton::after {
    left: 50%;
    width: min(68%, 28rem);
    transform: translate(-50%, -50%);
}

.curator-entry-launch:hover,
.curator-entry-launch:focus-visible {
    outline: none;
    border-bottom-color: rgba(31, 30, 28, 0.8);
    background: transparent;
    color: #1f1e1c;
}

.curator-command {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 1rem;
    border: 1px solid var(--curator-ink);
    border-radius: 3px;
    background: transparent;
    color: var(--curator-ink);
    font: 600 0.8rem/1 Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}

.curator-command--primary {
    background: var(--curator-ink);
    color: #fff;
}

.curator-command > span {
    margin-right: 0.45rem;
    font-size: 1.2rem;
}

.curator-entry-composer {
    width: min(calc(100% - 2rem), 510px);
    max-width: none;
    padding: 0;
    border: 1px solid rgba(29, 29, 27, 0.24);
    border-radius: 4px;
    background: #f8f6f1;
    color: var(--curator-ink);
    box-shadow: 0 28px 70px rgba(24, 21, 17, 0.22);
    overflow: hidden;
}

.curator-entry-composer::backdrop {
    background: rgba(31, 29, 25, 0.24);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.curator-entry-composer [hidden] {
    display: none !important;
}

.curator-entry-composer-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem 0.55rem;
    border-bottom: 0;
}

.curator-entry-composer-heading h2 {
    margin: 0;
    font: 500 1.28rem/1.1 Georgia, serif;
    letter-spacing: 0;
}

.curator-entry-composer-close {
    display: grid;
    place-items: center;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #68655f;
    font: 300 1.35rem/1 Arial, sans-serif;
    cursor: pointer;
}

.curator-entry-composer-close:hover,
.curator-entry-composer-close:focus-visible {
    color: var(--curator-ink);
}

.curator-entry-composer form {
    min-height: 264px;
    box-sizing: border-box;
    padding: 0.85rem 1.5rem 1.5rem;
}

.curator-entry-composer fieldset {
    margin: 0 0 1.5rem;
    padding: 0;
    border: 0;
}

.curator-entry-composer legend {
    margin-bottom: 0.5rem;
    color: var(--curator-muted);
    font: 600 0.62rem/1.2 Arial, sans-serif;
    text-transform: uppercase;
}

.curator-entry-composer .curator-type-control--compact {
    display: flex;
    gap: 1.5rem;
    width: max-content;
    border: 0;
    border-radius: 0;
    overflow: hidden;
}

.curator-entry-composer .curator-type-control--compact label {
    position: relative;
    border: 0;
}

.curator-entry-composer .curator-type-control--compact label + label {
    border: 0;
}

.curator-entry-composer .curator-type-control--compact span {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0.15rem 0 0.48rem;
    background: transparent;
    color: #85817a;
    font: 500 0.72rem/1.2 Arial, sans-serif;
    transition: color 0.16s ease;
}

.curator-entry-composer .curator-type-control--compact span::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--curator-ink);
    opacity: 0;
    transform: scaleX(0.65);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.curator-entry-composer .curator-type-control--compact input:checked + span {
    background: transparent;
    color: var(--curator-ink);
}

.curator-entry-composer .curator-type-control--compact input:checked + span::after {
    opacity: 1;
    transform: scaleX(1);
}

.curator-entry-composer .curator-type-control--compact label:hover span,
.curator-entry-composer .curator-type-control--compact input:focus-visible + span {
    color: var(--curator-ink);
}

.curator-entry-composer .curator-type-control--compact input:focus-visible + span {
    outline: 1px dotted currentColor;
    outline-offset: 4px;
}

.curator-entry-composer .curator-url-field > span {
    margin-bottom: 0.3rem;
    color: #77736c;
    font-size: 0.58rem;
    font-weight: 500;
}

.curator-entry-composer .curator-url-field > .curator-entry-search-box {
    display: grid;
    grid-template-columns: 23px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    min-height: 52px;
    box-sizing: border-box;
    padding: 0 0.1rem;
    margin: 0;
    border: 0;
    border-bottom: 1px solid rgba(38, 36, 32, 0.25);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.curator-entry-composer .curator-entry-search-box:focus-within {
    border-bottom-color: rgba(38, 36, 32, 0.72);
    background: transparent;
    box-shadow: none;
}

.curator-entry-search-symbol {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: #4f4c46;
}

.curator-entry-search-symbol svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-entry-search-symbol--link,
.curator-entry-composer-search.is-url-mode .curator-entry-search-symbol--search {
    display: none;
}

.curator-entry-composer-search.is-url-mode .curator-entry-search-symbol--link {
    display: grid;
}

.curator-entry-search-symbol--link svg {
    width: 17px;
    height: 17px;
    stroke-width: 1.1;
}

.curator-entry-composer .curator-url-field input {
    min-height: 46px;
    padding: 0.15rem 0;
    border: 0;
    border-bottom: 1px solid rgba(29, 29, 27, 0.3);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 0.88rem;
    appearance: none;
    -webkit-appearance: none;
}

.curator-entry-composer .curator-entry-search-box input {
    width: 100%;
    min-width: 0;
    min-height: 51px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
    outline: none;
}

.curator-entry-composer .curator-entry-search-box input:focus,
.curator-entry-composer .curator-entry-search-box input:focus-visible {
    border: 0 !important;
    box-shadow: none !important;
}

.curator-entry-composer .curator-url-field input:focus,
.curator-entry-composer .curator-url-field input:focus-visible {
    border-bottom-color: var(--curator-ink);
    outline: none;
    box-shadow: none;
}

.curator-entry-composer-search {
    position: relative;
    z-index: 4;
}

.curator-entry-composer-search.is-searching::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background-image: linear-gradient(
        90deg,
        transparent 0%,
        rgba(86, 82, 76, 0.18) 20%,
        rgba(47, 45, 41, 0.9) 50%,
        rgba(86, 82, 76, 0.18) 80%,
        transparent 100%
    );
    background-repeat: no-repeat;
    background-position: -40% 0;
    background-size: 28% 100%;
    pointer-events: none;
    animation: curator-search-scan 1.15s ease-in-out infinite;
}

@keyframes curator-search-scan {
    0% { background-position: -40% 0; }
    100% { background-position: 140% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .curator-entry-composer-search.is-searching::after {
        animation: none;
        background-position: center;
        background-size: 100% 100%;
        opacity: 0.4;
    }
}

.curator-entry-composer-search.has-results .curator-url-field input {
    border-radius: 0;
}

.curator-artist-results {
    position: absolute;
    z-index: 6;
    top: 100%;
    right: 0;
    left: 0;
    max-height: 238px;
    overflow-y: auto;
    border: 1px solid var(--curator-line);
    border-top: 0;
    border-radius: 0 0 3px 3px;
    background: #faf9f6;
    box-shadow: 0 18px 34px rgba(24, 21, 17, 0.16);
}

.curator-artist-result {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 0.48rem 0.55rem;
    border: 0;
    border-bottom: 1px solid rgba(217, 214, 206, 0.72);
    background: transparent;
    color: var(--curator-ink);
    text-align: left;
    cursor: pointer;
}

.curator-artist-result:last-child {
    border-bottom: 0;
}

.curator-artist-result:hover,
.curator-artist-result:focus-visible,
.curator-artist-result.is-active {
    background: rgba(29, 29, 27, 0.06);
    outline: none;
}

.curator-artist-result-art {
    display: grid;
    place-items: center;
    width: 42px;
    aspect-ratio: 1;
    overflow: hidden;
    background: #e5e1d8;
    color: #85817a;
    font: 500 1rem Georgia, serif;
}

.curator-artist-result-art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.curator-artist-result-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.curator-artist-result-copy strong,
.curator-artist-result-copy span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.curator-artist-result-copy strong {
    font: 600 0.82rem/1.2 Arial, sans-serif;
}

.curator-artist-result-copy span {
    color: var(--curator-muted);
    font: 0.65rem/1.2 Arial, sans-serif;
}

.curator-entry-composer-mode {
    margin-top: 0.55rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--curator-muted);
    font: 0.68rem/1.3 Arial, sans-serif;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.curator-entry-composer-mode:hover,
.curator-entry-composer-mode:focus-visible {
    color: var(--curator-ink);
}

.curator-entry-composer-mode.is-inactive {
    visibility: hidden;
    pointer-events: none;
}

.curator-entry-composer-status {
    min-height: 1.25rem;
    margin: 0.5rem 0 0.65rem;
    color: var(--curator-muted);
    font: 0.7rem/1.25 Arial, sans-serif;
}

.curator-entry-composer-status.is-error {
    color: var(--curator-accent);
}

.curator-entry-composer-submit {
    width: 100%;
}

.curator-entry-composer form.is-switching .curator-entry-composer-search,
.curator-entry-composer form.is-switching .curator-entry-composer-mode,
.curator-entry-composer form.is-switching .curator-entry-composer-status {
    animation: curator-entry-mode-in 180ms ease both;
}

@keyframes curator-entry-mode-in {
    from {
        opacity: 0;
        transform: translateY(3px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.curator-entry-composer.is-busy .curator-entry-composer-submit {
    cursor: wait;
    opacity: 0.72;
}

.curator-entry-composer.is-busy .curator-entry-composer-close,
.curator-entry-composer.is-busy .curator-type-control,
.curator-entry-composer.is-busy .curator-url-field,
.curator-entry-composer.is-busy .curator-entry-composer-mode {
    opacity: 0.58;
}

.curator-entry-fetch {
    display: grid;
    justify-items: center;
    min-height: 264px;
    box-sizing: border-box;
    padding: 1.6rem 1.35rem 1.5rem;
    text-align: center;
}

.curator-entry-fetch[hidden] {
    display: none;
}

.curator-entry-fetch-artwork {
    position: relative;
    width: 108px;
    aspect-ratio: 1;
    margin: 0 0 1rem;
    overflow: hidden;
    background: #e5e1d8;
    box-shadow: 0 8px 20px rgba(24, 21, 17, 0.1);
}

.curator-entry-fetch-artwork img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 1;
    transition: opacity 0.25s ease;
}

.curator-entry-fetch-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #77736c;
    font: 500 2rem/1 var(--font-display);
}

.curator-entry-fetch-fallback[hidden] {
    display: none;
}

.curator-entry-fetch-artwork.is-loading img {
    opacity: 0;
}

.curator-entry-fetch-artwork.is-loading > .curator-artwork-loading {
    opacity: 1;
}

.curator-entry-fetch h3 {
    max-width: 100%;
    margin: 0;
    font: 500 1.55rem/1.08 Georgia, serif;
    overflow-wrap: anywhere;
}

.curator-entry-fetch p {
    margin: 0.5rem 0 0.9rem;
    color: var(--curator-muted);
    font: 0.7rem/1.3 Arial, sans-serif;
}

.curator-entry-confirm,
.curator-entry-fetch-status {
    display: grid;
    justify-items: center;
}

.curator-entry-confirm[hidden],
.curator-entry-fetch-status[hidden] {
    display: none;
}

.curator-entry-confirm .curator-command {
    min-width: 88px;
}

.curator-entry-confirm-cancel {
    margin-top: 0.55rem;
    padding: 0.2rem 0.4rem;
    border: 0;
    background: transparent;
    color: var(--curator-muted);
    font: 0.64rem/1.2 Arial, sans-serif;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.curator-entry-confirm-cancel:hover,
.curator-entry-confirm-cancel:focus-visible {
    color: var(--curator-ink);
}

.curator-entry-fetch-progress {
    width: 84px;
    height: 2px;
    overflow: hidden;
    background: rgba(107, 106, 100, 0.18);
}

.curator-entry-fetch-progress::after {
    content: "";
    display: block;
    width: 45%;
    height: 100%;
    background: #55524d;
    animation: curator-entry-fetch-progress 1.1s ease-in-out infinite;
}

@keyframes curator-entry-fetch-progress {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(230%); }
}

@media (prefers-reduced-motion: reduce) {
    .curator-entry-composer form.is-switching .curator-entry-composer-search,
    .curator-entry-composer form.is-switching .curator-entry-composer-mode,
    .curator-entry-composer form.is-switching .curator-entry-composer-status {
        animation: none;
    }

    .curator-entry-fetch-progress::after {
        width: 100%;
        animation: none;
    }
}

.curator-entry-index,
.curator-note-canvas {
    padding-top: 3.5rem;
}

.curator-entry-index {
    position: relative;
    padding-top: 0;
}

.curator-entry-toolbar {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.curator-entry-filter {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0 1rem 0 0;
    background: var(--curator-paper);
    transform: translateY(-50%);
}

.curator-entry-filter button {
    position: relative;
    padding: 0.38rem 0;
    border: 0;
    background: transparent;
    color: rgba(77, 74, 69, 0.62);
    font: 500 0.58rem/1 var(--rh-sans);
    text-transform: uppercase;
    cursor: pointer;
}

.curator-entry-filter button::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0.16rem;
    left: 0;
    height: 1px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(0.45);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

.curator-entry-filter button:hover,
.curator-entry-filter button:focus-visible,
.curator-entry-filter button[aria-pressed="true"] {
    color: var(--curator-ink);
    outline: none;
}

.curator-entry-filter button:focus-visible::after,
.curator-entry-filter button[aria-pressed="true"]::after {
    opacity: 1;
    transform: scaleX(1);
}

.curator-entry-filter button:disabled {
    color: rgba(77, 74, 69, 0.25);
    cursor: default;
}

.curator-entry-filter button:disabled::after {
    display: none;
}

.curator-entry-add-icon {
    position: absolute;
    z-index: 3;
    top: 0.5px;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: rgba(31, 30, 28, 0.86);
    text-decoration: none;
    transform: translateY(-50%);
    transition: background-color 0.16s ease, color 0.16s ease;
    cursor: pointer;
}

.curator-entry-add-mark {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
}

.curator-entry-add-mark::before,
.curator-entry-add-mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 1px;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.curator-entry-add-mark::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.curator-entry-add-label {
    display: none;
    font-size: 0.67rem;
    line-height: 1;
    white-space: nowrap;
}

/* Rhune index title: navigational and catalogue headings. */
.rhune-index-title {
    font-family: var(--rh-sans);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

/* Display treatment for primary index headings. Keep size and alignment here
   so archive and sheet titles share the same hierarchy. */
.rhune-index-title.rhune-index-title--display {
    margin: 0 0 0 auto;
    color: rgba(12, 12, 11, 0.9);
    font-family: var(--rh-sans);
    font-size: clamp(1.55rem, 2vw, 1.8rem);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.12em;
    text-align: right;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

@media (max-width: 540px) {
    .rhune-index-title.rhune-index-title--display {
        font-size: 1.02rem;
        letter-spacing: 0.08em;
    }
}

.curator-entry-end {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.curator-entry-arrow {
    display: none;
}

.curator-entry-add-icon:hover,
.curator-entry-add-icon:focus-visible {
    background: rgba(31, 30, 28, 0.06);
    color: var(--curator-ink);
    outline: none;
}

.curator-entry-add-icon:focus-visible {
    box-shadow: 0 0 0 1px var(--curator-ink);
}

.curator-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--curator-line);
}

.curator-section-heading h2 {
    margin: 0;
    font: 400 1.45rem/1.2 Georgia, serif;
}

.curator-section-heading > span {
    color: var(--curator-muted);
    font: 0.78rem Arial, sans-serif;
}

.curator-entry-list,
.curator-note-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.curator-entry-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 2.1rem;
    align-items: center;
    width: min(100%, 780px);
    min-height: 164px;
    margin: 0 auto;
    /* border-bottom: 1px solid rgba(38, 36, 32, 0.11); */
    color: inherit;
    text-decoration: none;
}

.curator-entry-row.is-new-entry {
    animation: curator-entry-arrival 1.55s ease-out both;
}

@keyframes curator-entry-arrival {
    0% {
        opacity: 0.35;
        background: rgba(92, 86, 75, 0.1);
        transform: translateY(4px);
    }
    32% {
        opacity: 1;
        background: rgba(92, 86, 75, 0.07);
        transform: translateY(0);
    }
    100% {
        opacity: 1;
        background: transparent;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .curator-entry-row.is-new-entry {
        animation: none;
    }
}

.curator-entry-art {
    position: relative;
    width: 112px;
    aspect-ratio: 1;
    background: #e5e1d8;
    overflow: hidden;
}

.curator-entry-copy {
    display: grid;
    grid-template-rows: 0.9rem 5rem 0.8rem;
    row-gap: 0.3rem;
    align-content: start;
    align-items: start;
    min-width: 0;
}

.curator-entry-copy strong {
    display: block;
    width: 100%;
    min-width: 0;
    padding-bottom: 0.1em;
    margin-bottom: -0.1em;
    font: 500 var(--curator-entry-title-size, 2.4rem)/1.02 "Cormorant Garamond", Georgia, "Times New Roman", serif;
    overflow-wrap: anywhere;
    letter-spacing: -0.038em;
}

.curator-entry-title-text {
    opacity: 1;
    transition: opacity 0.14s ease;
}

.curator-entry-copy strong.is-fitting .curator-entry-title-text {
    opacity: 1;
}

.curator-entry-row .curator-entry-meta {
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 0.8rem;
    white-space: nowrap;
}

.curator-entry-row .curator-entry-meta,
.curator-profile-playlist-copy > span {
    color: rgba(77, 74, 69, 0.62);
    font: 400 0.48rem/1.1 var(--rh-sans);
    letter-spacing: 0.08rem;
    text-transform: uppercase;
}

.curator-entry-confirm-cancel:hover,
.curator-entry-confirm-cancel:focus,
.curator-entry-confirm-cancel:focus-visible {
    border-bottom-color: rgba(36, 34, 32, 0.44);
    color: #292724;
    outline: none;
    box-shadow: none;
}

.curator-entry-type-label {
    grid-row: 1;
    align-self: end;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--curator-entry-label-ink, rgba(77, 74, 69, 0.72));
    font: 500 0.4rem/1 var(--rh-sans);
    letter-spacing: 0.08rem;
    text-transform: uppercase;
}

.curator-entry-list > [data-entry-type="artist"] {
    --curator-entry-label-ink: #875c58;
}

.curator-entry-list > [data-entry-type="album"] {
    --curator-entry-label-ink: #647057;
}

.curator-entry-list > [data-entry-type="playlist"] {
    --curator-entry-label-ink: #796541;
}

.curator-entry-list > [data-entry-type="longform"] {
    --curator-entry-label-ink: #62697a;
}

.curator-entry-list:not([data-active-filter="all"]) .curator-entry-type-label {
    display: none;
}

.curator-entry-title-line {
    display: flex;
    align-items: center;
    grid-row: 2;
    width: 100%;
    height: 5rem;
    min-width: 0;
    overflow: visible;
}

.curator-entry-copy--artist strong {
    --curator-entry-title-size: 2.58rem;
}

.curator-entry-subtitle,
.curator-note-byline {
    color: var(--curator-muted);
    font: 0.78rem/1.4 Arial, sans-serif;
}

.curator-entry-type {
    display: grid;
    place-items: center;
    grid-row: 1;
    justify-self: start;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    padding: 0;
    border: 0;
    color: var(--curator-muted);
}

.curator-entry-type svg {
    display: block;
    width: 15px;
    height: 15px;
    stroke-width: 1.5;
}

.curator-empty-state {
    display: grid;
    min-height: 190px;
    place-items: center;
    padding: 1.5rem 0 2rem;
}

.curator-profile-empty-state {
    width: min(100%, 690px);
}

.curator-profile-empty-copy {
    margin: 2.75rem 0 0;
    color: rgba(69, 66, 62, 0.52);
    font: 400 1rem/1.45 var(--rh-sans);
    letter-spacing: 0;
    text-align: center;
    text-transform: none;
}

.curator-back-link,
.curator-spotify-link {
    color: var(--curator-muted);
    font: 0.8rem/1.4 Arial, sans-serif;
    text-decoration: none;
}

.curator-form-shell {
    max-width: 760px;
}

.curator-form-heading {
    margin: 5rem 0 3rem;
}

.curator-entry-form fieldset {
    margin: 0 0 2rem;
    padding: 0;
    border: 0;
}

.curator-type-control {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--curator-ink);
    border-radius: 3px;
    overflow: hidden;
}

.curator-type-control label + label {
    border-left: 1px solid var(--curator-ink);
}

.curator-type-control input {
    position: absolute;
    opacity: 0;
}

.curator-type-control span {
    display: grid;
    place-items: center;
    min-height: 48px;
    font: 600 0.8rem Arial, sans-serif;
    cursor: pointer;
}

.curator-type-control input:checked + span {
    background: var(--curator-ink);
    color: #fff;
}

.curator-url-field {
    display: grid;
    gap: 0.5rem;
}

.curator-url-field input {
    width: 100%;
    min-height: 52px;
    box-sizing: border-box;
    padding: 0 0.9rem;
    border: 1px solid var(--curator-line);
    border-radius: 3px;
    background: #fff;
    color: var(--curator-ink);
    font: 1rem Arial, sans-serif;
}

.curator-account-form {
    display: grid;
    gap: 1.5rem;
}

.curator-url-field textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.9rem;
    border: 1px solid var(--curator-line);
    border-radius: 3px;
    background: #fff;
    color: var(--curator-ink);
    font: 1rem/1.55 Arial, sans-serif;
    resize: vertical;
}

.curator-danger-zone {
    margin-top: 5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--curator-line);
    color: var(--curator-accent);
    font: 0.8rem/1.5 Arial, sans-serif;
}

.curator-danger-zone summary,
.curator-danger-zone button {
    color: var(--curator-accent);
    cursor: pointer;
}

.curator-danger-zone button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    text-decoration: underline;
}

.curator-form-error {
    color: var(--curator-accent);
    font: 0.85rem/1.5 Arial, sans-serif;
}

.curator-entry-shell {
    max-width: 920px;
}

.curator-entry-hero {
    margin-top: 4rem;
}

.curator-entry-meta-line {
    display: flex;
    gap: 0.8rem;
}

.curator-entry-state {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    color: color-mix(in srgb, var(--curator-muted) 72%, transparent);
    font: 500 0.56rem/1 var(--rh-sans);
    letter-spacing: 0.1em;
}

.curator-spotify-link {
    display: inline-block;
    margin-top: 1.8rem;
}

.curator-entry-foreword {
    max-width: 660px;
    padding: 4rem 0 1rem;
    font: 1.2rem/1.75 Georgia, serif;
    white-space: pre-line;
}

.curator-note-list li {
    padding: 2rem 0;
    border-bottom: 1px solid var(--curator-line);
}

.curator-note-list h3,
.curator-note-list p {
    max-width: 660px;
}

.curator-note-list h3 {
    margin: 0;
    font: 400 1.3rem Georgia, serif;
}

.curator-note-list p {
    font: 1rem/1.7 Arial, sans-serif;
}

.curator-entry-delete {
    margin-top: 5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--curator-line);
}

.curator-entry-delete button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--curator-accent);
    font: 0.8rem Arial, sans-serif;
    cursor: pointer;
}

@media (max-width: 680px) {
    .curator-profile-shell,
    .curator-entry-shell,
    .curator-form-shell {
        width: min(100% - 1.5rem, 1040px);
        padding-top: 2.5rem;
    }

    .curator-profile-shell {
        padding-top: 0;
        padding-bottom: 5rem;
    }

    .curator-profile-badge {
        gap: 0.34rem;
        min-height: 19px;
    }

    .curator-profile-badge-mark {
        width: 10px;
        height: 10px;
    }

    .curator-profile-badge-divider {
        height: 14px;
    }

    .curator-profile-badge-label {
        padding-left: 0.34rem;
        font-size: 0.48rem;
        letter-spacing: 0.085rem;
    }

    .curator-profile-handle {
        margin: 0;
        font-size: 0.74rem;
    }

    .curator-identity-action {
        width: 19px;
        height: 19px;
        padding: 2px;
    }

    .curator-identity-action svg {
        width: 14px;
        height: 14px;
    }

    .curator-profile-image-actions {
        left: 50%;
        width: max-content;
        min-width: 158px;
        max-width: calc(100vw - 1.5rem);
        transform: translateX(-50%);
    }

    .curator-entry-hero {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 1.2rem;
        min-height: 0;
        align-items: center;
        padding-bottom: 2.5rem;
    }

    .curator-profile-identity {
        padding: 0.5rem 0 1.25rem;
    }

    .curator-profile-cluster {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.62rem;
        justify-items: center;
        align-items: start;
    }

    .curator-profile-image-control,
    .curator-profile-cluster > .curator-profile-polaroid {
        width: min(42vw, 150px);
    }

    .curator-profile-copy {
        align-items: center;
        width: 100%;
        text-align: center;
    }

    .curator-profile-meta {
        gap: 0.42rem;
        justify-content: center;
        min-height: 19px;
        margin-top: 0.18rem;
    }

    .curator-profile-cluster--no-image {
        grid-template-columns: minmax(0, 1fr);
    }

    .curator-profile-polaroid {
        justify-self: center;
        padding: 6px 6px 16px;
    }

    .curator-profile-foreword {
        margin-top: 0.48rem;
    }

    .curator-profile-identity h1,
    .curator-entry-identity h1,
    .curator-form-heading h1 {
        font-size: 2.1rem;
    }

    .curator-profile-summary {
        font-size: 0.78rem;
        line-height: 1.4;
    }

    .curator-profile-foreword.is-editing .curator-profile-summary {
        min-height: 1.4em;
    }

    .curator-entry-add-icon {
        width: 34px;
        height: 34px;
    }

    .curator-entry-filter {
        gap: 0.58rem;
        max-width: calc(100% - 42px);
        padding-right: 0.68rem;
    }

    .curator-entry-filter button {
        font-size: 0.5rem;
    }

    .curator-entry-add-mark,
    .curator-entry-add-mark::before,
    .curator-entry-add-mark::after {
        width: 16px;
    }

    .curator-entry-add-mark {
        height: 16px;
    }

    .curator-entry-composer {
        width: min(calc(100% - 1rem), 510px);
    }

    .curator-entry-composer-heading {
        padding: 1.1rem 1.1rem 0.5rem;
    }

    .curator-entry-composer-heading h2 {
        font-size: 1.18rem;
    }

    .curator-entry-composer form {
        padding: 0.8rem 1.1rem 1.15rem;
    }

    .curator-entry-row {
        grid-template-columns: 78px minmax(0, 1fr) auto;
        gap: 1.35rem;
        min-height: 126px;
    }

    .curator-entry-art {
        width: 78px;
    }

    .curator-entry-copy strong {
        --curator-entry-title-size: 1.65rem;
    }

    .curator-entry-copy--artist strong {
        --curator-entry-title-size: 1.77rem;
    }

    .curator-type-control {
        grid-template-columns: 1fr;
    }

    .curator-type-control label + label {
        border-top: 1px solid var(--curator-ink);
        border-left: 0;
    }

    .curator-entry-composer .curator-type-control {
        grid-template-columns: repeat(3, 1fr);
    }

    .curator-entry-composer .curator-type-control label + label {
        border-top: 0;
        border-left: 1px solid var(--curator-ink);
    }

    .curator-entry-composer .curator-type-control--compact label + label {
        border: 0;
    }
}

@media (max-width: 540px) {
    .curator-profile-identity {
        margin-right: -0.63rem;
        margin-left: -0.63rem;
    }
}

/* New-entry flow: a touch-first sheet on mobile and the same card language in a
   centred desktop dialog. This intentionally sits after the legacy composer
   rules while the underlying Spotify workflow remains shared. */
.curator-entry-composer {
    width: min(calc(100% - 2rem), 590px);
    max-width: none;
    max-height: min(86dvh, 760px);
    box-sizing: border-box;
    padding: 0;
    border: 1px solid rgba(38, 36, 32, 0.14);
    border-radius: 18px;
    background: #faf8f3;
    box-shadow: 0 30px 90px rgba(23, 21, 18, 0.24);
    color: var(--curator-ink);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.curator-entry-composer::backdrop {
    background: rgba(31, 29, 25, 0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.curator-entry-composer-handle {
    display: none;
}

.curator-entry-composer-heading {
    position: relative;
    display: flex;
    min-height: 42px;
    align-items: center;
    padding: 1.45rem 1.55rem 0.65rem;
    border-bottom: 0.5px solid rgba(31, 30, 28, 0.09);
}

.curator-entry-composer-heading h2 {
    min-width: 0;
    margin: 0;
    color: rgba(12, 12, 11, 0.9);
    font: 500 clamp(1.55rem, 2vw, 1.8rem)/1.25 var(--rh-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: padding-left 0.16s ease;
}

.curator-entry-composer:not(.is-kind-picker) .curator-entry-composer-heading h2 {
    padding-left: 2.65rem;
    padding-right: 3.8rem;
}

.curator-entry-composer-heading h2.rhune-index-title {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 2.75rem !important;
    font: 500 0.68rem/1 var(--rh-sans);
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

.curator-entry-composer-kind-art {
    position: absolute;
    z-index: 1;
    top: calc(50% + 0.35rem);
    right: 1.35rem;
    display: block;
    width: 38px;
    height: 38px;
    pointer-events: none;
    transform: translateY(-50%);
}

.curator-entry-composer-kind-art[hidden] {
    display: none;
}

.curator-entry-composer-kind-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.curator-entry-composer-back,
.curator-entry-composer-close {
    position: absolute;
    z-index: 2;
    top: calc(50% + 0.4rem);
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: #292723;
    cursor: pointer;
    transform: translateY(-50%);
}

.curator-entry-composer-back {
    left: 1.4rem;
}

.curator-entry-composer-back svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-entry-composer-close {
    right: 1.35rem;
    display: none;
    font: 300 1.55rem/1 Arial, sans-serif;
}

.curator-entry-composer-back:hover,
.curator-entry-composer-back:focus-visible,
.curator-entry-composer-close:hover,
.curator-entry-composer-close:focus-visible {
    color: #000;
    outline: 1px solid rgba(38, 36, 32, 0.18);
    outline-offset: 2px;
}

.curator-entry-kind-picker {
    padding: 0 1.55rem 1.65rem;
}

.curator-entry-kind-picker > p,
.curator-entry-composer-intro {
    margin: 0 0 1.05rem;
    color: #73706a;
    font: 400 0.98rem/1.4 var(--rh-sans);
}

.curator-entry-kind-list {
    display: grid;
    gap: 0.5rem;
}

.curator-entry-kind-status {
    min-height: 1.2em;
    margin: 0.75rem 0 0;
    color: #77736c;
    font: 400 0.7rem/1.35 var(--rh-sans);
}

.curator-entry-kind-list > button {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 28px;
    gap: 1rem;
    align-items: center;
    width: 100%;
    min-height: 94px;
    box-sizing: border-box;
    padding: 0.8rem 0.9rem;
    border: 0;
    border-top: 0.5px solid rgba(38, 36, 32, 0.13);
    border-radius: 0;
    background: transparent;
    color: #24221f;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, background-color 0.16s ease, transform 0.16s ease;
}

.curator-entry-kind-list > button:focus-visible {
    border-color: rgba(38, 36, 32, 0.22);
    background: rgba(233, 228, 217, 0.26);
    outline: none;
    transform: translateY(-1px);
}

@media (hover: hover) and (pointer: fine) {
    .curator-entry-kind-list > button:hover {
        border-color: rgba(38, 36, 32, 0.22);
        background: rgba(233, 228, 217, 0.26);
        transform: translateY(-1px);
    }
}

@media (hover: none), (pointer: coarse) {
    .curator-entry-kind-list > button,
    .curator-entry-kind-list > button:hover,
    .curator-entry-kind-list > button:focus,
    .curator-entry-kind-list > button:focus-visible {
        border-color: rgba(38, 36, 32, 0.13);
        background: transparent;
        transform: none;
        outline: none;
        -webkit-tap-highlight-color: transparent;
    }
}

.curator-entry-kind-list > button:last-of-type {
    border-bottom: 0.5px solid rgba(38, 36, 32, 0.13);
}

.curator-entry-kind-icon {
    display: grid;
    width: 50px;
    height: 58px;
    place-items: center;
    border-radius: 8px;
    background: #ebe7de;
    color: #494640;
}

.curator-entry-kind-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.15;
    stroke-linecap: round;
    stroke-linejoin: round;
}

[data-curator-entry-composer] .curator-entry-kind-list > button {
    grid-template-columns: 70px minmax(0, 1fr) 28px;
    min-height: 104px;
}

[data-curator-entry-composer] .curator-entry-kind-icon {
    width: 68px;
    height: 68px;
    border-radius: 0;
    background: transparent;
}

[data-curator-entry-composer] .curator-entry-kind-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.curator-entry-longform-confirmation {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 320px;
    box-sizing: border-box;
    padding: 2rem 1.55rem 2.5rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
    animation: curator-longform-confirm-in 180ms ease-out both;
}

.curator-entry-longform-confirmation[hidden] {
    display: none;
}

.curator-entry-longform-confirmation-content {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 1rem;
    max-width: 25rem;
    min-height: 180px;
    text-align: center;
    transition: opacity 140ms ease;
}

.curator-entry-longform-confirmation-content > span {
    max-width: 26rem;
    color: #615d56;
    font: 400 1.05rem/1.35 var(--rh-sans);
}

.curator-entry-longform-confirmation-actions {
    display: grid;
    align-items: center;
    justify-items: center;
    gap: 1.15rem;
    margin-top: 0.35rem;
}

.curator-entry-longform-confirmation-actions button {
    min-height: 32px;
    padding: 0.45rem 0.72rem;
    border: 0.5px solid rgba(38, 36, 32, 0.16);
    border-radius: 999px;
    background: transparent;
    color: #292723;
    font: 500 0.56rem/1 var(--rh-sans);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    cursor: pointer;
}

.curator-entry-longform-confirmation-actions .curator-command {
    border-color: #302d29;
    background: #302d29;
    color: #faf8f3;
}

.curator-entry-longform-confirmation-actions .curator-entry-confirm-cancel {
    min-height: 0;
    padding: 0 0 0.22rem;
    border: 0;
    border-bottom: 1px solid rgba(36, 34, 32, 0.24);
    border-radius: 0;
    background: transparent;
    color: #77736d;
}

.curator-entry-composer.is-longform-confirming .curator-entry-kind-list > button {
    display: none;
}

.curator-entry-longform-confirmation-content > p {
    min-height: 0;
    margin: 0;
    color: #8a5d53;
    font: 400 0.62rem/1.3 var(--rh-sans);
}

.curator-entry-longform-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    display: none;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    border: 1.5px solid rgba(38, 36, 32, 0.2);
    border-top-color: #302d29;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: curator-longform-confirm-spin 700ms linear infinite;
}

.curator-entry-longform-confirmation.is-loading .curator-entry-longform-confirmation-content,
.curator-entry-longform-confirmation.is-loading > .curator-entry-kind-icon {
    opacity: 0.16;
}

.curator-entry-longform-confirmation.is-loading .curator-entry-longform-spinner {
    display: block;
}

@keyframes curator-longform-confirm-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes curator-longform-confirm-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.curator-entry-kind-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.curator-entry-kind-copy strong {
    font: 500 1.125rem/1.25 var(--rh-sans);
    letter-spacing: -0.025em;
    text-transform: none;
}

.curator-entry-kind-title {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 0.62rem;
}

.curator-entry-kind-title em {
    color: rgba(103, 86, 55, 0.72);
    font: normal 500 0.43rem/1 var(--rh-sans);
    letter-spacing: 0.085em;
    text-transform: uppercase;
    white-space: nowrap;
}

.curator-entry-kind-copy > span:not(.curator-entry-kind-title) {
    color: #706d67;
    font: 400 0.9rem/1.32 var(--rh-sans);
}

.curator-entry-kind-arrow {
    width: 24px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-entry-composer form {
    display: grid;
    width: min(100%, 480px);
    min-height: 0;
    align-content: start;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1.35rem 1.55rem 2.75rem;
}

.curator-entry-composer form fieldset {
    display: none;
    margin: 0;
}

.curator-entry-composer .curator-url-field > span {
    display: block;
    margin: 0 0 0.45rem;
    color: #716e68;
    font: 500 0.62rem/1.2 var(--rh-sans);
    letter-spacing: 0.035rem;
    text-transform: uppercase;
}

.curator-entry-composer .curator-url-field input {
    min-height: 56px;
    box-sizing: border-box;
    padding: 0 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #24221f;
    font: 400 1rem/1.2 var(--rh-sans);
}

.curator-entry-composer-intro {
    margin: 0 0 1.35rem;
    color: #77736d;
    font: 500 0.56rem/1.2 var(--rh-sans);
    letter-spacing: 0.13em;
    text-align: center;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
}

.curator-entry-composer .curator-url-field input:focus,
.curator-entry-composer .curator-url-field input:focus-visible {
    border-color: transparent;
    box-shadow: none;
    outline: none;
}

.curator-entry-composer .curator-url-field > .curator-entry-search-box {
    border: 0;
    border-bottom: 1px solid rgba(38, 36, 32, 0.28);
    border-radius: 0;
    background-color: transparent !important;
    box-shadow: none;
}

.curator-entry-composer .curator-entry-search-box:focus-within {
    border-bottom-color: rgba(38, 36, 32, 0.72);
    background: transparent;
    box-shadow: none;
}

.curator-entry-composer .curator-entry-search-box input,
.curator-entry-composer .curator-entry-search-box input:focus,
.curator-entry-composer .curator-entry-search-box input:focus-visible {
    border: 0 !important;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none;
}

.curator-entry-composer-search.has-results .curator-url-field input {
    border-radius: 0;
}

.curator-entry-composer-search.has-results .curator-entry-search-box {
    border-radius: 0;
}

.curator-entry-composer .curator-artist-results {
    position: absolute;
    top: calc(100% + 0.65rem);
    right: 0;
    left: 0;
    z-index: 8;
    border: 0;
    border-radius: 0;
    background: #faf8f3;
    box-shadow: none;
    max-height: clamp(180px, calc(min(86dvh, 760px) - 190px), 570px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    animation: curator-composer-results-in 180ms ease-out both;
}

@keyframes curator-composer-results-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.curator-entry-composer .curator-artist-result {
    grid-template-columns: 48px minmax(0, 1fr) 24px;
    gap: 0.85rem;
    min-height: 66px;
    padding: 0.55rem 0.45rem;
    border-bottom: 0.5px solid rgba(38, 36, 32, 0.13);
}

.curator-entry-composer .curator-artist-result-art {
    width: 48px;
    border-radius: 6px;
}

.curator-entry-composer .curator-artist-result-copy strong {
    font: 500 1.05rem/1.15 "Cormorant Garamond", Georgia, serif;
}

.curator-entry-composer .curator-artist-result-copy > span {
    color: #77736c;
    font-size: 0.67rem;
}

.curator-artist-result-arrow {
    width: 22px;
    height: 13px;
    fill: none;
    stroke: #5d5952;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.curator-entry-composer-mode {
    justify-self: center;
    margin-top: 1rem;
    padding: 0 0 0.24rem;
    border-bottom: 1px solid rgba(36, 34, 32, 0.24);
    color: #77736d;
    font: 500 0.52rem/1.2 var(--rh-sans);
    letter-spacing: 0.12em;
    text-decoration: none;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
    transition: opacity 140ms ease, transform 140ms ease, color 140ms ease;
}

.curator-entry-composer-search.has-results + .curator-entry-composer-mode {
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
}

.curator-entry-composer-mode:hover,
.curator-entry-composer-mode:focus,
.curator-entry-composer-mode:focus-visible {
    border-bottom-color: rgba(36, 34, 32, 0.44);
    color: #292724;
    outline: none;
    box-shadow: none;
}

.curator-entry-composer-status {
    text-align: center;
    margin: 0.55rem 0 0.7rem;
}

.curator-entry-composer-submit {
    min-height: 50px;
    border-radius: 8px;
    font-size: 0.76rem;
}

.curator-entry-fetch {
    width: min(100%, 480px);
    min-height: 320px;
    grid-template-rows: 112px minmax(48px, auto) minmax(96px, auto);
    align-content: start;
    gap: 0.8rem;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1.35rem 1.55rem 2.5rem;
}

.curator-entry-fetch-artwork {
    width: 112px;
    margin: 0;
    border-radius: 50%;
    box-shadow: 0 10px 28px rgba(24, 21, 17, 0.1);
}

.curator-entry-fetch[data-entry-type="album"] .curator-entry-fetch-artwork,
.curator-entry-fetch[data-entry-type="playlist"] .curator-entry-fetch-artwork {
    border-radius: 5px;
}

.curator-entry-fetch h3 {
    align-self: center;
    max-width: 22rem;
    font: 500 1.5rem/1.08 "Cormorant Garamond", Georgia, serif;
    text-wrap: balance;
}

.curator-entry-confirm {
    align-content: start;
    gap: 0.8rem;
    min-height: 96px;
}

.curator-entry-confirm > p {
    grid-column: 1 / -1;
    margin: 0 0 0.25rem;
    color: #77736d;
    font: 500 0.54rem/1.3 var(--rh-sans);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.curator-entry-confirm .curator-command {
    min-width: 0;
    min-height: 36px;
    padding: 0.65rem 0.9rem;
    border-radius: 999px;
    font: 500 0.52rem/1.2 var(--rh-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.curator-entry-confirm-actions {
    display: grid;
    align-items: center;
    justify-content: center;
    justify-items: center;
    gap: 1.15rem;
}

.curator-entry-confirm-cancel {
    margin: 0;
    padding: 0 0 0.22rem;
    border-bottom: 1px solid rgba(36, 34, 32, 0.24);
    color: #77736d;
    font: 500 0.52rem/1.2 var(--rh-sans);
    letter-spacing: 0.12em;
    text-decoration: none;
    text-transform: uppercase;
}

.curator-entry-fetch-status {
    align-content: center;
    min-height: 96px;
}

.curator-entry-composer.is-busy .curator-entry-composer-back {
    opacity: 0.58;
}

@media (max-width: 680px) {
    .curator-entry-composer {
        inset: auto 0 0;
        width: 100%;
        max-width: none;
        height: min(72dvh, 680px);
        min-height: 0;
        max-height: min(88dvh, 760px);
        margin: 0;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 22px 22px 0 0;
        box-shadow: 0 -18px 60px rgba(23, 21, 18, 0.16);
        outline: none;
    }

    .curator-entry-composer:focus,
    .curator-entry-composer:focus-visible {
        outline: none;
    }

    .curator-entry-composer[open] {
        animation: curator-entry-sheet-in 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    [data-curator-entry-composer]::backdrop {
        background: rgba(31, 29, 25, 0.3);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    [data-curator-entry-composer][open] {
        will-change: transform;
        animation: curator-create-sheet-in 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    [data-curator-entry-composer][open]::backdrop {
        animation: curator-create-backdrop-in 320ms ease-out both;
    }

    .curator-entry-composer-handle {
        position: relative;
        display: block;
        width: 54px;
        height: 24px;
        margin: 0.15rem auto -0.2rem;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: grab;
        touch-action: none;
    }

    .curator-entry-composer-handle::after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 34px;
        height: 4px;
        border-radius: 999px;
        background: rgba(38, 36, 32, 0.22);
        content: "";
        transform: translate(-50%, -50%);
    }

    .curator-entry-composer.is-dragging {
        animation: none;
        transition: none;
    }

    .curator-entry-composer.is-dragging .curator-entry-composer-handle {
        cursor: grabbing;
    }

    .curator-entry-composer.is-drag-resetting {
        transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .curator-entry-composer.is-dismissing {
        pointer-events: none;
        transition: transform 180ms ease-in;
    }

    .curator-entry-composer-heading {
        min-height: 38px;
        padding: 1.05rem 1.25rem 0.55rem;
    }

    .curator-entry-composer-heading h2 {
        padding-right: 2.4rem;
        font-size: 1.15rem;
    }

    [data-curator-entry-composer].is-kind-picker .curator-entry-composer-heading h2 {
        padding-right: 0;
    }

    .curator-entry-composer:not(.is-kind-picker) .curator-entry-composer-heading h2 {
        padding-left: 2.55rem;
        padding-right: 2.5rem;
        padding-bottom: 0.28rem;
    }

    .curator-entry-composer-kind-art {
        top: calc(50% + 0.1rem);
        right: 1.15rem;
        width: 32px;
        height: 32px;
    }

    .curator-entry-composer-back {
        left: 1rem;
    }

    .curator-entry-composer-close {
        display: none;
    }

    .curator-entry-kind-picker,
    .curator-entry-composer form {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .curator-entry-kind-picker {
        padding-bottom: max(2.5rem, calc(env(safe-area-inset-bottom) + 1.25rem));
    }

    .curator-entry-kind-list > button {
        grid-template-columns: 46px minmax(0, 1fr) 24px;
        gap: 0.85rem;
        min-height: 88px;
        padding: 0.7rem 0.75rem;
    }

    .curator-entry-kind-icon {
        width: 44px;
        height: 54px;
    }

    .curator-entry-kind-icon svg {
        width: 22px;
        height: 22px;
    }

    [data-curator-entry-composer] .curator-entry-kind-list > button {
        grid-template-columns: 58px minmax(0, 1fr) 24px;
        min-height: 94px;
    }

    .curator-entry-longform-confirmation {
        min-height: calc(min(72dvh, 680px) - 64px);
        padding: 1.35rem 1.55rem 2.5rem;
    }

    .curator-entry-longform-confirmation-content {
        min-height: 180px;
    }

    [data-curator-entry-composer] .curator-entry-kind-icon {
        width: 56px;
        height: 56px;
    }

    .curator-entry-kind-copy strong {
        font-size: 0.6rem;
    }

    .curator-entry-kind-copy > span:not(.curator-entry-kind-title) {
        font-size: 0.72rem;
    }

    .curator-entry-composer form {
        min-height: 0;
        padding-top: 1.35rem;
        padding-bottom: max(2.5rem, calc(env(safe-area-inset-bottom) + 1.25rem));
    }

    .curator-entry-fetch {
        min-height: calc(min(72dvh, 680px) - 64px);
    }

    .curator-entry-composer .curator-artist-results {
        position: absolute;
        max-height: clamp(180px, calc(min(72dvh, 680px) - 180px), 500px);
    }
}

html.rhune-create-stage-document,
body.curator-create-stage-document {
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    background: #faf8f3;
}

body.curator-create-stage-document .curator-entry-composer {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

@keyframes curator-entry-sheet-in {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes curator-create-sheet-in {
    from { transform: translate3d(0, calc(100% + env(safe-area-inset-bottom)), 0); }
    to { transform: translate3d(0, 0, 0); }
}

@keyframes curator-create-backdrop-in {
    from { background: rgba(31, 29, 25, 0); }
    to { background: rgba(31, 29, 25, 0.3); }
}

@media (prefers-reduced-motion: reduce) {
    .curator-entry-composer[open] {
        animation: none;
    }

    .curator-entry-kind-list > button {
        transition: none;
    }

    ::view-transition-group(curator-app-surface),
    ::view-transition-old(curator-app-surface),
    ::view-transition-new(curator-app-surface) {
        animation-duration: 1ms !important;
    }

    .curator-app-detail-surface--native-enter {
        animation: none !important;
    }
}

/* Curator profile redesign. Kept page-scoped so this shell can be promoted to a
   shared signed-in layout without changing the rest of the site first. */
.curator-page-sidebar {
    display: none;
}

.curator-app-shell,
.curator-app-surface-host,
.curator-app-detail-host,
.curator-app-surface,
.curator-app-detail-surface {
    min-width: 0;
}

.curator-app-shell-page {
    height: 100dvh;
    overflow: hidden;
}

body.curator-app-shell-page {
    width: 100%;
    max-width: 100%;
    /* Override the site's 100vh minimum: Safari's expanded browser controls
       can make that taller than this shell's 100dvh viewport. */
    min-height: 0;
    overflow: hidden;
}

/* The prewarmed document is not a real tab page. Keep its inherited header
   out of the first frame; the shell removes this class synchronously when it
   stages the requested detail and has the correct header context available. */
body.curator-app-placeholder-page .site-header {
    visibility: hidden;
}

body.curator-app-shell-page.curator-entry-has-background::before,
body.curator-app-shell-page.curator-profile-has-background::before {
    display: none;
}

body.curator-app-shell-page > main {
    align-self: stretch;
    width: auto;
    max-width: none;
    height: calc(100dvh - var(--curator-app-header-height, 82px));
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.curator-app-shell {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    max-width: 100%;
    animation: curator-app-first-load 160ms ease-out both;
}

.curator-app-surface-host,
.curator-app-detail-host {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.curator-app-detail-host {
    z-index: 2;
    pointer-events: none;
}

.curator-app-detail-host.has-active-detail {
    pointer-events: auto;
}

.curator-native-refresh {
    display: none;
}

html.rhune-native-ios .curator-native-refresh {
    position: fixed;
    z-index: 19;
    top: calc(env(safe-area-inset-top, 0px) + 3.1rem);
    left: 50%;
    display: block;
    width: 15px;
    height: 15px;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(-50%, calc(-28px + var(--curator-refresh-pull, 0px)), 0) scale(0.78);
    transition: opacity 140ms ease, transform 180ms cubic-bezier(0.22, 0.72, 0.28, 1);
}

.curator-native-refresh > i {
    display: block;
    width: 100%;
    height: 100%;
    background: url('/static/rhune-r.webp?v=2') center / contain no-repeat;
    opacity: 0.52;
    transform-origin: center;
    transition: opacity 160ms ease, transform 180ms cubic-bezier(0.22, 0.72, 0.28, 1);
}

html.rhune-native-ios .curator-native-refresh.is-pulling {
    opacity: 0.72;
}

html.rhune-native-ios .curator-native-refresh.is-ready,
html.rhune-native-ios .curator-native-refresh.is-refreshing {
    opacity: 0.92;
    transform: translate3d(-50%, 14px, 0) scale(1);
}

html.rhune-native-ios .curator-native-refresh.is-ready > i {
    opacity: 0.86;
    transform: scale(1.02);
}

html.rhune-native-ios .curator-native-refresh.is-refreshing > i {
    animation: curator-native-refresh-breathe 960ms ease-in-out infinite alternate;
    will-change: opacity, transform;
}

html.rhune-native-ios .curator-native-refresh.is-dismissing {
    opacity: 0;
    transform: translate3d(-50%, 14px, 0) scale(0.9);
    transition: opacity 140ms ease, transform 180ms cubic-bezier(0.22, 0.72, 0.28, 1);
}

/* On capable iOS WebKit builds, each primary-tab header and its scroll surface are
   separate compositor layers. The spacer preserves the document's ordinary
   geometry; the scroll timeline moves the header away during normal scrolling
   while clamping it in place during negative rubber-band overscroll. */
.curator-root-header-layer,
.curator-root-header-spacer {
    display: none;
}

@supports (animation-timeline: scroll()) and
    (scroll-timeline-name: --rhune-root-scroll) and
    (timeline-scope: --rhune-root-scroll) {
    html.rhune-native-ios body.curator-app-root-page > .site-header {
        position: absolute;
        z-index: 20;
        top: env(safe-area-inset-top, 0px);
        right: 0;
        left: 0;
        width: 100%;
        box-sizing: border-box;
    }

    html.rhune-native-ios .curator-app-shell.has-curator-root-split-header {
        timeline-scope: --rhune-root-scroll;
    }

    /* Paper over the status area: a header only partly scrolled away (a
       short page) tucks under it rather than sitting beneath the island. */
    html.rhune-native-ios .curator-app-shell.has-curator-root-split-header::before {
        content: "";
        position: absolute;
        z-index: 21;
        top: 0;
        right: 0;
        left: 0;
        height: env(safe-area-inset-top, 0px);
        background: var(--curator-paper);
        pointer-events: none;
    }

    html.rhune-native-ios .curator-app-surface.curator-root-split-scroll {
        scroll-timeline-name: --rhune-root-scroll;
        scroll-timeline-axis: block;
    }

    html.rhune-native-ios .curator-root-header-spacer {
        display: block;
        height: var(--curator-app-header-height, 82px);
        pointer-events: none;
    }

    html.rhune-native-ios .curator-app-surface.curator-root-split-scroll > main {
        transform: translate3d(0, var(--curator-refresh-content-pull, 0px), 0);
        transition: transform 220ms cubic-bezier(0.22, 0.72, 0.28, 1);
    }

    html.rhune-native-ios
        .curator-app-surface.curator-root-split-scroll.is-synthesizing-native-refresh > main {
        transition: none;
    }

    html.rhune-native-ios .curator-app-shell.has-curator-root-split-header.is-holding-native-refresh
        .curator-app-surface.curator-root-split-scroll:not([hidden]) > main {
        transform: translate3d(0, 34px, 0);
    }

    html.rhune-native-ios .curator-root-header-layer {
        --curator-root-header-exit-distance: calc(
            var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px)
        );
        position: absolute;
        z-index: 20;
        top: env(safe-area-inset-top, 0px);
        right: 0;
        left: 0;
        display: block;
        height: var(--curator-app-header-height, 82px);
        pointer-events: none;
        animation: curator-root-header-scroll 1ms linear both;
        animation-timeline: --rhune-root-scroll;
        animation-range: 0 var(--curator-root-header-exit-distance);
        will-change: transform;
    }

    html.rhune-native-ios .curator-root-header-layer[hidden] {
        display: none;
    }

    html.rhune-native-ios .curator-root-header-layer > .site-header {
        position: relative;
        inset: auto;
        width: 100%;
        margin-left: 0;
        box-sizing: border-box;
        pointer-events: auto;
    }

    html.rhune-native-ios .curator-app-shell.has-curator-root-split-header
        .curator-native-refresh {
        z-index: 19;
        top: calc(env(safe-area-inset-top, 0px) + var(--curator-app-header-height, 82px));
    }
}

@keyframes curator-root-header-scroll {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(0, calc(-1 * var(--curator-root-header-exit-distance)), 0); }
}

@keyframes curator-native-refresh-breathe {
    from { opacity: 0.4; transform: scale(0.97); }
    to { opacity: 0.88; transform: scale(1.02); }
}

@media (prefers-reduced-motion: reduce) {
    html.rhune-native-ios .curator-native-refresh.is-refreshing > i {
        animation: none;
        opacity: 0.76;
    }
}

.curator-native-scroll-tail {
    display: none;
}

html.rhune-native-ios .curator-native-scroll-tail {
    position: fixed;
    z-index: 19;
    bottom: calc(53px + env(safe-area-inset-bottom, 0px) + 0.45rem);
    left: 50%;
    display: flex;
    width: max-content;
    align-items: center;
    flex-direction: column;
    gap: 0.22rem;
    opacity: var(--curator-scroll-tail-opacity, 0);
    pointer-events: none;
    transform: translateX(-50%);
    transition: opacity 190ms ease;
}

html.rhune-native-ios .curator-native-scroll-tail__mark {
    display: block;
    width: 20px;
    height: 20px;
    transform: scale(var(--curator-scroll-tail-scale, 0.42));
    transform-origin: center;
    transition: transform 240ms cubic-bezier(0.22, 0.8, 0.25, 1);
}

html.rhune-native-ios .curator-native-scroll-tail__mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

html.rhune-native-ios .curator-native-scroll-tail__label {
    display: inline-flex;
    align-items: center;
    gap: 0.54rem;
    color: rgba(35, 33, 30, 0.7);
    font: 500 0.48rem/1.2 var(--rh-sans);
    letter-spacing: 0.17em;
    opacity: var(--curator-scroll-tail-label-opacity, 0);
    text-transform: uppercase;
    transform: translateY(var(--curator-scroll-tail-label-offset, 5px));
    transition: opacity 180ms ease, transform 220ms cubic-bezier(0.22, 0.8, 0.25, 1);
    white-space: nowrap;
}

html.rhune-native-ios .curator-native-scroll-tail__label i,
html.rhune-native-ios .curator-native-scroll-tail__label b {
    font: inherit;
}

html.rhune-native-ios .curator-native-scroll-tail__label i {
    color: rgba(35, 33, 30, 0.4);
}

html.rhune-native-ios .curator-native-scroll-tail.is-pulling,
html.rhune-native-ios .curator-native-scroll-tail.is-pulling .curator-native-scroll-tail__mark,
html.rhune-native-ios .curator-native-scroll-tail.is-pulling .curator-native-scroll-tail__label {
    transition: none;
}

html.rhune-native-ios .curator-native-scroll-tail.is-ready .curator-native-scroll-tail__mark {
    animation: curator-scroll-tail-pop 190ms cubic-bezier(0.18, 0.8, 0.28, 1);
}

@keyframes curator-scroll-tail-pop {
    50% { transform: scale(1.2); }
    100% { transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
    html.rhune-native-ios .curator-native-scroll-tail.is-ready .curator-native-scroll-tail__mark {
        animation: none;
    }
}

.curator-app-surface,
.curator-app-detail-surface {
    position: absolute;
    inset: 0;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    isolation: isolate;
    background-color: var(--curator-paper);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: auto;
}

.curator-app-detail-surface[data-curator-app-body-classes~="curator-entry-page"] {
    background-color: var(--curator-reading-paper);
}

.curator-app-detail-surface[data-curator-app-body-classes~="curator-longform-page"] {
    background-color: var(--longform-paper);
}

.curator-app-detail-surface[data-curator-entry-background-url] {
    position: absolute;
}

.curator-app-detail-surface[data-curator-entry-background-url]::before {
    position: fixed;
    z-index: 0;
    inset: -12%;
    background-image: var(--curator-surface-background-image, none);
    background-position: center;
    background-size: cover;
    content: "";
    filter: blur(23px);
    opacity: 0;
    pointer-events: none;
    transform: scale(1.05);
}

.curator-app-detail-surface[data-curator-entry-background-loaded="true"]::before {
    animation: curator-surface-background-reveal 0.7s ease both;
}

@keyframes curator-surface-background-reveal {
    from { opacity: 0; }
    to { opacity: 0.08; }
}

.curator-app-detail-surface[data-curator-entry-background-url] > main {
    position: relative;
    z-index: 1;
}

.curator-app-detail-loading {
    position: absolute;
    z-index: 3;
    top: calc(var(--curator-app-header-height, 82px) + 1.5rem);
    right: 0;
    left: 0;
    box-sizing: border-box;
    padding: 0 clamp(1rem, 5vw, 3rem) 5rem;
    opacity: 1;
    pointer-events: none;
}

.curator-app-detail-surface--pending {
    z-index: 4;
    transition: opacity 140ms ease;
}

.curator-app-detail-surface--pending.is-revealing {
    background-color: transparent;
}

.curator-app-detail-surface--pending.is-resolving {
    opacity: 0;
    pointer-events: none;
}

.curator-app-detail-surface--native-enter {
    z-index: 5;
    animation: curator-native-surface-in 150ms ease-out both;
}

@keyframes curator-native-surface-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 1100px) {
    .curator-app-detail-surface--pending[data-curator-pending-kind="artist"],
    .curator-app-detail-surface--pending[data-curator-pending-kind="featured"] {
        padding: 0 !important;
        overflow: hidden;
    }

    .curator-app-detail-surface--pending[data-curator-pending-kind="artist"] > .curator-artist-loading,
    .curator-app-detail-surface--pending[data-curator-pending-kind="featured"] > .curator-artist-loading {
        bottom: calc(53px + env(safe-area-inset-bottom, 0px));
    }

    html.rhune-native-ios .curator-artist-detail-surface .curator-artist-loading__inner,
    html.rhune-native-ios .curator-app-detail-surface--pending[data-curator-pending-kind="artist"] .curator-artist-loading__inner,
    html.rhune-native-ios .curator-app-detail-surface--pending[data-curator-pending-kind="featured"] .curator-artist-loading__inner {
        padding-top: env(safe-area-inset-top, 0px);
    }
}

.curator-app-detail-loading__inner {
    width: min(100%, 920px);
    margin: 0 auto;
}

.curator-app-detail-loading i {
    display: block;
    border-radius: 3px;
    background: var(--rh-skeleton-shimmer);
    background-size: 220% 100%;
    animation: curator-detail-skeleton-shimmer 1.35s ease-in-out infinite;
}

.curator-app-detail-loading .is-kicker {
    width: 82px;
    height: 8px;
    margin: 0 auto 1.3rem;
}

.curator-app-detail-loading .is-title {
    width: min(78%, 680px);
    height: clamp(30px, 5vw, 54px);
    margin: 0 auto 0.45rem;
}

.curator-app-detail-loading .is-title.is-short {
    width: min(46%, 390px);
}

.curator-app-detail-loading .is-deck {
    width: min(58%, 500px);
    height: 18px;
    margin: 1.6rem auto 0;
}

.curator-app-detail-loading .is-meta {
    width: 118px;
    height: 7px;
    margin: 1.4rem auto 0;
}

.curator-app-detail-loading .is-cover {
    width: min(100%, 920px);
    aspect-ratio: 16 / 6.8;
    margin: 2.8rem auto 0;
    border-radius: 5px;
}

.curator-app-detail-loading .is-prose {
    display: grid;
    width: min(72%, 660px);
    gap: 0.72rem;
    margin: 2.8rem auto 0;
}

.curator-app-detail-loading .is-prose i {
    width: 100%;
    height: 10px;
}

.curator-app-detail-loading .is-prose i:nth-child(2) { width: 94%; }
.curator-app-detail-loading .is-prose i:nth-child(3) { width: 98%; }
.curator-app-detail-loading .is-prose i:nth-child(4) { width: 68%; }

.curator-app-detail-loading .is-back {
    width: 54px;
    height: 8px;
    margin-bottom: 3rem;
}

.curator-app-detail-loading .is-entry-hero {
    display: grid;
    grid-template-columns: minmax(120px, 32%) minmax(0, 1fr);
    gap: clamp(1.4rem, 5vw, 3.5rem);
    align-items: center;
    width: min(100%, 820px);
    margin: 0 auto;
}

.curator-app-detail-loading .is-entry-art {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 5px;
}

.curator-app-detail-loading .is-entry-hero b {
    display: grid;
    gap: 0.9rem;
}

.curator-app-detail-loading .is-entry-hero b i:nth-child(1) { width: 68px; height: 7px; }
.curator-app-detail-loading .is-entry-hero b i:nth-child(2) { width: 86%; height: 34px; }
.curator-app-detail-loading .is-entry-hero b i:nth-child(3) { width: 48%; height: 10px; }

/* Curator artist/album/playlist entries share this centred reading geometry.
   Keep it distinct from both official artist pages and longform. */
.curator-app-detail-loading--entry {
    top: calc(var(--curator-app-header-height, 82px) + 1.5rem);
}

.curator-app-detail-loading--entry .curator-app-detail-loading__inner {
    width: min(calc(100% - 2rem), 940px);
    padding-top: calc(22px + 0.9rem);
}

.curator-app-detail-loading--longform .curator-app-detail-loading__inner {
    padding-top: calc(8px + 3rem);
}

/* Full-page placeholders are absolutely positioned, so the surface's own
   safe-area padding does not move them. Mirror each resolved page's real top
   geometry with the inset reported by iOS instead of approximating a notch. */
@media (max-width: 1100px) {
    html.rhune-native-ios .curator-app-detail-loading--entry {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + 1.5rem);
    }

    html.rhune-native-ios .curator-app-detail-loading--entry .curator-app-detail-loading__inner {
        padding-top: 0;
    }

    html.rhune-native-ios .curator-app-detail-loading--longform {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + clamp(0.8rem, 2vw, 1rem));
    }

    html.rhune-native-ios .curator-app-detail-loading--longform .curator-app-detail-loading__inner {
        padding-top: 0;
    }

    html.rhune-native-ios .curator-app-detail-loading--profile {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + 1rem);
    }

    html.rhune-native-ios .curator-app-detail-loading--manage {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + 2rem);
    }
}

@media (max-width: 680px) {
    html.rhune-native-ios .curator-app-detail-loading--longform {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + 0.75rem);
    }
}

.curator-app-detail-loading--entry .is-entry-polaroid {
    width: 206px;
    height: 221px;
    margin: 0 auto;
    border: 10px solid rgba(248, 246, 241, 0.92);
    border-bottom-width: 25px;
    box-sizing: border-box;
    box-shadow: 0 10px 24px rgba(22, 18, 14, 0.045);
}

.curator-app-detail-loading--entry .is-entry-title {
    width: min(76%, 470px);
    height: clamp(42px, 7vw, 62px);
    margin: 0.72rem auto 0;
}

.curator-app-detail-loading--entry .is-entry-byline {
    width: 126px;
    height: 20px;
    margin: 0.7rem auto 0;
    border-radius: 999px;
}

.curator-app-detail-loading--entry .is-entry-foreword {
    width: min(66%, 560px);
    height: 13px;
    margin: 1.1rem auto 0;
}

.curator-app-detail-loading--entry .is-entry-note {
    display: grid;
    width: min(100%, 780px);
    gap: 0.75rem;
    margin: 2rem auto 0;
    padding: clamp(1.1rem, 3vw, 1.7rem);
    box-sizing: border-box;
    border-radius: 4px;
    background: rgba(250, 248, 244, 0.72);
}

.curator-app-detail-loading--entry .is-entry-note i:nth-child(1) { width: 36%; height: 24px; }
.curator-app-detail-loading--entry .is-entry-note i:nth-child(2) { width: 100%; height: 10px; }
.curator-app-detail-loading--entry .is-entry-note i:nth-child(3) { width: 93%; height: 10px; }
.curator-app-detail-loading--entry .is-entry-note i:nth-child(4) { width: 62%; height: 10px; }

@media (max-width: 540px) {
    .curator-app-detail-loading--entry {
        top: calc(var(--curator-app-header-height, 82px) + 0.75rem);
    }

    html.rhune-native-ios .curator-app-detail-loading--entry {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px));
    }

    .curator-app-detail-loading--entry .is-entry-polaroid {
        width: 154px;
        height: 166px;
        border-width: 8px;
        border-bottom-width: 20px;
    }

    .curator-app-detail-loading--entry .is-entry-title {
        width: min(84%, 330px);
        height: 43px;
    }

    .curator-app-detail-loading--entry .is-entry-note {
        margin-top: 1.55rem;
    }
}

.curator-app-detail-loading--profile {
    top: calc(var(--curator-app-header-height, 82px) + 1rem);
}

.curator-app-detail-loading--manage {
    top: calc(var(--curator-app-header-height, 82px) + 2rem);
}

.curator-app-detail-loading--manage .is-manage-title {
    width: 92px;
    height: 10px;
    margin: 1rem auto 2rem;
}

.curator-app-detail-loading--manage .is-manage-lines {
    display: grid;
    gap: 1.15rem;
    width: min(82%, 460px);
    margin: 0 auto;
}

.curator-app-detail-loading--manage .is-manage-lines > i {
    width: 74%;
    height: 10px;
    border: 0;
    border-radius: 999px;
}

.curator-app-detail-loading--manage .is-manage-lines > i:nth-child(2) { width: 92%; }
.curator-app-detail-loading--manage .is-manage-lines > i:nth-child(3) { width: 64%; }
.curator-app-detail-loading--manage .is-manage-lines > i:nth-child(4) { width: 82%; }

@media (max-width: 540px) {
    .curator-app-detail-loading--manage {
        top: calc(var(--curator-app-header-height, 82px) + 0.75rem);
    }

    html.rhune-native-ios .curator-app-detail-loading--manage {
        top: calc(var(--curator-app-header-height, 82px) + env(safe-area-inset-top, 0px) + 0.75rem);
    }

    .curator-app-detail-loading--manage .is-manage-title { margin-bottom: 1.75rem; }
}

.curator-app-detail-loading .is-profile-identity {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    padding: clamp(1.75rem, 4vw, 2.75rem) 0 clamp(3rem, 6vw, 4rem);
}

.curator-app-detail-loading .is-profile-badge {
    display: flex;
    width: 48px;
    min-height: 18px;
    align-items: center;
    margin-bottom: 0.55rem;
}

.curator-app-detail-loading .is-profile-badge i {
    width: 48px;
    height: 7px;
}

.curator-app-detail-loading .is-profile-polaroid {
    width: 80px;
    height: 86px;
    border-radius: 3px;
}

.curator-app-detail-loading .is-profile-name {
    width: min(64%, 330px);
    height: clamp(42px, 5.7vw, 58px);
    margin-top: 0.5rem;
}

.curator-app-detail-loading .is-profile-handle {
    width: 92px;
    height: 9px;
}

.curator-app-detail-loading .is-profile-meta {
    display: flex;
    min-height: 24px;
    align-items: center;
    margin-top: 0.18rem;
}

.curator-app-detail-loading .is-profile-social {
    display: flex;
    min-height: 1.1rem;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.72rem;
}

.curator-app-detail-loading .is-profile-social i {
    width: 56px;
    height: 7px;
}

.curator-app-detail-loading .is-profile-location {
    display: flex;
    min-height: 22px;
    align-items: center;
    margin-top: 0.48rem;
}

.curator-app-detail-loading .is-profile-location i {
    width: 78px;
    height: 10px;
}

.curator-app-detail-loading .is-profile-index {
    display: grid;
    width: min(100%, 690px);
    margin: 0;
}

.curator-app-detail-loading .is-profile-index-heading {
    display: flex;
    min-height: 28px;
    align-items: flex-start;
    justify-content: space-between;
}

.curator-app-detail-loading .is-profile-index-heading i:first-child {
    width: 48px;
    height: 7px;
}

.curator-app-detail-loading .is-profile-index-heading i:last-child {
    width: 68px;
    height: 24px;
    border-radius: 999px;
}

.curator-app-detail-loading .is-profile-entry {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 1.15rem;
    min-height: 88px;
    align-items: center;
}

.curator-app-detail-loading .is-profile-entry.is-primary {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1.6rem;
    min-height: 132px;
}

.curator-app-detail-loading .is-profile-entry .is-art {
    width: 64px;
    height: 64px;
}

.curator-app-detail-loading .is-profile-entry.is-primary .is-art {
    width: 96px;
    height: 96px;
}

.curator-app-detail-loading .is-profile-entry b {
    display: grid;
    gap: 0.55rem;
}

.curator-app-detail-loading .is-profile-entry b i:nth-child(1) { width: 52px; height: 6px; }
.curator-app-detail-loading .is-profile-entry b i:nth-child(2) { width: min(78%, 330px); height: 22px; }
.curator-app-detail-loading .is-profile-entry b i:nth-child(3) { width: 78px; height: 6px; }

.curator-app-detail-loading .is-list {
    display: grid;
    width: min(100%, 760px);
    gap: 1rem;
    margin: 0 auto;
}

.curator-app-detail-loading .is-list > span {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(38, 36, 32, 0.07);
}

.curator-app-detail-loading .is-list .is-art {
    width: 76px;
    height: 76px;
}

.curator-app-detail-loading .is-list b {
    display: grid;
    gap: 0.65rem;
}

.curator-app-detail-loading .is-list b i:first-child { width: 65%; height: 18px; }
.curator-app-detail-loading .is-list b i:last-child { width: 32%; height: 7px; }

/* Artist pages keep their own editorial header and centred hero. Their loading
   shell mirrors that geometry instead of borrowing an entry/profile layout. */
body.curator-artist-detail-page .site-header {
    display: none;
}

.curator-app-detail-loading.curator-artist-loading,
.curator-artist-detail-loading.curator-artist-loading {
    position: absolute;
    z-index: 0;
    inset: 0;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    background: var(--curator-paper);
    pointer-events: none;
}

.curator-artist-loading__inner {
    width: min(100%, 980px);
    min-height: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 clamp(1.3rem, 2.8vw, 2.4rem) 4rem;
}

.curator-artist-loading i {
    display: block;
    border-radius: 3px;
    background: var(--rh-skeleton-shimmer);
    background-size: 220% 100%;
    animation: curator-detail-skeleton-shimmer 1.35s ease-in-out infinite;
}

.curator-artist-loading__header {
    position: relative;
    display: flex;
    min-height: 70px;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 16px;
}

.curator-artist-loading__header .is-brand {
    width: 115px;
    height: 38px;
    border-radius: 2px;
}

.curator-artist-loading__header .is-back,
.curator-artist-loading__header .is-follow {
    position: absolute;
    top: 31px;
    transform: translateY(-50%);
}

.curator-artist-loading__header .is-back {
    left: max(1rem, calc((100% - 900px) / 2 + 1rem));
    width: 18px;
    height: 18px;
}

.curator-artist-loading__header .is-follow {
    right: max(1rem, calc((100% - 900px) / 2 + 1rem));
    width: 48px;
    height: 7px;
}

.curator-artist-loading__profile-hero,
.curator-artist-loading__release-hero {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.curator-artist-loading__profile-hero {
    margin-top: clamp(2.5rem, 8vw, 5.9rem);
}

.curator-artist-loading__portrait {
    width: 80px;
    height: 91px;
    margin-bottom: 0.75rem;
    border-radius: 3px !important;
}

.curator-artist-loading__artist-name {
    width: min(62vw, 330px);
    height: clamp(48px, 8vw, 66px);
    margin-top: 0;
}

.curator-artist-loading__copy {
    display: grid;
    width: min(80%, 560px);
    justify-items: center;
    gap: 0.65rem;
    margin-top: 1.25rem;
}

.curator-artist-loading__copy i {
    width: 100%;
    height: 10px;
}

.curator-artist-loading__copy i:last-child {
    width: 68%;
}

.curator-artist-loading__releases {
    display: grid;
    width: min(100%, 900px);
    margin: clamp(4.2rem, 10vw, 7rem) auto 0;
}

.curator-artist-loading__releases > i {
    position: relative;
    width: 100%;
    height: clamp(62px, 9vw, 88px);
    border: 0;
    border-radius: 0;
    background: none;
    animation: none;
}

.curator-artist-loading__releases > i::before,
.curator-artist-loading__releases > i::after {
    position: absolute;
    top: 50%;
    display: block;
    height: 14px;
    border-radius: 3px;
    background: var(--rh-skeleton-shimmer);
    background-size: 220% 100%;
    content: "";
    transform: translateY(-50%);
    animation: curator-detail-skeleton-shimmer 1.35s ease-in-out infinite;
}

.curator-artist-loading__releases > i::before {
    left: clamp(0.3rem, 1.7vw, 1.8rem);
    width: min(48%, 360px);
    height: clamp(20px, 3.8vw, 32px);
}

.curator-artist-loading__releases > i::after {
    right: clamp(0.3rem, 1.7vw, 1.8rem);
    width: clamp(48px, 9vw, 76px);
}

.curator-artist-loading__release-hero {
    margin-top: 1.2rem;
}

.curator-artist-loading__cover {
    width: clamp(148px, 31vw, 218px);
    aspect-ratio: 0.935;
    border-radius: 3px !important;
}

.curator-artist-loading__release-title {
    width: min(72vw, 430px);
    height: clamp(38px, 5vw, 62px);
    margin-top: 0.8rem;
}

.curator-artist-loading__meta {
    width: min(42vw, 210px);
    height: 13px;
    margin-top: 0.7rem;
}

.curator-artist-loading__release-hero .curator-artist-loading__copy {
    margin-top: 1.4rem;
}

.curator-artist-loading--release .curator-artist-loading__header .is-follow {
    display: none;
}

.curator-artist-loading--featured .curator-artist-loading__release-hero {
    margin-top: 2.1rem;
}

.curator-artist-loading__tracks {
    display: grid;
    width: min(100%, 820px);
    gap: 0.8rem;
    margin: 3.2rem auto 0;
}

.curator-artist-loading__tracks > i {
    width: 100%;
    height: 78px;
    border: 0;
    border-radius: 5px;
}

@media (min-width: 1101px) {
    .curator-app-detail-loading.curator-artist-loading {
        left: var(--curator-sidebar-width, 220px);
    }
}

@media (max-width: 900px) {
    .curator-artist-loading__header {
        min-height: 82px;
        padding-top: 32px;
    }

    .curator-artist-loading__header .is-brand {
        width: 100px;
        height: 33px;
    }

    .curator-artist-loading__header .is-back,
    .curator-artist-loading__header .is-follow {
        top: 49px;
    }
}

@media (max-width: 540px) {
    .curator-artist-loading__inner {
        padding-right: 1.3rem;
        padding-left: 1.3rem;
    }

    .curator-artist-loading__header {
        min-height: 59px;
        padding-top: 22px;
    }

    .curator-artist-loading__header .is-brand {
        width: 71px;
        height: 24px;
    }

    .curator-artist-loading__header .is-back,
    .curator-artist-loading__header .is-follow {
        top: 34px;
    }

    .curator-artist-loading__header .is-back {
        left: max(0.55rem, env(safe-area-inset-left));
    }

    .curator-artist-loading__header .is-follow {
        right: max(0.7rem, env(safe-area-inset-right));
        width: 42px;
    }

    .curator-artist-loading__profile-hero {
        margin-top: 2.5rem;
    }

    .curator-artist-loading__artist-name {
        width: min(72vw, 290px);
        height: 48px;
    }

    .curator-artist-loading__releases {
        margin-top: 4rem;
    }

    .curator-artist-loading__releases > i::before {
        width: 58%;
    }

    .curator-artist-loading__release-hero {
        margin-top: 0.2rem;
    }

    .curator-artist-loading--featured .curator-artist-loading__release-hero {
        margin-top: 0.7rem;
    }
}

@media (min-width: 541px) and (max-width: 800px) {
    .curator-artist-loading--featured .curator-artist-loading__release-hero {
        margin-top: 2.1rem;
    }
}

@media (max-width: 1100px) {
    .curator-app-detail-loading--profile .curator-app-detail-loading__inner {
        width: 100%;
    }
    .curator-app-detail-loading .is-profile-badge { height: 20px; margin-bottom: 0.7rem; }
    .curator-app-detail-loading .is-profile-polaroid { width: 88px; height: 88px; border-radius: 4px; }

}

@media (max-width: 540px) {
    .curator-app-detail-loading--profile {
        top: calc(var(--curator-app-header-height, 56px));
    }

    html.rhune-native-ios .curator-app-detail-loading--profile {
        top: calc(var(--curator-app-header-height, 56px) + env(safe-area-inset-top, 0px));
    }

    .curator-app-detail-loading .is-profile-identity {
        padding: 1rem 0 1.8rem;
    }

    .curator-app-detail-loading .is-profile-name {
        width: min(72%, 280px);
        height: calc(clamp(2rem, 8.5vw, 2.75rem) * 1.17);
        margin-top: 0.7rem;
    }

    .curator-app-detail-loading .is-profile-handle {
        margin-top: 0;
    }

    .curator-app-detail-loading .is-profile-social {
        min-height: 32px;
        margin-top: 0.45rem;
    }

    .curator-app-detail-loading .is-profile-location {
        min-height: 32px;
        margin-top: 0;
    }

    .curator-app-detail-loading .is-profile-entry.is-primary {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 1.15rem;
        min-height: 112px;
    }

    .curator-app-detail-loading .is-profile-entry.is-primary .is-art {
        width: 78px;
        height: 78px;
    }

    .curator-app-detail-loading .is-profile-entry {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 0.85rem;
        min-height: 74px;
    }

    .curator-app-detail-loading .is-profile-entry .is-art {
        width: 52px;
        height: 52px;
    }
}

@keyframes curator-detail-skeleton-shimmer {
    from { background-position: 180% 0; }
    to { background-position: -120% 0; }
}

@media (min-width: 1101px) {
    .curator-app-detail-loading {
        left: var(--curator-sidebar-width, 220px);
    }
}

.curator-app-surface[hidden],
.curator-app-detail-surface[hidden] {
    display: none !important;
}

.curator-app-surface.is-active,
.curator-app-detail-surface.is-active {
    view-transition-name: curator-app-surface;
}

.curator-app-header-back {
    display: none;
    width: 38px;
    height: 38px;
    margin: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: rgba(48, 45, 41, 0.72);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.curator-app-header-back svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 160ms ease;
}

.curator-app-header-back:hover {
    color: rgba(48, 45, 41, 0.94);
}

.curator-app-header-back:focus-visible {
    outline: 1px solid rgba(38, 36, 32, 0.42);
    outline-offset: 1px;
}

.curator-app-header-back:active svg {
    transform: translateX(-2px);
}

/* Match the roomier back control used by the native-style Search and
   Notifications destinations without changing the web/desktop treatment. */
html.rhune-native-ios .curator-app-header-back {
    position: relative;
    width: 44px;
    height: 44px;
}

html.rhune-native-ios .curator-app-header-back svg {
    display: none;
}

html.rhune-native-ios .curator-app-header-back::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 14px;
    width: 12px;
    height: 12px;
    border: solid currentColor;
    border-width: 0 0 1.6px 1.6px;
    transform: rotate(45deg);
    transition: transform 160ms ease;
}

html.rhune-native-ios .curator-app-header-back:active::before {
    transform: translateX(-2px) rotate(45deg);
}

@media (max-width: 1100px) {
    /* Tab, profile and curator-entry headers sit below a shell-owned safe area.
       Neither legacy padding nor the hidden brand touch target sets their height.
       Cover cold loads, mounted entries and the native split-header layer;
       existing observers measure this height for spacers and profile sheets. */
    :is(
        body.curator-app-shell-page.curator-app-root-page > .site-header,
        body.curator-app-shell-page.curator-profile-page > .site-header,
        [data-curator-profile-surface] > .site-header,
        body.curator-app-shell-page.curator-entry-page > .site-header,
        .curator-app-detail-surface[data-curator-app-body-classes~="curator-entry-page"] > .site-header,
        .curator-app-surface[data-curator-app-surface] > .site-header,
        .curator-root-header-layer > .site-header
    ) {
        box-sizing: border-box;
        height: 56px;
        padding-top: 6px;
        padding-bottom: 6px;
    }

    :is(
        body.curator-app-shell-page.curator-app-root-page > .site-header,
        body.curator-app-shell-page.curator-profile-page > .site-header,
        [data-curator-profile-surface] > .site-header,
        body.curator-app-shell-page.curator-entry-page > .site-header,
        .curator-app-detail-surface[data-curator-app-body-classes~="curator-entry-page"] > .site-header,
        .curator-app-surface[data-curator-app-surface] > .site-header,
        .curator-root-header-layer > .site-header
    ) .site-header-inner {
        position: static;
        display: flex;
        align-items: center;
        box-sizing: border-box;
        height: 44px;
        padding-top: 0;
        padding-bottom: 0;
    }

    :is(
        body.curator-app-shell-page.curator-app-root-page > .site-header,
        body.curator-app-shell-page.curator-profile-page > .site-header,
        [data-curator-profile-surface] > .site-header,
        body.curator-app-shell-page.curator-entry-page > .site-header,
        .curator-app-detail-surface[data-curator-app-body-classes~="curator-entry-page"] > .site-header,
        .curator-app-surface[data-curator-app-surface] > .site-header,
        .curator-root-header-layer > .site-header
    ) .curator-shell-base-actions {
        top: 50%;
    }

    .curator-reading-shell > .curator-app-header-detail-menu,
    .curator-longform-shell > .curator-app-header-detail-menu,
    body.curator-entry-page.curator-app-shell-page :is(
        .curator-reading-shell,
        .curator-longform-shell
    ) > .curator-entry-back {
        visibility: hidden;
        pointer-events: none;
    }

    .curator-app-surface,
    .curator-app-detail-surface {
        --curator-app-gutter-right: max(1rem, env(safe-area-inset-right));
        --curator-app-gutter-left: max(1rem, env(safe-area-inset-left));
        --curator-app-bottom-clearance: calc(80px + env(safe-area-inset-bottom, 0px));
        /* viewport-fit=cover makes the shell responsible for the top safe
           area too, including when Safari changes its browser chrome. */
        padding-top: env(safe-area-inset-top, 0px);
        padding-right: var(--curator-app-gutter-right);
        padding-bottom: calc(80px + env(safe-area-inset-bottom) + var(--curator-keyboard-space, 0px));
        padding-left: var(--curator-app-gutter-left);
    }

    body.curator-app-shell-page > main {
        height: 100dvh;
    }

    body.curator-app-shell-page .curator-app-surface > .site-header,
    body.curator-app-shell-page .curator-app-detail-surface > .site-header {
        position: relative;
        inset: auto;
        width: calc(100% + var(--curator-app-gutter-left) + var(--curator-app-gutter-right));
        margin-left: calc(-1 * var(--curator-app-gutter-left));
        box-sizing: border-box;
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page .site-header {
        text-align: center;
    }

    body.curator-entry-page.curator-app-shell-page .site-header .branding-link {
        visibility: hidden;
        pointer-events: none;
    }

    
    body.curator-app-shell-page:not(.curator-artist-detail-page):has(
        .curator-app-detail-host.has-active-detail
    ) .site-header .branding-link {
        visibility: hidden;
        pointer-events: none;
    }

    body.curator-profile-detail-page.curator-app-shell-page .site-header .branding-link {
        visibility: hidden;
        pointer-events: none;
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page,
        .curator-manage-detail-page
    ).curator-app-shell-page .site-header .curator-app-header-back {
        position: absolute;
        z-index: 3;
        top: 50%;
        left: max(0.8rem, env(safe-area-inset-left, 0px));
        display: grid;
        transform: translateY(-50%);
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page .site-header :is(.curator-reading-entry-menu--corner, .curator-save--header) {
        position: absolute;
        z-index: 4;
        top: 50%;
        right: max(0.8rem, env(safe-area-inset-right, 0px));
        width: 40px;
        height: 40px;
        margin: 0;
        transform: translateY(-50%);
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page .site-header .curator-reading-entry-menu--corner summary {
        width: 38px;
        height: 38px;
    }

}

@media (max-width: 540px) {
    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page .site-header {
        padding-right: 0;
        padding-left: 0;
    }
}

@media (max-width: 1100px) {
    body.curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-app-header-back {
        position: absolute;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(143, 116, 78, 0.065);
        color: #242220;
        -webkit-backdrop-filter: blur(12px) saturate(0.85);
        backdrop-filter: blur(12px) saturate(0.85);
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-app-header-back > svg {
        display: none;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-app-header-back::before {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 12px;
        height: 12px;
        border: solid currentColor;
        border-width: 0 0 1.6px 1.6px;
        content: "";
        transform: translate(-38%, -50%) rotate(45deg);
        transition: transform 160ms ease;
    }

    body.curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-app-header-back:active::before {
        transform: translate(-38%, -50%) rotate(45deg);
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header :is(.curator-reading-entry-menu--corner summary, .curator-save--header .curator-save-button) {
        position: relative;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(143, 116, 78, 0.065);
        color: #242220;
        -webkit-backdrop-filter: blur(12px) saturate(0.85);
        backdrop-filter: blur(12px) saturate(0.85);
    }

    /* The save component's own tap sizing would otherwise reshape the round control. */
    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-save--header .curator-save-button {
        min-height: 0;
        padding: 0;
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-reading-entry-menu--corner summary > span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    body:is(
        .curator-entry-page,
        .curator-profile-detail-page
    ).curator-app-shell-page:not(.curator-artist-detail-page)
        .site-header .curator-reading-entry-menu--corner .curator-reading-entry-menu-panel {
        top: calc(100% + 0.35rem);
        right: 0;
        left: auto;
    }
}

@media (min-width: 541px) and (max-width: 680px) {
    .curator-profile-shell {
        padding-top: 0;
    }

    .curator-profile-identity {
        padding: 0.5rem 0 1.25rem;
    }
}

/* The profile name is a single-line identity mark. JavaScript supplies a
   measured font size only when the natural type would exceed this width. */
.curator-profile-identity h1 {
    flex: 0 0 var(--curator-name-row-height, 4.233rem);
    height: var(--curator-name-row-height, 4.233rem);
    max-width: min(760px, 100%);
    box-sizing: content-box;
    overflow: hidden;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@keyframes curator-app-first-load {
    from { opacity: 0; }
    to { opacity: 1; }
}

html[data-curator-app-transition="detail"]::view-transition-group(curator-app-surface) {
    animation: none;
}

html[data-curator-app-transition="detail"]::view-transition-image-pair(curator-app-surface) {
    isolation: isolate;
    overflow: hidden;
}

html[data-curator-app-transition="detail"]::view-transition-old(curator-app-surface),
html[data-curator-app-transition="detail"]::view-transition-new(curator-app-surface) {
    mix-blend-mode: normal;
    animation-duration: 320ms;
    animation-timing-function: cubic-bezier(0.32, 0.72, 0, 1);
    animation-fill-mode: both;
}

html[data-curator-app-transition="detail"][data-curator-app-direction="forward"]::view-transition-old(curator-app-surface) {
    z-index: 1;
    animation-name: curator-app-under-forward;
}

html[data-curator-app-transition="detail"][data-curator-app-direction="forward"]::view-transition-new(curator-app-surface) {
    z-index: 2;
    animation-name: curator-app-over-forward;
    box-shadow: -18px 0 38px rgba(28, 25, 21, 0.12);
}

html[data-curator-app-transition="detail"][data-curator-app-direction="backward"]::view-transition-old(curator-app-surface) {
    z-index: 2;
    animation-name: curator-app-over-backward;
}

html[data-curator-app-transition="detail"][data-curator-app-direction="backward"]::view-transition-new(curator-app-surface) {
    z-index: 1;
    animation-name: curator-app-under-backward;
}

@media (max-width: 1100px) {
    html[data-curator-app-transition="detail"] .curator-app-mobile-nav {
        view-transition-name: curator-app-nav;
    }

    html[data-curator-app-transition="detail"]::view-transition-group(curator-app-nav) {
        z-index: 20;
        animation: none;
    }

    html[data-curator-app-transition="detail"]::view-transition-old(curator-app-nav) {
        animation: none;
        opacity: 0;
    }

    html[data-curator-app-transition="detail"]::view-transition-new(curator-app-nav) {
        animation: none;
        opacity: 1;
    }
}

@keyframes curator-app-under-forward {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-3%, 0, 0); }
}

@keyframes curator-app-over-forward {
    from { transform: translate3d(100%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@keyframes curator-app-over-backward {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(100%, 0, 0); }
}

@keyframes curator-app-under-backward {
    from { transform: translate3d(-3%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .curator-app-shell {
        animation: none;
    }

    .curator-app-detail-surface[data-curator-entry-background-loaded="true"]::before {
        opacity: 0.14;
        animation: none;
    }

    .curator-app-detail-loading,
    .curator-app-detail-loading i {
        animation: none;
    }

    .curator-app-detail-surface--pending {
        transition: none;
    }
}

.curator-app-mobile-nav {
    position: fixed;
    z-index: 120;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: calc(53px + env(safe-area-inset-bottom, 0px));
    align-items: stretch;
    box-sizing: border-box;
    padding: 4px max(0.5rem, env(safe-area-inset-right, 0px))
        calc(4px + env(safe-area-inset-bottom, 0px))
        max(0.5rem, env(safe-area-inset-left, 0px));
    border: 0;
    border-top: 1px solid var(--curator-line);
    border-radius: 0;
    background: var(--curator-paper);
    box-shadow: none;
}

html.rhune-native-ios .curator-app-mobile-nav {
    display: none !important;
}

.curator-app-mobile-nav > a {
    display: grid;
    grid-template-rows: 26px 10px;
    min-height: 44px;
    min-width: 0;
    align-content: center;
    align-items: end;
    justify-items: center;
    gap: 0.08rem;
    color: rgba(45, 42, 38, 0.68);
    text-decoration: none;
}

.curator-app-mobile-nav > a.is-active {
    color: rgba(31, 30, 28, 0.9);
}

.curator-app-mobile-nav__art {
    display: flex;
    width: 28px;
    height: 26px;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.16s ease;
}

.curator-app-mobile-nav__art > img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.curator-app-mobile-nav__art:not(.curator-app-mobile-nav__art--profile) > img {
    filter: brightness(0);
    opacity: 0.7;
    transition: opacity 0.16s ease;
}

.curator-app-mobile-nav__art--profile {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #dedbd3;
    overflow: hidden;
    transform: none;
    transition: box-shadow 0.16s ease, opacity 0.16s ease;
}

.curator-app-mobile-nav__art--profile > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.curator-app-mobile-nav > a.is-active .curator-app-mobile-nav__art {
    opacity: 1;
}

.curator-app-mobile-nav > a.is-active .curator-app-mobile-nav__art:not(.curator-app-mobile-nav__art--profile) > img {
    opacity: 0.94;
}

.curator-app-mobile-nav > a.is-active .curator-app-mobile-nav__art--profile {
    box-shadow: 0 0 0 1.5px #211f1c;
}

.curator-app-mobile-nav__label {
    align-self: end;
    color: rgba(52, 49, 45, 0.72);
    font: 400 0.53rem/1 var(--rh-sans);
    letter-spacing: 0.015em;
    transition: color 0.16s ease;
}

.curator-app-mobile-nav > a.is-active .curator-app-mobile-nav__label {
    color: rgba(31, 30, 28, 0.94);
}

@media (max-width: 1100px) {
    .curator-app-mobile-nav {
        transition: opacity 100ms ease, transform 140ms cubic-bezier(0.22, 0.8, 0.25, 1);
    }

    .curator-app-shell.is-keyboard-editing .curator-app-mobile-nav {
        opacity: 0;
        pointer-events: none;
        transform: translate3d(0, calc(100% + env(safe-area-inset-bottom, 0px)), 0);
    }
}

body.curator-app-nav-page {
    padding-bottom: calc(80px + env(safe-area-inset-bottom) + var(--curator-keyboard-space, 0px));
}

body.curator-app-shell-page.curator-app-nav-page {
    padding-bottom: 0;
}

.curator-app-placeholder-shell {
    width: min(calc(100% - 2.4rem), 920px);
    min-height: calc(100dvh - 146px);
    margin: 0 auto;
    padding: clamp(8rem, 24vh, 13rem) 0 5rem;
    box-sizing: border-box;
}

.curator-app-placeholder-shell h1 {
    margin: 0;
    color: #211f1c;
    font: 500 clamp(2.8rem, 13vw, 4.5rem)/0.95 "Cormorant Garamond", Georgia, serif;
}

.curator-app-placeholder-shell p {
    margin: 1rem 0 0;
    color: rgba(77, 74, 69, 0.55);
    font: italic 400 0.92rem/1.3 var(--rh-sans);
}

.curator-profile-apply {
    display: none;
}

.curator-profile-media {
    display: contents;
}

.curator-profile-core {
    display: flex;
    flex-direction: column;
    align-items: inherit;
    width: 100%;
    min-width: 0;
}

.curator-profile-primary {
    --curator-name-row-height: 4.233rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

.curator-profile-counts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.6rem, 4vw, 4rem);
    margin: 0;
}

.curator-profile-counts div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.24rem;
    min-width: 0;
    text-align: center;
}

.curator-profile-counts dt {
    color: rgba(83, 79, 73, 0.66);
    font: 500 0.5rem/1.2 var(--rh-sans);
    letter-spacing: 0.11em;
    text-align: center;
    text-transform: uppercase;
}

.curator-profile-counts dd {
    order: -1;
    width: 100%;
    margin: 0;
    color: rgba(38, 36, 32, 0.78);
    font: 400 0.84rem/1 var(--rh-sans);
    font-variant-numeric: lining-nums tabular-nums;
    text-align: center;
}

.curator-profile-social {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 1.2rem;
    margin: 0.85rem 0 0;
    color: #716e68;
    font: 400 0.51rem/1 var(--rh-sans);
    letter-spacing: 0.075rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.curator-profile-social-stat {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-height: 1.2rem;
    box-sizing: border-box;
    padding: 0.12rem 0 0.2rem;
    border-bottom: 1px solid transparent;
}

button.curator-profile-social-stat {
    margin: 0;
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    transition: border-color 160ms ease, color 160ms ease;
}

button.curator-profile-social-stat:hover,
button.curator-profile-social-stat:focus-visible {
    border-bottom-color: rgba(38, 36, 32, 0.34);
    color: #35322e;
    outline: none;
}

@media (hover: none), (pointer: coarse) {
    button.curator-profile-social-stat {
        -webkit-tap-highlight-color: transparent;
    }

    button.curator-profile-social-stat:hover,
    button.curator-profile-social-stat:focus,
    button.curator-profile-social-stat:focus-visible,
    button.curator-profile-social-stat:active {
        border-bottom-color: transparent;
        color: inherit;
        outline: none;
    }
}

.curator-profile-social-value {
    color: #45423e;
    font: inherit;
    font-variant-numeric: lining-nums tabular-nums;
}

.curator-profile-follow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.2rem;
    box-sizing: border-box;
    margin: 0;
    padding: 0.12rem 0 0.2rem;
    border: 0;
    border-bottom: 1px solid rgba(38, 36, 32, 0.38);
    border-radius: 0;
    background: transparent;
    color: #57544e;
    font: 500 0.51rem/1 var(--rh-sans);
    letter-spacing: 0.075rem;
    text-transform: uppercase;
    opacity: 1;
    cursor: pointer;
    transition: border-color 0.16s ease, color 0.16s ease;
}

.curator-profile-follow:hover,
.curator-profile-follow:focus-visible {
    border-bottom-color: rgba(38, 36, 32, 0.68);
    color: #292723;
    outline: none;
}

.curator-profile-follow.is-following {
    border-bottom-color: rgba(38, 36, 32, 0.2);
    color: #77736d;
}

.curator-profile-header-actions {
    position: absolute;
    z-index: 9;
    top: 1.25rem;
    right: 0;
    display: flex;
    align-items: center;
    gap: 0.38rem;
}

.curator-profile-header-actions > .curator-moderation-menu.curator-reading-entry-menu--corner {
    position: relative;
    inset: auto;
    width: 40px;
    height: 40px;
    margin: 0;
    transform: none;
}

button.curator-profile-follow--header {
    width: 40px;
    height: 40px;
    min-height: 40px;
    flex: 0 0 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(143, 116, 78, 0.065);
    color: #242220;
    opacity: 1;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.16s ease, color 0.16s ease;
}

button.curator-profile-follow--header > svg {
    width: 20px;
    height: 20px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

button.curator-profile-follow--header .curator-profile-follow-check {
    display: none;
}

button.curator-profile-follow--header.is-following {
    background: #302e2a;
    color: #f4f1ea;
}

button.curator-profile-follow--header.is-following .curator-profile-follow-add {
    display: none;
}

button.curator-profile-follow--header.is-following .curator-profile-follow-check {
    display: block;
}

button.curator-profile-follow--header:disabled {
    cursor: wait;
    opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
    button.curator-profile-follow--header:hover,
    button.curator-profile-follow--header:focus-visible {
        background: #302e2a;
        color: #f4f1ea;
        outline: none;
    }
}

@media (max-width: 1100px) {
    body.curator-profile-detail-page.curator-app-shell-page
        .site-header .curator-profile-header-actions {
        position: absolute;
        z-index: 4;
        top: 50%;
        right: max(0.8rem, env(safe-area-inset-right, 0px));
        transform: translateY(-50%);
    }

    body.curator-profile-detail-page.curator-app-shell-page
        .site-header .curator-profile-header-actions
        > .curator-moderation-menu.curator-reading-entry-menu--corner {
        position: relative;
        inset: auto;
        transform: none;
    }

    html.rhune-native-ios button.curator-profile-follow--header {
        transition: none;
    }
}

.curator-profile-location {
    display: flex;
    align-items: center;
    gap: 0.62rem;
    min-height: 24px;
    margin-top: 1.05rem;
    color: #484641;
    font: 500 0.92rem/1.35 "Cormorant Garamond", Georgia, serif;
    letter-spacing: -0.012em;
}

.curator-profile-location svg {
    flex: 0 0 auto;
    color: #68655f;
}

.curator-profile-location.is-empty {
    color: #918e87;
}

.curator-profile-location.is-guest-empty,
.curator-profile-foreword.is-guest-empty {
    visibility: hidden;
    pointer-events: none;
}

[data-curator-location] {
    min-width: 0;
    border-radius: 2px;
    background: transparent;
    cursor: text;
    -webkit-tap-highlight-color: transparent;
}

[data-curator-location][contenteditable="true"]:empty {
    min-width: 1ch;
}

[data-curator-location]:hover,
[data-curator-location]:focus-visible,
.curator-profile-location.is-editing [data-curator-location] {
    background: transparent;
    outline: none;
}

@media (min-width: 1101px) {
    body.curator-new-page {
        --curator-sidebar-width: 220px;
        --curator-sidebar-center-offset: 110px;
        --curator-desktop-gutter: 40px;
        --curator-profile-desktop-size: clamp(240px, 23vw, 320px);
    }

    .curator-page-sidebar {
        position: fixed;
        z-index: 100;
        top: 0;
        bottom: 0;
        left: 0;
        display: flex;
        width: var(--curator-sidebar-width);
        box-sizing: border-box;
        flex-direction: column;
        padding: 30px 42px 34px;
        border-right: 1px solid rgba(38, 36, 32, 0.12);
        background: var(--curator-paper);
    }

    body.curator-app-shell-page > .site-header {
        display: none;
    }

    body.curator-app-shell-page > main {
        height: 100dvh;
    }

    body.curator-app-shell-page .curator-app-surface,
    body.curator-app-shell-page .curator-app-detail-surface {
        padding-top: 18px;
    }

    body.curator-app-shell-page .curator-app-surface[data-curator-app-surface="library"] {
        padding-left: var(--curator-sidebar-width);
    }

    .curator-page-sidebar__brand {
        display: flex;
        align-items: center;
        width: 44px;
        min-height: 44px;
        margin-bottom: 45px;
    }

    .curator-page-sidebar__brand img {
        display: block;
        width: 22px;
        height: auto;
        opacity: 0.88;
    }

    body.dark-mode .curator-page-sidebar__brand img {
        filter: invert(1);
    }

    .curator-page-sidebar__nav {
        display: grid;
        gap: 17px;
    }

    .curator-page-sidebar__nav a {
        color: #6c6963;
        margin: 0;
    font-family: var(--rh-sans);
    font-size: 0.65rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
    text-align: right;
        text-decoration: none;
    }

    .curator-page-sidebar__nav a:hover,
    .curator-page-sidebar__nav a:focus-visible,
    .curator-page-sidebar__nav a.is-active {
        color: #171715;
        outline: none;
    }

    .curator-page-sidebar__nav a.is-active {
        font-weight: 600;
    }

    .curator-page-sidebar__nav--app {
        gap: 0.42rem;
    }

    .curator-page-sidebar__nav--app a {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr);
        align-items: center;
        gap: 0.68rem;
        min-height: 38px;
        box-sizing: border-box;
        margin: 0 -0.55rem;
        padding: 0.28rem 0.55rem;
        border-radius: 4px;
        text-align: left;
    }

    .curator-page-sidebar__nav--app a.is-active {
        background: rgba(38, 36, 32, 0.045);
    }

    .curator-app-nav-art {
        display: flex;
        width: 30px;
        height: 30px;
        align-items: center;
        justify-content: center;
        opacity: 1;
    }

    .curator-app-nav-art > img {
        display: block;
        width: 36px;
        height: 36px;
        object-fit: contain;
    }

    .curator-app-nav-art:not(.curator-app-nav-art--profile) > img {
        filter: brightness(0);
        opacity: 0.72;
        transition: opacity 0.16s ease;
    }

    .curator-app-nav-art--profile {
        width: 27px;
        height: 27px;
        border-radius: 50%;
        background: #dedbd3;
        overflow: hidden;
    }

    .curator-app-nav-art--profile > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .curator-page-sidebar__nav--app a.is-active .curator-app-nav-art {
        opacity: 1;
    }

    .curator-page-sidebar__nav--app a.is-active .curator-app-nav-art:not(.curator-app-nav-art--profile) > img {
        opacity: 0.94;
    }

    .curator-app-mobile-nav {
        display: none;
    }

    body.curator-app-nav-page {
        padding-bottom: 0;
    }

    .curator-app-placeholder-shell {
        width: calc(100% - var(--curator-sidebar-width));
        min-height: 100vh;
        margin-left: var(--curator-sidebar-width);
        padding: clamp(10rem, 26vh, 15rem) var(--curator-desktop-gutter) 6rem;
    }

    .curator-page-sidebar__rule {
        width: 100%;
        margin: 34px 0;
        border-top: 1px solid rgba(38, 36, 32, 0.14);
    }

    .curator-page-sidebar__account {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.85rem;
        font: 400 0.68rem/1 var(--rh-sans);
    }

    .curator-page-sidebar__utilities {
        display: grid;
        grid-template-columns: repeat(3, 30px);
        align-items: center;
        justify-content: space-between;
        margin-top: auto;
        padding-bottom: 0.78rem;
        border-bottom: 0.5px solid rgba(38, 36, 32, 0.1);
    }

    .curator-page-sidebar__utility {
        position: relative;
        display: grid;
        width: 30px;
        height: 30px;
        box-sizing: border-box;
        padding: 0;
        place-items: center;
        border: 0;
        border-radius: 50%;
        appearance: none;
        -webkit-appearance: none;
        background: transparent;
        color: var(--curator-utility-ink);
        cursor: pointer;
        list-style: none;
        -webkit-tap-highlight-color: transparent;
    }

    .curator-page-sidebar__utility::-webkit-details-marker {
        display: none;
    }

    .curator-page-sidebar__utility > svg {
        display: block;
        width: 19px;
        height: 19px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .curator-page-sidebar__utility.curator-notification-trigger > svg {
        width: 22px;
        height: 22px;
    }

    .curator-page-sidebar__utility[data-curator-search-open] > svg {
        width: 22px;
        height: 22px;
    }

    .curator-page-sidebar__utility .curator-notification-dot {
        right: 1px;
        bottom: 2px;
    }

    .curator-page-sidebar__utility:hover,
    .curator-page-sidebar__utility:focus-visible,
    .curator-page-sidebar__utility-menu[open] > .curator-page-sidebar__utility {
        background: rgba(38, 36, 32, 0.055);
        color: #211f1c;
        outline: none;
    }

    .curator-page-sidebar__utility-menu {
        position: relative;
    }

    .curator-page-sidebar__utility-menu .curator-page-sidebar__account-menu-panel {
        right: 0;
        bottom: calc(100% + 0.55rem);
    }

    .curator-page-sidebar__account > a:first-child {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 0.65rem;
        color: inherit;
        text-decoration: none;
    }

    .curator-page-sidebar__account img,
    .curator-page-sidebar__avatar {
        display: block;
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        object-fit: cover;
        background: #dedbd3;
    }

    .curator-page-sidebar__account span:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .curator-page-sidebar__account-menu {
        position: relative;
        margin-left: auto;
    }

    .curator-page-sidebar__account-menu > summary {
        display: grid;
        width: 28px;
        height: 28px;
        box-sizing: border-box;
        place-items: center;
        border-radius: 50%;
        color: inherit;
        cursor: pointer;
        font-size: 1rem;
        list-style: none;
    }

    .curator-page-sidebar__account-menu > summary::-webkit-details-marker {
        display: none;
    }

    .curator-page-sidebar__account-menu > summary:hover,
    .curator-page-sidebar__account-menu > summary:focus-visible,
    .curator-page-sidebar__account-menu[open] > summary {
        background: rgba(38, 36, 32, 0.055);
        outline: none;
    }

    .curator-page-sidebar__account-menu-panel {
        position: absolute;
        right: 0;
        bottom: calc(100% + 0.55rem);
        display: grid;
        width: 150px;
        box-sizing: border-box;
        gap: 0.1rem;
        padding: 0.38rem;
        border: 1px solid rgba(38, 36, 32, 0.1);
        border-radius: 7px;
        background: #fbfaf7;
        box-shadow: 0 12px 30px rgba(28, 25, 21, 0.12);
    }

    .curator-page-sidebar__account-menu-panel a,
    .curator-page-sidebar__account-menu-panel button {
        width: 100%;
        box-sizing: border-box;
        padding: 0.55rem 0.62rem;
        border: 0;
        border-radius: 4px;
        background: transparent;
        color: #3e3b36;
        cursor: pointer;
        font: 400 0.68rem/1.2 var(--rh-sans);
        text-align: left;
        text-decoration: none;
    }

    .curator-page-sidebar__account-menu-panel a:hover,
    .curator-page-sidebar__account-menu-panel a:focus-visible,
    .curator-page-sidebar__account-menu-panel button:hover,
    .curator-page-sidebar__account-menu-panel button:focus-visible {
        background: rgba(38, 36, 32, 0.055);
        outline: none;
    }

    body.curator-new-page .site-header {
        height: 84px;
        box-sizing: border-box;
        margin-left: var(--curator-sidebar-width);
        padding: 1rem 28px 0;
    }

    body.curator-new-page .site-header-inner {
        max-width: none;
    }

    body.curator-new-page .site-header .branding-link {
        visibility: hidden;
    }

    body.curator-new-page .site-header .header-actions {
        right: 0;
    }

    .curator-profile-apply {
        position: absolute;
        z-index: 30;
        top: 34px;
        right: 100px;
        display: inline-flex;
        align-items: center;
        gap: 0.52rem;
        min-height: 36px;
        box-sizing: border-box;
        padding: 0 1rem;
        border: 1px solid rgba(38, 36, 32, 0.18);
        border-radius: 3px;
        color: #3e3b36;
        text-decoration: none;
        margin: 0;
    font-family: var(--rh-sans);
    font-size: 0.6rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-feature-settings: "case" 1, "tnum" 1;
    text-align: right;
    }

    .curator-profile-shell {
        width: calc(100% - var(--curator-sidebar-width));
        max-width: none;
        margin: 0 0 0 var(--curator-sidebar-width);
        padding: 16px var(--curator-desktop-gutter) 7rem;
        box-sizing: border-box;
    }

    .curator-profile-identity {
        min-height: 0;
        padding: 0 0 36px;
    }

    .curator-profile-cluster {
        grid-template-columns: var(--curator-profile-desktop-size) minmax(200px, 1fr) minmax(190px, 260px);
        gap: clamp(2rem, 3vw, 4rem);
        align-items: start;
        justify-items: stretch;
    }

    .curator-profile-image-control,
    .curator-profile-cluster > .curator-profile-polaroid {
        width: 100%;
    }

    .curator-profile-media > .curator-profile-image-control,
    .curator-profile-media > .curator-profile-polaroid {
        grid-column: 1;
        grid-row: 1;
    }

    .curator-profile-polaroid,
    button.curator-profile-polaroid {
        padding: 0;
        border: 0;
        border-radius: 12px;
        background: transparent;
        box-shadow: none;
        overflow: hidden;
    }

    .curator-profile-portrait,
    .curator-profile-portrait::after {
        border-radius: 12px;
    }

    .curator-profile-copy {
        grid-column: 2;
        grid-row: 1;
        align-items: flex-start;
        height: var(--curator-profile-desktop-size);
        min-height: 0;
        text-align: left;
    }

    .curator-profile-primary {
        --curator-name-row-height: clamp(3.468rem, 5.1vw, 5.1rem);
    }

    .curator-profile-core {
        justify-content: flex-start;
    }

    .curator-profile-badge {
        display: inline-flex;
        min-height: 20px;
        gap: 0.4rem;
        padding: 0;
        border: 0;
    }

    .curator-profile-badge-label {
        color: #625f59;
        padding-left: 0.4rem;
        font-size: 0.48rem;
        letter-spacing: 0.105rem;
    }

    .curator-profile-badge-mark {
        width: 8px;
        height: 8px;
        opacity: 0.72;
    }

    .curator-profile-identity h1 {
        margin-top: clamp(0.8rem, 1.15vw, 1.15rem);
        font-size: clamp(3.4rem, 5vw, 5rem);
    }

    .curator-profile-meta {
        justify-content: flex-start;
        margin-top: clamp(0.45rem, 0.65vw, 0.65rem);
    }

    .curator-profile-handle {
        font-family: "Cormorant Garamond", Georgia, serif;
        font-weight: 400;
        letter-spacing: -0.038em;
        font-size: clamp(0.7rem, calc(0.35rem + 0.45vw), 0.78rem);
    }

    .curator-profile-social {
        margin-top: clamp(0.62rem, 0.85vw, 0.85rem);
        font-size: clamp(0.46rem, calc(0.25rem + 0.28vw), 0.51rem);
    }

    .curator-profile-location {
        margin-top: clamp(0.72rem, 1.05vw, 1.05rem);
        font-size: clamp(0.82rem, calc(0.42rem + 0.45vw), 0.92rem);
    }

    .curator-profile-foreword {
        width: 100%;
        min-height: clamp(2.8rem, 3.4vw, 3.4rem);
        margin: clamp(0.9rem, 1.45vw, 1.45rem) 0 0;
    }

    .curator-profile-summary {
        max-width: min(23rem, 100%);
        font: 400 clamp(0.88rem, calc(0.42rem + 0.52vw), 1rem)/1.45 var(--rh-sans);
        text-align: left;
    }

    .curator-profile-counts {
        grid-column: 3;
        grid-row: 1;
        width: 100%;
        min-width: 0;
        align-self: end;
        padding-bottom: 6px;
    }

    .curator-entry-index {
        padding-top: 0;
        border-top: 0;
    }

    .curator-entry-filter {
        position: static;
        width: auto;
        min-width: 0;
        flex: 1 1 auto;
        box-sizing: border-box;
        gap: 2.4rem;
        padding: 0;
        border-bottom: 0;
        background: transparent;
        transform: none;
    }

    .curator-entry-toolbar {
        gap: 1.5rem;
        padding-bottom: 1.75rem;
        border-bottom: 1px solid rgba(38, 36, 32, 0.14);
    }

    .curator-entry-filter button {
        padding: 0 0 0.55rem;
        font-size: 0.61rem;
        letter-spacing: 0.09rem;
    }

    .curator-entry-filter button::after {
        bottom: 0;
    }

    .curator-entry-add-icon {
        position: static;
        flex: 0 0 auto;
        width: auto;
        height: 20px;
        padding: 0;
        border-radius: 0;
        transform: none;
    }

    .curator-entry-add-mark,
    .curator-entry-add-mark::before,
    .curator-entry-add-mark::after {
        width: 13px;
    }

    .curator-entry-add-mark {
        height: 13px;
    }

    .curator-entry-add-label {
        display: inline;
        padding-bottom: 0.04rem;
        font-size: 0.78rem;
        line-height: 1.2;
    }

    .curator-entry-arrow {
        display: block;
        width: 24px;
        height: 13px;
        overflow: visible;
        color: #6f6b64;
        transition: transform 0.18s ease;
    }

    .curator-entry-arrow path {
        stroke: currentColor;
        stroke-width: 0.9;
        stroke-linecap: round;
        stroke-linejoin: round;
        vector-effect: non-scaling-stroke;
    }

    .curator-entry-row:hover .curator-entry-arrow,
    .curator-entry-row:focus-visible .curator-entry-arrow {
        transform: translateX(2px);
    }

    .curator-entry-row {
        width: min(100%, 690px);
        min-height: 150px;
        margin: 0;
    }

    .curator-entry-copy {
        grid-template-rows: 0.9rem 4.5rem 0.8rem;
    }

    .curator-entry-title-line {
        height: 4.5rem;
    }

    .curator-empty-state {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .curator-profile-shell {
        width: min(100%, 760px);
        padding-right: var(--content-horizontal-padding);
        padding-left: var(--content-horizontal-padding);
        padding-top: 2.6rem;
    }

    .curator-profile-identity {
        padding: 0 0 3rem;
    }

    .curator-profile-cluster {
        grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
        column-gap: clamp(1.8rem, 7vw, 4rem);
        row-gap: 1.55rem;
        align-items: start;
        justify-items: stretch;
    }

    .curator-profile-media {
        display: contents;
    }

    .curator-profile-image-control,
    .curator-profile-cluster > .curator-profile-polaroid {
        width: 100%;
    }

    .curator-profile-media > .curator-profile-image-control,
    .curator-profile-media > .curator-profile-polaroid {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
    }

    .curator-profile-polaroid,
    button.curator-profile-polaroid {
        padding: 0;
        border: 0;
        border-radius: 12px;
        background: transparent;
        box-shadow: none;
        overflow: hidden;
    }

    .curator-profile-portrait,
    .curator-profile-portrait::after {
        border-radius: 12px;
    }

    .curator-profile-copy {
        display: contents;
    }

    .curator-profile-primary {
        --curator-name-row-height: clamp(2.856rem, 9.18vw, 4.08rem);
    }

    .curator-profile-core {
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        align-items: flex-start;
        height: 100%;
        box-sizing: border-box;
        justify-content: space-between;
        text-align: left;
    }

    .curator-profile-badge {
        display: inline-flex;
        min-height: 20px;
        gap: 0.4rem;
        padding: 0;
        border: 0;
    }

    .curator-profile-badge-label {
        color: #625f59;
        padding-left: 0.4rem;
        font-size: 0.48rem;
        letter-spacing: 0.105rem;
    }

    .curator-profile-badge-mark {
        width: 8px;
        height: 8px;
        opacity: 0.72;
    }

    .curator-profile-identity h1 {
        margin-top: 1.05rem;
        font-size: clamp(2.8rem, 9vw, 4rem);
        text-align: left;
    }

    .curator-profile-meta {
        justify-content: flex-start;
        margin-top: 0.65rem;
    }

    .curator-profile-handle {
        font-family: "Cormorant Garamond", Georgia, serif;
        font-weight: 400;
        letter-spacing: -0.038em;
        font-size: 0.74rem;
    }

    .curator-profile-location {
        margin-top: 1rem;
    }

    .curator-profile-foreword {
        grid-column: 1 / -1;
        grid-row: 2;
        align-self: start;
        width: 100%;
        margin: 0;
    }

    .curator-profile-summary {
        max-width: none;
        font: 400 0.96rem/1.45 var(--rh-sans);
        text-align: left;
    }

    .curator-profile-counts {
        display: none;
    }

    .curator-profile-counts div {
        /* align-items: center; */
        text-align: left;
    }

    .curator-profile-counts dt {
        color: #76736d;
        font-size: 0.4rem;
        font-weight: 400;
        letter-spacing: 0.075rem;
    }

    .curator-profile-counts dd {
        color: #292723;
        font-family: var(--rh-sans);
        font-size: 1.08rem;
        font-weight: 300;
        line-height: 0.95;
    }

    .curator-entry-index {
        padding-top: 0;
        border-top: 0;
    }

    .curator-entry-filter {
        position: static;
        width: auto;
        max-width: none;
        min-width: 0;
        flex: 1 1 auto;
        box-sizing: border-box;
        gap: clamp(1rem, 5vw, 2.5rem);
        padding: 0;
        border-bottom: 0;
        background: transparent;
        overflow-x: auto;
        transform: none;
        scrollbar-width: none;
    }

    .curator-entry-filter::-webkit-scrollbar {
        display: none;
    }

    .curator-entry-filter button {
        flex: 0 0 auto;
        padding: 0 0 0.5rem;
    }

    .curator-entry-filter button::after {
        bottom: 0;
    }

    .curator-entry-toolbar {
        gap: 1rem;
        padding-bottom: 1.75rem;
        border-bottom: 1px solid rgba(38, 36, 32, 0.14);
    }

    .curator-entry-add-icon {
        position: static;
        flex: 0 0 28px;
        width: 28px;
        height: 18px;
        padding: 0;
        border-radius: 0;
        transform: translateY(-4px);
    }
}

@media (max-width: 540px) {
    .curator-profile-shell {
        width: 100%;
        margin: 0 auto;
        padding-right: 0;
        padding-left: 0;
        padding-top: 0.25rem;
    }

    .curator-profile-identity {
        margin: 0;
        padding-bottom: 1.2rem;
    }

    .curator-profile-primary {
        --curator-name-row-height: clamp(1.96rem, 8.526vw, 2.3324rem);
    }

    .curator-profile-cluster {
        grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 1.35rem;
        row-gap: 1rem;
    }

    .curator-profile-identity h1 {
        margin-top: 0.72rem;
        font-size: clamp(2rem, 8.7vw, 2.38rem);
        line-height: 0.98;
    }

    .curator-profile-badge {
        min-height: 18px;
        gap: 0.29rem;
        padding: 0;
        border: 0;
    }

    .curator-profile-badge-label {
        color: #625f59;
        padding-left: 0.29rem;
        font-size: 0.4rem;
        letter-spacing: 0.082rem;
    }

    .curator-profile-meta {
        margin-top: 0.42rem;
    }

    .curator-profile-handle {
        font-size: 0.67rem;
        line-height: 1.25;
    }

    .curator-profile-badge-mark {
        width: 6px;
        height: 6px;
        opacity: 0.72;
    }

    .curator-profile-social {
        min-height: 1.1rem;
        margin-top: 0.58rem;
        margin-bottom: 0;
        gap: 0.62rem;
        font-size: 0.48rem;
        letter-spacing: 0.065rem;
    }

    .curator-profile-social-stat,
    .curator-profile-follow {
        min-height: 1.1rem;
    }

    .curator-profile-follow {
        font-size: 0.46rem;
        letter-spacing: 0.065rem;
    }

    .curator-profile-location {
        display: grid;
        grid-template-columns: 8px minmax(0, auto);
        column-gap: 0.36rem;
        justify-content: start;
        width: 100%;
        box-sizing: border-box;
        min-height: 20px;
        margin-top: 0;
        font-size: 0.72rem;
    }

    .curator-profile-location svg {
        width: 8px;
        height: 10px;
        align-self: center;
    }

    .curator-profile-summary {
        width: 100%;
        height: auto;
        min-height: 1.4em;
        box-sizing: border-box;
        padding: 0;
        overflow: visible;
        font-size: 0.8rem;
        line-height: 1.4;
    }

    .curator-profile-foreword {
        position: relative;
        margin: 0;
        min-height: 1.5rem;
        box-sizing: border-box;
        padding: 0.05rem 0 0 0.72rem;
        border-left: 0;
        text-align: left;
    }

    .curator-profile-foreword::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background: rgba(38, 36, 32, 0.18);
        content: "";
    }

    .curator-profile-foreword.is-empty .curator-profile-summary {
        display: block;
        width: 100%;
        min-height: 1.4em;
        padding: 0;
        border: 0;
        color: #77736c;
        font-size: 0.8rem;
        line-height: 1.4;
        text-align: left;
    }

    .curator-entry-index {
        padding-top: 0;
        border-top: 0;
    }

    .curator-entry-filter {
        position: static;
        width: auto;
        max-width: none;
        min-width: 0;
        flex: 1 1 auto;
        box-sizing: border-box;
        gap: 1.25rem;
        padding: 0;
        border-bottom: 0;
        background: transparent;
        overflow-x: auto;
        transform: none;
        scrollbar-width: none;
    }

    .curator-entry-filter::-webkit-scrollbar {
        display: none;
    }

    .curator-entry-filter button {
        flex: 0 0 auto;
        padding: 0 0 0.5rem;
        font-size: 0.56rem;
        letter-spacing: 0.07rem;
    }

    .curator-entry-filter button::after {
        bottom: 0;
    }

    .curator-entry-toolbar {
        gap: 0.75rem;
        padding-bottom: 1.15rem;
        border-bottom: 1px solid rgba(38, 36, 32, 0.14);
    }

    .curator-entry-add-icon {
        position: static;
        flex: 0 0 28px;
        width: 28px;
        height: 18px;
        padding: 0;
        border-radius: 0;
        transform: translateY(-4px);
    }

    .curator-entry-add-mark,
    .curator-entry-add-mark::before,
    .curator-entry-add-mark::after {
        width: 16px;
    }

    .curator-entry-add-mark {
        height: 16px;
    }

    .curator-entry-row {
        grid-template-columns: 88px minmax(0, 1fr) auto;
        gap: 1.45rem;
        min-height: 130px;
    }

    .curator-entry-art {
        width: 88px;
    }

    .curator-entry-copy {
        grid-template-rows: 0.82rem 3.5rem 0.75rem;
        row-gap: 0.24rem;
    }

    .curator-entry-title-line {
        grid-row: 2;
        height: 3.5rem;
    }

    .curator-entry-copy strong,
    .curator-entry-copy--artist strong {
        --curator-entry-title-size: clamp(1.45rem, 7vw, 2rem);
    }

}

/* The profile index reads as one continuous publication: a short recency index,
   followed by complete, type-led sections. Existing entry rows remain the base
   language; longform alone gets a landscape-aware variation. */
.curator-entry-sections {
    display: grid;
    gap: clamp(2.65rem, 4vw, 3.8rem);
}

.curator-entry-section {
    width: min(100%, 690px);
}

.curator-entry-section--longform {
    width: min(100%, 920px);
}

.curator-entry-section-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.72rem;
    padding-bottom: 0.48rem;
    border-bottom: 0;
}

.curator-entry-section--latest .curator-entry-section-heading {
    justify-content: flex-start;
    align-items: center;
}

.curator-entry-section-heading .curator-entry-add-icon {
    position: absolute;
    top: 0.325rem;
    right: 0;
    width: 36px;
    height: 36px;
    gap: 0;
    padding: 0;
    border-radius: 50%;
    background: #302e2a;
    color: #f4f1ea;
    transform: translateY(-50%);
    transition: background-color 0.18s ease;
}

.curator-entry-section-heading .curator-entry-add-mark {
    display: block;
    width: 13px;
    height: 13px;
    color: inherit;
    opacity: 0.82;
}

.curator-entry-section-heading .curator-entry-add-mark::before,
.curator-entry-section-heading .curator-entry-add-mark::after {
    display: block;
    width: 13px;
    height: 1.5px;
    background: currentColor;
}

.curator-entry-section-heading .curator-entry-add-label,
.curator-entry-section-heading .curator-entry-add-label.curator-font-skeleton {
    display: none;
    padding: 0;
    font-size: 0.59rem;
    line-height: 1;
}

.curator-entry-section-heading .curator-entry-add-icon:focus-visible {
    background: #1f1e1c;
    color: #f4f1ea;
    outline: 1px solid rgba(48, 46, 42, 0.32);
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .curator-entry-section-heading .curator-entry-add-icon:hover {
        background: #1f1e1c;
        color: #f4f1ea;
    }
}

.curator-entry-section-heading h2 {
    margin: 0;
    color: #302e2a;
    font-size: 0.65rem;
    line-height: 1;
}

.curator-entry-section-heading > span {
    display: inline-flex;
    height: 0.65rem;
    align-items: center;
    color: rgba(77, 74, 69, 0.52);
    font: 400 0.56rem/0.65rem var(--rh-sans);
    font-variant-numeric: tabular-nums;
}

.curator-entry-section--latest .curator-entry-copy strong {
    letter-spacing: -0.033em;
}

.curator-entry-section--latest .curator-entry-list .curator-entry-type-label {
    display: inline-flex;
}

.curator-entry-section .curator-entry-list > li:last-child .curator-entry-row {
    border-bottom: 0;
}

.curator-entry-section--longform .curator-entry-list {
    display: grid;
    row-gap: 1.25rem;
    padding-top: 1.1rem;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) {
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: 1.6rem;
    min-height: 132px;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-art {
    width: 96px;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy {
    height: 96px;
    grid-template-rows: 0.78rem minmax(0, 1fr) 0.72rem;
    row-gap: 0.18rem;
    align-content: stretch;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-title-line {
    height: 100%;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy {
    grid-template-rows: minmax(0, 1fr);
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy.has-note-meta {
    grid-template-rows: minmax(0, 1fr) 0.72rem;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy .curator-entry-title-line {
    grid-row: 1;
}

.curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy .curator-entry-meta {
    grid-row: 2;
}

.curator-entry-section--latest .curator-entry-note-count + time::before {
    margin-right: 0.5rem;
    color: rgba(77, 74, 69, 0.35);
    content: "·";
}

.curator-entry-row--status .curator-entry-end {
    width: 3.4rem;
}

.curator-entry-row--status .curator-entry-state {
    justify-content: center;
    padding: 0.38rem 0.58rem 0.34rem;
    border-radius: 999px;
    background: rgba(77, 74, 69, 0.075);
    color: rgba(77, 74, 69, 0.6);
    font-size: 0.5rem;
    line-height: 1;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

.curator-entry-chevron {
    display: block;
    width: 8px;
    height: 15px;
    margin-left: auto;
    overflow: visible;
    color: rgba(31, 30, 28, 0.78);
    transition: transform 0.18s ease;
}

.curator-entry-chevron path {
    stroke: currentColor;
    stroke-width: 1.15;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

@media (hover: hover) and (pointer: fine) {
    .curator-entry-row--status:hover .curator-entry-chevron,
    .curator-entry-row--status:focus-visible .curator-entry-chevron {
        transform: translateX(2px);
    }
}

.curator-entry-row--longform {
    position: relative;
    grid-template-columns: minmax(0, 44%) minmax(0, 1fr);
    gap: 1.25rem;
    width: 100%;
    min-height: 188px;
    align-items: stretch;
    padding: 0;
    border-bottom: 0;
    /* border-radius: 7px;
    background: rgba(255, 255, 255, 0.24); */
    overflow: hidden;
}

.curator-entry-row--longform .curator-entry-art {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 10;
    align-self: stretch;
    border-radius: 0;
}

.curator-entry-row--longform .curator-entry-copy {
    height: 100%;
    box-sizing: border-box;
    grid-template-rows: 0.78rem minmax(0, 1fr) 0.72rem;
    row-gap: 0.32rem;
    align-content: stretch;
    padding: 1.05rem 1rem 1.05rem 0;
}

.curator-entry-row--longform .curator-entry-copy.has-longform-deck {
    grid-template-rows: 0.78rem minmax(3.2rem, 1fr) minmax(0, 2.45rem) 0.72rem;
}

.curator-entry-row--longform .curator-entry-title-line {
    grid-row: 2;
    height: 100%;
}

.curator-entry-longform-focus {
    grid-row: 1;
    align-self: end;
    overflow: hidden;
    color: rgba(77, 74, 69, 0.66);
    font: 400 0.46rem/1 var(--rh-sans);
    letter-spacing: 0.17em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.curator-entry-row--longform .curator-entry-copy strong {
    --curator-entry-title-size: 2rem;
}

.curator-entry-longform-deck {
    grid-row: 3;
    display: -webkit-box;
    overflow: hidden;
    color: rgba(77, 74, 69, 0.7);
    font: italic 400 0.85rem/1.35 var(--rh-sans);
    letter-spacing: 0;
    text-transform: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.curator-entry-row--longform .curator-entry-longform-meta {
    grid-row: 3;
    align-self: end;
    gap: 0.4rem;
}

.curator-entry-row--longform .has-longform-deck .curator-entry-longform-meta {
    grid-row: 4;
}

.curator-entry-row--longform .curator-entry-end {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
}

@media (max-width: 1100px) {
    .curator-entry-section,
    .curator-entry-section--longform {
        width: 100%;
    }
}

@media (max-width: 540px) {
    .curator-profile-foreword {
        padding-left: 0;
    }

    .curator-profile-foreword::before {
        display: none;
    }

    .curator-entry-sections {
        gap: 2.55rem;
    }

    .curator-entry-section-heading {
        padding-bottom: 0.42rem;
    }

    .curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) {
        grid-template-columns: 78px minmax(0, 1fr) auto;
        gap: 1.15rem;
        min-height: 112px;
    }

    .curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-art {
        width: 78px;
    }

    .curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy {
        height: 78px;
        grid-template-rows: 0.66rem minmax(0, 1fr) 0.66rem;
        row-gap: 0.14rem;
    }

    .curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy {
        grid-template-rows: minmax(0, 1fr);
    }

    .curator-entry-sections .curator-entry-row:not(.curator-entry-row--longform) .curator-entry-copy.is-section-copy.has-note-meta {
        grid-template-rows: minmax(0, 1fr) 0.66rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-row {
        grid-template-columns: 52px minmax(0, 1fr) 18px;
        gap: 0.85rem;
        min-height: 74px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-art {
        width: 52px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy {
        height: 52px;
        grid-template-rows: 0.58rem minmax(0, 1fr) 0.58rem;
        row-gap: 0.08rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy strong,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy--artist strong {
        --curator-entry-title-size: clamp(1.08rem, 5.2vw, 1.3rem);
        line-height: 0.96;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-type-label {
        font-size: 0.34rem;
        letter-spacing: 0.06rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-meta {
        gap: 0;
        font-size: 0.4rem;
        letter-spacing: 0.055rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-note-count {
        display: none;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-note-count + time::before {
        display: none;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-end {
        width: 18px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-chevron {
        width: 6px;
        height: 12px;
        margin-left: auto;
    }

    .curator-entry-row--longform {
        grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
        gap: 1rem;
        min-height: 152px;
        padding: 0;
    }

    .curator-entry-row--longform .curator-entry-copy {
        grid-template-rows: 0.68rem minmax(0, 1fr) 0.65rem;
        row-gap: 0.23rem;
        padding: 0.8rem 0.7rem 0.8rem 0;
    }

    .curator-entry-row--longform .curator-entry-copy.has-longform-deck {
        grid-template-rows: 0.68rem minmax(2.6rem, 1fr) minmax(0, 2rem) 0.65rem;
    }

    .curator-entry-row--longform .curator-entry-title-line {
        height: 100%;
    }

    .curator-entry-row--longform .curator-entry-copy strong {
        --curator-entry-title-size: 1.55rem;
    }

    .curator-entry-longform-deck {
        font-size: 0.72rem;
        line-height: 1.3;
    }

    .curator-entry-row--longform .curator-entry-longform-meta {
        gap: 0.28rem;
    }
}

@media (min-width: 1101px) {
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-row {
        grid-template-columns: 64px minmax(0, 1fr) 28px;
        gap: 1.15rem;
        min-height: 88px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-art {
        width: 64px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy {
        height: 64px;
        grid-template-rows: 0.64rem minmax(0, 1fr) 0.62rem;
        row-gap: 0.1rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy strong,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy--artist strong {
        --curator-entry-title-size: clamp(1.35rem, 1.8vw, 1.65rem);
        line-height: 0.98;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-type-label {
        font-size: 0.36rem;
        letter-spacing: 0.065rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-meta {
        gap: 0;
        font-size: 0.42rem;
        letter-spacing: 0.06rem;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-note-count,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-note-count + time::before {
        display: none;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-end {
        width: 28px;
    }

    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-chevron {
        width: 7px;
        height: 13px;
        margin-left: auto;
    }
}

/* Artist and album previews act as a compact visual index on the profile. The
   fuller archive deliberately returns to the established editorial rows. */
.curator-entry-section--gallery {
    width: min(100%, 920px);
}

.curator-entry-section-heading--with-link {
    justify-content: space-between;
}

.curator-entry-section-heading > .curator-entry-section-title {
    display: inline-flex;
    width: auto;
    height: auto;
    align-items: center;
    gap: 0.72rem;
}

.curator-entry-section-title > span {
    display: inline-flex;
    height: 0.65rem;
    align-items: center;
    color: rgba(77, 74, 69, 0.52);
    font: 400 0.56rem/0.65rem var(--rh-sans);
    font-variant-numeric: tabular-nums;
}

.curator-entry-section-view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    /* A button that selects the section's filter; it keeps the link's look. */
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    color: rgba(48, 46, 42, 0.66);
    font: 500 0.5rem/1 var(--rh-sans);
    letter-spacing: 0.09em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.16s ease;
}

.curator-entry-section-view-all span {
    font-size: 0.82rem;
    font-weight: 400;
    letter-spacing: 0;
    transition: transform 0.16s ease;
}

.curator-entry-section-view-all:hover,
.curator-entry-section-view-all:focus-visible {
    color: #302e2a;
}

.curator-entry-section-view-all:hover span,
.curator-entry-section-view-all:focus-visible span {
    transform: translateX(3px);
}

.curator-profile-gallery {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.6rem);
    margin: 0;
    padding: 0.85rem 0 0;
    list-style: none;
}

.curator-profile-gallery-entry {
    position: relative;
    display: grid;
    min-width: 0;
    gap: 0.66rem;
    color: #25231f;
    text-decoration: none;
}

.curator-profile-gallery-art {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
    background: rgba(71, 68, 62, 0.055);
}

.curator-profile-gallery-entry--artist .curator-profile-gallery-art {
    border-radius: 50%;
}

.curator-profile-gallery-entry--album .curator-profile-gallery-art {
    border-radius: 3px;
}

.curator-profile-gallery-art img,
.curator-profile-gallery-art .curator-artwork-loading {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.curator-profile-gallery-art img {
    display: block;
    object-fit: cover;
    transition: transform 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
    .curator-profile-gallery-entry:hover .curator-profile-gallery-art img,
    .curator-profile-gallery-entry:focus-visible .curator-profile-gallery-art img {
        transform: scale(1.018);
    }
}

.curator-profile-gallery-copy {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.curator-profile-gallery-entry--artist .curator-profile-gallery-copy {
    text-align: center;
}

.curator-profile-gallery-copy strong {
    display: -webkit-box;
    overflow: hidden;
    font: 500 0.88rem/1.22 var(--rh-sans);
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.curator-profile-gallery-copy span {
    overflow: hidden;
    color: rgba(77, 74, 69, 0.65);
    font: 400 0.6rem/1.2 var(--rh-sans);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.curator-profile-content .curator-profile-gallery-copy strong {
    font-size: clamp(0.95rem, 3.8vw, 1.08rem);
}

.curator-profile-content .curator-profile-gallery-copy > span {
    font-size: 0.72rem;
}

.curator-profile-gallery-state {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    padding: 0.2rem 0.3rem;
    background: rgba(247, 245, 239, 0.9);
    color: rgba(67, 64, 59, 0.72);
    font: 500 0.4rem/1 var(--rh-sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.curator-profile-playlists {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.45rem clamp(1.5rem, 3vw, 2.6rem);
    margin: 0;
    padding: 0.85rem 0 0;
    list-style: none;
}

.curator-profile-playlist-entry {
    position: relative;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    min-width: 0;
    align-items: stretch;
    gap: 1rem;
    color: #25231f;
    text-decoration: none;
}

.curator-profile-playlist-art {
    position: relative;
    display: block;
    width: 88px;
    aspect-ratio: 1;
    border-radius: 3px;
    background: rgba(71, 68, 62, 0.055);
    overflow: hidden;
}

.curator-profile-playlist-art img,
.curator-profile-playlist-art .curator-artwork-loading {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.curator-profile-playlist-art img {
    display: block;
    object-fit: cover;
    transition: transform 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
    .curator-profile-playlist-entry:hover .curator-profile-playlist-art img,
    .curator-profile-playlist-entry:focus-visible .curator-profile-playlist-art img {
        transform: scale(1.018);
    }
}

@media (hover: none), (pointer: coarse) {
    .curator-profile-gallery-art img,
    .curator-profile-playlist-art img {
        transform: none;
        transition: none;
    }
}

.curator-profile-playlist-copy {
    display: grid;
    min-width: 0;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 0.35rem;
    align-items: center;
    padding: 0.35rem 0 0.28rem;
}

.curator-profile-playlist-copy strong {
    display: -webkit-box;
    align-self: center;
    overflow: hidden;
    padding-bottom: 0.08em;
    font: 500 1.35rem/1.1 "Cormorant Garamond", Georgia, serif;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.curator-profile-playlist-copy > span {
    align-self: end;
}

.curator-profile-playlist-state {
    position: absolute;
    top: 0.35rem;
    right: 0;
    color: rgba(77, 74, 69, 0.58);
    font: 500 0.42rem/1 var(--rh-sans);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.curator-profile-gallery-entry--artist .curator-profile-gallery-state {
    right: 0;
}

@media (max-width: 760px) {
    .curator-profile-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 1.15rem;
        row-gap: 1.5rem;
    }

    .curator-profile-gallery-copy strong {
        font-size: 0.8rem;
    }
}

@media (max-width: 540px) {
    .curator-profile-playlists {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }

    .curator-profile-playlist-entry {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 0.9rem;
    }

    .curator-profile-playlist-art {
        width: 76px;
    }

    .curator-profile-playlist-copy strong {
        font-size: 1.18rem;
    }
}

@media (max-width: 420px) {
    .curator-profile-gallery {
        gap: 1.15rem 0.85rem;
    }

    .curator-entry-section-view-all {
        font-size: 0.44rem;
    }

    .curator-profile-gallery-copy strong {
        font-size: 0.74rem;
    }

    .curator-entry-section--longform .curator-entry-list {
        padding-top: 0.9rem;
    }

    .curator-entry-kind-title {
        align-items: center;
        gap: 0.48rem;
    }

    .curator-entry-kind-title em {
        font-size: 0.38rem;
        letter-spacing: 0.065em;
    }
}

/* Keep search and foreword editing at a stable 16px on mobile. Profile
   location inherits the shared own/visitor identity typography. */
@media (max-width: 1100px) {
    .curator-entry-composer .curator-entry-search-box input[data-curator-composer-url] {
        font-size: 16px;
    }

    .curator-profile-foreword .curator-profile-summary[data-curator-foreword] {
        font-size: 16px;
    }
}

/* Profile connections */
.curator-connections-dialog {
    width: min(calc(100vw - 2rem), 520px);
    max-width: none;
    max-height: min(76dvh, 680px);
    margin: auto;
    padding: 0;
    border: 1px solid rgba(39, 36, 32, 0.1);
    border-radius: 15px;
    background: #f8f6f1;
    color: #302d29;
    box-shadow: 0 28px 80px rgba(27, 24, 20, 0.2);
    overflow: hidden;
}

.curator-connections-dialog[open] {
    animation: curator-connections-in 180ms cubic-bezier(0.22, 0.7, 0.22, 1) both;
}

.curator-connections-dialog::backdrop {
    background: rgba(32, 29, 25, 0.24);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.curator-connections-frame {
    display: flex;
    max-height: min(76dvh, 680px);
    flex-direction: column;
}

.curator-connections-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
    gap: 1.5rem;
    padding: 1.35rem 1.35rem 0.9rem;
}

.curator-connections-header > button {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #89847c;
    cursor: pointer;
    font-size: 0.57rem;
    line-height: 1;
    transition: color 150ms ease;
}

.curator-connections-header > button:hover,
.curator-connections-header > button:focus-visible {
    color: #292622;
    outline: none;
}

.curator-connections-header-title {
    justify-self: end;
    margin: 0;
    color: #3e3a35;
    font-size: 0.6rem;
    line-height: 1;
}

.curator-connections-header-tabs {
    display: flex;
    justify-content: flex-end;
    gap: 1.25rem;
}

.curator-connections-header-tabs button {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #88837b;
    cursor: pointer;
    font-size: 0.58rem;
    line-height: 1;
}

.curator-connections-header-tabs button::after {
    position: absolute;
    right: 0;
    bottom: -0.9rem;
    left: 0;
    height: 1px;
    background: #49453f;
    content: "";
    opacity: 0;
    transform: scaleX(0.5);
    transition: opacity 150ms ease, transform 150ms ease;
}

.curator-connections-header-tabs button[aria-selected="true"] {
    color: #3e3a35;
}

.curator-connections-header-tabs button[aria-selected="true"]::after {
    opacity: 1;
    transform: scaleX(1);
}

.curator-connections-header-tabs span,
.curator-connections-header-title span {
    color: #aaa59d;
    font-variant-numeric: tabular-nums;
}

.curator-connections-panels {
    min-height: 190px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}

.curator-connections-list {
    margin: 0;
    padding: 0.85rem 1.35rem 1rem;
    list-style: none;
}

.curator-connections-person {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 0.9rem;
    min-height: 72px;
    color: inherit;
    text-decoration: none;
}

.curator-connections-avatar {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #e7e1d7;
    color: #756c61;
    font: 500 1rem/1 "Cormorant Garamond", Georgia, serif;
    overflow: hidden;
}

.curator-connections-avatar img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: opacity 280ms ease;
}

.curator-connections-avatar.has-image.is-loading img {
    opacity: 0;
}

.curator-connections-avatar .curator-artwork-loading {
    border-radius: inherit;
    overflow: hidden;
}

.curator-connections-avatar .curator-artwork-skeleton {
    border-radius: inherit;
}

.curator-connections-copy {
    display: grid;
    min-width: 0;
    gap: 0.25rem;
}

.curator-connections-name {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.32rem;
}

.curator-connections-name strong {
    overflow: hidden;
    padding: 0.08em 0 0.1em;
    color: #302d29;
    font: 500 1.02rem/1.2 var(--rh-sans);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.curator-connections-meta {
    overflow: hidden;
    color: #8a857d;
    font: 400 0.72rem/1.2 "Cormorant Garamond", Georgia, serif;
    letter-spacing: -0.038em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.curator-connections-verified {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: var(--verified-color, #9a8460);
    overflow: visible;
}

.curator-connections-person > svg {
    width: 11px;
    height: 11px;
    fill: none;
    stroke: #aaa59d;
    stroke-width: 1.3;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 150ms ease, transform 150ms ease;
}

.curator-connections-person:hover > svg,
.curator-connections-person:focus-visible > svg {
    stroke: #4b4741;
    transform: translateX(2px);
}

.curator-connections-person:focus-visible {
    outline: none;
}

.curator-connections-empty {
    margin: 0;
    padding: 3.7rem 1.5rem 4rem;
    color: #8a857d;
    font: italic 400 0.95rem/1.4 var(--rh-sans);
    text-align: center;
}

@keyframes curator-connections-in {
    from { opacity: 0; transform: translateY(8px) scale(0.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 540px) {
    .curator-connections-dialog,
    .curator-connections-frame {
        max-height: min(78dvh, 620px);
    }

    .curator-connections-dialog {
        width: calc(100vw - 1.5rem);
        border-radius: 18px;
    }

    .curator-connections-header {
        padding: 1.25rem 1.15rem 1rem;
    }

    .curator-connections-list {
        padding-right: 1.15rem;
        padding-left: 1.15rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .curator-connections-dialog[open] {
        animation: none;
    }
}

/* The curator identity shares the artist profile's quiet, centred hierarchy.
   Its existing edit and upload controls remain the interactive layer. */
.curator-profile-identity {
    min-height: 0;
    margin: 0;
    padding: clamp(2.75rem, 6vw, 4.75rem) 0 clamp(3.5rem, 6vw, 5rem);
}

.curator-profile-cluster {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
}

.curator-profile-badge-space {
    display: flex;
    width: 100%;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
}

.curator-profile-media {
    display: block;
    width: 80px;
    min-width: 80px;
}

.curator-profile-image-control,
.curator-profile-media > .curator-profile-polaroid {
    width: 80px;
}

.curator-profile-polaroid,
button.curator-profile-polaroid {
    position: relative;
    display: block;
    width: 80px;
    margin: 0;
    padding: 4px 4px 10px;
    overflow: hidden;
    border: 1px solid rgba(29, 28, 26, 0.025);
    border-bottom-color: rgba(29, 28, 26, 0.045);
    border-radius: 3px;
    background: linear-gradient(170deg, #fbf8f2 0%, #f6f5f3 100%);
    box-shadow: 0 7px 18px rgba(40, 36, 33, 0.075);
}

.curator-profile-polaroid::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.28), transparent 42%, rgba(0, 0, 0, 0.035));
    content: "";
    pointer-events: none;
}

.curator-profile-portrait,
.curator-profile-portrait::after {
    border-radius: 1px;
}

.curator-profile-portrait img {
    filter: saturate(0.98) contrast(1.02);
}

.curator-profile-copy,
.curator-profile-core,
.curator-profile-primary {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.curator-profile-copy {
    height: auto;
}

.curator-profile-core {
    justify-content: flex-start;
}

.curator-profile-primary {
    --curator-name-row-height: 1.05em;
}

.curator-profile-identity h1 {
    flex: none;
    width: 100%;
    height: var(--curator-name-row-height);
    max-width: min(760px, 100%);
    margin: 0 0 -0.12em;
    padding-bottom: 0.12em;
    overflow: hidden;
    font-size: clamp(3.3rem, 5.7vw, 4.5rem);
    font-weight: 500;
    line-height: 1.05;
    text-align: center;
    text-overflow: clip;
    white-space: nowrap;
}

.curator-profile-meta {
    justify-content: center;
    min-height: 24px;
    margin-top: 0.18rem;
}

.curator-profile-handle-control {
    position: relative;
    gap: 0;
}

.curator-profile-handle-control .curator-identity-action {
    position: absolute;
    top: 50%;
    left: calc(100% + 0.18rem);
    transform: translateY(-50%);
    color: #85817a;
    opacity: 0.58;
}

.curator-profile-handle-control .curator-identity-action:hover,
.curator-profile-handle-control .curator-identity-action:focus-visible {
    background: transparent;
    color: #67635d;
    opacity: 0.88;
}

.curator-profile-handle {
    font-size: 0.86rem;
    line-height: 1.3;
}

.curator-identity-action {
    width: 18px;
    height: 18px;
    padding: 2px;
}

.curator-identity-action svg {
    width: 13px;
    height: 13px;
}

.curator-identity-action-pen {
    stroke-width: 1.45;
}

.curator-profile-social {
    justify-content: center;
    gap: 1rem;
    margin-top: 0.72rem;
    font-size: 0.55rem;
    letter-spacing: 0.085rem;
}

.curator-profile-location {
    display: inline-flex;
    width: auto;
    min-height: 22px;
    justify-content: center;
    gap: 0.48rem;
    margin-top: 0.48rem;
    font-size: 0.96rem;
    text-align: center;
}

.curator-profile-location svg {
    width: 9px;
    height: 12px;
}

@media (max-width: 1100px) {
    .curator-profile-shell {
        padding-top: 0.5rem;
    }

    .curator-profile-identity {
        padding-top: clamp(1rem, 2.5vw, 1.5rem);
        padding-bottom: clamp(3rem, 8vw, 4rem);
    }
}

@media (max-width: 540px) {
    .curator-profile-shell {
        padding-top: 0;
    }

    .curator-profile-identity {
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 3rem;
    }

    .curator-profile-cluster {
        gap: 0.4rem;
    }

    .curator-profile-identity h1 {
        font-size: clamp(2.75rem, 12vw, 3.45rem);
    }

    .curator-profile-handle {
        font-size: 0.79rem;
    }

    .curator-profile-social {
        gap: 0.85rem;
        margin-top: 0.62rem;
        font-size: 0.51rem;
    }

    .curator-profile-location {
        margin-top: 0.42rem;
        font-size: 0.9rem;
    }
}

/* Keep each profile chapter in the same broad editorial rhythm. */
.curator-entry-sections-secondary {
    display: grid;
    gap: clamp(2.65rem, 4vw, 3.8rem);
}

@media (min-width: 1101px) {
    .curator-entry-sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .curator-entry-section--latest,
    .curator-entry-sections-secondary,
    .curator-entry-sections-secondary .curator-entry-section,
    .curator-entry-sections-secondary .curator-entry-section--longform,
    .curator-entry-sections-secondary .curator-entry-section--gallery {
        width: 100%;
    }

    .curator-entry-section--latest .curator-entry-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(2.5rem, 5vw, 5.5rem);
    }

    .curator-entry-section--latest .curator-entry-list > li,
    .curator-entry-section--latest .curator-entry-list .curator-entry-row,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-row {
        min-width: 0;
        width: 100%;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-row,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-row {
        grid-template-columns: 96px minmax(0, 1fr) 3.4rem;
        gap: 1.6rem;
        min-height: 132px;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-art,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-art {
        width: 96px;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-copy,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy {
        height: 96px;
        grid-template-rows: 0.78rem minmax(0, 1fr) 0.72rem;
        row-gap: 0.18rem;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-copy strong,
    .curator-entry-section--latest .curator-entry-list .curator-entry-copy--artist strong,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy strong,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-copy--artist strong {
        --curator-entry-title-size: clamp(1.45rem, 2vw, 1.9rem);
        line-height: 0.98;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-type-label,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-type-label {
        font-size: 0.4rem;
        letter-spacing: 0.08rem;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-meta,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-meta {
        gap: 0.5rem;
        font-size: 0.48rem;
        letter-spacing: 0.08rem;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-end,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-end {
        width: 3.4rem;
    }

    .curator-entry-section--latest .curator-entry-list .curator-entry-chevron,
    .curator-entry-section--latest .curator-entry-list > li:nth-child(n + 2) .curator-entry-chevron {
        width: 8px;
        height: 15px;
    }

    .curator-entry-sections-secondary {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        column-gap: clamp(2rem, 3.5vw, 4rem);
        align-items: start;
    }

    .curator-entry-sections-secondary > .curator-entry-section {
        grid-column: 1 / -1;
    }

    .curator-entry-sections-secondary:has(.curator-entry-section--longform):has(.curator-entry-section--playlist) > .curator-entry-section--longform {
        grid-column: 1 / span 8;
    }

    .curator-entry-sections-secondary:has(.curator-entry-section--longform):has(.curator-entry-section--playlist) > .curator-entry-section--playlist {
        grid-column: 9 / -1;
    }

    .curator-entry-sections-secondary:has(.curator-entry-section--longform):has(.curator-entry-section--playlist) .curator-profile-playlists {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Longform previews sit together on quiet paper mounts. */
.curator-profile-content .curator-entry-row--longform {
    box-sizing: border-box;
    padding: clamp(0.95rem, 2.5vw, 1.3rem);
    border-radius: 9px;
    background: #faf8f5;
    box-shadow: 0 3px 14px rgba(42, 32, 22, 0.035);
}

.curator-profile-content .curator-entry-row--longform .curator-entry-copy {
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 0;
}

.curator-profile-content .curator-entry-row--longform .curator-entry-longform-focus {
    color: #77716a;
    font: 400 0.46rem/1.25 var(--rh-sans);
    letter-spacing: 0.17em;
    text-transform: uppercase;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Mobile profile collection. The desktop publication layout remains the
   default; these controls become the profile's primary navigation on touch
   widths only. */
.curator-profile-content-header,
.curator-profile-collection-filters,
.curator-entry-draft-overlay {
    display: none;
}

.curator-profile-handle {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 400;
    letter-spacing: -0.038em;
}

@media (max-width: 1100px) {
    .curator-profile-content {
        width: 100%;
        min-width: 0;
    }

    .curator-profile-sheet-navigation[hidden] {
        display: none;
    }

    .curator-profile-handle {
        font-size: 1.14rem;
    }

    .curator-profile-identity {
        padding-bottom: clamp(2rem, 5vw, 2.6rem);
    }

    .curator-profile-content-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 1rem;
        min-height: 38px;
        margin-bottom: 0.3rem;
    }

    .curator-entry-index.is-empty .curator-entry-launch {
        letter-spacing: -0.038em;
    }

    .curator-profile-content-header.is-owner {
        grid-template-columns: minmax(0, 1fr) 38px;
    }

    .curator-profile-content-tabs {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: clamp(1.15rem, 5vw, 1.75rem);
    }

    .curator-profile-content-tabs button {
        position: relative;
        min-height: 0;
        padding: 0 0 0.38rem;
        border: 0;
        background: transparent;
        color: rgba(47, 44, 40, 0.46);
        cursor: pointer;
        font: 500 clamp(1.14rem, 4.7vw, 1.36rem)/1 "Cormorant Garamond", Georgia, serif;
        letter-spacing: -0.038em;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.16s ease;
    }

    .curator-profile-content-tabs button[hidden] {
        display: none;
    }

    .curator-profile-content-tabs button::after {
        position: absolute;
        bottom: -0.04rem;
        left: 50%;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: #2d2a26;
        content: "";
        opacity: 0;
        transform: translateX(-50%) scale(0.45);
        transition: opacity 0.16s ease, transform 0.16s ease;
    }

    .curator-profile-content-tabs button[aria-selected="true"] {
        color: #2d2a26;
    }

    .curator-profile-content-tabs button[aria-selected="true"]::after {
        opacity: 0.9;
        transform: translateX(-50%) scale(1);
    }

    .curator-profile-content-tabs button:focus-visible {
        color: #171614;
        outline: none;
    }

    .curator-profile-content-create {
        position: relative;
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #302e2a;
        color: #f6f2e9;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .curator-profile-content-create > span,
    .curator-profile-content-create > span::after {
        display: block;
        width: 13px;
        height: 1.5px;
        background: currentColor;
        content: "";
    }

    .curator-profile-content-create > span {
        position: relative;
    }

    .curator-profile-content-create > span::after {
        position: absolute;
        top: 0;
        left: 0;
        transform: rotate(90deg);
    }

    .curator-profile-content-create:focus-visible {
        outline: 1px solid rgba(48, 46, 42, 0.42);
        outline-offset: 3px;
    }

    .curator-profile-collection-filters {
        display: flex;
        gap: 0.46rem;
        margin-inline: calc(var(--content-horizontal-padding, 1.5rem) * -1);
        padding: 0 var(--content-horizontal-padding, 1.5rem) 0.1rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-padding-inline: var(--content-horizontal-padding, 1.5rem);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .curator-profile-collection-filters::-webkit-scrollbar {
        display: none;
    }

    .curator-profile-collection-filters button {
        position: relative;
        flex: 0 0 auto;
        min-height: 28px;
        box-sizing: border-box;
        padding: 0.38rem 0.68rem 0.34rem;
        border: 0;
        border-radius: 999px;
        background: rgba(48, 46, 42, 0.045);
        color: rgba(47, 44, 40, 0.68);
        cursor: pointer;
        font: 500 0.49rem/1 var(--rh-sans);
        letter-spacing: 0.095em;
        text-transform: uppercase;
        -webkit-tap-highlight-color: transparent;
        transition: background-color 0.14s ease, color 0.14s ease;
    }

    .curator-profile-collection-filters button::after {
        display: none;
    }

    .curator-profile-collection-filters button[aria-pressed="true"] {
        background: rgba(48, 46, 42, 0.115);
        color: #302e2a;
    }

    .curator-profile-collection-filters button:disabled {
        background: rgba(48, 46, 42, 0.022);
        color: rgba(47, 44, 40, 0.25);
        cursor: default;
    }

    .curator-profile-collection-filters button:disabled::after {
        display: none;
    }

    .curator-profile-collection-filters button:focus-visible {
        outline: 1px solid rgba(48, 46, 42, 0.45);
        outline-offset: 2px;
    }

    .curator-profile-collection-stage {
        min-height: 8rem;
        margin-top: clamp(0.92rem, 2.8vw, 1.1rem);
    }

    .curator-profile-content.is-view-changing .curator-profile-content-panel {
        opacity: 0;
    }

    .curator-profile-content-panel {
        opacity: 1;
        transition: opacity 0.13s ease;
    }

    .curator-profile-content-panel[hidden],
    .curator-profile-filtered-collection[hidden],
    .curator-profile-filter-panel[hidden],
    [data-curator-collection-default][hidden] {
        display: none !important;
    }

    .curator-profile-chronology {
        min-height: 10rem;
    }

    .curator-profile-filtered-collection,
    .curator-profile-filter-panel {
        width: 100%;
    }

    .curator-profile-content .curator-profile-filter-panel .curator-entry-section > ol {
        /* Filtered lists have no section heading needing separation. */
        padding-top: 0;
    }

    .curator-profile-filter-panel li {
        content-visibility: auto;
        contain-intrinsic-size: auto 112px;
    }

    /* WebKit can defer painting auto-visible rows while their parent is at
       opacity zero. Keep the first screen real so it participates in the
       collection fade; later rows remain lazily rendered. */
    .curator-profile-filter-panel .curator-profile-gallery > li:nth-child(-n + 9),
    .curator-profile-filter-panel .curator-profile-playlists > li:nth-child(-n + 4),
    .curator-profile-filter-panel .curator-entry-list > li:nth-child(-n + 2) {
        content-visibility: visible;
        contain-intrinsic-size: none;
    }

    .curator-profile-content .curator-entry-section-heading,
    .curator-profile-content .curator-entry-section--latest .curator-entry-section-heading {
        min-height: 0;
        justify-content: flex-start;
        padding-bottom: 0.66rem;
        border-bottom: 0.5px solid rgba(48, 46, 42, 0.1);
        text-align: left;
    }

    .curator-profile-content .curator-entry-section-heading > h2,
    .curator-profile-content .curator-entry-section-title > h2 {
        margin: 0;
        color: #302e2a;
        font-family: var(--rh-sans);
        font-size: 0.65rem;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: 0.12em;
        text-align: left;
        text-transform: uppercase;
        font-feature-settings: "case" 1, "tnum" 1;
    }

    .curator-profile-content .curator-entry-section-heading > .curator-entry-section-title {
        margin-left: 0;
        justify-content: flex-start;
        gap: 0.68rem;
    }

    .curator-profile-content .curator-entry-section-title > span {
        color: rgba(77, 74, 69, 0.48);
        font-size: 0.56rem;
    }

    .curator-profile-content .curator-entry-section-view-all {
        display: inline-flex;
        align-items: center;
        margin-left: auto;
    }

    .curator-profile-content .curator-entry-section-heading--with-link {
        justify-content: space-between;
    }

    .curator-profile-content .curator-entry-section-heading .curator-entry-add-icon {
        display: none;
    }

    .curator-profile-content .curator-entry-section--longform .curator-entry-list {
        row-gap: 1.1rem;
        padding-top: 0.9rem;
    }

    .curator-profile-content .curator-entry-row--longform {
        display: grid;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 0.85rem;
        box-sizing: border-box;
        overflow: hidden;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-copy,
    .curator-profile-content .curator-entry-row--longform .curator-entry-copy.has-longform-deck {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        min-width: 0;
        height: auto;
        grid-template-rows: auto auto auto;
        row-gap: 0;
        box-sizing: border-box;
        padding: 0;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-longform-focus {
        grid-row: 1;
        align-self: auto;
        margin-bottom: 0.4rem;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-title-line {
        grid-row: 2;
        width: 100%;
        min-width: 0;
        height: auto;
        padding-bottom: 0.08em;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-copy strong {
        font-size: clamp(1.5rem, 6.6vw, 2.05rem);
        line-height: 1.08;
        letter-spacing: -0.038em;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-longform-meta,
    .curator-profile-content .curator-entry-row--longform .has-longform-deck .curator-entry-longform-meta {
        grid-row: 3;
        align-self: auto;
        gap: 0.42rem;
        margin-top: 0.5rem;
        font-size: 0.5rem;
        letter-spacing: 0.12em;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-art {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 16 / 10;
        align-self: auto;
        border-radius: 3px;
    }

    .curator-profile-content .curator-entry-row--longform .curator-entry-end {
        display: none;
    }

    .curator-profile-content .curator-entry-draft-overlay {
        position: absolute;
        z-index: 4;
        inset: 0;
        display: grid;
        place-items: center;
        background: rgba(28, 26, 23, 0.38);
        color: #f7f3eb;
        font: 500 clamp(0.78rem, 3.6vw, 1rem)/1 "Cormorant Garamond", Georgia, serif;
        letter-spacing: -0.038em;
        text-transform: none;
        pointer-events: none;
    }

    .curator-profile-content .curator-entry-state,
    .curator-profile-content .curator-profile-gallery-state,
    .curator-profile-content .curator-profile-playlist-state {
        display: none;
    }

    .curator-profile-content .curator-profile-gallery-copy strong {
        margin-bottom: -0.1em;
        padding: 0.05em 0 0.24em;
        font-family: "Cormorant Garamond", Georgia, serif;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.026em;
    }

    .curator-profile-content .curator-profile-gallery-copy > span {
        margin-bottom: -0.07em;
        padding-bottom: 0.18em;
        font-family: "Cormorant Garamond", Georgia, serif;
        font-weight: 600;
        line-height: 1.24;
        letter-spacing: -0.018em;
    }
}

@media (max-width: 540px) {
    .curator-profile-handle {
        font-size: 1.14rem;
    }

    .curator-profile-shell:has(.curator-entry-index:not(.is-empty))
        > .curator-profile-identity {
        padding-bottom: 2rem;
    }

    .curator-profile-content-header {
        margin-bottom: 0.28rem;
    }

    .curator-profile-content-tabs {
        gap: 1.2rem;
    }

    .curator-profile-collection-filters button {
        min-height: 28px;
    }

    .curator-entry-index:not(.is-empty) .curator-profile-collection-stage {
        margin-top: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .curator-profile-content-tabs button,
    .curator-profile-content-tabs button::after,
    .curator-profile-collection-filters button,
    .curator-profile-collection-stage,
    .curator-profile-content-panel {
        transition: none;
    }
}

/* Create: text-led choices; artwork belongs to the selected music. */
:is([data-curator-entry-composer], [data-longform-focus-dialog]) {
    background: var(--rh-paper);
    color: var(--rh-ink);
    font-family: var(--rh-sans);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-composer-heading { border: 0; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-composer-heading h2 {
    color: var(--rh-ink);
    font-size: 1rem;
    line-height: 1.3;
    letter-spacing: -.015em;
    text-transform: none;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]).is-kind-picker .curator-entry-composer-heading {
    min-height: 24px;
    padding: .5rem 1.25rem 0;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]).is-kind-picker .curator-entry-composer-heading h2 { display: none; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-composer-close { display: grid; color: var(--rh-muted); }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-picker { padding: .5rem .75rem 1rem; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-list { gap: 6px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-list > button {
    grid-template-columns: minmax(0, 1fr);
    min-height: 60px;
    gap: 0;
    padding: 10px 14px;
    border: 0;
    border-radius: 8px;
    background: color-mix(in srgb, var(--rh-ink) 3.5%, transparent);
    text-align: center;
    color: var(--rh-ink);
    transform: none;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-list > button:is(:hover, :active, :focus-visible) {
    background: color-mix(in srgb, var(--rh-ink) 8.5%, transparent);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-list > [data-curator-kind="release"] {
    background: color-mix(in srgb, var(--verified-color, #9a8460) 7%, transparent);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-list > [data-curator-kind="release"]:is(:hover, :active, :focus-visible) {
    background: color-mix(in srgb, var(--verified-color, #9a8460) 12%, transparent);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) button:focus-visible {
    outline: 2px solid var(--rh-muted);
    outline-offset: 3px;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-copy strong { color: var(--rh-ink); font-size: 1.375rem; letter-spacing: -.055em; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-status:empty { display: none; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-search-box input {
    min-height: 44px;
    font-family: inherit;
    font-size: 16px;
    color: var(--rh-ink);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-url-field > .curator-entry-search-box {
    border-bottom-color: color-mix(in srgb, var(--rh-ink) 15%, transparent);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-artist-results {
    position: relative;
    top: auto;
    margin-top: 16px;
    background: var(--rh-paper);
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-artist-result { border: 0; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-artist-result-copy strong { font: 500 1rem/1.3 var(--rh-sans); }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-artist-result-copy > span { color: var(--rh-muted); font-size: .8125rem; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-composer-mode,
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-confirm-cancel {
    min-height: 44px;
    border: 0;
    color: var(--rh-muted);
    font: 400 .8125rem/1.4 var(--rh-sans);
    letter-spacing: -.01em;
    text-transform: none;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-composer-mode { justify-self: end; margin-top: .5rem; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-command--primary {
    width: 100%;
    min-height: 44px;
    padding: 12px 18px;
    border: 0;
    border-radius: 8px;
    background: var(--rh-ink);
    color: var(--rh-paper);
    font: 500 .875rem/1.4 var(--rh-sans);
    letter-spacing: -.01em;
    text-transform: none;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-fetch {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 24px;
    justify-items: center;
    text-align: center;
}
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-fetch-artwork { width: 166px; box-shadow: none; background: color-mix(in srgb, var(--rh-ink) 7%, var(--rh-paper)); }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-fetch[data-entry-type="release"] .curator-entry-fetch-artwork { border-radius: 4px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-fetch h3 { font: 500 1.8125rem/1.2 var(--rh-sans); letter-spacing: -.055em; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-confirm,
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-fetch-status { grid-column: 1 / -1; min-height: 0; justify-items: stretch; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-confirm > p { display: none; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-confirm-actions { justify-content: stretch; gap: 4px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-longform-confirmation { min-height: 0; padding: 16px 12px 24px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-longform-confirmation-content { width: 100%; min-height: 0; gap: 28px; text-align: left; justify-items: stretch; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-longform-confirmation-actions { justify-items: stretch; gap: 4px; margin: 0; }
.curator-create-field { display: grid; gap: 10px; color: var(--rh-muted); font-size: .8125rem; }
.curator-create-field input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 44px;
    padding: 6px 0;
    border: 0;
    border-bottom: .5px solid color-mix(in srgb, var(--rh-ink) 15%, transparent);
    border-radius: 0;
    background: transparent;
    color: var(--rh-ink);
    font: 400 16px/1.4 var(--rh-sans);
}
.curator-create-field [data-curator-longform-title] { font-size: 28px; font-weight: 500; letter-spacing: -.025em; }
.curator-create-field input::placeholder { color: var(--rh-muted); opacity: 1; }
.curator-create-field input:focus { outline: 0; border-bottom-color: var(--rh-muted); }
.curator-create-field small { font-size: inherit; }
@media (max-width: 680px) {
    :is([data-curator-entry-composer], [data-longform-focus-dialog]).is-kind-picker:not(.is-longform-confirming) { height: auto; }
    :is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-kind-picker { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    :is([data-curator-entry-composer], [data-longform-focus-dialog])[open],
    :is([data-curator-entry-composer], [data-longform-focus-dialog])[open]::backdrop,
    :is([data-curator-entry-composer], [data-longform-focus-dialog]) * { animation: none; transition: none; }
}

/* Shared account verification seal. */
.account-verified-seal { display: block; width: 16px; height: 16px; flex: 0 0 16px; color: var(--verified-color, #9a8460); }

:is([data-curator-entry-composer], [data-longform-focus-dialog]) form { padding-top: 4px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-confirm { width: 100%; }

:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-url-field > .curator-entry-search-box { grid-template-columns: 23px minmax(0, 1fr) 44px; min-height: 44px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-link-action-slot { display: grid; width: 44px; height: 44px; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-link-action { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--rh-ink); font: 500 13px/1 var(--rh-sans); letter-spacing: 0; text-transform: none; cursor: pointer; }
:is([data-curator-entry-composer], [data-longform-focus-dialog]) .curator-entry-link-action[hidden] { display: none; }
