.page{

    background:white;
    padding:clamp(0.875rem,3vw,1.875rem);
    border-radius:10px;

}

:where(
    a,
    button,
    input,
    select,
    textarea,
    summary
):focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
}

.home-hub{
    width:100%;
    max-width:72rem;
    margin:0 auto;
}

.home-hub-header{
    margin-bottom:2rem;
}

.home-hub-header h1{
    margin-top:0;
    margin-bottom:0.5rem;
}

.home-hub-header p{
    margin:0;
    color:var(--text-muted);
}

.home-card-grid{
    display:grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(min(100%,16rem),1fr)
        );
    gap:1rem;
    min-width:0;
    max-width:100%;
    margin:0;
    padding:0;
    list-style:none;
}

.home-card-grid > li{
    min-width:0;
}

.home-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    max-width:100%;
    min-height:11rem;
    height:100%;
    padding:1.25rem;
    color:var(--text);
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:0.65rem;
    text-decoration:none;
    transition:
        border-color 120ms ease,
        box-shadow 120ms ease,
        transform 120ms ease;
}

.home-card:hover{
    border-color:var(--primary);
    box-shadow:0 0.35rem 1rem #00000014;
    transform:translateY(-0.125rem);
}

.home-card:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:3px;
}

.home-card-title{
    color:var(--primary);
    font-size:1.2rem;
    overflow-wrap:anywhere;
}

.home-card-description{
    min-width:0;
    max-width:100%;
    margin-top:0.65rem;
    color:var(--text-muted);
    line-height:1.5;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
}

.home-card-action{
    margin-top:auto;
    padding-top:1rem;
    font-weight:700;
}

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

    .home-card{
        transition:none;
    }

    .home-card:hover{
        transform:none;
    }
}

@media (max-width:800px){
    button[id^="retry-"][id$="-load"],
    button[data-reference-retry],
    button[data-catalog-relations-retry],
    button[data-team-action="retry-reference"],
    button[data-team-action="retry-moves"]{
        min-height:2.75rem;
    }
}
.presentation-icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    vertical-align: -0.125em;
}

.presentation-icon--fallback {
    display: inline-grid;
    place-items: center;
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    border: 1px solid var(--border);
    border-radius: 50%;
}

.presentation-icon-group,
.icon-label,
.rank-presentation {
    display: inline-flex;
    align-items: center;
}

.presentation-icon-group {
    gap: 0.125rem;
}

.icon-label,
.rank-presentation {
    gap: 0.35rem;
}

.icon-label__text {
    min-width: 0;
}

.move-icon-asset {
    display: inline-flex;
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    align-items: center;
    justify-content: center;
}

.move-icon-asset .move-icon-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: 0;
}

.move-category-indicator .presentation-icon-group {
    flex-wrap: wrap;
}

.move-category-indicator
    .move-icon-asset.presentation-icon--small {
    width: 1.4rem;
    height: 1.4rem;
}

.move-category-indicator
    .move-icon-asset.presentation-icon--medium {
    width: 1.55rem;
    height: 1.55rem;
}

.move-target-indicator {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 0.4rem;
    overflow: hidden;
}

.move-target-indicator .presentation-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: 0;
}

.move-target-value {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}
