/* Shared component surfaces and controls, day and night. */
.mobile-menu-backdrop{display:none}
html.public-release body :is([data-view="history"],[data-view="honours"],[data-view="calendar"],[data-view="visit"],[data-footer-go="history"],[data-footer-go="honours"],[data-footer-go="calendar"],[data-footer-go="visit"],[data-go="history"]){display:none!important}
html.public-release body header #loginButton,html.public-release body header #loginButton:not([hidden]){display:none!important}
html.public-release body header .nav-item:has(>[data-view="history"],>[data-view="honours"],>[data-view="calendar"],>[data-view="visit"],>#loginButton){display:none!important}
html body #club .results-incomplete-note{font-size:.78rem!important;font-weight:650!important;line-height:1.5!important;margin:1rem 0 0!important}
/* A viewport-sized backdrop without changing the sticky header's footprint. */
@media(max-width:920px){
  html:root body>header.menu-open,html:root[data-theme] body.home-active>header.menu-open{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
  html:root body>header.menu-open::before{content:none!important}
  html.menu-visible body>.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  html:root[data-theme="night"].menu-visible body>.mobile-menu-backdrop{background:rgba(16,17,18,.88)}
  html:root body>header.menu-open{z-index:101!important}
  html:root body>header.menu-open #siteNavigation{position:absolute!important;inset:100% 0 auto!important;width:100%!important;height:calc(100vh - var(--header-height))!important;height:calc(100dvh - var(--header-height))!important;max-height:none!important;box-sizing:border-box!important;background:transparent!important;box-shadow:none!important;border:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:1.3rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom))!important;gap:.35rem!important;align-content:start!important}
  html:root body>header #siteNavigation .nav-item>button{min-height:3.15rem!important;padding-block:.6rem!important}
}
html body header #loginButton:not([hidden]){display:inline-flex!important}
html body header #loginButton[hidden]{display:none!important}
html body header .mobile-login-slot:empty{display:none!important}
html body :is(#calendar,#visit){max-width:var(--site-max,90rem);margin-inline:auto;padding:2rem var(--page-gutter,1.5rem)}
html body .restored-page-head{border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}
html body .restored-page-head h1{font:600 2rem var(--font-sans);margin:0 0 .75rem}
html body .restored-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.5rem}
html body .restored-page-grid article{padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--panel)}
html body .restored-page-grid h2{font:600 1.1rem var(--font-sans)}
html body .restored-visit-photo{width:100%;max-height:28rem;object-fit:cover;border-radius:.7rem}
html body :is(#calendar,#visit) p{line-height:1.65}
html body :is(#calendar,#visit) a{color:var(--ink);text-underline-offset:.2em}
@media(min-width:920.01px) and (max-width:1200px){html body>header nav .nav-item>button{padding-inline:.5rem!important;font-size:.82rem!important}}
@media(max-width:920px){html body .restored-page-grid{grid-template-columns:1fr}html body header .mobile-login-slot #loginButton{justify-content:flex-start!important}}
/* Transfer the desktop flex gaps into button padding without moving the labels. */
@media(min-width:57.501rem){
  html body>header nav{gap:0!important}
  html body>header nav .nav-item>button{padding-inline:1.025rem!important;border-radius:0!important;transition:color .2s ease!important}
  html body>header nav .nav-item:first-child>button{padding-left:.9rem!important}
  html body>header nav .nav-item:last-child>button{padding-right:.9rem!important}
  html:root[data-theme="night"] body>header nav:has(.nav-item:hover) .nav-item:not(:hover)>button{color:#a6aaa8!important}
}
@media(min-width:57.501rem) and (prefers-reduced-motion:reduce){
  html body>header nav .nav-item>button{transition:none!important}
}
html body>header .theme-toggle svg{width:1.05rem;height:1.05rem}
html body>header .theme-toggle[aria-pressed="false"] svg{fill:#8e969b;stroke:none}
html body>header .session>button.theme-toggle:is(:hover,:focus-visible){background:transparent!important;box-shadow:none!important}
html body #athletes .profile-record-stats article{border-radius:0!important}
html body footer .footer-bottom>span{font-weight:650!important}
html body main .view.active:not(#home){padding-bottom:2rem!important;margin-bottom:0!important}
html body main{padding-bottom:0!important}
html body #home .home-destinations{margin-bottom:2rem!important}
html body .view.active .profile-record-section:last-child{margin-bottom:0!important}
.record-score-badge{display:inline-flex;align-items:center;padding:.12em .45em;border-radius:.35rem;background:#e3eee8;color:#215c47;font-size:.68rem!important;font-weight:650;line-height:1.1;white-space:nowrap;margin-right:.45rem;vertical-align:middle}
html body .competition-winning-score,html body .winning-score{display:flex!important;align-items:center;justify-content:flex-end!important;text-align:right!important;gap:.15rem;flex-wrap:nowrap;white-space:nowrap}
html:root[data-theme="night"] body #club .competition-result-row time{color:var(--muted)!important}
html body #public .row{align-items:center!important}
html body #public .row>span{align-self:center!important}
/* Centre the numerals themselves, not mismatched inherited line boxes. */
html body #public .row>:is(.pos,.metric,.off,.ranges-shot,.score){line-height:1!important;margin-block:0!important;padding-block:0!important;align-self:center!important}
html body #public .statbar{padding:.9rem 0 .35rem!important;gap:.5rem 1.5rem!important;flex-wrap:wrap}
html body #public .note{padding:.35rem 0 0!important;margin:.35rem 0 0!important;line-height:1.6!important}
html body #eventStatus.is-completed,html body .home-live-status.completed{color:var(--muted)!important}
html body #eventStatus:not(.is-live)>i{display:none!important}
html:root[data-theme="night"] body #athletes .profile-record-section,
html:root[data-theme="night"] body #club .profile-record-section{background:transparent!important}
html:root[data-theme="night"] body #athletes :is(.major-placing-summary,.team-cap-count){background:var(--panel)!important;border-color:var(--line)!important}
html:root[data-theme="night"] body #athletes .major-placing-summary>span{background:#222426!important;border-color:var(--line)!important}
html:root[data-theme="night"] body #athletes :is(.major-placing-summary small,.major-placing-summary em,.profile-record-stats small,.team-cap-count small,.team-cap-row em){color:var(--muted)!important}
html:root[data-theme="night"] body #athletes .team-cap-count strong{color:var(--ink)!important}
html:root[data-theme="night"] body :is(.athlete-back,.achievement-more,.competition-back,.competition-inline-shooter,.competition-winner-link,.archive-person):is(:hover,:focus-visible){background:#292c2e!important;color:var(--ink)!important}
html:root[data-theme="night"] body :is(.athlete-back,.achievement-more,.competition-back){background:var(--panel)!important;color:var(--ink)!important;border-color:var(--line)!important}
html:root[data-theme="night"] body #club .competition-results-grid{background:var(--panel)!important}
html:root[data-theme="night"] body .record-score-badge{background:#264035!important;color:#a8e0c7!important}
html:root[data-theme="night"] body #home .home-hero{background:var(--paper)!important}
html:root[data-theme="night"] body.home-active>header,
html:root[data-theme="night"] body.home-active>header.menu-open,
html:root[data-theme="night"] body.home-active>header nav{background:rgba(16,17,18,.95)!important}
html:root[data-theme="night"] body.home-active>header .menu-toggle,
html:root[data-theme="night"] body.home-active>header nav button{color:var(--ink)!important}
html:root[data-theme="night"] body #public :is(.live-event-picker select,.toolbar select){background-color:var(--panel)!important;color:var(--ink)!important;border-color:var(--line)!important;color-scheme:dark}
html:root[data-theme="night"] body #public select{background-color:#1a1c1e!important;color:#f1f2f1!important;border-color:#3b403e!important;color-scheme:dark!important}
html:root[data-theme="night"] body #public select :is(option,optgroup){background-color:#1a1c1e!important;color:#f1f2f1!important}
html:root[data-theme="night"] body #public select option:checked{background-color:#264b3e!important;color:#fff!important}
html:root[data-theme="night"] body #public select :disabled{color:#a6aaa8!important}
html:root[data-theme="night"] body #public .inline-result{background:#17191a!important;color:var(--ink)!important}
html:root[data-theme="night"] body #public .inline-result .detail-score{background:#222527!important;color:var(--ink)!important;border-color:var(--line)!important}
html:root[data-theme="night"] body #public .inline-result :is(strong,b){color:var(--ink)!important}
html:root[data-theme="night"] body #public .inline-result :is(small,.detail-foot){color:var(--muted)!important}
html:root[data-theme="night"] body #public .row:is(:hover,[aria-expanded="true"]),
html:root[data-theme="night"] body #public .row :is(button,a):hover{background:#292c2e!important;color:var(--ink)!important}
html:root[data-theme="night"] body #public .thead>span,
html:root[data-theme="night"] body #public #leaderboardHead>span:first-child::after{color:var(--muted)!important}
html:root[data-theme="night"] body #public .event-conditions>span{border-color:var(--line)!important}
html:root[data-theme="night"] body #public .event-conditions>span::before,
html:root[data-theme="night"] body #public .event-conditions>span::after{border-color:var(--line)!important}
/* Theme changes are immediate; only carousel photographs crossfade. */
html body #home .home-hero-shade::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#000;opacity:0;pointer-events:none}
html:root[data-theme="night"] body #home .home-hero-shade::after{opacity:.28}
html body #athletes .local-trophy-grid{background:transparent!important}
html:root[data-theme="night"] body #athletes .local-trophy-grid article{background:var(--panel)!important}
html body #athletes .international-honour-grid{background:transparent!important}
html:root[data-theme="night"] body #athletes .international-honour-grid article{background:var(--panel)!important}
html body #home .hero-slide{transition:opacity 1s ease!important}
html body #home .home-hero{--hero-corner-inset:3rem}
html body #home .home-hero-copy{left:var(--hero-corner-inset)!important;bottom:var(--hero-corner-inset)!important}
html body #home .hero-carousel-dots{position:absolute;bottom:var(--hero-corner-inset);right:var(--hero-corner-inset);z-index:4;display:flex;gap:0;align-items:center}
html body #home .hero-carousel-dots button{display:grid;justify-items:center;align-items:end;flex:0 0 14px;width:14px;min-width:14px;height:24px;min-height:24px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
html body #home .hero-carousel-dots span{display:block;flex:none;width:8px;height:8px;min-width:8px;min-height:8px;aspect-ratio:1;border-radius:50%;padding:0;background:#fff;opacity:.4;box-shadow:0 0 2px #0005;transition:opacity .2s ease}
@media(max-width:57.5rem){html body #home .home-hero{--hero-corner-inset:2.25rem}}
html body #home .hero-carousel-dots button[aria-pressed="true"] span{opacity:.85}
html body #home .hero-carousel-dots button:hover span{opacity:1}
html body #home .hero-slide:nth-child(2) img{object-position:35% 55%!important}
html body #home .hero-slide:nth-child(3) img{object-position:50% 50%!important}
html body #home .hero-slide:nth-child(4) img{object-position:35% 50%!important}
@media(prefers-reduced-motion:reduce){
  html body #home .hero-slide{transition:none!important}
}
