/* Obsidian Sand desktop treatment for the learning and competition routes.
   Every selector is route-scoped; smaller layouts keep their existing owners. */
@media (min-width: 1025px) {

    /* Statistics gives rating and its history the width and visual weight. */
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) body:not(.game-active) #screen-stats .tp-product-content {
        width: min(1080px, calc(100% - 64px));
        gap: 18px;
        padding-top: 28px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-statistics-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-statistics-heading h1 {
        font-family: var(--tp-font-display);
        font-size: 28px;
        line-height: 1.18;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-compact-filter {
        width: auto;
        background: var(--tp-color-page-secondary);
        border: 1px solid color-mix(in srgb, var(--tp-color-border) 65%, transparent);
        border-radius: 8px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-compact-filter > button {
        min-height: 38px;
        padding-inline: 13px;
        font-size: 12px;
        transition: background-color 160ms ease, color 160ms ease;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary {
        min-height: 158px;
        border: 1px solid color-mix(in srgb, var(--tp-color-border) 72%, transparent);
        border-radius: 10px !important;
        background: var(--tp-color-surface);
        box-shadow: 0 14px 28px -28px var(--tp-color-page);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__primary {
        padding: 20px 28px;
        border-right-color: var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__label {
        color: var(--tp-color-text-muted);
        font-size: 11px;
        letter-spacing: .045em;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__rating-line > strong {
        font-family: var(--tp-font-display);
        font-size: clamp(40px, 4vw, 54px);
        letter-spacing: -.055em;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__metrics > div {
        padding: 12px 22px;
        box-shadow: inset 0 -1px 0 var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__metrics > div:nth-last-child(-n + 2) {
        box-shadow: none;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__metrics > div:nth-child(odd) {
        border-right: 1px solid var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__metrics dd {
        font-family: var(--font-mono);
        font-size: 23px;
        font-weight: 700;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-stat-summary__metrics dt {
        font-size: 12px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-statistics-graph {
        padding-top: 16px;
        border-top-color: var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats .tp-statistics-graph h2 {
        font-family: var(--tp-font-display);
        font-size: 18px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats #stats-page-content[data-empty="true"] .tp-rating-chart-wrap {
        min-height: 124px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats #stats-page-content[data-empty="true"] .tp-data-state {
        min-height: 124px;
        justify-content: flex-start;
        padding: 16px 22px;
        border-left: 2px solid var(--tp-color-primary);
        background: var(--tp-color-page-secondary);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-stats #stats-page-content[data-empty="true"] .tp-chart-caption {
        margin-top: 8px;
        font-size: 12px;
    }

    /* Tournaments keeps create/join at hand without a giant empty directory. */
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-product-content {
        padding-top: 30px;
        gap: 22px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-page-heading h1 {
        font-family: var(--tp-font-display);
        font-size: 29px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-page-heading p {
        color: var(--tp-color-text-muted);
        font-size: 14px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-page-heading__actions .tp-button {
        min-height: 42px;
        border-radius: 7px;
        font-size: 13px;
        transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-section-tabs {
        gap: 12px;
        border-bottom-color: var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-section-tabs button {
        padding-inline: 10px;
        color: var(--tp-color-text-muted);
        font-size: 13px;
        transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-section-tabs button.is-active {
        color: var(--tp-color-primary);
        border-bottom-color: var(--tp-color-primary);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-directory {
        padding: 4px 0 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-directory > .tp-section-heading {
        margin-bottom: 10px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-directory h2 {
        font-family: var(--tp-font-display);
        font-size: 18px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-list {
        border-top-color: var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-list > .tp-data-state {
        min-height: 116px;
        justify-content: flex-start;
        padding: 22px 26px;
        border: 1px solid color-mix(in srgb, var(--tp-color-border) 66%, transparent);
        border-radius: 9px;
        background: var(--tp-color-surface);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-list > .tp-data-state > i {
        color: var(--tp-color-primary);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-list > .tp-data-state strong {
        font-size: 15px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-card {
        border-bottom-color: var(--tp-color-border);
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-card__head h3 {
        font-size: 17px;
    }
    html:is([data-theme="obsidian-sand"], [data-theme="steppe-light"]) #screen-tournaments .tp-tournament-meta__item {
        color: var(--tp-color-text-muted);
        font-size: 12px;
    }
}
