.catalog-shell{
    width:min(100%,96rem);
    margin:0 auto;
}

.catalog-shell-header{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:baseline;
    margin-bottom:1rem;
}

.catalog-shell-header h1,
.catalog-shell-count{
    margin:0;
}

.catalog-shell-workspace{
    display:grid;
    grid-template-columns:
        minmax(32rem,3fr)
        minmax(18rem,2fr);
    gap:1rem;
    align-items:start;
    min-width:0;
}

.catalog-shell-list-region,
.catalog-shell-catalog-column,
.catalog-shell-detail-region,
.catalog-shell-toolbar,
.catalog-shell-results,
.catalog-shell-filters,
.catalog-shell-active-filters{
    min-width:0;
}

.catalog-shell-toolbar{
    margin-bottom:0.875rem;
}

.catalog-shell-filters,
.catalog-shell-active-filters{
    margin-bottom:0.875rem;
}

.catalog-shell-active-filters:has(
    .reference-catalog-filter-summary[hidden]
),
.catalog-shell-active-filters:has(
    .pokemon-filter-summary[hidden]
){
    display:none;
}

.catalog-shell-detail-region{
    position:sticky;
    top:1rem;
    max-height:calc(100vh - 2rem);
    overflow-y:auto;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.65rem;
    scrollbar-gutter:stable;
}

.catalog-shell-empty-detail{
    display:grid;
    align-content:center;
    min-height:18rem;
    padding:2rem;
    color:var(--text-muted);
    text-align:center;
}

.catalog-shell-empty-detail h2{
    margin:0 0 0.5rem;
    color:var(--text);
    font-size:1.15rem;
}

.catalog-shell-empty-detail p{
    margin:0;
    line-height:1.5;
}

.catalog-shell-status{
    min-height:14rem;
    padding:1.5rem;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.65rem;
}

.catalog-shell-visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

.catalog-shell--move .reference-catalog-main-search{
    position:static;
    padding:0;
}

.catalog-shell--move .reference-catalog-filter-summary{
    margin:0;
}

.catalog-shell--move .reference-catalog-sidebar,
.catalog-shell--ability .reference-catalog-sidebar{
    position:static;
    max-height:none;
    overflow:visible;
    scrollbar-gutter:auto;
}

.catalog-shell--move
    .reference-catalog-sidebar-details
    > summary,
.catalog-shell--ability
    .reference-catalog-sidebar-details
    > summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:0.7rem 0.875rem;
    font-weight:700;
    background:#f8f8fb;
    border:1px solid #d8dbea;
    border-radius:0.55rem;
    cursor:pointer;
}

.catalog-shell--move
    .reference-catalog-sidebar-details[open]
    > summary,
.catalog-shell--ability
    .reference-catalog-sidebar-details[open]
    > summary{
    border-radius:0.55rem 0.55rem 0 0;
}

.catalog-shell--move .reference-catalog-sidebar-content,
.catalog-shell--ability .reference-catalog-sidebar-content{
    border-top:0;
    border-radius:0 0 0.55rem 0.55rem;
}

.catalog-shell--move .reference-catalog-filter-grid,
.catalog-shell--ability .reference-catalog-filter-grid{
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(11rem,1fr)
        );
    align-items:start;
}

.catalog-shell--ability .reference-catalog-sidebar-content{
    padding:0.75rem;
    background:#f8f8fb;
    border:1px solid #d8dbea;
}

.catalog-shell--ability .reference-catalog-sidebar-header{
    display:flex;
    justify-content:space-between;
    gap:0.625rem;
    align-items:center;
    margin-bottom:0.625rem;
}

.catalog-shell--ability .reference-catalog-sidebar-header h2{
    margin:0;
    font-size:1.125rem;
}

.catalog-shell--ability .reference-catalog-filter-reset{
    min-height:2.125rem;
    padding:0.375rem 0.625rem;
    font:inherit;
    font-size:0.75rem;
    font-weight:700;
    background:var(--surface);
    border:1px solid #bfc3d9;
    border-radius:0.45rem;
    cursor:pointer;
}

.catalog-shell--ability .reference-catalog-filter-reset:disabled{
    color:#888;
    background:#f3f3f3;
    border-color:#ddd;
    cursor:not-allowed;
}

.catalog-shell--ability .reference-catalog-filter-grid{
    display:grid;
    gap:0.55rem;
}

.catalog-shell--ability .reference-catalog-filter-group{
    min-width:0;
    margin:0;
    padding:0;
    background:var(--surface);
    border:1px solid #dedede;
    border-radius:0.45rem;
}

.catalog-shell--ability
    details.reference-catalog-filter-group
    > summary{
    padding:0.55rem 0.7rem;
    font-size:0.8125rem;
    font-weight:700;
    cursor:pointer;
}

.catalog-shell--ability
    .reference-catalog-filter-group
    fieldset{
    min-width:0;
    margin:0;
    padding:0 0.625rem 0.625rem;
    border:0;
}

.catalog-shell--ability .reference-catalog-filter-legend{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

.catalog-shell--ability .reference-catalog-filter-options{
    display:grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
    gap:0.3rem 0.55rem;
}

.catalog-shell--ability .reference-catalog-filter-option{
    display:flex;
    gap:0.45rem;
    align-items:flex-start;
    min-width:0;
    padding:0.25rem 0.125rem;
    font-size:0.8125rem;
    cursor:pointer;
}

.catalog-shell--ability
    .reference-catalog-filter-option[hidden]{
    display:none;
}

.catalog-shell--ability
    .reference-catalog-filter-option input{
    flex:0 0 auto;
    margin:0.125rem 0 0;
}

.catalog-shell--ability
    .reference-catalog-filter-option span{
    min-width:0;
    overflow-wrap:anywhere;
}

.catalog-shell--ability .reference-catalog-filter-chip{
    display:inline-flex;
    gap:0.375rem;
    align-items:center;
    min-height:1.875rem;
    padding:0.25rem 0.55rem;
    font:inherit;
    font-size:0.75rem;
    color:#26358e;
    background:#eef0ff;
    border:1px solid #c7ccef;
    border-radius:999px;
    cursor:pointer;
}

.catalog-shell--move
    .reference-catalog-sidebar-details
    > summary,
.catalog-shell--ability
    .reference-catalog-sidebar-details
    > summary,
.catalog-shell--pokemon
    .pokemon-catalog-filter-details
    > summary,
.items-catalog
    .reference-light-catalog__filters
    > summary{
    list-style:none;
}

.catalog-shell--move
    .reference-catalog-sidebar-details
    > summary::-webkit-details-marker,
.catalog-shell--ability
    .reference-catalog-sidebar-details
    > summary::-webkit-details-marker,
.catalog-shell--pokemon
    .pokemon-catalog-filter-details
    > summary::-webkit-details-marker,
.items-catalog
    .reference-light-catalog__filters
    > summary::-webkit-details-marker{
    display:none;
}

.catalog-shell--move .reference-catalog-item-selected{
    border-color:var(--primary);
    box-shadow:inset 0.25rem 0 var(--primary);
}

.catalog-shell--move
    .reference-catalog-trigger[aria-pressed="true"]{
    background:#f4f5fb;
    font-weight:700;
}

.catalog-shell--move .reference-catalog-record-detail{
    padding:0.875rem;
}

.catalog-shell--move .catalog-shell-results{
    container-name:move-catalog-results;
    container-type:inline-size;
}

.catalog-shell--move .reference-catalog-list{
    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
    gap:0.6rem;
    align-items:start;
    align-content:start;
}

.catalog-shell--move .reference-catalog-trigger{
    display:block;
    padding:0.75rem 0.875rem;
}

.catalog-shell--move .move-catalog-row{
    display:grid;
    gap:0.55rem;
    min-width:0;
}

.catalog-shell--move .move-catalog-row__header{
    display:flex;
    justify-content:space-between;
    gap:0.75rem;
    align-items:baseline;
    min-width:0;
}

.catalog-shell--move .move-catalog-row__name{
    min-width:0;
    font-size:1rem;
    font-weight:750;
    overflow-wrap:anywhere;
}

.catalog-shell--move .move-catalog-row__selected{
    flex:0 0 auto;
    font-size:0.72rem;
    font-weight:700;
    color:var(--primary);
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.catalog-shell--move .move-catalog-row__badges,
.catalog-shell--move .move-catalog-row__metrics{
    display:flex;
    flex-wrap:wrap;
    gap:0.4rem;
    align-items:center;
    min-width:0;
}

.catalog-shell--move .move-catalog-row__type,
.catalog-shell--move .move-category-indicator,
.catalog-shell--move .move-role-indicator{
    min-width:0;
    padding:0.22rem 0.5rem;
    font-size:0.68rem;
    font-weight:700;
    line-height:1.25;
    text-transform:uppercase;
    overflow-wrap:anywhere;
    border-radius:999px;
}

.catalog-shell--move .move-catalog-row__type,
.catalog-shell--move .move-category-indicator,
.catalog-shell--move .move-role-indicator{
    display:inline-flex;
    align-items:center;
    gap:0.3rem;
}

.catalog-shell--move .move-catalog-row__target{
    width:1.4rem;
    height:1.4rem;
}

.catalog-shell--move .pokemon-reference-field .move-category-indicator{
    font-size:0.78rem;
}

.catalog-shell--move .move-category-indicator{
    color:#30364a;
    background:#eef0f6;
    border:1px solid #d4d8e5;
}

.catalog-shell--move
    .move-category-indicator[data-move-category="physical"]{
    background:#f7eee8;
    border-color:#e6cdbc;
}

.catalog-shell--move
    .move-category-indicator[data-move-category="special"]{
    background:#eceffc;
    border-color:#cdd4ef;
}

.catalog-shell--move
    .move-category-indicator[data-move-category="support"]{
    background:#edf5ec;
    border-color:#ccdfc9;
}

.catalog-shell--move .move-role-indicator{
    color:#5b4210;
    background:#fff5d9;
    border:1px solid #ead59a;
}

.catalog-shell--move .move-catalog-row__metrics{
    color:var(--text-muted);
    font-size:0.78rem;
    line-height:1.4;
}

.catalog-shell--move .move-catalog-row__metric{
    min-width:0;
    overflow-wrap:anywhere;
}

.catalog-shell--move .move-catalog-row__metric +
    .move-catalog-row__metric::before{
    content:"·";
    margin-right:0.4rem;
    color:var(--text-muted);
}

.catalog-shell--move .pokemon-reference-detail{
    padding:1rem;
    background:var(--surface);
    border-top:0;
}

.catalog-shell--move .pokemon-reference-detail > h4{
    margin-bottom:1rem;
    padding-bottom:0.75rem;
    font-size:1.35rem;
    line-height:1.2;
    border-bottom:1px solid var(--border);
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-fields{
    display:grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
    gap:0.5rem;
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-fields
    > .pokemon-reference-field{
    display:block;
    min-width:0;
    padding:0.65rem 0.75rem;
    background:#f8f8fb;
    border:1px solid var(--border);
    border-radius:0.5rem;
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-fields
    dt{
    margin-bottom:0.2rem;
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-fields
    dd{
    overflow-wrap:anywhere;
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-section{
    margin-top:1rem;
    padding-top:1rem;
    border-top:1px solid var(--border);
}

.catalog-shell--move
    .pokemon-reference-detail
    > .pokemon-reference-section
    > h5{
    margin-bottom:0.45rem;
    font-size:0.82rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.catalog-shell--ability .reference-catalog-main-search{
    position:static;
    padding:0;
}

.catalog-shell--ability .catalog-shell-results{
    container-name:ability-catalog-results;
    container-type:inline-size;
}

.catalog-shell--ability .ability-catalog-list{
    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );
    gap:0.6rem;
    align-items:start;
    align-content:start;
}

.catalog-shell--ability .reference-catalog-item-selected{
    border-color:var(--primary);
    box-shadow:inset 0.25rem 0 var(--primary);
}

.catalog-shell--ability
    .reference-catalog-trigger[aria-pressed="true"]{
    background:#f4f5fb;
    font-weight:700;
}

.catalog-shell--ability .reference-catalog-trigger{
    display:block;
    padding:0.75rem 0.875rem;
}

.catalog-shell--ability .ability-catalog-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:0.4rem 0.75rem;
    align-items:center;
    min-width:0;
}

.catalog-shell--ability .ability-catalog-row__name{
    min-width:0;
    font-size:1rem;
    font-weight:750;
    overflow-wrap:anywhere;
}

.catalog-shell--ability .ability-catalog-row__selected{
    flex:0 0 auto;
    font-size:0.72rem;
    font-weight:700;
    color:var(--primary);
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.catalog-shell--ability .ability-catalog-row__forms{
    display:flex;
    flex:1 0 100%;
    flex-wrap:wrap;
    gap:0.3rem;
}

.catalog-shell--ability .ability-catalog-row__form{
    display:inline-flex;
    align-items:center;
    min-height:1.35rem;
    padding:0.1rem 0.42rem;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--surface);
    color:var(--text-muted);
    font-size:0.7rem;
    font-weight:700;
    line-height:1.1;
}

.catalog-shell--ability .ability-affected-moves{
    margin-top:0.875rem;
    padding:1rem;
    border:1px solid var(--border);
    border-radius:0.65rem;
    background:var(--surface);
}

.catalog-shell--ability .ability-affected-moves h4{
    margin:0 0 0.65rem;
}

.catalog-shell--ability .ability-affected-moves__list{
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(9rem,1fr)
        );
    gap:0.35rem 1rem;
    margin:0;
    padding-left:1.15rem;
}

.catalog-shell--ability .reference-catalog-filter-status,
.catalog-shell--ability .reference-catalog-filter-error{
    margin:0;
    padding:0.5rem;
    color:var(--text-muted);
    font-size:0.82rem;
}

.catalog-shell--ability .reference-catalog-filter-error p{
    margin:0 0 0.5rem;
}

.catalog-shell--ability .reference-catalog-record-detail{
    padding:0.875rem;
}

.catalog-shell--ability .pokemon-reference-detail{
    padding:1rem;
    background:var(--surface);
    border-top:0;
}

.catalog-shell--ability .pokemon-reference-detail > h4{
    margin-bottom:1rem;
    padding-bottom:0.75rem;
    font-size:1.35rem;
    line-height:1.2;
    border-bottom:1px solid var(--border);
}

.catalog-shell--ability
    .pokemon-reference-detail
    > .pokemon-reference-section{
    margin-top:1rem;
    padding-top:1rem;
    border-top:1px solid var(--border);
}

.catalog-shell--ability
    .pokemon-reference-detail
    > .pokemon-reference-section
    > h5{
    margin-bottom:0.45rem;
    font-size:0.82rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
}

.items-catalog{
    width:100%;
    max-width:none;
}

.items-catalog .reference-light-catalog__header{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:baseline;
    margin-bottom:1rem;
}

.items-catalog .reference-light-catalog__header h1,
.items-catalog .reference-light-catalog__count{
    margin:0;
}

.items-catalog .reference-light-catalog__controls{
    display:grid;
    gap:0.875rem;
    margin-bottom:1rem;
}

.items-catalog .reference-catalog-main-search{
    position:static;
    padding:0;
}

.items-catalog .reference-light-catalog__filters{
    min-width:0;
}

.items-catalog .reference-light-catalog__filters > summary{
    padding:0.7rem 0.875rem;
    font-weight:700;
    background:#f8f8fb;
    border:1px solid #d8dbea;
    border-radius:0.55rem;
    cursor:pointer;
}

.items-catalog .reference-light-catalog__filters[open] > summary{
    border-radius:0.55rem 0.55rem 0 0;
}

.items-catalog .reference-light-catalog__filters > summary:focus-visible,
.items-catalog .reference-catalog-filter-reset:focus-visible,
.items-catalog .reference-catalog-filter-chip:focus-visible,
.items-catalog .reference-catalog-filter-option input:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

.items-catalog .reference-light-catalog__filter-content{
    padding:0.875rem;
    background:#f8f8fb;
    border:1px solid #d8dbea;
    border-top:0;
    border-radius:0 0 0.55rem 0.55rem;
}

.items-catalog .reference-catalog-sidebar-header{
    display:flex;
    justify-content:space-between;
    gap:0.75rem;
    align-items:center;
    margin-bottom:0.75rem;
}

.items-catalog .reference-catalog-sidebar-header h2{
    margin:0;
    font-size:1rem;
}

.items-catalog .reference-catalog-filter-reset{
    min-height:2.15rem;
    padding:0.35rem 0.7rem;
    font:inherit;
    font-size:0.78rem;
    font-weight:700;
    background:var(--surface);
    border:1px solid #bfc3d9;
    border-radius:0.45rem;
    cursor:pointer;
}

.items-catalog .reference-catalog-filter-reset:disabled{
    color:var(--text-muted);
    background:#f3f3f3;
    border-color:var(--border);
    cursor:not-allowed;
}

.items-catalog .reference-catalog-filter-grid{
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(min(14rem,100%),1fr)
        );
    gap:0.75rem;
    align-items:start;
}

.items-catalog .reference-catalog-filter-group{
    min-width:0;
    margin:0;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.5rem;
}

.items-catalog
    details.reference-catalog-filter-group
    > summary{
    padding:0.65rem 0.75rem;
    font-size:0.82rem;
    font-weight:700;
    cursor:pointer;
}

.items-catalog .reference-catalog-filter-group fieldset{
    min-width:0;
    margin:0;
    padding:0 0.75rem 0.75rem;
    border:0;
}

.items-catalog .reference-catalog-filter-legend{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

.items-catalog .reference-catalog-filter-options{
    display:grid;
    gap:0.35rem;
    margin-top:0.5rem;
}

.items-catalog .reference-catalog-filter-option{
    display:flex;
    gap:0.45rem;
    align-items:flex-start;
    min-width:0;
    padding:0.2rem 0;
    font-size:0.82rem;
    cursor:pointer;
}

.items-catalog .reference-catalog-filter-option span{
    min-width:0;
    overflow-wrap:anywhere;
}

.items-catalog .reference-light-catalog__active-filters{
    display:flex;
    flex-wrap:wrap;
    gap:0.4rem;
}

.items-catalog .reference-light-catalog__active-filters[hidden]{
    display:none;
}

.items-catalog .reference-catalog-filter-chip{
    display:inline-flex;
    gap:0.4rem;
    align-items:center;
    min-height:1.9rem;
    padding:0.25rem 0.55rem;
    color:#26358e;
    font:inherit;
    font-size:0.75rem;
    background:#eef0ff;
    border:1px solid #c7ccef;
    border-radius:999px;
    cursor:pointer;
}

.items-catalog-grid{
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(min(15rem,100%),1fr)
        );
    gap:0.75rem;
    align-items:start;
    align-content:start;
}

.items-catalog .item-catalog-card{
    height:auto;
}

.items-catalog .reference-catalog-dialog-trigger{
    display:block;
    min-height:100%;
    padding:0.75rem;
}

.items-catalog .item-catalog-card__content{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0.75rem;
    align-items:center;
    min-width:0;
}

.items-catalog
    .item-catalog-card__content:has(.item-image-frame){
    grid-template-columns:4.5rem minmax(0,1fr);
}

.item-image-frame{
    display:grid;
    place-items:center;
    width:4.5rem;
    min-height:4.5rem;
    overflow:hidden;
    background:#f8f8fb;
    border:1px solid var(--border);
    border-radius:0.5rem;
}

.item-catalog-card__image,
.item-detail-dialog__image{
    display:block;
    width:4.5rem;
    height:4.5rem;
    object-fit:contain;
}

.items-catalog .item-catalog-card__body,
.items-catalog .item-catalog-card__meta{
    display:grid;
    min-width:0;
}

.items-catalog .item-catalog-card__body{
    gap:0.5rem;
}

.items-catalog .item-catalog-card__name{
    font-size:0.95rem;
    overflow-wrap:anywhere;
}

.items-catalog .item-catalog-card__meta{
    gap:0.3rem;
    color:var(--text-muted);
    font-size:0.75rem;
}

.items-catalog .item-catalog-card__meta > span{
    overflow-wrap:anywhere;
}

.items-catalog .item-catalog-card__label{
    margin-right:0.25rem;
    color:var(--text);
    font-weight:700;
}

.item-detail-dialog{
    width:min(36rem,calc(100vw - 2rem));
    max-width:none;
    max-height:calc(100vh - 2rem);
    max-height:calc(100dvh - 2rem);
    padding:0;
    overflow:auto;
    color:var(--text);
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.75rem;
    box-shadow:0 1rem 3rem rgb(0 0 0 / 25%);
}

.item-detail-dialog::backdrop{
    background:rgb(18 22 36 / 55%);
}

.item-detail-dialog .reference-catalog-dialog__header{
    position:sticky;
    z-index:1;
    top:0;
    display:flex;
    justify-content:flex-end;
    padding:0.75rem;
    background:var(--surface);
    border-bottom:1px solid var(--border);
}

.item-detail-dialog .reference-catalog-dialog__close{
    min-height:2.25rem;
    padding:0.4rem 0.75rem;
    color:inherit;
    font:inherit;
    font-weight:700;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.45rem;
    cursor:pointer;
}

.item-detail-dialog .reference-catalog-dialog__close:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

.item-detail-dialog .reference-catalog-dialog__content{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
    align-items:start;
    padding:1rem;
}

.item-detail-dialog
    .reference-catalog-dialog__content:has(.item-image-frame){
    grid-template-columns:5.5rem minmax(0,1fr);
}

.item-detail-dialog__media{
    display:flex;
    justify-content:center;
}

.item-detail-dialog__record,
.item-detail-dialog .pokemon-reference-detail{
    min-width:0;
}

.item-detail-dialog .pokemon-reference-detail > h4{
    margin-top:0;
    font-size:1.35rem;
    overflow-wrap:anywhere;
}

.item-detail-dialog .pokemon-reference-fields{
    display:grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
    gap:0.5rem;
}

.item-detail-dialog .pokemon-reference-field{
    min-width:0;
    padding:0.55rem 0.65rem;
    background:#f8f8fb;
    border:1px solid var(--border);
    border-radius:0.45rem;
}

.item-detail-dialog .pokemon-reference-field dd{
    overflow-wrap:anywhere;
}

.catalog-shell--pokemon .pokemon-search{
    position:static;
    padding:0;
}

.catalog-shell--pokemon
    .pokemon-catalog-filter-details
    > summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    padding:0.7rem 0.875rem;
    font-weight:700;
    background:#f8f8fb;
    border:1px solid #d8dbea;
    border-radius:0.55rem;
    cursor:pointer;
}

.catalog-shell--pokemon
    .pokemon-catalog-filter-details[open]
    > summary{
    border-radius:0.55rem 0.55rem 0 0;
}

.catalog-shell--pokemon
    .pokemon-catalog-filter-details
    > summary:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

.catalog-shell--pokemon
    .pokemon-catalog-filter-content{
    padding:0.875rem;
    border:1px solid #d8dbea;
    border-top:0;
    border-radius:0 0 0.55rem 0.55rem;
}

.catalog-shell--pokemon .pokemon-filters{
    grid-template-areas:
        "types generation reset"
        "types rarity reset";
    margin-top:0;
}

.catalog-shell--pokemon .pokemon-filter-summary{
    margin:0;
}

.catalog-shell--pokemon .pokemon-grid{
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(min(9rem,100%),1fr)
        );
    width:100%;
    max-height:none;
    padding:0;
    overflow:visible;
}

.catalog-shell--pokemon .pokemon-card:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

.catalog-shell--pokemon .pokemon-card-image,
.catalog-shell--pokemon .pokemon-detail-image{
    max-width:100%;
}

.catalog-shell--pokemon .pokemon-card-selected{
    border-color:var(--primary);
    box-shadow:
        inset 0.25rem 0 var(--primary),
        0 0 0 2px rgb(59 76 202 / 18%);
}

.catalog-shell--pokemon .pokemon-detail-panel{
    height:auto;
}

@container move-catalog-results (max-width:38rem){
    .catalog-shell--move .reference-catalog-list{
        grid-template-columns:minmax(0,1fr);
    }
}

@container ability-catalog-results (max-width:44rem){
    .catalog-shell--ability .ability-catalog-list{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }
}

@container ability-catalog-results (max-width:28rem){
    .catalog-shell--ability .ability-catalog-list{
        grid-template-columns:minmax(0,1fr);
    }
}

@media (max-width:1100px){
    .catalog-shell-workspace{
        grid-template-columns:minmax(0,1fr);
    }

    .catalog-shell-detail-region{
        position:static;
        max-height:none;
    }

    .catalog-shell--pokemon .pokemon-detail-panel{
        min-height:0;
        border-top:1px solid var(--border);
    }
}

@media (max-width:760px){
    .catalog-shell-header{
        display:block;
    }

    .catalog-shell-count{
        margin-top:0.5rem;
    }

    .catalog-shell--move .reference-catalog-sidebar{
        position:static;
        max-height:none;
    }

    .catalog-shell--move
    .pokemon-reference-detail
        > .pokemon-reference-fields{
        grid-template-columns:minmax(0,1fr);
    }

    .catalog-shell--pokemon .pokemon-filters{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:
            "types"
            "generation"
            "rarity"
            "reset";
    }

    .items-catalog .reference-light-catalog__header{
        display:block;
    }

    .items-catalog .reference-light-catalog__count{
        margin-top:0.5rem;
    }

    .item-detail-dialog .reference-catalog-dialog__content{
        grid-template-columns:minmax(0,1fr);
    }

    .item-detail-dialog
        .reference-catalog-dialog__content:has(.item-image-frame){
        grid-template-columns:minmax(0,1fr);
    }

    .item-detail-dialog .pokemon-reference-fields{
        grid-template-columns:minmax(0,1fr);
    }

    .catalog-shell--move
        .reference-catalog-sidebar-details
        > summary,
    .catalog-shell--ability
        .reference-catalog-sidebar-details
        > summary,
    .catalog-shell--pokemon
        .pokemon-catalog-filter-details
        > summary,
    .items-catalog
        .reference-light-catalog__filters
        > summary,
    .item-detail-dialog
        .reference-catalog-dialog__close,
    .catalog-shell--move
        .reference-catalog-filter-chip,
    .catalog-shell--pokemon
        .pokemon-filter-chip,
    .items-catalog
        .reference-catalog-filter-chip{
        min-height:2.75rem;
    }
}

@media (max-width:30rem){
    .item-detail-dialog{
        width:calc(100vw - 1rem);
        max-height:calc(100vh - 1rem);
        max-height:calc(100dvh - 1rem);
    }

    .item-detail-dialog__media{
        justify-content:flex-start;
    }
}
