.rm-catalog {
    --rm-surface: var(--nx-color-card-body-bg, var(--nx-color-surface, var(--bs-body-bg, #fff)));
    --rm-card: var(--nx-component-card-bg, var(--nx-color-card-bg, var(--bs-card-bg, #fff)));
    --rm-soft: var(--nx-color-surface-soft, color-mix(in srgb, var(--rm-card) 94%, var(--rm-text) 6%));
    --rm-text: var(--nx-color-on-surface, var(--bs-body-color, #182033));
    --rm-muted: var(--nx-color-muted, var(--bs-secondary-color, #667085));
    --rm-border: var(--nx-component-border, var(--nx-color-card-border, var(--bs-border-color, #dbe1ea)));
    --rm-primary: var(--nx-color-primary, var(--bs-primary, #ff6b00));
    --rm-button: var(--nx-color-button-bg, var(--rm-primary));
    --rm-on-primary: var(--nx-color-button-text, var(--nx-on-inverse-text, #fff));
    --rm-radius: var(--nx-component-radius, var(--nx-radius-lg, var(--bs-border-radius-xl, 1rem)));
    max-width: var(--nx-container-width, 1320px);
    margin: 0 auto 2rem;
    color: var(--rm-text);
    background: var(--rm-card);
    border: 1px solid var(--rm-border);
    border-radius: var(--rm-radius);
    overflow: hidden;
    box-shadow: var(--nx-component-shadow, var(--nx-shadow-card, 0 12px 30px rgb(15 23 42 / .07)));
}
.rm-catalog__body { padding: clamp(1rem, 3vw, 2rem); background: var(--rm-surface); }
.rm-catalog__tabs { display: flex; gap: .35rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rm-border); overflow-x: auto; }
.rm-catalog__tabs button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .72rem 1rem;
    color: var(--rm-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: .7rem;
    font-weight: 650;
    white-space: nowrap;
}
.rm-catalog__tabs button:hover { color: var(--rm-text); background: color-mix(in srgb, var(--rm-primary) 7%, var(--rm-card)); }
.rm-catalog__tabs button.active { color: var(--rm-on-primary); background: var(--rm-primary); }
.rm-catalog__tabs button span { min-width: 1.45rem; padding: .08rem .35rem; color: inherit; background: color-mix(in srgb, currentColor 15%, transparent); border-radius: 999px; font-size: .72rem; text-align: center; }
.rm-catalog__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0 1.35rem; }
.rm-catalog__search { position: relative; display: block; width: min(100%, 430px); }
.rm-catalog__search i { position: absolute; left: 1rem; top: 50%; color: var(--rm-muted); transform: translateY(-50%); pointer-events: none; }
.rm-catalog__search input { width: 100%; min-height: 46px; padding: .7rem 1rem .7rem 2.75rem; color: var(--rm-text); background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .7rem; outline: 0; }
.rm-catalog__search input:focus { border-color: var(--rm-primary); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--rm-primary) 15%, transparent); }
.rm-catalog__result { color: var(--rm-muted); font-size: .85rem; }
.rm-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.rm-package { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--rm-text); background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .9rem; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.rm-package:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--rm-primary) 45%, var(--rm-border)); box-shadow: var(--nx-component-shadow, var(--nx-shadow-card, 0 12px 26px rgb(15 23 42 / .08))); }
.rm-package__media { aspect-ratio: 16 / 8.8; display: grid; place-items: center; color: var(--rm-muted); background: color-mix(in srgb, var(--rm-card) 88%, var(--rm-primary)); border-bottom: 1px solid var(--rm-border); overflow: hidden; }
.rm-package__media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rm-package__media i { font-size: 2.5rem; }
.rm-package__icon { width: 3rem; height: 3rem; display: grid; place-items: center; margin: 1.2rem 1.2rem 0; color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 12%, transparent); border-radius: .8rem; font-size: 1.4rem; }
.rm-package__icon--core { color: var(--rm-on-primary); background: var(--rm-primary); }
.rm-package__content { flex: 1; padding: 1.15rem 1.2rem; }
.rm-package__meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .5rem; }
.rm-package__meta span { color: var(--rm-primary); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rm-package__meta small { max-width: 60%; color: var(--rm-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-package h2 { margin: 0; color: var(--rm-text); font-size: 1.08rem; font-weight: 750; }
.rm-package h2 small { color: var(--rm-muted); font-size: .76rem; font-weight: 600; }
.rm-package p { min-height: 3.2em; margin: .6rem 0 0; color: var(--rm-muted); font-size: .88rem; line-height: 1.55; }
.rm-package__facts { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .85rem; color: var(--rm-muted); font-size: .78rem; }
.rm-package__facts span { display: inline-flex; align-items: center; gap: .32rem; }
.rm-package footer { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; padding: .9rem 1.2rem; border-top: 1px solid var(--rm-border); }
.rm-package footer .btn { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.rm-package__available { width: 100%; display: inline-flex; align-items: center; gap: .4rem; color: var(--bs-success, #198754); font-size: .82rem; font-weight: 650; }
.rm-catalog__empty { min-height: 190px; display: grid; place-items: center; align-content: center; gap: .75rem; color: var(--rm-muted); background: var(--rm-card); border: 1px dashed var(--rm-border); border-radius: .9rem; text-align: center; }
.rm-catalog__empty i { font-size: 2rem; color: var(--rm-primary); }
.rm-catalog__empty--search { margin-top: 1rem; }
.rm-package[hidden], .rm-catalog__panel[hidden], .rm-catalog__empty[hidden] { display: none !important; }
@media (max-width: 1050px) { .rm-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) {
    .rm-catalog__body { padding: 1rem; }
    .rm-catalog__toolbar { align-items: stretch; flex-direction: column; }
    .rm-catalog__search { width: 100%; }
    .rm-catalog__grid { grid-template-columns: 1fr; }
    .rm-package p { min-height: 0; }
}
.rm-catalog > .nx-page-head {
    color: var(--nx-page-head-text, var(--rm-text));
    background-color: var(--nx-page-head-background, var(--rm-card));
    background-image: var(--nx-page-head-pattern, none);
    border-bottom-color: var(--nx-page-head-border, var(--rm-border));
}.rm-catalog__head .nx-page-head__content { max-width: none; }
.rm-catalog__title { max-width: none; white-space: nowrap; }
.rm-catalog__public-hint { display: flex; align-items: center; gap: .45rem; margin-top: .85rem; color: var(--nx-page-head-muted, var(--rm-muted)); font-size: .85rem; }
.rm-catalog__public-hint i { color: var(--rm-primary); }
@media (max-width: 760px) {
    .rm-catalog__title { font-size: clamp(1.1rem, 5.7vw, 2rem) !important; }
}
.rm-catalog .btn-primary {
    --bs-btn-color: var(--rm-on-primary);
    --bs-btn-bg: var(--rm-button);
    --bs-btn-border-color: var(--rm-button);
    --bs-btn-hover-color: var(--rm-on-primary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--rm-button) 86%, #000);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--rm-button) 86%, #000);
}
.rm-catalog .btn-outline-secondary {
    --bs-btn-color: var(--rm-text);
    --bs-btn-border-color: var(--rm-border);
    --bs-btn-hover-color: var(--rm-on-primary);
    --bs-btn-hover-bg: var(--rm-button);
    --bs-btn-hover-border-color: var(--rm-button);
}

/* Compact public template cards */
.rm-template-card .rm-package__media { position: relative; aspect-ratio: 16 / 8.35; }
.rm-template-card__recommended { position: absolute; top: .7rem; right: .7rem; padding: .35rem .7rem; color: var(--rm-on-primary); background: var(--rm-button); border-radius: 999px; box-shadow: 0 6px 16px rgb(0 0 0 / .14); font-size: .72rem; font-weight: 750; }
.rm-template-card .rm-package__content { padding: .85rem 1rem .75rem; }
.rm-template-card__heading { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.rm-template-card__heading h2 { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; }
.rm-template-card__category { flex: 0 0 auto; padding: .22rem .48rem; color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 12%, var(--rm-card)); border-radius: .35rem; font-size: .68rem; font-weight: 750; }
.rm-template-card__facts { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .7rem; margin-top: .7rem; color: var(--rm-muted); font-size: .72rem; }
.rm-template-card__facts > span { display: inline-flex; align-items: center; gap: .3rem; }
.rm-template-card__chip { margin-left: auto; padding: .2rem .45rem; color: var(--bs-success, #198754); background: color-mix(in srgb, var(--bs-success, #198754) 10%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--bs-success, #198754) 28%, transparent); border-radius: 999px; white-space: nowrap; }
.rm-template-card__chip--responsive { margin-left: 0; color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 9%, var(--rm-card)); border-color: color-mix(in srgb, var(--rm-primary) 25%, transparent); }
.rm-template-card__description { min-height: 0 !important; margin-top: .75rem !important; padding-top: .7rem; border-top: 1px solid var(--rm-border); }
.rm-template-card__actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .65rem 1rem !important; }
.rm-template-card__actions .btn { width: 100%; min-height: 34px !important; padding: .4rem .65rem; font-size: .78rem; }
.rm-template-card__actions .btn:disabled { opacity: .45; cursor: not-allowed; }
.rm-catalog .btn-outline-primary { --bs-btn-color: var(--rm-primary); --bs-btn-border-color: var(--rm-primary); --bs-btn-hover-color: var(--rm-on-primary); --bs-btn-hover-bg: var(--rm-button); --bs-btn-hover-border-color: var(--rm-button); }
@media (max-width: 430px) { .rm-template-card__chip { margin-left: 0; } }
/* Compact public plugin cards */
.rm-plugin-card { min-height: 100%; }
.rm-plugin-card__main { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr); gap: 1rem; padding: 1rem 1rem .75rem; }
.rm-plugin-card__icon { width: 5.25rem; height: 5.25rem; display: grid; place-items: center; align-self: start; color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 8%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--rm-primary) 24%, var(--rm-border)); border-radius: 1rem; }
.rm-plugin-card__icon i { font-size: 2.85rem; line-height: 1; }
.rm-plugin-card__content { min-width: 0; }
.rm-plugin-card__heading { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .6rem; }
.rm-plugin-card__heading h2 { flex: 1 1 9rem; min-width: 0; font-size: 1.05rem; }
.rm-plugin-card__category { display: inline-flex; padding: .18rem .42rem; color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 10%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--rm-primary) 22%, transparent); border-radius: .35rem; font-size: .65rem; font-weight: 750; line-height: 1.2; }
.rm-plugin-card__content > p { min-height: 2.8em; margin: .35rem 0 0; font-size: .8rem; line-height: 1.4; }
.rm-plugin-card__author { display: flex; align-items: center; gap: .35rem; margin-top: .4rem; color: var(--rm-muted); font-size: .7rem; }
.rm-plugin-card__meta, .rm-plugin-card__facts { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .65rem; padding: .55rem 1rem; border-top: 1px solid var(--rm-border); color: var(--rm-muted); font-size: .7rem; }
.rm-plugin-card__meta { min-height: 2.6rem; }
.rm-plugin-card__facts { justify-content: space-between; }
.rm-plugin-card__facts span { display: inline-flex; align-items: center; gap: .32rem; }
.rm-plugin-card__chip { display: inline-flex; padding: .16rem .4rem; color: var(--bs-success, #198754); background: color-mix(in srgb, var(--bs-success, #198754) 9%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--bs-success, #198754) 25%, transparent); border-radius: .35rem; white-space: nowrap; }
.rm-plugin-card__chip--language { color: var(--rm-primary); background: color-mix(in srgb, var(--rm-primary) 8%, var(--rm-card)); border-color: color-mix(in srgb, var(--rm-primary) 22%, transparent); }
.rm-plugin-card__details { padding: .7rem 1rem; border-top: 1px solid var(--rm-border); color: var(--rm-muted); font-size: .76rem; }
.rm-plugin-card__details p { min-height: 0; margin: 0; font-size: inherit; }
.rm-plugin-card__details a { display: inline-flex; gap: .3rem; margin-top: .55rem; color: var(--rm-primary); }
.rm-plugin-card__actions { display: block !important; padding: .6rem 1rem !important; }
.rm-plugin-card__actions .btn { width: 100%; min-height: 34px !important; padding: .4rem .65rem; font-size: .76rem; }
@media (max-width: 430px) { .rm-plugin-card__main { grid-template-columns: 4.25rem minmax(0, 1fr); } .rm-plugin-card__icon { width: 4.25rem; height: 4.25rem; } .rm-plugin-card__icon i { font-size: 2.3rem; } }
/* Public core release history */
.rm-catalog.is-core .rm-catalog__toolbar { display: none; }
.rm-core-catalog { --rm-core-success: var(--bs-success, #198754); }
.rm-core-current { display: grid; grid-template-columns: 5rem minmax(0, 1fr) minmax(13rem, .7fr); gap: 1.15rem; align-items: center; padding: 1.15rem; background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .9rem; }
.rm-core-current__icon { width: 5rem; height: 5rem; display: grid; place-items: center; color: var(--rm-core-success); background: color-mix(in srgb, var(--rm-core-success) 8%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--rm-core-success) 25%, var(--rm-border)); border-radius: .85rem; }
.rm-core-current__icon i { font-size: 2.8rem; line-height: 1; }
.rm-core-current__eyebrow { display: inline-flex; width: fit-content; padding: .18rem .45rem; color: var(--rm-core-success); background: color-mix(in srgb, var(--rm-core-success) 9%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--rm-core-success) 25%, transparent); border-radius: .35rem; font-size: .68rem; font-weight: 750; }
.rm-core-current__title { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-top: .3rem; }
.rm-core-current__title h2 { margin: 0; color: var(--rm-text); font-size: clamp(1.2rem, 2vw, 1.65rem); }
.rm-core-current__facts { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-top: .65rem; }
.rm-core-current__facts span { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .5rem; color: var(--rm-muted); background: var(--rm-soft); border: 1px solid var(--rm-border); border-radius: .4rem; font-size: .72rem; }
.rm-core-current__checksum { display: flex; align-items: center; gap: .35rem; margin-top: .55rem; color: var(--rm-muted); font-size: .7rem; }
.rm-core-current__note { padding-left: 1rem; border-left: 1px solid var(--rm-border); }
.rm-core-current__note p { margin: 0; color: var(--rm-text); font-size: .82rem; line-height: 1.45; }
.rm-core-current__note small { display: block; margin-top: .4rem; color: var(--rm-muted); line-height: 1.4; }
.rm-core-channel { display: inline-flex; padding: .17rem .45rem; border: 1px solid currentColor; border-radius: .35rem; font-size: .65rem; font-weight: 750; }
.rm-core-channel.is-stable { color: var(--rm-core-success); background: color-mix(in srgb, var(--rm-core-success) 8%, var(--rm-card)); }
.rm-core-channel.is-beta { color: #b77900; background: color-mix(in srgb, #f0ad00 10%, var(--rm-card)); }
.rm-core-channel.is-alpha, .rm-core-channel.is-dev { color: var(--rm-muted); background: var(--rm-soft); }
.rm-core-toolbar { display: grid; grid-template-columns: minmax(15rem, 23rem) 1fr; gap: .8rem; margin: 1rem 0; }
.rm-core-toolbar > label { position: relative; }
.rm-core-toolbar > label i { position: absolute; left: .8rem; top: 50%; color: var(--rm-muted); transform: translateY(-50%); }
.rm-core-toolbar input { width: 100%; min-height: 42px; padding: .55rem .8rem .55rem 2.35rem; color: var(--rm-text); background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .65rem; outline: 0; }
.rm-core-toolbar input:focus { border-color: var(--rm-primary); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--rm-primary) 14%, transparent); }
.rm-core-filters { display: flex; align-items: center; gap: .3rem; padding: .25rem; background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .65rem; }
.rm-core-filters button { min-height: 32px; padding: .35rem .7rem; color: var(--rm-muted); background: transparent; border: 1px solid transparent; border-radius: .4rem; font-size: .72rem; }
.rm-core-filters button:hover { color: var(--rm-text); }
.rm-core-filters button.active { color: var(--rm-on-primary); background: var(--rm-button); }
.rm-core-layout { display: grid; grid-template-columns: minmax(0, 1fr) 14rem; gap: 1rem; align-items: start; }
.rm-core-history > h2 { margin: 0 0 .65rem; color: var(--rm-text); font-size: 1rem; }
.rm-core-version-group { position: relative; margin-bottom: .75rem; padding: .75rem .8rem .8rem 1.35rem; background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .7rem; }
.rm-core-version-group::before { content: ''; position: absolute; left: .62rem; top: 1.15rem; bottom: .8rem; width: 1px; background: color-mix(in srgb, var(--rm-primary) 55%, var(--rm-border)); }
.rm-core-version-group > h3 { position: relative; display: flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; color: var(--rm-text); font-size: .9rem; }
.rm-core-version-group > h3 i { margin-left: -.98rem; color: var(--rm-primary); background: var(--rm-card); }
.rm-core-version-group__rows { overflow: hidden; border: 1px solid var(--rm-border); border-radius: .55rem; }
.rm-core-release { display: grid; grid-template-columns: minmax(9rem, 1.35fr) .55fr .8fr .8fr .6fr auto; gap: .7rem; align-items: center; padding: .55rem .7rem; color: var(--rm-muted); border-bottom: 1px solid var(--rm-border); font-size: .7rem; }
.rm-core-release:last-child { border-bottom: 0; }
.rm-core-release__identity { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; color: var(--rm-text); }
.rm-core-details-button { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 30px; padding: .3rem .55rem; color: var(--rm-primary); background: transparent; border: 1px solid var(--rm-primary); border-radius: .4rem; font-size: .68rem; }
.rm-core-details-button:hover { color: var(--rm-on-primary); background: var(--rm-button); }
.rm-core-release__details { grid-column: 1 / -1; padding: .65rem; color: var(--rm-muted); background: var(--rm-soft); border-radius: .4rem; }
.rm-core-release__details p { min-height: 0; margin: 0; font-size: .75rem; }
.rm-core-release__details ul { margin: .45rem 0; padding-left: 1.2rem; }
.rm-core-sidebar { display: grid; gap: .75rem; }
.rm-core-sidebar section { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; padding: .85rem; background: var(--rm-card); border: 1px solid var(--rm-border); border-radius: .7rem; }
.rm-core-sidebar section > i { color: var(--rm-primary); font-size: 1.05rem; }
.rm-core-sidebar strong { display: block; color: var(--rm-text); font-size: .75rem; }
.rm-core-sidebar p { min-height: 0; margin: .35rem 0 0; color: var(--rm-muted); font-size: .68rem; line-height: 1.45; }
.rm-core-archive-note { display: flex; align-items: center; gap: .8rem; margin-top: 1rem; padding: .8rem 1rem; color: var(--rm-text); background: color-mix(in srgb, var(--rm-primary) 5%, var(--rm-card)); border: 1px solid color-mix(in srgb, var(--rm-primary) 38%, var(--rm-border)); border-radius: .7rem; }
.rm-core-archive-note > i { color: var(--rm-primary); font-size: 1.35rem; }
.rm-core-archive-note strong, .rm-core-archive-note span { display: block; }
.rm-core-archive-note span { margin-top: .15rem; color: var(--rm-muted); font-size: .72rem; }
@media (max-width: 980px) { .rm-core-current { grid-template-columns: 4.25rem 1fr; } .rm-core-current__icon { width: 4.25rem; height: 4.25rem; } .rm-core-current__note { grid-column: 1 / -1; padding: .75rem 0 0; border-left: 0; border-top: 1px solid var(--rm-border); } .rm-core-layout { grid-template-columns: 1fr; } .rm-core-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .rm-core-toolbar { grid-template-columns: 1fr; } .rm-core-filters { overflow-x: auto; } .rm-core-release { grid-template-columns: 1fr 1fr; } .rm-core-release__identity { grid-column: 1 / -1; } .rm-core-details-button { grid-column: 1 / -1; } }
@media (max-width: 520px) { .rm-core-current { grid-template-columns: 1fr; } .rm-core-current__icon { width: 3.8rem; height: 3.8rem; } .rm-core-sidebar { grid-template-columns: 1fr; } }