/* Compact championship pages; unchanged shared asset for browser and local app. */
.ch-photo.ch-compact {--ch-control:44px;scroll-margin-top:80px}
.ch-photo.ch-compact .ch-heading {min-height:0;padding:1.4rem 1rem 1.6rem;margin-bottom:1rem}
.ch-compact.ch-photo.ch-compact--landing .ch-heading {min-height:10.5rem;padding-top:1.5rem;padding-bottom:1.6rem}
.ch-compact.ch-photo.ch-compact--landing .ch-heading h1 {font-size:clamp(2rem,4.2vw,3.4rem)}
.ch-photo.ch-compact--family .ch-heading,.ch-photo.ch-compact--edition .ch-heading {border-radius:1rem;margin:0 0 .8rem;padding:1rem;min-height:0;background-position:right center;background-size:cover}
.ch-photo.ch-compact--family .ch-heading {background-image:linear-gradient(90deg,rgba(0,13,9,.96) 15%,rgba(0,13,9,.28)),url('../img/championships/mondiali-v1.jpg')}
.ch-photo.ch-compact--italiani .ch-heading {background-image:linear-gradient(90deg,rgba(0,13,9,.94) 30%,rgba(0,13,9,.4)),url('../img/championships/strada-v1.jpg')}
.ch-photo.ch-compact--europei .ch-heading {background-image:linear-gradient(90deg,rgba(0,13,9,.94) 30%,rgba(0,13,9,.4)),url('../img/championships/europei-v1.jpg')}
.ch-photo.ch-compact--world-games .ch-heading {background-image:linear-gradient(90deg,rgba(0,13,9,.94) 30%,rgba(0,13,9,.4)),url('../img/championships/hero-v1.jpg')}
.ch-photo.ch-compact--edition .ch-heading {display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;padding:1rem;background-position:right 25%}
.ch-photo.ch-compact .ch-heading::before {background:linear-gradient(0deg,rgba(0,18,10,.3),transparent)}
.ch-photo.ch-compact--family .ch-heading h1,.ch-photo.ch-compact--edition .ch-heading h1 {font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.13;margin:.3rem 0 .5rem;letter-spacing:-.035em}
.ch-photo.ch-compact--edition .ch-heading>div:first-child {flex:1 1 15rem}
.ch-photo.ch-compact--family .ch-heading .ch-eyebrow,.ch-photo.ch-compact--edition .ch-heading .ch-eyebrow {display:none}
.ch-photo.ch-compact .ch-heading>div>p:not(.ch-eyebrow) {font-size:.9rem;max-width:34rem;line-height:1.4}
.ch-photo.ch-compact .ch-breadcrumb {font-size:.72rem;gap:.35rem;padding:.2rem 0;margin-bottom:.7rem}
.ch-photo.ch-compact .ch-family-section {margin:0 0 1.3rem}
.ch-photo.ch-compact .ch-family-switch {margin:.3rem 0 .7rem;font-size:.76rem}
.ch-photo.ch-compact .ch-family-switch>summary {display:flex;align-items:center;min-height:36px;color:var(--text-secondary);width:fit-content}
.ch-photo.ch-compact .ch-views,.ch-photo.ch-compact .ch-tabs {display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;gap:.3rem;padding:.2rem 0 .45rem;margin:.4rem 0 .65rem;max-width:100%;border:0;border-radius:0;background:none;scroll-padding-inline:.5rem}
.ch-photo.ch-compact .ch-views>a,.ch-photo.ch-compact .ch-tabs>a,.ch-photo.ch-compact .ch-views>button,.ch-photo.ch-compact .ch-tabs>button {flex:none;white-space:nowrap;min-height:40px;padding:.5rem .8rem;font-size:.78rem;border-radius:999px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);font-weight:650;text-decoration:none}
.ch-photo.ch-compact .ch-views [aria-current],.ch-photo.ch-compact .ch-tabs [aria-current],.ch-photo.ch-compact .ch-views .is-active,.ch-photo.ch-compact .ch-tabs .is-active {background:var(--color-accent);color:#041407;border-color:var(--color-accent);box-shadow:none}
.ch-photo.ch-compact .ch-catalog-toolbar {display:flex;gap:.6rem;margin:.65rem 0 .9rem;align-items:center;flex-wrap:wrap}
.ch-photo.ch-compact .ch-catalog-toolbar>p {font-size:.75rem;margin:0;flex-basis:100%;color:var(--text-secondary)}
.ch-photo.ch-compact .ch-quick-search {display:flex;flex:1 1 12rem;align-items:center;min-width:0;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--surface-1);min-height:44px;margin:0}
.ch-photo.ch-compact .ch-quick-search label {display:flex;flex-direction:row;align-items:center;gap:.4rem;flex:1;min-width:0;padding-left:.7rem}
.ch-photo.ch-compact .ch-quick-search input[type=search] {border:0;background:transparent;box-shadow:none;min-height:42px;height:42px;padding:.5rem;font-size:16px;border-radius:0;width:100%;min-width:0}
.ch-photo.ch-compact .ch-quick-search button {width:44px;min-width:44px;min-height:44px;padding:.5rem;border:0;background:none;color:var(--text-primary);display:grid;place-items:center;margin:0}
.ch-photo.ch-compact .ch-catalog-toolbar>.ch-search {flex:0 0 auto;margin:0}
.ch-photo.ch-compact .ch-catalog-toolbar>.ch-search[open] {flex-basis:100%;width:100%}
.ch-photo.ch-compact .ch-search>summary {min-height:44px;font-size:.76rem;list-style:none}
.ch-photo.ch-compact .ch-filter-panel {padding:.8rem;gap:.7rem;border-radius:1rem}
.ch-photo.ch-compact .ch-filters {gap:.7rem}
.ch-photo.ch-compact label {font-size:.78rem}
.ch-photo.ch-compact .ch-edition-groups {gap:1rem;margin:.7rem 0}
.ch-photo.ch-compact .ch-edition-group>.ch-section-title {font-size:.95rem;margin:.4rem 0}
.ch-photo.ch-compact .ch-more-actions {position:relative;flex:none;max-width:100%;z-index:5}
.ch-photo.ch-compact .ch-more-actions>summary {display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;border:1px solid #809d8d;border-radius:.8rem;background:#00180dd9;padding:.45rem .7rem;color:#fff;font-size:.8rem;list-style:none;cursor:pointer}
.ch-photo.ch-compact .ch-more-actions>summary::-webkit-details-marker {display:none}
.ch-photo.ch-compact .ch-more-actions>.ch-actions {position:absolute;right:0;top:100%;width:min(17rem,calc(100vw - 48px));display:grid;margin-top:.4rem;padding:.6rem;background:#071b10;border:1px solid #547860;border-radius:.8rem;box-shadow:0 .5rem 1.5rem #0006}
.ch-photo.ch-compact .ch-more-actions a,.ch-photo.ch-compact .ch-more-actions button {justify-content:flex-start;min-height:44px;text-align:left;padding:.5rem .7rem;border-radius:.5rem;font-size:.85rem}
.ch-photo.ch-compact .ch-original-link {font-size:.85rem;color:#fff;display:flex;align-items:center;gap:.5rem;min-height:44px;flex-basis:100%}
.ch-photo.ch-compact .ch-overview-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:1rem 0}
.ch-photo.ch-compact .ch-overview-layout>.ch-card {margin:0;padding:1rem;border-radius:1rem}
.ch-photo.ch-compact .ch-section-heading {display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}
.ch-photo.ch-compact .ch-section-heading>h2 {font-size:1.1rem;margin:0}
.ch-photo.ch-compact .ch-section-heading>a {font-size:.8rem;display:flex;align-items:center;min-height:36px;text-decoration:none}
.ch-photo.ch-compact .ch-stat-strip {display:flex;align-items:stretch;flex-wrap:wrap;border-bottom:1px solid var(--border-subtle);padding:.5rem 0 .8rem;margin-bottom:.5rem;gap:.8rem}
.ch-photo.ch-compact .ch-stat-strip>strong {font-size:1.5rem;line-height:1.1;min-width:0}
.ch-photo.ch-compact .ch-stat-strip span {display:block;font-size:.65rem;font-weight:500;color:var(--text-secondary);margin-top:.4rem;max-width:8rem;line-height:1.4}
.ch-photo.ch-compact .ch-highlight {display:flex;align-items:center;gap:.65rem;padding:.8rem 0;border-bottom:1px solid var(--border-subtle);min-width:0}
.ch-photo.ch-compact .ch-highlight:last-child {border:0}
.ch-photo.ch-compact .ch-highlight>div {min-width:0;flex:1}
.ch-photo.ch-compact .ch-highlight h3 {font-size:.88rem;line-height:1.3;margin:0 0 .3rem}
.ch-photo.ch-compact .ch-highlight p,.ch-photo.ch-compact .ch-highlight small {font-size:.72rem;color:var(--text-secondary);line-height:1.4;margin:0}
.ch-photo.ch-compact .ch-highlight>a {display:grid;place-items:center;width:44px;min-height:44px;flex:none}
.ch-photo.ch-compact .ch-highlight__medal {display:grid;place-items:center;flex:none;width:2.6rem;min-height:2.6rem;border:1px solid var(--border-subtle);border-radius:.6rem;color:var(--color-accent);font-size:.68rem;overflow-wrap:anywhere}
.ch-photo.ch-compact .ch-edition-info>p {font-size:.9rem}
.ch-photo.ch-compact .ch-edition-info details {margin-top:.7rem;font-size:.78rem}
.ch-photo.ch-compact .ch-result,.ch-photo.ch-compact .ch-preference-panel {padding:1rem;border-radius:1rem}
.ch-photo.ch-compact .ch-result .ch-actions {gap:.3rem}
.ch-photo.ch-compact .ch-result .ch-facts {margin:.6rem 0}
.ch-photo.ch-compact .ch-row-actions {border-top:1px solid var(--border-subtle);margin-top:.5rem;font-size:.76rem}
.ch-photo.ch-compact .ch-row-actions>summary {min-height:36px;display:flex;align-items:center;color:var(--text-secondary)}
.ch-photo.ch-compact .ch-row-actions[open]>.ch-actions {margin-top:.5rem}
.ch-photo.ch-compact .ch-result-identity h3 {font-size:1rem}
.ch-photo.ch-compact .ch-program-days {display:flex;gap:.4rem;overflow-x:auto;max-width:100%;padding:.3rem 0;margin:.5rem 0}
.ch-photo.ch-compact .ch-program-days>a {flex:none;min-height:44px;border:1px solid var(--border-subtle);border-radius:.7rem;padding:.5rem;font-size:.78rem;text-decoration:none}
.ch-photo.ch-compact .ch-program-days>[aria-current] {background:var(--color-accent);color:#041407}
.ch-photo.ch-compact .ch-program-list {display:grid;gap:.65rem;grid-template-columns:1fr}
.ch-photo.ch-compact .ch-program-list .ch-card {margin:0;padding:.85rem;border-radius:.8rem}
.ch-photo.ch-compact .ch-program-list .ch-card h2 {font-size:1rem}
.ch-photo.ch-compact .ch-program-list .ch-card>p {font-size:.8rem;margin:.4rem 0}
.ch-photo.ch-compact .ch-program-list .ch-card>a:last-child {font-size:.72rem}
@media(min-width:768px){.ch-photo.ch-compact .ch-overview-layout {grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.ch-photo.ch-compact .ch-program-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.ch-photo.ch-compact {padding-bottom:1rem}.ch-photo.ch-compact--landing .ch-family {min-height:10rem;padding-top:4rem}.ch-photo.ch-compact--family .ch-heading,.ch-photo.ch-compact--edition .ch-heading {padding:1.25rem 1.5rem}.ch-photo.ch-compact--family .ch-edition__cover {height:8rem}}
@media(max-width:600px){
 .ch-photo.ch-compact .ch-heading {margin-left:-14px;margin-right:-14px}
 .ch-photo.ch-compact--family .ch-heading,.ch-photo.ch-compact--edition .ch-heading {margin-left:0;margin-right:0;padding:1rem;min-height:0}
 .ch-photo.ch-compact--landing .ch-heading {padding:1.4rem 14px 1.5rem;min-height:10.5rem}
 .ch-photo.ch-compact .ch-catalog-toolbar>.ch-section-title {font-size:1.05rem}
 .ch-photo.ch-compact--family .ch-edition__link {display:grid;grid-template-columns:94px minmax(0,1fr);align-items:stretch;min-height:6.5rem}
 .ch-photo.ch-compact--family .ch-edition__cover {height:auto;min-height:100%;grid-row:1}
 .ch-photo.ch-compact--family .ch-edition__cover>img {position:absolute;inset:0;height:100%;object-position:60% center}
 .ch-photo.ch-compact--family .ch-edition__cover::after {background:linear-gradient(90deg,transparent,var(--ch-panel))}
 .ch-photo.ch-compact--family .ch-edition__top {position:relative;inset:auto;padding:.5rem;gap:.4rem;flex-direction:column;align-items:flex-start}
 .ch-photo.ch-compact--family .ch-edition__year {font-size:.8rem;padding:.25rem .45rem;border-radius:.4rem}
 .ch-photo.ch-compact--family .ch-status {font-size:.58rem;padding:.2rem .35rem}
 .ch-photo.ch-compact--family .ch-edition__content {margin:0;padding:.75rem .7rem .75rem .3rem;gap:.4rem}
 .ch-photo.ch-compact--family .ch-edition__title .ch-eyebrow,.ch-photo.ch-compact--family .ch-edition__description {display:none}
 .ch-photo.ch-compact--family .ch-edition__title h3 {font-size:1rem;line-height:1.25}
 .ch-photo.ch-compact--family .ch-edition__facts {gap:.25rem}
 .ch-photo.ch-compact--family .ch-edition__facts p {font-size:.7rem;gap:.35rem}
 .ch-photo.ch-compact--family .ch-edition__facts .svg-icon {width:.85rem;height:.85rem}
 .ch-photo.ch-compact--family .ch-edition__cta {padding:0;border:0;background:none;color:var(--ch-green);font-size:.72rem;min-height:30px}
 .ch-photo.ch-compact--family .ch-edition--original .ch-edition__cta {padding:0;border:0;background:none;color:var(--ch-green)}
 .ch-photo.ch-compact--landing .ch-edition__cover {height:8rem}
 .ch-photo.ch-compact .ch-more-actions>.ch-actions {width:min(16rem,calc(100vw - 56px))}
}
@media(prefers-reduced-motion:no-preference){.ch-photo.ch-compact a,.ch-photo.ch-compact button {transition:background-color .15s,border-color .15s}}
.ch-photo.ch-compact .ch-race-groups {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:.8rem;margin:1rem 0}
.ch-photo.ch-compact .ch-race-summary {margin:0;padding:1rem;border-radius:1rem}
.ch-photo.ch-compact .ch-race-summary h2 {font-size:1rem;line-height:1.3;margin:0}
.ch-photo.ch-compact .ch-race-summary h2 a {color:var(--text-primary);text-decoration:none}
.ch-photo.ch-compact .ch-race-summary header p,.ch-photo.ch-compact .ch-race-summary time {font-size:.73rem;color:var(--text-secondary);margin:.3rem 0}
.ch-photo.ch-compact .ch-classification {list-style:none;padding:0;margin:.7rem 0;display:grid;gap:.2rem}
.ch-photo.ch-compact .ch-classification li {display:flex;gap:.5rem;align-items:center;padding:.5rem 0;min-width:0}
.ch-photo.ch-compact .ch-classification li>div {flex:1;min-width:0}
.ch-photo.ch-compact .ch-classification strong {display:block;font-size:.83rem;line-height:1.4}
.ch-photo.ch-compact .ch-classification small {display:block;font-size:.67rem;color:var(--text-secondary);margin-top:.15rem}
.ch-photo.ch-compact .ch-position {display:grid;place-items:center;min-width:1.7rem;min-height:1.7rem;flex:none;background:var(--surface-2);border-radius:50%;font-size:.78rem;font-weight:800}
.ch-photo.ch-compact .ch-performance {font-size:.76rem;flex:0 1 auto;overflow-wrap:anywhere;max-width:35%;text-align:right}
.ch-photo.ch-compact .ch-classification-link {display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border:1px solid var(--color-accent);border-radius:.65rem;min-height:44px;color:var(--color-accent);font-size:.78rem;font-weight:650;text-decoration:none}

.ch-photo.ch-compact--edition .ch-heading {flex-direction:row;align-content:flex-start;align-items:flex-start;height:auto}
.ch-photo.ch-compact .ch-quick-search input[type=search] {font-weight:500}
.championships.ch-compact {--surface-2:var(--background-subtle);--border-subtle:var(--card-border)}
.championships.ch-compact .ch-highlight>button {width:44px;min-height:44px;flex:none;border:0;color:var(--color-accent);background:none;font-size:1.3rem}
.championships.ch-compact .ch-section-heading>button {border:0;background:none;color:var(--color-accent);font-size:.8rem;min-height:44px;max-width:100%}
.championships.ch-compact .ch-card {background:var(--card-background);border:1px solid var(--card-border)}
.championships.ch-compact .ch-program-days>button {flex:none;min-height:44px;border:1px solid var(--card-border);border-radius:.7rem;padding:.5rem;font-size:.78rem;background:var(--card-background);color:var(--text-primary)}
.championships.ch-compact .ch-program-days>[aria-current] {background:var(--color-accent);color:#041407}
.championships.ch-compact .ch-classification-link {width:100%;background:none;text-align:left}
.championships.ch-compact .ch-badges>span {border:1px solid #81978a;border-radius:999px;font-size:.7rem;padding:.2rem .5rem}
.championships.ch-compact .ch-breadcrumb>button {background:none;color:var(--text-secondary);border:0;font-size:.75rem;min-height:36px}
.championships.ch-compact .ch-more-actions button {background:#071b10;color:#fff;border:1px solid #547860;font:inherit;min-height:44px;padding:.5rem}
.championships.ch-compact .championships-result {padding:1rem;border-radius:1rem;gap:.5rem}
.championships.ch-compact .championships-result>.button-row {margin:0}

.ch-photo.ch-compact .ch-overview-layout {align-items:start}
body.championships-active #app-shell .bottom-nav button[data-route="championships"] {background:transparent;border-color:transparent;box-shadow:none;color:#55f45b}

/* Edition refinement: athlete profile links and compact information/disclosures. */
.ch-photo.ch-compact .ch-highlight {padding:.8rem 0;gap:.75rem}
.ch-photo.ch-compact .ch-highlight__medal {border-color:rgba(var(--color-accent-rgb),.24);background:rgba(var(--color-accent-rgb),.06);font-weight:750}
.ch-photo.ch-compact a.ch-athlete-profile {color:var(--text-primary);text-decoration:underline;text-decoration-color:rgba(var(--color-accent-rgb),.5);text-underline-offset:.25em;overflow-wrap:anywhere}
.ch-photo.ch-compact .ch-highlight h3 {font-size:.9rem;line-height:1.45}
.ch-photo.ch-compact .ch-highlight> a:last-child {border-radius:.65rem;background:var(--surface-2)}
.ch-photo.ch-compact .ch-info-heading {display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.ch-photo.ch-compact .ch-info-heading h2 {margin:0;font-size:1.1rem}
.ch-photo.ch-compact .ch-info-heading .ch-eyebrow {margin:0 0 .15rem;font-size:.65rem;letter-spacing:.08em;color:var(--text-secondary)}
.ch-photo.ch-compact .ch-info-icon {display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:.75rem;background:rgba(var(--color-accent-rgb),.09);color:var(--color-accent)}
.ch-photo.ch-compact .ch-edition-info>.ch-facts {margin:0 0 1rem;gap:.65rem}
.ch-photo.ch-compact .ch-edition-info>.ch-facts>div {padding:.7rem .75rem;border:1px solid var(--border-subtle);background:transparent;border-radius:.65rem}
.ch-photo.ch-compact .ch-edition-info dt {font-size:.7rem}
.ch-photo.ch-compact .ch-edition-info dd {font-size:.85rem;line-height:1.4;margin:.3rem 0 0}
.ch-photo.ch-compact a.ch-official-link {display:inline-flex;align-items:center;justify-content:center;gap:.55rem;max-width:100%;min-height:44px;padding:.6rem .9rem;margin:0 0 .2rem;border:1px solid var(--border-strong);border-radius:.65rem;background:var(--surface-2);color:var(--text-primary);font-size:.82rem;font-weight:650;text-decoration:none;line-height:1.4}
.ch-photo.ch-compact .ch-official-link>.svg-icon {display:block;width:1rem;height:1rem;flex:none;color:var(--color-accent)}
.ch-photo.ch-compact .ch-info-details {border-top:1px solid var(--border-subtle);margin:1rem 0 0;padding-top:.3rem}
.ch-photo.ch-compact .ch-info-details>summary,.ch-photo.ch-compact .ch-coverage>summary {display:flex;align-items:center;gap:.6rem;list-style:none;min-height:44px;font-size:.8rem;font-weight:600;cursor:pointer}
.ch-photo.ch-compact .ch-info-details>summary::-webkit-details-marker,.ch-photo.ch-compact .ch-coverage>summary::-webkit-details-marker,.ch-photo.ch-compact .ch-follow-options summary::-webkit-details-marker {display:none}
.ch-photo.ch-compact .ch-info-details>summary::after,.ch-photo.ch-compact .ch-coverage>summary::after,.ch-photo.ch-compact .ch-follow-options summary::after {content:'+';flex:none;margin-left:auto;color:var(--color-accent);font-size:1.2rem;font-weight:400}
.ch-photo.ch-compact .ch-info-details[open]>summary::after,.ch-photo.ch-compact .ch-coverage[open]>summary::after,.ch-photo.ch-compact .ch-follow-options details[open]>summary::after {content:'−'}
.ch-photo.ch-compact .ch-info-details>div {padding:.25rem 0;font-size:.8rem;line-height:1.6}
.ch-photo.ch-compact .ch-info-details .ch-facts {grid-template-columns:1fr}
.ch-photo.ch-compact .ch-info-details .ch-facts>div {padding:.6rem 0;background:transparent;border-bottom:1px solid var(--border-subtle);border-radius:0}
.ch-photo.ch-compact .ch-follow-options {border:1px solid var(--border-subtle);border-radius:1rem;background:var(--surface-1);margin:1rem 0;overflow:hidden}
.ch-photo.ch-compact .ch-follow-options>.ch-preference-panel {padding:0 1rem;border:0;border-radius:0;margin:0;background:transparent}
.ch-photo.ch-compact .ch-follow-options>.ch-preference-panel+details {border-top:1px solid var(--border-subtle)}
.ch-photo.ch-compact .ch-follow-options summary {display:flex;align-items:center;gap:.6rem;list-style:none;min-height:56px;font-size:.82rem;font-weight:650;margin:0}
.ch-photo.ch-compact .ch-follow-options details[open] {padding-bottom:1rem}
.ch-photo.ch-compact .ch-follow-options details>p {font-size:.8rem;line-height:1.6}
.ch-photo.ch-compact .ch-coverage {margin:1rem 0;padding:.4rem 1rem;border-radius:1rem}
.ch-photo.ch-compact .ch-coverage>summary>.svg-icon {width:1rem;height:1rem;color:var(--text-secondary)}
.ch-photo.ch-compact .ch-coverage>div {padding:.3rem 0 .5rem;font-size:.8rem;line-height:1.6}
.ch-photo.ch-compact .ch-coverage h3 {font-size:.9rem}
@media(hover:hover){.ch-photo.ch-compact .ch-athlete-profile:hover {color:var(--color-accent)}.ch-photo.ch-compact a.ch-official-link:hover {border-color:var(--color-accent);color:var(--color-accent)}}
.championships.ch-photo.ch-compact button.ch-athlete-profile {display:inline;padding:0;min-height:0;border:0;background:none;color:var(--text-primary);font:inherit;font-weight:inherit;text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.25em;text-align:left;line-height:inherit}
.championships.ch-photo.ch-compact .ch-highlight h3 {margin-bottom:.25rem}

.championships.ch-photo.ch-compact .ch-follow-options>.championships-subscription {margin:0;padding:.85rem 1rem;border:0;border-radius:0;background:none}
.championships.ch-photo.ch-compact .ch-follow-options>.championships-optional {margin:0;padding:0 1rem;border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:none}
.championships.ch-photo.ch-compact .ch-follow-options>.championships-optional>summary {padding:0}
.championships.ch-photo.ch-compact .ch-follow-options .championships-subscription>span {font-size:.75rem}

/* Sporting identity and metal palette reuse the Paraguay portrait rows and medal summary. */
.ch-photo.ch-compact [data-ch-metal="oro"] {--ch-metal:#ffd51d}
.ch-photo.ch-compact [data-ch-metal="argento"] {--ch-metal:#d7dfe8}
.ch-photo.ch-compact [data-ch-metal="bronzo"] {--ch-metal:#d59a69}
.ch-photo.ch-compact [data-ch-metal="total"] {--ch-metal:var(--text-primary)}
:root[data-theme="light"] .ch-photo.ch-compact [data-ch-metal="oro"] {--ch-metal:#806000}
:root[data-theme="light"] .ch-photo.ch-compact [data-ch-metal="argento"] {--ch-metal:#4e6174}
:root[data-theme="light"] .ch-photo.ch-compact [data-ch-metal="bronzo"] {--ch-metal:#8a4c24}
.ch-photo.ch-compact .ch-medal-palmares {margin:.75rem 0 1rem}
.ch-photo.ch-compact .ch-medal-palmares>p {font-size:.78rem;color:var(--text-primary);margin:0 0 .65rem;font-weight:650}
.ch-photo.ch-compact .ch-medal-palmares>p>span {color:var(--text-secondary);font-weight:400}
.ch-photo.ch-compact .ch-medal-summary {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,3.2rem),1fr));gap:.4rem}
.ch-photo.ch-compact .ch-medal-summary>div {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.7rem .2rem;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:.5rem;min-width:0}
.ch-photo.ch-compact .ch-medal-summary strong {color:var(--ch-metal);font-size:1.5rem;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums}
.ch-photo.ch-compact .ch-medal-summary span {color:var(--text-secondary);font-size:.65rem;line-height:1.4;margin-top:.25rem;white-space:nowrap}
.ch-photo.ch-compact .ch-sport-person {display:flex;align-items:flex-start;gap:.8rem;min-width:0;flex:1}
.ch-photo.ch-compact .ch-sport-portrait {position:relative;display:grid;place-items:center;flex:none;width:4.2rem;height:5.25rem;border-radius:.55rem;overflow:hidden;background:var(--surface-2);border:1px solid var(--border-subtle);font-size:1.15rem;font-weight:750;color:var(--text-secondary)}
.ch-photo.ch-compact .ch-sport-portrait>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.ch-photo.ch-compact .ch-portrait-flag {position:absolute;bottom:.3rem;right:.3rem;width:1.3rem;height:.85rem;border:1px solid rgba(255,255,255,.7);border-radius:2px;background:linear-gradient(90deg,#008c45 0 33.33%,#fff 33.33% 66.66%,#cd212a 66.66%);z-index:1}
.ch-photo.ch-compact .ch-sport-copy {min-width:0;flex:1}
.ch-photo.ch-compact .ch-sport-copy>.ch-sport-name {display:block;font-size:1rem;line-height:1.3;font-weight:750;letter-spacing:-.015em;margin:0 0 .3rem}
.ch-photo.ch-compact .ch-sport-copy a.ch-athlete-profile {color:var(--text-primary);text-decoration:none}
.ch-photo.ch-compact .ch-sport-copy a.ch-athlete-profile:hover {text-decoration:underline}
.ch-photo.ch-compact .ch-sport-copy>.ch-sport-category,.ch-photo.ch-compact .ch-sport-copy>.ch-sport-race,.ch-photo.ch-compact .ch-sport-copy>.ch-sport-club {display:block;font-size:.73rem;line-height:1.4;font-weight:400;color:var(--text-secondary);margin:.2rem 0}
.ch-photo.ch-compact .ch-sport-medal {display:inline-flex;align-items:center;gap:.3rem;max-width:100%;color:var(--ch-metal,var(--text-primary));font-size:.75rem;font-weight:750;line-height:1.4;white-space:nowrap;margin:.3rem 0 0}
.ch-photo.ch-compact .ch-sport-medal>.svg-icon {width:1.1rem;height:1.1rem;flex:none}
.ch-photo.ch-compact .ch-sport-copy>.ch-sport-score {display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem;margin:.4rem 0 .15rem;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.2}
.ch-photo.ch-compact .ch-sport-score>strong {font-size:1.35rem;color:var(--ch-metal,var(--text-primary));font-weight:750}
.ch-photo.ch-compact .ch-sport-score>span {font-size:1.1rem;font-weight:700}
.ch-photo.ch-compact .ch-athlete-feature {align-items:center;padding:1rem 0;gap:.4rem}
.ch-photo.ch-compact .ch-athlete-feature>.ch-sport-person {flex:1;min-width:0}
.ch-photo.ch-compact .ch-athlete-feature>.ch-open-result {align-self:center;width:32px;min-height:44px;background:none}
.ch-photo.ch-compact .ch-athlete-feature .ch-sport-copy>.ch-sport-name {font-size:1rem}
.ch-photo.ch-compact .ch-sport-person--compact {gap:.55rem;align-items:center}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-portrait {width:2.5rem;height:3.125rem;font-size:.75rem;border-radius:.4rem}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-copy>.ch-sport-name {font-size:.82rem;line-height:1.4;margin:0}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-category {font-size:.65rem}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-medal {font-size:.65rem;margin:.15rem 0 0}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-medal>.svg-icon {width:.85rem;height:.85rem}
.ch-photo.ch-compact .ch-sport-person--compact .ch-portrait-flag {width:.8rem;height:.55rem;bottom:.15rem;right:.15rem}
.ch-photo.ch-compact .ch-classification li {align-items:center}
.ch-photo.ch-compact .ch-classification li>.ch-performance {max-width:29%;font-size:.72rem}
.ch-photo.ch-compact .ch-result>.ch-sport-person {margin-bottom:.75rem}
.championships.ch-photo.ch-compact .ch-sport-copy button.ch-athlete-profile {font:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}
.championships.ch-photo.ch-compact .ch-athlete-feature>button.ch-open-result {width:32px;min-height:44px;padding:0;border:0;background:none;color:var(--color-accent);font-size:1.3rem;flex:none}

/* Reflow portraits and copy at enlarged text sizes instead of squeezing medal labels. */
.ch-photo.ch-compact .ch-sport-person {flex-wrap:wrap}
.ch-photo.ch-compact .ch-sport-copy {flex:1 1 7rem}
.ch-photo.ch-compact .ch-sport-portrait {max-width:100%}

.ch-photo.ch-compact .ch-participant-roster {list-style:none;padding:0;margin:0}
.ch-photo.ch-compact .ch-participant-roster>li {padding:.7rem 0;border-bottom:1px solid var(--border-subtle)}
.ch-photo.ch-compact .ch-participant-roster>li>small {font-size:.7rem;color:var(--text-secondary);display:block;margin:.3rem 0}
.ch-photo.ch-compact .ch-sport-person--compact .ch-sport-club {font-size:.65rem}

/* Explicit progressive loading keeps previously rendered cards and details in place. */
.ch-photo.ch-compact .ch-load-more {display:flex;flex-direction:column;align-items:center;gap:.65rem;margin:1.3rem 0;grid-column:1/-1;overflow-anchor:none;text-align:center}
.ch-photo.ch-compact .ch-load-more>p {font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.5}
.ch-photo.ch-compact .ch-load-button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:.65rem 1.4rem;border:1px solid var(--border-strong);border-radius:.8rem;background:var(--surface-2);color:var(--text-primary);font:inherit;font-size:.88rem;font-weight:650;text-decoration:none;cursor:pointer}
.ch-photo.ch-compact .ch-load-button[aria-disabled=true],.ch-photo.ch-compact .ch-load-button:disabled {opacity:.65;cursor:wait}
.ch-photo.ch-compact .ch-load-more>a:not(.ch-load-button) {font-size:.78rem;min-height:36px;display:inline-flex;align-items:center}
.ch-photo.ch-compact [data-ch-items] {overflow-anchor:none}
.ch-photo.ch-compact [data-ch-more-list] {display:contents}
.championships.ch-photo.ch-compact .ch-load-button {background:var(--card-background);color:var(--text-primary);border-color:var(--card-border)}
