:root {
    color-scheme: light;
    --bg: #fefdf9;
    --ink: #10305f;
    --muted: color-mix(in srgb, var(--ink) 78%, var(--bg));
    --line: color-mix(in srgb, #03275b 14%, var(--bg));
    --card: #ffffff;
    --accent: #03275b;
    --field: #03275b;
    --field-deep: #03275b;
    --clay: #c4522a;
    --gold: #b8924b;
    --paper: #ffffff;
    --sans: "Barlow", "Segoe UI", "Avenir Next", sans-serif;
    --condensed: "Barlow Condensed", "Arial Narrow", sans-serif;
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 1.0625rem;
    line-height: 1.45;
}

.topbar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem 0.9rem;
    flex-wrap: wrap;
    padding: 0.35rem 0.85rem;
    background: #002456;
    color: var(--bg);
}

.wordmark {
    display: block;
    flex: 0 0 auto;
    min-width: 0;
    height: 2.65rem;
    width: calc(2.65rem * 1461 / 572);
    overflow: hidden;
    line-height: 0;
    text-decoration: none;
}

.wordmark img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: fill;
}

.topbar-note {
    margin-left: auto;
    color: color-mix(in srgb, var(--bg) 78%, var(--ink));
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
}

.topbar-user {
    display: block;
    flex: 0 1 auto;
    min-width: 0;
    max-width: min(16rem, 46vw);
    margin-left: 0.35rem;
    overflow: hidden;
    color: var(--gold);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-user:hover,
.topbar-user[aria-current="page"] {
    color: var(--bg);
}

.public-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin-left: auto;
}

.public-nav a {
    color: var(--bg);
    font-weight: 600;
    text-decoration: none;
}

.public-nav a:hover,
.public-nav a[aria-current="page"] {
    color: var(--gold);
}

.wrap {
    position: relative;
    z-index: 1;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    max-width: 42rem;
    margin: 0 auto;
    padding: 1.25rem 1.15rem 2.25rem;
}

.brand,
.kicker {
    margin: 0 0 0.65rem;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

h1,
h2 {
    overflow-wrap: break-word;
}

h1 {
    margin: 0 0 0.85rem;
    max-width: 100%;
    font-family: var(--condensed);
    font-size: clamp(2.15rem, 7vw, 3.4rem);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 0.98;
}

h2 {
    margin: 0 0 0.55rem;
    font-size: 1.35rem;
    line-height: 1.2;
}

h3 {
    margin: 1.1rem 0 0.45rem;
    font-family: var(--condensed);
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.15;
}

h1.eyebrow,
h2.eyebrow {
    margin: 0 0 0.35rem;
    color: var(--muted);
    font-family: var(--sans);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

p {
    margin: 0 0 0.9rem;
    overflow-wrap: break-word;
}

a {
    color: var(--field);
}

.hero {
    margin: 0 0 1rem;
    padding: 1.35rem 1.2rem 1.2rem;
    border-radius: 1.35rem;
    background:
        radial-gradient(circle at 92% 0, rgba(184, 146, 75, 0.42), transparent 13rem),
        linear-gradient(168deg, #0c4a8a 0%, #03275b 42%, #021833 100%);
    color: var(--bg);
    box-shadow: 0 16px 34px rgba(2, 24, 51, 0.16);
}

.hero .brand,
.hero .kicker,
.hero h1,
.hero p {
    color: var(--bg);
}

.hero .brand {
    color: var(--gold);
}

.hero p:last-child {
    margin-bottom: 0;
}

.auth-card {
    padding: 1.2rem 1.1rem 1.15rem;
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    background: var(--paper);
    box-shadow: 0 10px 30px rgba(20, 32, 43, 0.05);
}

.auth-card h2 {
    margin-top: 0.35rem;
}

.auth-note,
.auth-switch {
    color: var(--muted);
    font-size: 0.98rem;
}

.auth-switch a {
    font-weight: 700;
}

.date,
.opponent,
.place,
.field {
    margin: 0.15rem 0;
    font-size: clamp(1.35rem, 5vw, 1.7rem);
    font-weight: 600;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.time {
    margin: 0.2rem 0 0.45rem;
    color: var(--gold);
    font-family: var(--condensed);
    font-size: clamp(3.2rem, 16vw, 4.6rem);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 0.9;
}

#schedule {
    margin: 0 0 1rem;
    padding: 1.2rem 1.1rem 1.15rem;
    border-radius: 1.35rem;
    background:
        radial-gradient(circle at 100% 0, rgba(184, 146, 75, 0.2), transparent 14rem),
        var(--field);
    color: var(--bg);
}

#schedule h1,
#schedule .date,
#schedule .opponent,
#schedule .place,
#schedule .field,
#schedule p {
    color: var(--bg);
}

#schedule h1.eyebrow,
#schedule h2.eyebrow {
    color: color-mix(in srgb, var(--bg) 78%, var(--ink));
}

#schedule .time {
    color: var(--gold);
}

#schedule .ct-note {
    margin-top: 0.75rem;
    font-size: 0.95rem;
    font-weight: 600;
}

#schedule .listed-game {
    margin-top: 0.9rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(247, 243, 234, 0.55);
    background: transparent;
}

.choices {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.35rem;
}

.choices a,
a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 3.15rem;
    padding: 0.72rem 1rem;
    border: 1px solid transparent;
    border-radius: 0.9rem;
    background: var(--field);
    color: var(--bg);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(3, 39, 91, 0.22), 0 8px 18px rgba(3, 39, 91, 0.08);
}

a.button {
    margin-top: 0.35rem;
}

.add-player {
    margin: 0.85rem 0 1rem;
}

.add-player[open],
form.add-player-panel {
    padding: 0.8rem 0.85rem 0.95rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

form.bulk-players {
    margin: 0 0 1rem;
    padding: 0.8rem 0.85rem 0.95rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

form.bulk-players .bulk-pick:not([open]) > .bulk-body {
    display: none;
}

form.bulk-players .bulk-pick > summary {
    font-size: 1.15rem;
    font-weight: 700;
    cursor: pointer;
}

form.bulk-players .bulk-pick > summary::-webkit-details-marker {
    color: var(--field);
}

form.bulk-players .bulk-body {
    margin-top: 0.65rem;
}

form.bulk-players p {
    margin: 0.35rem 0 0;
}

form.bulk-players .bulk-team {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

form.bulk-players .bulk-list {
    display: grid;
    gap: 0.35rem;
    margin: 0.65rem 0 0.35rem;
}

form.bulk-players button {
    justify-self: start;
    min-height: 2.7rem;
    margin-top: 0.35rem;
}

.player-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.75rem;
    align-items: end;
}

.player-fields > .span-2,
.player-fields > .private-notes,
.player-fields > .jersey-set,
.player-fields > .player-more,
.player-fields > p,
.player-fields > button {
    grid-column: 1 / -1;
}

.player-fields > label,
.player-fields .private-notes label {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.player-fields .private-notes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.75rem;
    margin: 0.15rem 0 0;
    padding: 0.55rem 0.7rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #f4efe4;
    min-inline-size: 0;
    overflow: visible;
}

.player-fields .private-notes legend,
.player-fields .private-notes > p,
.player-fields .private-notes .notes-span {
    grid-column: 1 / -1;
    margin: 0;
}

.player-fields .player-section,
.player-fields .parent-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.75rem;
    margin: 0.35rem 0 0;
    padding: 0.55rem 0.7rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #fff;
    min-inline-size: 0;
    overflow: visible;
}

.player-fields .parent-stack {
    margin: 0.45rem 0 0;
    padding: 0;
    border: 0;
    min-inline-size: 0;
    overflow: visible;
}

.player-fields .player-section > legend,
.player-fields .parent-stack > legend,
.player-fields .player-section > .span-2,
.player-fields .parent-stack > .span-2,
.player-fields .parent-stack > .check-line,
.player-fields .player-section > p,
.player-fields .parent-card > .span-2 {
    grid-column: 1 / -1;
    margin: 0;
}

.player-fields .player-section label,
.player-fields .parent-card label,
.player-fields .jersey-split label {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.player-fields .check-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
}

.player-fields .check-line input {
    width: 1.05rem;
    height: 1.05rem;
    min-height: 0;
    margin: 0;
}

.player-fields .jersey-split {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.75rem;
    margin-top: 0.35rem;
}

.player-fields .jersey-set:has(.jersey-different:checked) .jersey-split {
    display: grid;
}

.player-fields .player-more > summary {
    padding: 0.35rem 0;
    color: var(--field);
    font-weight: 700;
    cursor: pointer;
}

.add-player .player-fields > button,
form.add-player-panel .player-fields > button,
form.player-editor .player-fields > button {
    min-height: 2.7rem;
    margin-top: 0.15rem;
}

.owner {
    margin: 0.15rem 0 0.45rem;
    font-weight: 700;
}

.address-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
}

.address-prefix {
    color: var(--muted);
    font-weight: 700;
}

.address-row input {
    flex: 1 1 12rem;
    min-width: 0;
}

.field-note {
    margin: 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 500;
}

.kind-notes {
    margin: 0;
    padding-left: 1.15rem;
    color: var(--muted);
    font-size: 0.92rem;
}

.kind-notes li + li {
    margin-top: 0.15rem;
}

.sport-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 1rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.sport-choices legend {
    grid-column: 1 / -1;
    padding: 0;
    font-size: 0.92rem;
    font-weight: 700;
}

@media (max-width: 800px) {
    .player-fields,
    .player-fields .private-notes,
    .player-fields .player-section,
    .player-fields .parent-card,
    .player-fields .jersey-split,
    .sport-choices {
        grid-template-columns: 1fr;
    }
}

.add-player > summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    padding: 0.72rem 1rem;
    border-radius: 0.9rem;
    background: var(--field);
    color: var(--bg);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    list-style: none;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(3, 39, 91, 0.22), 0 8px 18px rgba(3, 39, 91, 0.08);
}

.add-player > summary::-webkit-details-marker {
    display: none;
}

.add-player > summary:hover {
    background: #021e45;
}

.add-player[open] > summary {
    display: none;
}

.choices a:hover,
a.button:hover {
    background: #021e45;
}

.choices a.choice-sample {
    background: #fff;
    color: var(--field);
    border-color: var(--line);
    box-shadow: none;
}

.choices a.choice-sample:hover {
    background: #fbf6ec;
    border-color: var(--gold);
    color: var(--field);
}

.choices a:active,
a.button:active,
button:active {
    transform: translateY(1px);
}

.jump {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 0.4rem;
}

.jump a {
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--paper);
    color: var(--field);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.jump a:hover {
    border-color: var(--gold);
    background: #fbf6ec;
}

.jump a[aria-current="page"],
.jump a[aria-current="page"]:hover {
    border-color: var(--field);
    background: var(--field);
    color: var(--paper);
}

.wrap section:not(.hero):not(.auth-card):not(.listed-game):not(.week-day),
.team-block {
    margin-top: 0.9rem;
    padding: 1rem 1.05rem 1rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--paper);
}

.wrap section:not(.hero):not(.auth-card):not(.listed-game):not(.week-day) > :last-child,
.team-block > :last-child {
    margin-bottom: 0;
}

#schedule section.listed-game {
    margin-top: 0.9rem;
    padding: 0.85rem 0 0;
    border: 0;
    border-top: 1px solid rgba(247, 243, 234, 0.55);
    border-radius: 0;
    background: transparent;
}

.player {
    margin: 0;
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 1.05rem;
    font-weight: 600;
}

.player:last-child {
    border-bottom: 0;
}

.roster {
    margin-top: 0.9rem;
}

.canceled {
    color: var(--clay);
    font-weight: 700;
}

#schedule .canceled {
    color: #ffb4a2;
}

.sandbox-note {
    margin-top: 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid #ead7b0;
    border-radius: 0.85rem;
    background: #fff6e8;
    color: #6b4e12;
    font-size: 0.98rem;
    font-weight: 600;
}

.back {
    margin-top: 1rem;
}

.back a {
    display: inline;
    min-height: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--field);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.banner,
.form-error {
    padding: 0.75rem 0.9rem 0.75rem 0.85rem;
    border-left: 4px solid var(--field);
    border-radius: 0.85rem;
    font-weight: 700;
}

.banner {
    background: color-mix(in srgb, var(--field) 8%, var(--bg));
    color: var(--field);
}

.form-error {
    border-left-color: #9a3412;
    background: #fde8e2;
    color: #9a3412;
}

.step-label {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--field) 8%, var(--bg));
    color: var(--field);
    font-size: 0.92rem;
    font-weight: 700;
}

.login,
form.login {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.8rem;
}

form.add-player-panel,
.add-player form.login,
form.player-editor {
    display: block;
    margin-top: 0;
}

form.player-editor {
    margin-top: 0.8rem;
}

.login label,
.team-block > label {
    font-size: 0.92rem;
    font-weight: 700;
}

.player-fields > label,
.player-fields .private-notes label {
    font-size: 0.82rem;
}

.wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]),
.wrap select,
.wrap textarea,
.login button,
button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 3.1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-weight: 500;
}

.wrap .address-row input {
    width: auto;
    flex: 1 1 12rem;
}

.wrap .player-fields input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]),
.wrap .player-fields select,
.wrap .player-fields textarea {
    min-height: 2.4rem;
    padding: 0.35rem 0.65rem;
    background: #fff;
}

.wrap .player-fields textarea {
    min-height: 6.2rem;
}

.login button,
button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    margin-top: 0.35rem;
    padding: 0.72rem 1rem;
    border-color: transparent;
    border-radius: 0.9rem;
    background: var(--field);
    color: var(--bg);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(3, 39, 91, 0.22), 0 8px 18px rgba(3, 39, 91, 0.08);
}

.login button:hover,
button:hover {
    background: #021e45;
}

.label-line {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 0.22rem;
    width: 100%;
}

.info {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 0;
}

.login button.info-mark,
button.info-mark {
    width: 0.85rem;
    min-width: 0.85rem;
    height: 0.85rem;
    min-height: 0.85rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    letter-spacing: 0;
    box-shadow: none;
}

.login button.info-mark:hover,
button.info-mark:hover {
    background: transparent;
    color: var(--field);
}

.login button.info-mark:focus-visible,
button.info-mark:focus-visible {
    background: transparent;
    color: var(--field);
    outline: 2px solid var(--field);
    outline-offset: 1px;
}

.login button.parent-add,
.login button.parent-remove,
button.parent-add,
button.parent-remove {
    width: auto;
    min-width: 0;
    min-height: 2.1rem;
    margin-top: 0.45rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 0.7rem;
    background: #fff;
    color: var(--field);
    font-size: 0.82rem;
    letter-spacing: 0;
    box-shadow: none;
    justify-self: start;
}

.login button.parent-add:hover,
.login button.parent-remove:hover,
button.parent-add:hover,
button.parent-remove:hover {
    background: #fff;
    color: var(--field);
}

button.info-mark:active {
    transform: none;
}

button.info-mark svg {
    display: block;
    width: 0.85rem;
    height: 0.85rem;
}

.info-pop {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    display: none;
    width: max-content;
    max-width: 100%;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--line);
    border-radius: 0.55rem;
    background: #fff;
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 500;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: left;
    white-space: normal;
    overflow-wrap: break-word;
    box-shadow: 0 8px 24px rgba(20, 32, 43, 0.12);
}

.info:hover .info-pop,
.info:focus-within .info-pop,
.info.is-open .info-pop {
    display: block;
}

.player-fields > label:has(.info:hover),
.player-fields > label:has(.info:focus-within),
.player-fields > label:has(.info.is-open),
.login label:has(.info:hover),
.login label:has(.info:focus-within),
.login label:has(.info.is-open),
.player-fields legend:has(.info:hover),
.player-fields legend:has(.info:focus-within),
.player-fields legend:has(.info.is-open) {
    position: relative;
    z-index: 4;
}

.login button.button-quiet,
button.button-quiet {
    background: #fff;
    color: var(--field);
    border-color: var(--gold);
    box-shadow: 0 1px 0 rgba(184, 146, 75, 0.28);
}

.login button.button-quiet:hover,
button.button-quiet:hover,
.choices a.button-quiet:hover,
a.button-quiet:hover {
    background: #fbf6ec;
    border-color: #a7843f;
    color: var(--field);
}

.choices a.button-quiet,
a.button-quiet {
    background: #fff;
    color: var(--field);
    border-color: var(--gold);
    box-shadow: 0 1px 0 rgba(184, 146, 75, 0.28);
}

.glance h2 {
    margin-top: 0.15rem;
}

.team-overview p {
    margin: 0.15rem 0;
}

.team-overview .team-edit {
    margin: 0.2rem 0 0.15rem;
}

.team-overview .team-edit a,
.team-pane-head a {
    font-weight: 700;
}

.team-overview .team-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.team-overview .team-split > section {
    margin-top: 0;
}

.team-pane-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.team-pane-head h2 {
    margin: 0;
}

.team-pane-head a {
    font-size: 0.95rem;
    white-space: nowrap;
}

.team-overview .team-lines {
    margin: 0.45rem 0 0.2rem;
    padding: 0;
    list-style: none;
}

.team-overview .team-lines li {
    margin: 0;
    padding: 0.22rem 0;
    border-top: 1px solid var(--line);
}

.team-overview .team-tools {
    margin-top: 0;
}

@media (max-width: 640px) {
    .team-overview .team-split {
        grid-template-columns: 1fr;
    }
}

form[action*="/delete"] button {
    background: #fff;
    color: #9a3412;
    border: 1px solid #e7b2a4;
    box-shadow: none;
}

form[action*="/delete"] button:hover {
    background: #fde8e2;
}

.roster-sheet-wrap {
    overflow-x: auto;
    margin: 0.35rem 0 0.6rem;
}

.roster-sheet {
    width: 100%;
    border-collapse: collapse;
}

.roster-sheet th,
.roster-sheet td {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

.roster-sheet th {
    background: color-mix(in srgb, var(--field) 9%, #fff);
    color: var(--field);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.roster-sheet tbody tr:hover td {
    background: #fbf6ec;
}

.roster-sheet td.spot-cell:first-child,
.roster-sheet th:first-child {
    font-variant-numeric: tabular-nums;
}

.roster-sheet.member-sheet th,
.roster-sheet.member-sheet td {
    padding: 0.22rem 0.55rem;
    vertical-align: middle;
    white-space: nowrap;
}

.roster-sheet .roster-birthday,
.roster-sheet .roster-actions {
    white-space: nowrap;
}

.roster-sheet .roster-actions a {
    font-weight: 700;
}

.roster-sheet .roster-actions form {
    display: inline;
}

.roster-sheet button,
.login .roster-sheet button,
.roster-sheet form[action*="/delete"] button {
    width: auto;
    min-height: 0;
    margin: 0 0 0 0.75rem;
    padding: 0;
    border: 0;
    background: none;
    color: #9a3412;
    font-weight: 700;
    box-shadow: none;
}

.roster-sheet form[action*="/delete"] button:hover {
    background: none;
    color: #7f1d1d;
}

form.login.place-player {
    max-width: 28rem;
    margin-top: 0.25rem;
    margin-bottom: 0.85rem;
}

.login textarea,
textarea {
    min-height: 8rem;
    font-weight: 400;
}

.login input[type="checkbox"],
.login input[type="radio"],
input[type="checkbox"],
input[type="radio"] {
    width: 1.15rem;
    min-height: 0;
    padding: 0;
    accent-color: var(--field);
}

.login label:has(input[type="checkbox"]),
.login label:has(input[type="radio"]) {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.login label.tool-choice {
    align-items: flex-start;
}

.tool-copy {
    display: grid;
    gap: 0.12rem;
    padding-top: 0.12rem;
}

.tool-note {
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 500;
}

h2.tool-category {
    margin: 0.85rem 0 0;
    color: var(--muted);
    font-family: var(--sans);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tool-list {
    display: grid;
    gap: 0.55rem;
}

.tool-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    padding: 0.75rem 0.45rem 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: var(--card);
    box-shadow: 0 1px 0 rgba(3, 39, 91, 0.05);
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.tool-card .tool-choice {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    cursor: pointer;
}

.login button.tool-drag,
.login button.tool-drag:hover {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    min-width: 2.75rem;
    max-width: 2.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
    margin: 0;
    padding: 0;
    border-color: transparent;
    border-radius: 0.7rem;
    background: transparent;
    color: color-mix(in srgb, var(--ink) 45%, var(--bg));
    box-shadow: none;
    cursor: grab;
}

.login button.tool-drag svg {
    display: block;
    fill: currentColor;
}

.login button.tool-drag:hover {
    background: #f4efe4;
    color: var(--field);
}

.tool-card.is-dragging {
    position: fixed;
    z-index: 40;
    margin: 0;
    pointer-events: none;
    cursor: grabbing;
    box-shadow: 0 16px 32px rgba(3, 39, 91, 0.18);
}

.tool-card.is-dragging .tool-drag {
    cursor: grabbing;
}

.tool-card-gap {
    border: 1px dashed var(--gold);
    border-radius: 0.95rem;
    background: #fbf6ec;
}

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

.counts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
    gap: 0.6rem;
    margin: 0 0 1.1rem;
    padding: 0;
    list-style: none;
}

.counts a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 5.1rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: var(--paper);
    color: inherit;
    text-decoration: none;
}

.counts a span {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.counts a strong {
    color: var(--field);
    font-family: var(--condensed);
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 0.9;
}

.activity-row {
    margin: 0 0 0.45rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--line);
    border-left: 3px solid var(--field);
    border-radius: 0.85rem;
    background: var(--paper);
}

.site-nav {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin: 0 0 1rem;
    padding: 0.45rem;
    overflow: visible;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--paper);
}

.site-nav-label {
    margin: 0.35rem 0.7rem 0.25rem;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.program-menu {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin: 0.35rem 0.15rem;
    padding: 0.35rem;
    border: 1px solid var(--gold);
    border-radius: 0.85rem;
    background: #f4efe4;
}

.program-menu .site-nav-label {
    margin-top: 0.15rem;
}

.program-menu .team-menu {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin: 0.2rem 0.1rem 0.35rem;
    padding: 0.25rem;
    border: 1px solid var(--line);
    border-radius: 0.7rem;
    background: var(--paper);
}

.site-nav a {
    display: flex;
    align-items: center;
    min-height: 2.45rem;
    padding: 0.3rem 0.7rem;
    border: 0;
    border-radius: 0.7rem;
    background: transparent;
    color: var(--ink);
    font-weight: 600;
    text-decoration: none;
    white-space: normal;
}

.site-nav a:hover {
    background: color-mix(in srgb, var(--field) 8%, var(--paper));
}

.site-nav a[aria-current="page"],
.site-nav a[aria-current="page"]:hover {
    background: var(--field);
    color: var(--bg);
}

.site-nav .program-menu a.menu-title:hover,
.program-menu a.menu-title:hover {
    background: transparent;
    color: var(--field);
}

.section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem 0.35rem;
    margin: 0 0 1rem;
    padding: 0.35rem 0 0.15rem;
    overflow: visible;
    border-bottom: 2px solid var(--line);
}

.wrap > .section-nav {
    position: sticky;
    top: 0;
    z-index: 4;
    background: var(--bg);
}

.section-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    margin-bottom: -2px;
    padding: 0.35rem 0.55rem;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.section-nav a[aria-current="page"] {
    border-bottom-color: var(--field);
    background: transparent;
    color: var(--field);
}

.nav-shell {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.site-nav.section-nav {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.1rem;
    margin: 0;
    padding: 0.45rem;
    border: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--paper);
}

.site-nav.section-nav a {
    display: flex;
    min-height: 2.45rem;
    margin: 0;
    padding: 0.3rem 0.7rem;
    border: 0;
    border-bottom: 0;
    border-radius: 0.7rem;
    color: var(--ink);
    white-space: normal;
}

.site-nav.section-nav a:hover {
    background: color-mix(in srgb, var(--field) 8%, var(--paper));
}

.site-nav.section-nav a[aria-current="page"],
.site-nav.section-nav a[aria-current="page"]:hover {
    background: var(--field);
    color: var(--bg);
}

.site-nav .program-menu a.menu-title,
.program-menu a.menu-title {
    display: block;
    margin: 0.15rem 0.7rem 0.25rem;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.site-nav .program-menu a.menu-title[aria-current="page"],
.program-menu a.menu-title[aria-current="page"] {
    background: transparent;
    color: var(--field);
}

.site-nav.section-nav label.section-link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.45rem;
    margin: 0;
    padding: 0.3rem 0.7rem;
    border: 0;
    border-radius: 0.7rem;
    background: transparent;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
    cursor: pointer;
}

.site-nav.section-nav label.section-link:hover {
    background: color-mix(in srgb, var(--field) 8%, var(--paper));
}

.site-nav.section-nav .section-pick:checked + label.section-link,
.site-nav.section-nav .section-pick:checked + label.section-link:hover {
    background: var(--field);
    color: var(--bg);
}

.site-nav.section-nav .section-pick:focus-visible + label.section-link {
    outline: 3px solid var(--field);
    outline-offset: 2px;
}

.sidebar-signout {
    margin-top: 0;
}

body:has(.wrap > .nav-shell) .wrap {
    display: grid;
    grid-template-columns: 16rem minmax(0, 1fr);
    column-gap: 1.5rem;
    align-items: start;
    max-width: 74rem;
}

body:has(.wrap > .nav-shell) .wrap > .nav-shell:has(.site-nav) {
    position: sticky;
    top: 0.85rem;
    grid-column: 1;
    grid-row: 1 / span 40;
    align-self: start;
    max-height: calc(100vh - 1.7rem);
    overflow: auto;
}

body:has(.wrap > .nav-shell) .wrap > :not(.nav-shell:has(.site-nav)) {
    grid-column: 2;
    min-width: 0;
}

.site-footer {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    margin-top: 2.5rem;
    border-top: 4px solid var(--gold);
    background: var(--field);
    color: var(--bg);
}

.site-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1.5rem;
    flex-wrap: wrap;
    max-width: 70rem;
    margin: 0 auto;
    padding: 1.05rem 1.15rem calc(1.05rem + env(safe-area-inset-bottom));
}

.site-footer-mark {
    margin: 0;
    color: var(--gold);
    font-family: var(--condensed);
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.site-footer-mark::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 3px;
    margin-top: 0.45rem;
    background: var(--gold);
}

.site-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.site-footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.35rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--gold) 70%, var(--field));
    border-radius: 999px;
    color: var(--bg);
    font-weight: 700;
    text-decoration: none;
}

.site-footer a:hover {
    border-color: var(--gold);
    color: var(--gold);
}

.site-footer a[aria-current="page"],
.site-footer a[aria-current="page"]:hover {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--field);
}

.org-line {
    margin: -0.2rem 0 0.9rem;
    color: var(--field);
    font-weight: 700;
}

.org-search-form {
    display: none;
}

.choice-set {
    margin: 0;
    padding: 0;
    border: 0;
}

.login input.choice-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.login label.choice-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    margin-top: 0.35rem;
    padding: 0.72rem 1rem;
    border: 1px solid var(--gold);
    border-radius: 0.9rem;
    background: #fff;
    color: var(--field);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(184, 146, 75, 0.28);
}

.login label.choice-button:hover {
    background: #fbf6ec;
    border-color: #a7843f;
}

.choice-radio:checked + .choice-button,
.choice-radio:checked + .choice-button:hover {
    border-color: transparent;
    background: var(--field);
    color: var(--bg);
    box-shadow: 0 1px 0 rgba(3, 39, 91, 0.22), 0 8px 18px rgba(3, 39, 91, 0.08);
}

.choice-radio:focus-visible + .choice-button {
    outline: 3px solid var(--field);
    outline-offset: 3px;
}

.choice-panel {
    display: none;
    margin-top: 0.7rem;
}

.choice-radio:checked + .choice-button + .choice-panel {
    display: block;
}

.org-choice {
    margin: 0;
    padding: 0.8rem 0.9rem 0.95rem;
    border: 1px solid var(--line);
    border-left: 4px solid var(--gold);
    border-radius: 0.95rem;
    background: var(--card);
}

.org-choice + .org-choice {
    margin-top: 0.7rem;
}

.org-hint,
.org-meta {
    margin: 0.2rem 0 0.55rem;
    color: var(--muted);
    font-size: 0.95rem;
    font-weight: 500;
}

.org-place {
    color: var(--muted);
    font-weight: 500;
}

.org-choice .org-meta {
    margin: -0.15rem 0 0.35rem 1.75rem;
}

#org-results:has(label),
#city-results:has(label),
#league-results:has(label),
#park-results:has(label) {
    margin: 0.15rem 0 0.2rem;
    padding: 0.25rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
}

#org-results label,
#city-results label,
#league-results label,
#park-results label {
    min-height: 2.6rem;
    padding: 0.35rem 0.55rem;
    border-radius: 0.65rem;
}

#org-results label:hover,
#city-results label:hover,
#league-results label:hover,
#park-results label:hover {
    background: color-mix(in srgb, var(--field) 8%, #fff);
}

.park-results:empty {
    display: none;
}

.park-results:not(:empty) {
    margin: 0.15rem 0 0.2rem;
    padding: 0.25rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
}

.park-results label {
    min-height: 2.6rem;
    padding: 0.35rem 0.55rem;
    border-radius: 0.65rem;
}

.park-results label:hover {
    background: color-mix(in srgb, var(--field) 8%, #fff);
}

.class-options {
    margin: 0.35rem 0 0.2rem;
    padding: 0.75rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
}

.class-options legend,
.color-options legend {
    padding: 0 0.3rem;
    font-weight: 700;
}

.class-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 0.75rem;
    align-items: center;
}

.class-options .class-grid label {
    margin: 0;
    min-height: 2.4rem;
}

.class-other {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 0.75rem;
    align-items: center;
}

.class-other label {
    width: auto;
    margin: 0;
    min-height: 2.4rem;
}

.class-other input[type="text"] {
    width: 100%;
    min-height: 2.4rem;
    margin: 0;
    padding: 0.4rem 0.7rem;
}

.color-options {
    container-type: inline-size;
    min-width: 0;
    margin: 0.55rem 0 0.2rem;
    padding: 0.75rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
}

.color-slot {
    display: grid;
    grid-template-columns: auto 3.15rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    margin: 0.35rem 0;
    min-width: 0;
}

.color-slot label {
    width: auto;
    margin: 0;
    min-height: 2.4rem;
}

.login button.color-remove,
button.color-remove {
    width: 1.85rem;
    min-width: 1.85rem;
    height: 1.85rem;
    min-height: 1.85rem;
    margin: 0;
    padding: 0;
    justify-self: end;
    border: 0;
    border-radius: 0.45rem;
    background: var(--clay);
    color: #fff;
    font-size: 0.95rem;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: none;
}

.login button.color-remove:hover,
button.color-remove:hover {
    background: #a3411f;
}

.color-slot input.color-code {
    width: 100%;
    min-height: 3.15rem;
    margin: 0;
    padding: 0.4rem 0.65rem;
}

.color-slot input[type="color"] {
    width: 3.15rem;
    min-width: 3.15rem;
    max-width: 3.15rem;
    height: 3.15rem;
    min-height: 3.15rem;
    margin: 0;
    padding: 0.2rem;
    border: 1px solid var(--line);
    border-radius: 0.7rem;
    background: #fff;
    cursor: pointer;
}

.color-slot input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

.color-slot input[type="color"]::-webkit-color-swatch {
    border: 0;
    border-radius: 0.4rem;
}

.color-slot input[type="color"]::-moz-color-swatch {
    border: 0;
    border-radius: 0.4rem;
}

@container (max-width: 18.5rem) {
    .color-slot {
        grid-template-areas:
            "label swatch . remove"
            "code code code code";
        row-gap: 0.45rem;
    }

    .color-slot label {
        grid-area: label;
    }

    .color-slot input[type="color"] {
        grid-area: swatch;
    }

    .color-slot input.color-code {
        grid-area: code;
    }

    .color-slot .color-remove {
        grid-area: remove;
    }
}

.color-options .button-quiet {
    width: 100%;
    min-height: 3.15rem;
}

.color-swatch {
    display: inline-block;
    width: 1.15rem;
    height: 1.15rem;
    margin-left: 0.35rem;
    border: 1px solid var(--line);
    border-radius: 0.25rem;
    vertical-align: -0.15rem;
}

.uniform-row {
    margin-top: 0.85rem;
}

.uniform-preview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
}

.uniform-preview p,
.uniform-note {
    margin: 0;
}

.uniform-preview .color-swatch {
    width: 2.75rem;
    height: 2.75rem;
    margin-left: 0;
    vertical-align: middle;
}

.uniform-preview .color-swatch + .color-swatch {
    margin-left: 0.35rem;
}

.uniform-swatch-empty {
    background: transparent;
}

.uniform-thumb,
.uniform-file-preview,
.public-uniform-images img {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: cover;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
}

.public-uniform-images {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.35rem 0 0;
}

.logo-mark {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
    vertical-align: middle;
}

.logo-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0 0 0.85rem;
}

.logo-row h1,
.logo-row h2 {
    margin: 0;
}

.team-heading-name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
}

.team-heading-name h1 {
    margin: 0;
}

.season-switch-header {
    margin: 0;
}

details.season-header {
    position: relative;
    margin: 0;
}

details.season-header > summary {
    cursor: pointer;
    font-weight: 700;
    width: fit-content;
}

details.season-header:not([open]) > .season-header-body {
    display: none;
}

details.season-header[open] > .season-header-body {
    position: absolute;
    z-index: 5;
    top: 100%;
    left: 0;
    margin-top: 0.35rem;
    padding: 0.65rem 0.75rem;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 0.7rem;
}

.this-season {
    margin: 0.75rem 0 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
}

.this-season p {
    margin: 0.25rem 0;
}

.team-checklist {
    margin: 0.5rem 0 0.75rem;
}

.team-checklist ul {
    margin: 0;
    padding-left: 1.2rem;
}

.spot-value {
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    text-decoration: underline;
    cursor: pointer;
}

.spot-input {
    width: 5.5rem;
    min-width: 0;
    min-height: 2rem;
}

.spot-error {
    display: block;
    color: #8d2b2b;
    font-size: 0.8rem;
    font-weight: 700;
}

details.sheet-notes > summary {
    cursor: pointer;
    font-weight: 700;
    width: fit-content;
}

details.sheet-notes:not([open]) > .sheet-notes-body,
details.player-more:not([open]) > :not(summary) {
    display: none;
}

.season-switch {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.season-switch label {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
}

.season-switch select {
    width: auto;
    min-width: 12rem;
    max-width: 100%;
}

details.earlier-season {
    margin: 1rem 0 0;
}

details.earlier-season > summary {
    cursor: pointer;
    font-weight: 700;
    width: fit-content;
}

details.earlier-season:not([open]) > .earlier-body {
    display: none;
}

details.remove-season {
    margin: 0.35rem 0 0.75rem;
}

details.remove-season > summary {
    cursor: pointer;
    font-weight: 700;
    width: fit-content;
}

details.remove-season:not([open]) > .remove-body {
    display: none;
}

details.coach-pick {
    margin: 0.75rem 0;
}

details.coach-pick > summary {
    cursor: pointer;
    font-weight: 700;
    width: fit-content;
}

details.coach-pick:not([open]) > .coach-body {
    display: none;
}

.uniform-note {
    margin-top: 0.4rem;
}

.uniform-edit {
    margin-top: 0.45rem;
}

.uniform-edit summary {
    display: flex;
    align-items: center;
    min-height: 3.1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
}

.record-row {
    margin-top: 0.85rem;
}

.record-body {
    margin: 0.4rem 0 0;
    white-space: pre-wrap;
}

.record-edit {
    margin-top: 0.45rem;
}

.record-edit summary {
    display: flex;
    align-items: center;
    min-height: 3.1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
    color: var(--ink);
    font-weight: 700;
    cursor: pointer;
}

.private-notes {
    margin: 0.85rem 0 0.2rem;
    padding: 0.75rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
}

.private-notes legend {
    padding: 0 0.3rem;
    font-weight: 700;
}

.legal {
    padding: 1.15rem 1.15rem 0.4rem;
    border: 1px solid var(--line);
    border-radius: 1.15rem;
    background: #fff;
}

.legal h1 {
    font-size: clamp(2rem, 6vw, 2.8rem);
}

.legal h2 {
    margin-top: 1.35rem;
}

.legal-updated {
    color: var(--muted);
    font-weight: 700;
}

.legal ul {
    margin: 0 0 0.9rem;
    padding-left: 1.2rem;
}

.legal li {
    margin: 0.3rem 0;
}

@media (max-width: 800px) {
    .wordmark {
        height: 2.35rem;
        width: calc(2.35rem * 1461 / 572);
    }

    body:has(.wrap > .nav-shell) .wrap {
        display: block;
        max-width: 42rem;
    }

    .site-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        position: static;
        margin-bottom: 1rem;
    }

    .site-nav-label {
        grid-column: 1 / -1;
    }

    h1 {
        font-size: clamp(1.9rem, 10vw, 2.6rem);
    }

    .site-footer-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .site-footer-mark::after {
        margin-right: auto;
        margin-left: auto;
    }

    .site-footer nav {
        justify-content: center;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .nav-shell > .site-nav,
    .nav-shell > .section-nav,
    .topbar .public-nav {
        display: none;
    }

    .nav-shell:has(.nav-check:checked) > .site-nav,
    .nav-shell:has(.nav-check:checked) > .section-nav,
    .topbar .nav-check:checked ~ .public-nav {
        display: flex;
    }

    .nav-shell > .site-nav {
        margin-top: 0.55rem;
    }

    .nav-shell:has(.nav-check:checked) > .site-nav {
        flex-direction: column;
    }

    .nav-shell .site-nav-label {
        display: none;
    }

    .nav-shell:has(.nav-check:checked) .site-nav-label {
        display: block;
    }

    .nav-shell {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .nav-shell > .site-nav,
    .nav-shell > .sidebar-signout {
        flex-basis: 100%;
    }

    .nav-shell:has(.nav-check:checked) > .section-nav {
        flex-direction: column;
        gap: 0.15rem;
        margin-top: 0.55rem;
        padding: 0.35rem;
        border: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
        border-radius: 0.85rem;
        background: #fff;
    }

    .nav-shell:has(.nav-check:checked) > .section-nav a,
    .nav-shell:has(.nav-check:checked) > .section-nav label.section-link {
        border-bottom: 0;
        border-radius: 0.7rem;
        min-height: 2.75rem;
    }

    .nav-shell:has(.nav-check:checked) > .section-nav a[aria-current="page"],
    .nav-shell:has(.nav-check:checked) > .section-nav .section-pick:checked + label.section-link {
        background: var(--field);
        color: var(--bg);
    }

    .topbar .nav-shell {
        display: contents;
    }

    .topbar .nav-toggle {
        margin-left: auto;
        border-color: color-mix(in srgb, var(--bg) 42%, transparent);
        background: transparent;
        color: var(--bg);
        box-shadow: none;
    }

    .topbar .nav-check:checked + .nav-toggle {
        border-color: var(--gold);
        color: var(--gold);
    }

    .topbar .nav-check:focus-visible + .nav-toggle {
        outline-color: var(--gold);
    }

    .topbar .nav-check:checked ~ .public-nav {
        flex-basis: 100%;
        flex-direction: column;
        gap: 0;
        margin: 0.45rem -0.85rem 0;
        padding: 0.2rem 0.85rem 0.45rem;
        border-top: 1px solid color-mix(in srgb, var(--bg) 24%, transparent);
    }

    .topbar .public-nav a {
        display: flex;
        align-items: center;
        min-height: 2.85rem;
    }

    body {
        overflow-x: hidden;
    }

    .wrap {
        overflow-x: clip;
        padding-right: 0.85rem;
        padding-left: 0.85rem;
    }

    .wrap section:not(.hero):not(.auth-card):not(.listed-game):not(.week-day),
    .team-block {
        margin-top: 0.55rem;
        padding: 0.65rem 0.75rem 0.15rem;
    }

    #schedule {
        margin-bottom: 0.65rem;
        padding: 0.7rem 0.75rem 0.55rem;
        overflow-wrap: anywhere;
    }

    #schedule h1,
    #schedule h1.eyebrow {
        margin-bottom: 0.2rem;
        color: var(--bg);
        font-family: var(--condensed);
        font-size: clamp(1.85rem, 9vw, 2.35rem);
        font-weight: 700;
        letter-spacing: 0;
        line-height: 0.95;
        text-transform: none;
    }

    #schedule .time {
        font-size: clamp(1.35rem, 6.5vw, 1.8rem);
    }

    #schedule p,
    #schedule .date,
    #schedule .opponent,
    #schedule .place,
    #schedule .field {
        max-width: 100%;
        margin-bottom: 0.3rem;
        overflow-wrap: anywhere;
    }

    .counts {
        grid-template-columns: 1fr 1fr;
    }

    .counts a strong {
        font-size: 1.7rem;
    }
}

input.nav-check[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.nav-check:focus,
.nav-check:focus-visible {
    outline: 0;
}

.nav-toggle {
    display: none;
    align-items: center;
    gap: 0.5rem;
    width: auto;
    min-width: 0;
    min-height: 2.6rem;
    margin: 0;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--gold);
    border-radius: 0.75rem;
    background: #fff;
    color: var(--field);
    font: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: none;
    cursor: pointer;
}

.nav-check:focus-visible + .nav-toggle {
    outline: 3px solid var(--field);
    outline-offset: 3px;
}

.nav-toggle-icon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.28rem;
    width: 1.05rem;
    height: 0.9rem;
}

.nav-toggle-icon span {
    display: block;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transform-origin: center;
}

.nav-check:checked + .nav-toggle .nav-toggle-icon span:nth-child(1) {
    transform: translateY(0.4rem) rotate(45deg);
}

.nav-check:checked + .nav-toggle .nav-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.nav-check:checked + .nav-toggle .nav-toggle-icon span:nth-child(3) {
    transform: translateY(-0.4rem) rotate(-45deg);
}

.topbar .nav-shell {
    display: contents;
}

.topbar .nav-shell.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
}

.topbar .nav-dropdown .nav-toggle {
    display: inline-flex;
    border-color: color-mix(in srgb, var(--bg) 42%, transparent);
    background: transparent;
    color: var(--bg);
    box-shadow: none;
}

.topbar .nav-dropdown .nav-check:checked + .nav-toggle,
.topbar .nav-dropdown .nav-check:checked + .nav-toggle:hover {
    border-color: var(--gold);
    color: var(--gold);
    background: transparent;
}

.site-frame {
    position: relative;
    z-index: 1;
    flex: 1 0 auto;
    width: 100%;
}

.site-frame > .nav-panel {
    display: none;
}

body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
    display: flex;
    flex-direction: column;
    position: absolute;
    z-index: 8;
    top: 0;
    right: 0.85rem;
    width: min(19rem, calc(100vw - 1.4rem));
    max-height: calc(100vh - 4.5rem);
    overflow: auto;
    padding: 0.35rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 12px 30px rgba(3, 39, 91, 0.16);
}

.nav-panel .site-nav {
    display: flex;
    flex-direction: column;
    margin: 0;
    border: 0;
    background: transparent;
}

.nav-panel .nav-signout {
    margin: 0.35rem 0.45rem 0.45rem;
}

.nav-panel .nav-signout button {
    width: 100%;
    margin-top: 0;
}

@media (min-width: 801px) {
    .nav-check {
        display: none;
    }

    .topbar .nav-dropdown .nav-check,
    .topbar .nav-dropdown .nav-toggle {
        display: none;
    }

    body:has(.nav-dropdown) .site-frame {
        display: grid;
        grid-template-columns:
            minmax(1.15rem, 1fr)
            16rem
            1.5rem
            minmax(0, calc(74rem - 1.15rem - 16rem - 1.5rem - 1.15rem))
            minmax(1.15rem, 1fr);
        align-items: start;
    }

    body:has(.nav-dropdown) .site-frame > .nav-panel,
    body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        grid-column: 2;
        position: sticky;
        top: 1rem;
        right: auto;
        z-index: 2;
        width: 16rem;
        max-height: none;
        overflow: visible;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .nav-panel .nav-signout {
        margin: 0;
    }

    body:has(.nav-dropdown) .site-frame > .wrap {
        grid-column: 4;
        width: auto;
        max-width: none;
        margin: 0;
        padding: 1.25rem 0 2.25rem;
    }
}

@media (max-width: 800px) {
    .nav-toggle {
        display: inline-flex;
    }
}

.print-only {
    display: none;
}

input.section-pick[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.section-pick:focus {
    outline: none;
}

body:has(.section-pick) .section-tabs .section-panel {
    display: none;
}

body:has(#program-tab-overview:checked) .panel-overview,
body:has(#program-tab-program:checked) .panel-program,
body:has(#program-tab-leagues:checked) .panel-leagues,
body:has(#program-tab-parks:checked) .panel-parks,
body:has(#program-tab-tournaments:checked) .panel-tournaments,
body:has(#program-tab-coaches:checked) .panel-coaches,
body:has(#program-tab-people:checked) .panel-people {
    display: block;
}

@media print {
    .nav-shell,
    body:has(.nav-dropdown) .site-frame > .nav-panel,
    body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
        display: none;
    }

    body:has(.nav-dropdown) .site-frame {
        display: block;
    }

    .section-pick {
        display: none;
    }

    body:has(.section-pick) .section-tabs .section-panel,
    .section-tabs .section-panel {
        display: block;
    }

    .print-only {
        display: block;
    }

    .print-team {
        break-after: avoid;
    }

    body:has(.lineup-card) .topbar,
    body:has(.lineup-card) .nav-shell,
    body:has(.lineup-card) .nav-panel,
    body:has(.lineup-card) .site-footer,
    body:has(.lineup-card) .season-switch,
    body:has(.lineup-card) .lineup-print {
        display: none;
    }

    body:has(.lineup-card) .site-frame {
        display: block;
    }
}

.lineup-card {
    max-width: 40rem;
}

.lineup-card table {
    width: 100%;
    border-collapse: collapse;
}

.lineup-card th,
.lineup-card td {
    padding: 0.35rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid #d7d2c8;
}

.choices a:not(.choice-sample):focus-visible,
a.button:not(.button-quiet):focus-visible,
.login button:not(.button-quiet):not(.score-save):not(.spot-value):not(.info-mark):not(.tool-drag):focus-visible,
.add-player > summary:focus-visible,
.topbar a:focus-visible,
.site-footer a:focus-visible,
.site-nav a[aria-current="page"]:focus-visible {
    outline-color: var(--gold);
}

.team-checklist ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.team-checklist a {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 0.8rem;
    background: #fff;
    color: var(--field);
    font-weight: 700;
    text-decoration: none;
}

.team-checklist a:hover {
    border-color: var(--gold);
    background: #fbf6ec;
}

.this-season p.record-figure {
    margin: 0.45rem 0 0.55rem;
    padding: 0.4rem 0 0.45rem;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--field);
    font-family: var(--condensed);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.score-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "for-label against-label"
        "for-input against-input";
    gap: 0.2rem 0.75rem;
    align-items: end;
}

.score-pair label:first-of-type {
    grid-area: for-label;
}

.score-pair input:first-of-type {
    grid-area: for-input;
}

.score-pair label:last-of-type {
    grid-area: against-label;
}

.score-pair input:last-of-type {
    grid-area: against-input;
}

.score-pair label {
    font-size: 0.82rem;
    font-weight: 700;
}

.score-pair input {
    min-height: 2.5rem;
    padding: 0.4rem 0.65rem;
    font-variant-numeric: tabular-nums;
}

.login button.score-save {
    width: auto;
    min-height: 2.45rem;
    margin-top: 0.15rem;
    padding: 0.4rem 0.95rem;
    justify-self: start;
    border: 1px solid var(--gold);
    background: #fff;
    color: var(--field);
    box-shadow: none;
}

.login button.score-save:hover {
    border-color: #a7843f;
    background: #fbf6ec;
    color: var(--field);
}

.roster-sheet button.spot-value,
.login .roster-sheet button.spot-value {
    width: auto;
    min-height: 1.9rem;
    margin: 0;
    padding: 0.12rem 0.45rem;
    border: 1px dashed color-mix(in srgb, var(--field) 35%, var(--bg));
    border-radius: 0.4rem;
    background: #fbfaf6;
    color: var(--ink);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    text-decoration: none;
    box-shadow: none;
}

.roster-sheet button.spot-value:hover,
.login .roster-sheet button.spot-value:hover {
    border-style: solid;
    border-color: var(--gold);
    background: #fff;
    color: var(--field);
}

.roster-sheet button.spot-value:active,
.login .roster-sheet button.spot-value:active {
    transform: none;
}

.season-switch:not(.season-switch-header) {
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
}

.season-switch:not(.season-switch-header) select {
    min-height: 2.4rem;
    padding: 0.35rem 0.65rem;
}

.team-block > h2 {
    margin: 0 0 0.55rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid var(--gold);
    font-family: var(--condensed);
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

.team-block > form.login button.button-quiet {
    width: auto;
    min-height: 2.45rem;
    justify-self: start;
    padding: 0.4rem 0.9rem;
}

.team-block > form.login button.editor-stop {
    border-color: #e7b2a4;
    color: #9a3412;
}

.team-block > form.login button.editor-stop:hover {
    border-color: #e7b2a4;
    background: #fde8e2;
    color: #9a3412;
}

p.upcoming-game {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.65rem;
    margin: 0 0 0.45rem;
    padding: 0.45rem 0.15rem 0.45rem 0.75rem;
    border-left: 3px solid var(--gold);
}

.wrap section.lineup-card:not(.hero):not(.auth-card) {
    max-width: 40rem;
    padding: 1.05rem 1.1rem 1rem;
    border: 1px solid var(--line);
    border-top: 6px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 14px 30px rgba(3, 39, 91, 0.08);
}

.lineup-card h1 {
    font-family: var(--condensed);
}

.lineup-card table {
    margin: 0.35rem 0 0.8rem;
}

.lineup-card th {
    background: var(--field);
    color: var(--bg);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lineup-card th:first-child,
.lineup-card td:first-child {
    width: 4.25rem;
    font-variant-numeric: tabular-nums;
}

.lineup-card tbody tr:nth-child(even) td {
    background: #fbf6ec;
}

.lineup-print button {
    width: auto;
    min-height: 2.5rem;
    padding: 0.4rem 1rem;
}

@media (max-width: 520px) {
    .score-pair {
        grid-template-columns: 1fr;
        grid-template-areas:
            "for-label"
            "for-input"
            "against-label"
            "against-input";
    }
}

@media print {
    .wrap section.lineup-card:not(.hero):not(.auth-card) {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .lineup-card th {
        background: #fff;
        color: #000;
        border-bottom: 2px solid #000;
    }

    .lineup-card tbody tr:nth-child(even) td {
        background: #fff;
    }
}

::selection {
    background: #ead7b0;
    color: var(--ink);
}

body:has(.nav-dropdown) .wrap > .kicker::after,
.auth-card > .kicker::after {
    content: "";
    display: block;
    width: 2.25rem;
    height: 3px;
    margin-top: 0.4rem;
    background: var(--gold);
}

body:has(.nav-dropdown) .wrap > .kicker + h1,
.auth-card > .kicker + h1 {
    margin-top: 0.15rem;
    margin-bottom: 0.85rem;
    font-size: clamp(1.95rem, 4vw, 2.6rem);
    line-height: 0.98;
}

body:has(.nav-dropdown) .wrap > .kicker + h1 + p {
    max-width: 40rem;
}

.site-nav {
    box-shadow: inset 0 3px 0 var(--gold);
}

.site-nav a[aria-current="page"]:not(.menu-title),
.site-nav a[aria-current="page"]:not(.menu-title):hover,
.site-nav.section-nav a[aria-current="page"]:hover {
    box-shadow: inset 3px 0 0 var(--gold);
}

.wrap p a:not(.button),
.wrap li a:not(.button) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    text-decoration-color: color-mix(in srgb, var(--gold) 75%, var(--field));
}

.wrap p a:not(.button):hover,
.wrap li a:not(.button):hover {
    text-decoration-color: var(--field);
}

p.auth-note {
    margin: 0.35rem 0 0.75rem;
    padding: 0.6rem 0.75rem;
    border-left: 3px solid var(--gold);
    border-radius: 0 0.7rem 0.7rem 0;
    background: #fbf6ec;
    color: var(--ink);
}

span.auth-note,
li.auth-note {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--muted);
    font-size: 0.92rem;
}

p.status-pill {
    display: inline-block;
    margin: 0 0 0.75rem;
    padding: 0.22rem 0.65rem;
    border-radius: 999px;
    background: #fbf6ec;
    color: #6b4e12;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

p.empty-line {
    margin: 0.35rem 0 0.8rem;
    padding: 0.8rem 0.9rem;
    border: 1px dashed color-mix(in srgb, var(--field) 22%, var(--bg));
    border-radius: 0.85rem;
    background: #fff;
    color: var(--muted);
    font-weight: 600;
}

p.count-line {
    display: inline-block;
    margin: 0.15rem 0 0.8rem;
    padding: 0.22rem 0.7rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--field) 8%, #fff);
    color: var(--field);
    font-weight: 700;
}

p.next-game {
    margin: 0.35rem 0 0.8rem;
    padding: 0.7rem 0.85rem;
    border-left: 3px solid var(--gold);
    border-radius: 0 0.75rem 0.75rem 0;
    background: #fbf6ec;
    font-weight: 700;
}

p.story-body {
    padding: 0.7rem 0.8rem;
    border-radius: 0.75rem;
    background: #fbf6ec;
}

p.catalog-line {
    margin: 0.85rem 0 0.25rem;
    font-weight: 700;
}

p.directory-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 0.55rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: #fff;
}

p.directory-card:hover {
    border-color: var(--gold);
}

p.directory-card .logo-mark {
    margin: 0;
    flex: 0 0 auto;
}

p.directory-card a {
    font-size: 1.15rem;
    font-weight: 700;
    text-decoration: none;
}

p.directory-card .directory-meta {
    color: var(--muted);
    font-weight: 600;
}

p.season-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.5rem;
    margin: 0.85rem 0 0.2rem;
    font-weight: 700;
}

p.season-line a {
    padding: 0.22rem 0.65rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

p.season-line a:hover {
    border-color: var(--gold);
    background: #fbf6ec;
}

p.page-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

p.page-tools a.button {
    width: auto;
    min-height: 2.5rem;
    margin: 0;
    padding: 0.4rem 0.95rem;
}

.action-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.action-row .button {
    margin-top: 0;
}

.counts a {
    border-top: 3px solid var(--gold);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.counts a:hover {
    border-color: var(--gold);
    box-shadow: 0 8px 18px rgba(3, 39, 91, 0.08);
    transform: translateY(-1px);
}

.counts a strong {
    font-variant-numeric: tabular-nums;
}

.activity-row:hover,
.record-row:hover {
    border-color: color-mix(in srgb, var(--gold) 55%, var(--line));
}

.record-row,
.uniform-row {
    margin-top: 0.85rem;
    padding: 0.8rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.95rem;
    background: #fff;
}

.team-overview .team-lines li {
    padding: 0.45rem 0.2rem;
}

.team-overview .team-lines li:hover {
    background: #fbf6ec;
}

body:has(.nav-dropdown) .wrap section > h2:not(.eyebrow),
body:has(.nav-dropdown) .wrap > h2:not(.eyebrow) {
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--gold);
    font-family: var(--condensed);
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}

body:has(.nav-dropdown) .wrap section > h2:has(img) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    line-height: 1.1;
}

body:has(.nav-dropdown) .wrap section > h2:has(img) .logo-mark {
    width: 3rem;
    height: 3rem;
}

.panel-coaches h3 {
    margin: 1.1rem 0 0.35rem;
    font-family: var(--condensed);
    font-size: 1.45rem;
    letter-spacing: 0.02em;
}

.wrap > form.login {
    padding: 0.95rem 1rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

form.login {
    gap: 0.22rem;
}

form.login > label {
    margin-top: 0.55rem;
}

form.login > label:has(> input[type="checkbox"]) {
    margin-top: 0.45rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 0.8rem;
    background: #fff;
}

form.login > label:has(> input[type="checkbox"]:checked) {
    border-color: var(--gold);
    background: #fbf6ec;
}

form.login [aria-live="polite"] > label {
    margin-top: 0.4rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #fff;
}

form.login [aria-live="polite"] > label:has(input:checked) {
    border-color: var(--gold);
    background: #fbf6ec;
}

.wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]),
.wrap select,
.wrap textarea {
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
}

.wrap input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]):focus-visible,
.wrap select:focus-visible,
.wrap textarea:focus-visible {
    border-color: var(--gold);
}

.wrap .score-pair input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]) {
    min-height: 2.5rem;
    padding: 0.4rem 0.65rem;
}

.wrap .roster-sheet input.spot-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]),
.wrap .roster-sheet select.spot-input {
    width: 5.5rem;
    min-height: 2rem;
    padding: 0.2rem 0.45rem;
}

input.copy-field,
input[readonly] {
    background: #f7f4ee;
    color: var(--field);
    font-weight: 700;
}

form.login.listing-card {
    margin-top: 0.7rem;
    padding: 0.8rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.9rem;
    background: #fff;
}

.panel-coaches form.login button.button-quiet {
    width: auto;
    min-height: 2.45rem;
    justify-self: start;
    padding: 0.4rem 0.9rem;
}

form.login[action*="/delete"]:not(:has(input:not([type="hidden"]))) button,
form.login[action*="/image/delete"] button {
    width: auto;
    min-height: 2.45rem;
    justify-self: start;
    padding: 0.4rem 0.9rem;
}

.tool-card:has(input:checked) {
    border-color: color-mix(in srgb, var(--gold) 65%, var(--field));
    background: #fffdf8;
    box-shadow: inset 3px 0 0 var(--gold);
}

details.remove-season > summary,
details.earlier-season > summary,
details.coach-pick > summary,
details.record-edit > summary,
details.sheet-notes > summary,
details.player-more > summary {
    display: inline-flex;
    align-items: center;
    width: auto;
    min-height: 2.35rem;
    margin: 0.35rem 0;
    padding: 0.3rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--field);
    list-style: none;
}

details.remove-season > summary::-webkit-details-marker,
details.earlier-season > summary::-webkit-details-marker,
details.coach-pick > summary::-webkit-details-marker,
details.record-edit > summary::-webkit-details-marker,
details.sheet-notes > summary::-webkit-details-marker,
details.player-more > summary::-webkit-details-marker {
    display: none;
}

details.remove-season > summary:hover,
details.earlier-season > summary:hover,
details.coach-pick > summary:hover,
details.record-edit > summary:hover,
details.sheet-notes > summary:hover,
details.player-more > summary:hover {
    border-color: var(--gold);
    background: #fbf6ec;
}

details.remove-season[open] > summary,
details.earlier-season[open] > summary,
details.coach-pick[open] > summary,
details.record-edit[open] > summary,
details.sheet-notes[open] > summary,
details.player-more[open] > summary {
    border-color: var(--field);
    background: color-mix(in srgb, var(--field) 6%, #fff);
}

p.back {
    margin-top: 1.25rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--line);
}

.auth-card {
    box-shadow: 0 16px 36px rgba(3, 39, 91, 0.06);
}

@media (min-width: 801px) {
    form.login {
        max-width: 40rem;
    }

    .wrap > form.login:has(.tool-list),
    form.login:has(.roster-sheet-wrap) {
        max-width: none;
    }
}

@media (max-width: 640px) {
    .action-row {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .counts a {
        transition: none;
    }

    .counts a:hover {
        transform: none;
    }
}

p.field-hint {
    margin: 0.15rem 0 0.7rem;
    max-width: 40rem;
    color: color-mix(in srgb, var(--ink) 78%, var(--bg));
    font-size: 0.92rem;
    font-weight: 500;
}

.copy-row {
    display: grid;
    gap: 0.35rem;
    margin: 0.8rem 0 0.35rem;
}

button.copy-address {
    width: auto;
    justify-self: start;
    margin-top: 0.15rem;
}

.team-block[id],
#add-game {
    scroll-margin-top: 5.5rem;
}

.login button.color-remove,
button.color-remove {
    width: auto;
    min-width: 4.75rem;
    height: auto;
    min-height: 2.4rem;
    padding: 0.35rem 0.7rem;
    font-size: 0.85rem;
}

/* Team roster board and admin roster sheet. Member sheets stay compact. */

.team-overview .team-split {
    gap: 0.9rem;
}

.team-overview .team-split > section {
    padding: 0.85rem 0.9rem 0.95rem;
    border: 1px solid var(--line);
    border-top: 4px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 24px rgba(3, 39, 91, 0.05);
}

.team-overview .team-split .team-pane-head {
    align-items: center;
    margin-bottom: 0.7rem;
    padding-bottom: 0.55rem;
    border-bottom: 1px solid var(--line);
}

.team-overview .team-split > section:not(.roster-board) .team-lines li:first-child {
    border-top: 0;
}

.team-overview .team-pane-head a {
    display: inline-flex;
    align-items: center;
    min-height: 2.2rem;
    padding: 0.2rem 0.75rem;
    border: 1px solid var(--gold);
    border-radius: 999px;
    background: #fff;
    color: var(--field);
    text-decoration: none;
}

.team-overview .team-pane-head a:hover {
    background: #fbf6ec;
    border-color: #a7843f;
}

.team-overview .roster-board-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.65rem;
    min-width: 0;
}

.team-overview .roster-board .roster-board-count {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.team-overview .roster-board .roster-empty {
    margin: 0;
    padding: 1.15rem 0.9rem;
    border: 1px dashed color-mix(in srgb, var(--gold) 65%, var(--line));
    border-radius: 0.85rem;
    background: #fbfaf6;
    text-align: center;
}

.team-overview .roster-board .roster-board-list {
    display: grid;
    gap: 0.45rem;
    margin: 0;
}

.team-overview .roster-board .team-lines li {
    margin: 0;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--line);
    border-left: 3px solid transparent;
    border-radius: 0.8rem;
    background: #fff;
}

.team-overview .roster-board .team-lines li:hover,
.team-overview .roster-board .team-lines li:focus-within {
    border-color: color-mix(in srgb, var(--gold) 55%, var(--line));
    border-left-color: var(--gold);
    background: #fffdf8;
}

.team-overview .roster-board .roster-player {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.65rem;
}

.wrap .roster-board li a.roster-player-main {
    display: flex;
    flex: 1 1 12rem;
    align-items: center;
    gap: 0.7rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.roster-jersey {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 3.5rem;
    min-height: 2.4rem;
    padding: 0.15rem 0.45rem;
    border-radius: 0.65rem;
    background: var(--field);
    color: #fefdf9;
    font-family: var(--condensed);
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.roster-jersey.is-blank {
    background: #fff;
    color: var(--muted);
    border: 1px dashed color-mix(in srgb, var(--field) 35%, var(--line));
    font-family: var(--sans);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
}

.roster-player-copy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.5rem;
    min-width: 0;
}

.roster-player-name {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
}

.wrap .roster-board li a.roster-player-main:hover .roster-player-name,
.wrap .roster-board li a.roster-player-main:focus-visible .roster-player-name {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    text-decoration-color: color-mix(in srgb, var(--gold) 75%, var(--field));
}

.roster-level {
    display: inline-flex;
    align-items: center;
    padding: 0.08rem 0.5rem;
    border-radius: 999px;
    background: #fbf6ec;
    color: var(--field);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.4;
}

.team-overview .roster-board .roster-player > span.auth-note {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    padding: 0.12rem 0.5rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.roster-board .roster-player-main:focus-visible,
.team-overview .team-pane-head a:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}

.roster-sheet-card {
    margin: 0.55rem 0 0.75rem;
    padding: 0.8rem 0.8rem 0.45rem;
    border: 1px solid var(--line);
    border-top: 4px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(3, 39, 91, 0.06);
}

.roster-sheet-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.35rem 0.85rem;
    margin-bottom: 0.65rem;
}

.roster-sheet-bar .field-hint {
    margin: 0;
}

.roster-sheet-count {
    margin: 0;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.roster-sheet-card .roster-sheet-wrap {
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
}

table.roster-sheet:not(.member-sheet) {
    border-collapse: separate;
    border-spacing: 0;
}

table.roster-sheet:not(.member-sheet) th {
    padding: 0.55rem 0.75rem;
    border-bottom: 0;
    background: var(--field);
    color: #fefdf9;
    font-family: var(--condensed);
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

table.roster-sheet:not(.member-sheet) th:first-child {
    border-top-left-radius: 0.7rem;
}

table.roster-sheet:not(.member-sheet) th:last-child {
    border-top-right-radius: 0.7rem;
}

table.roster-sheet:not(.member-sheet) td {
    padding: 0.7rem 0.75rem;
    vertical-align: middle;
    background: #fff;
}

table.roster-sheet:not(.member-sheet) tbody tr:nth-child(even) td {
    background: #fbfaf6;
}

table.roster-sheet:not(.member-sheet) tbody tr:hover td {
    background: #fbf6ec;
}

table.roster-sheet:not(.member-sheet) td.spot-cell:first-child {
    width: 5.25rem;
}

table.roster-sheet:not(.member-sheet) td.spot-cell:first-child button.spot-value {
    min-width: 3.15rem;
    min-height: 2.4rem;
    padding: 0.1rem 0.5rem;
    border: 0;
    border-radius: 0.65rem;
    background: var(--field);
    color: #fefdf9;
    font-family: var(--condensed);
    font-size: 1.35rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

table.roster-sheet:not(.member-sheet) td.spot-cell:first-child button.spot-value:hover {
    border: 0;
    background: #0a3a78;
    color: #fff;
}

table.roster-sheet:not(.member-sheet) td.spot-cell:not(:first-child) button.spot-value {
    border-style: solid;
    border-color: color-mix(in srgb, var(--gold) 45%, var(--line));
    border-radius: 999px;
    background: #fbf6ec;
    color: var(--field);
}

table.roster-sheet:not(.member-sheet) td.spot-cell button.spot-value.spot-empty {
    min-height: 2rem;
    border: 1px dashed color-mix(in srgb, var(--field) 35%, var(--line));
    background: #fff;
    color: var(--muted);
    font-family: var(--sans);
    font-size: 0.82rem;
    letter-spacing: 0.03em;
}

table.roster-sheet:not(.member-sheet) td.spot-cell button.spot-value.spot-empty:hover {
    border-style: solid;
    border-color: var(--gold);
    background: #fff;
    color: var(--field);
}

table.roster-sheet:not(.member-sheet) .roster-name a {
    font-size: 1.05rem;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    text-decoration-color: color-mix(in srgb, var(--gold) 75%, var(--field));
}

table.roster-sheet:not(.member-sheet) .roster-birthday {
    color: var(--muted);
    font-size: 0.92rem;
}

table.roster-sheet:not(.member-sheet) details.sheet-notes > summary {
    margin: 0;
}

table.roster-sheet:not(.member-sheet) .sheet-notes-body {
    min-width: 14rem;
    margin-top: 0.45rem;
    padding: 0.65rem 0.7rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #fff;
}

table.roster-sheet:not(.member-sheet) .roster-actions {
    width: 1%;
}

table.roster-sheet:not(.member-sheet) .roster-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
}

table.roster-sheet:not(.member-sheet) .roster-actions form {
    display: inline-flex;
    margin: 0;
}

table.roster-sheet:not(.member-sheet) .roster-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.12rem 0.7rem;
    border: 1px solid var(--gold);
    border-radius: 999px;
    background: #fff;
    text-decoration: none;
}

table.roster-sheet:not(.member-sheet) .roster-actions a:hover {
    background: #fbf6ec;
}

table.roster-sheet:not(.member-sheet) form[action*="/delete"] button,
.login table.roster-sheet:not(.member-sheet) form[action*="/delete"] button {
    width: auto;
    min-height: 2rem;
    margin: 0;
    padding: 0.12rem 0.7rem;
    border: 1px solid #e7b2a4;
    border-radius: 999px;
    background: #fff;
    color: #9a3412;
}

table.roster-sheet:not(.member-sheet) form[action*="/delete"] button:hover,
.login table.roster-sheet:not(.member-sheet) form[action*="/delete"] button:hover {
    background: #fde8e2;
    color: #7f1d1d;
}

table.roster-sheet:not(.member-sheet) td.roster-sheet-empty {
    padding: 1.25rem 0.85rem;
    background: #fbfaf6;
    text-align: center;
}

table.roster-sheet:not(.member-sheet) button.spot-value:focus-visible,
table.roster-sheet:not(.member-sheet) .roster-actions a:focus-visible,
table.roster-sheet:not(.member-sheet) form[action*="/delete"] button:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}

.roster-sheet-links {
    margin: 0.1rem 0 0.75rem;
}

section.roster + section.roster {
    margin-top: 1.35rem;
}

@media (max-width: 640px) {
    .roster-jersey {
        min-width: 2.9rem;
        font-size: 1.12rem;
    }

    .roster-sheet-card {
        padding: 0.7rem 0.55rem 0.35rem;
    }

    table.roster-sheet:not(.member-sheet) th,
    table.roster-sheet:not(.member-sheet) td {
        padding-right: 0.55rem;
        padding-left: 0.55rem;
    }
}

@media print {
    .roster-sheet-card,
    .team-overview .team-split > section {
        box-shadow: none;
    }

    table.roster-sheet:not(.member-sheet) th,
    .roster-jersey,
    table.roster-sheet:not(.member-sheet) td.spot-cell:first-child button.spot-value {
        background: #fff;
        color: #000;
    }
}

.availability-form h3 {
    margin: 0 0 0.35rem;
}

.availability-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 11rem;
    gap: 0.35rem 0.75rem;
    align-items: center;
    margin: 0 0 0.45rem;
}

.availability-row label {
    margin: 0;
}

.wrap section.schedule-card:not(.hero):not(.auth-card) {
    max-width: 46rem;
    padding: 1.05rem 1.1rem 1rem;
    border: 1px solid var(--line);
    border-top: 6px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 14px 30px rgba(3, 39, 91, 0.08);
}

.schedule-card h1,
.schedule-card h2 {
    font-family: var(--condensed);
}

.schedule-card table {
    width: 100%;
    margin: 0.35rem 0 0.8rem;
    border-collapse: collapse;
}

.schedule-card th,
.schedule-card td {
    padding: 0.35rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid #d7d2c8;
}

.schedule-card th {
    background: var(--field);
    color: var(--bg);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.schedule-card tbody tr:nth-child(even) td {
    background: #fbf6ec;
}

.schedule-print button {
    width: auto;
    min-height: 2.5rem;
    padding: 0.4rem 1rem;
}

@media (max-width: 520px) {
    .availability-row {
        grid-template-columns: 1fr;
    }
}

@media print {
    body:has(.schedule-card) .topbar,
    body:has(.schedule-card) .nav-shell,
    body:has(.schedule-card) .nav-panel,
    body:has(.schedule-card) .site-footer,
    body:has(.schedule-card) .season-switch,
    body:has(.schedule-card) .schedule-print {
        display: none;
    }

    body:has(.schedule-card) .site-frame {
        display: block;
    }

    .wrap section.schedule-card:not(.hero):not(.auth-card) {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .schedule-card th,
    .schedule-card tbody tr:nth-child(even) td {
        background: #fff;
        color: #000;
    }
}

.recent-opponents {
    margin: 0.15rem 0 0.85rem;
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.45;
}

.login button.recent-opponent,
.login button.recent-opponent:hover {
    display: inline;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0 0.7rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.45;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    box-shadow: none;
}

.login textarea.coach-note {
    min-height: 5.5rem;
    padding: 0.55rem 0.75rem;
    font-weight: 400;
}

form.login.team-note-form {
    max-width: 36rem;
    margin: 0.35rem 0 0.95rem;
}

form.login.team-note-form textarea {
    min-height: 4.4rem;
    padding: 0.55rem 0.75rem;
    font-weight: 400;
}

.roster-name .roster-seasons {
    display: block;
    margin-top: 0.2rem;
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

.wrap section.availability-card:not(.hero):not(.auth-card) {
    max-width: 40rem;
    padding: 1.05rem 1.1rem 1rem;
    border: 1px solid var(--line);
    border-top: 6px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 14px 30px rgba(3, 39, 91, 0.08);
}

.availability-card h1 {
    font-family: var(--condensed);
}

.availability-card table {
    width: 100%;
    margin: 0.35rem 0 0.8rem;
    border-collapse: collapse;
}

.availability-card th,
.availability-card td {
    padding: 0.35rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid #d7d2c8;
}

.availability-card th {
    background: var(--field);
    color: var(--bg);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.availability-card tbody tr:nth-child(even) td {
    background: #fbf6ec;
}

.availability-print button {
    width: auto;
    min-height: 2.5rem;
    padding: 0.4rem 1rem;
}

@media print {
    body:has(.availability-card) .topbar,
    body:has(.availability-card) .nav-shell,
    body:has(.availability-card) .nav-panel,
    body:has(.availability-card) .site-footer,
    body:has(.availability-card) .season-switch,
    body:has(.availability-card) .availability-print {
        display: none;
    }

    body:has(.availability-card) .site-frame {
        display: block;
    }

    .wrap section.availability-card:not(.hero):not(.auth-card) {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .availability-card th,
    .availability-card tbody tr:nth-child(even) td {
        background: #fff;
        color: #000;
    }
}

.wrap section.parent-card:not(.hero):not(.auth-card),
.wrap section.snapshot-card:not(.hero):not(.auth-card) {
    max-width: 40rem;
    padding: 1.05rem 1.1rem 1rem;
    border: 1px solid var(--line);
    border-top: 6px solid var(--gold);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 14px 30px rgba(3, 39, 91, 0.08);
}

.parent-card h1,
.snapshot-card h1 {
    font-family: var(--condensed);
}

.parent-card table,
.snapshot-card table {
    width: 100%;
    margin: 0.35rem 0 0.8rem;
    border-collapse: collapse;
}

.parent-card th,
.parent-card td,
.snapshot-card th,
.snapshot-card td {
    padding: 0.35rem 0.5rem;
    text-align: left;
    border-bottom: 1px solid #d7d2c8;
}

.parent-card th,
.snapshot-card th {
    background: var(--field);
    color: var(--bg);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.parent-card tbody tr:nth-child(even) td {
    background: #fbf6ec;
}

.parent-print button,
.snapshot-print button {
    width: auto;
    min-height: 2.5rem;
    padding: 0.4rem 1rem;
}

@media print {
    body:has(.parent-card) .topbar,
    body:has(.parent-card) .nav-shell,
    body:has(.parent-card) .nav-panel,
    body:has(.parent-card) .site-footer,
    body:has(.parent-card) .season-switch,
    body:has(.parent-card) .parent-print,
    body:has(.snapshot-card) .topbar,
    body:has(.snapshot-card) .nav-shell,
    body:has(.snapshot-card) .nav-panel,
    body:has(.snapshot-card) .site-footer,
    body:has(.snapshot-card) .season-switch,
    body:has(.snapshot-card) .snapshot-print {
        display: none;
    }

    body:has(.parent-card) .site-frame,
    body:has(.snapshot-card) .site-frame {
        display: block;
    }

    .wrap section.parent-card:not(.hero):not(.auth-card),
    .wrap section.snapshot-card:not(.hero):not(.auth-card) {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .parent-card th,
    .parent-card tbody tr:nth-child(even) td,
    .snapshot-card th {
        background: #fff;
        color: #000;
    }
}

.location-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.location-line label {
    margin: 0;
}

.recent-locations {
    margin: 0.15rem 0 0.85rem;
    color: var(--ink);
    font-size: 0.92rem;
    line-height: 1.45;
}

form.score-quick .score-pair {
    max-width: 16rem;
}

.week-board {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1.5rem;
}

.week-day {
    min-width: 0;
    margin: 0;
    padding: 0.7rem 0.65rem 0.8rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #fff;
}

.week-day-start {
    border-top: 3px solid var(--field);
}

.week-day-today {
    background: #fbf6ec;
}

.week-total {
    margin: 0 0 0.8rem;
    font-weight: 700;
}

.week-day h2,
.week-day h3 {
    margin: 0 0 0.55rem;
    font-size: 0.92rem;
    line-height: 1.35;
}

.week-event {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    margin: 0 0 0.55rem;
    padding: 0.45rem 0.5rem 0.5rem 0.6rem;
    border: 1px solid var(--line);
    border-left-width: 3px;
    border-radius: 0.55rem;
    background: #fbfaf6;
    color: inherit;
    font-size: 0.92rem;
    line-height: 1.35;
    text-decoration: none;
}

.week-event.week-home {
    border-left-color: var(--field);
}

.week-event.week-away {
    border-left-color: #8a6a2f;
}

.week-event.week-neutral {
    border-left-color: var(--line);
}

.week-event.week-practice {
    border-left-style: dashed;
}

.week-event:last-child {
    margin-bottom: 0;
}

a.week-event:hover .week-team {
    text-decoration: underline;
}

.week-team {
    font-weight: 600;
}

.week-score {
    font-weight: 700;
}

.week-clash {
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 700;
}

.week-group,
.week-held {
    font-weight: 700;
}

.standings-wrap {
    overflow-x: auto;
    margin: 0 0 1.1rem;
}

table.standings {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

table.standings th,
table.standings td {
    padding: 0.5rem 0.7rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

table.standings th {
    background: var(--field);
    color: var(--bg);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

table.standings th:nth-child(2),
table.standings th:nth-child(3),
table.standings th:nth-child(4),
table.standings th:nth-child(5),
table.standings td:nth-child(2),
table.standings td:nth-child(3),
table.standings td:nth-child(4),
table.standings td:nth-child(5) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

table.standings tbody tr:nth-child(even) td {
    background: #fbf6ec;
}

table.standings tbody {
    counter-reset: standings-rank;
}

table.standings tbody td:first-child::before {
    content: counter(standings-rank);
    counter-increment: standings-rank;
    display: inline-block;
    min-width: 1.3rem;
    margin-right: 0.45rem;
    color: var(--muted);
    font-weight: 700;
}

.roster-age {
    display: inline-block;
    margin-top: 0.28rem;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--field) 8%, #fff);
    color: var(--ink);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
}

form.roster-move {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    align-items: center;
    margin-top: 0.55rem;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--line);
    border-radius: 0.75rem;
    background: #fbfaf6;
}

form.roster-move select {
    width: auto;
    max-width: 12rem;
    min-height: 2rem;
}

form.roster-move button,
.login form.roster-move button {
    width: auto;
}

@media (max-width: 800px) {
    .week-board {
        grid-template-columns: 1fr;
    }
}

.login button.recent-location,
.login button.recent-location:hover,
.login button.location-clear,
.login button.location-clear:hover {
    display: inline;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0 0.7rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.45;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
    box-shadow: none;
}

.skip-link {
    position: absolute;
    left: 0.75rem;
    top: 0.45rem;
    z-index: 6;
    padding: 0.55rem 0.85rem;
    border-radius: 0.7rem;
    background: var(--bg);
    color: var(--field);
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: none;
    outline: 3px solid var(--gold);
    outline-offset: 2px;
}

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

.form-errors {
    display: grid;
    gap: 0.45rem;
    margin: 0 0 0.85rem;
}

.form-errors .form-error {
    margin: 0;
}

.banner {
    border: 1px solid color-mix(in srgb, var(--field) 18%, var(--bg));
    border-left-width: 4px;
}

.login button.button-danger,
button.button-danger {
    border: 1px solid #e7b2a4;
    background: #fff;
    color: #9a3412;
    box-shadow: none;
}

.login button.button-danger:hover,
button.button-danger:hover {
    border-color: #e7b2a4;
    background: #fde8e2;
    color: #7f1d1d;
}

.club-facts {
    margin: 0 0 1rem;
    padding: 0.9rem 0.95rem 0.35rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

p.facility-line,
p.club-game {
    margin: 0 0 0.45rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--line);
    border-left: 3px solid var(--field);
    border-radius: 0.75rem;
    background: #fff;
    font-weight: 600;
}

form.login.week-range,
form.login.repeat-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.45rem 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--line);
    border-radius: 0.9rem;
    background: #fff;
}

form.login.week-range label,
form.login.repeat-bar label,
form.login.repeat-bar .field-hint {
    flex: 1 1 100%;
    margin: 0;
}

form.login.week-range input,
form.login.week-range select,
form.login.week-range button,
form.login.repeat-bar select,
form.login.repeat-bar button {
    width: auto;
    margin-top: 0;
}

form.login.week-range input,
form.login.week-range select,
form.login.repeat-bar select {
    min-width: 8rem;
}

.week-day .empty-line {
    margin: 0;
    padding: 0.55rem 0.45rem;
    font-size: 0.92rem;
}

@media print {
    body:has(.week-board) .topbar,
    body:has(.week-board) .nav-panel,
    body:has(.week-board) .nav-shell,
    body:has(.week-board) .site-footer,
    body:has(.week-board) .section-nav,
    body:has(.week-board) .week-range,
    body:has(.week-board) .page-tools,
    body:has(.week-board) .skip-link {
        display: none;
    }

    body:has(.week-board) .site-frame {
        display: block;
    }

    body:has(.week-board) .week-board {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

.org-switch {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
}

.org-switch label {
    margin: 0;
    color: var(--bg);
    font-size: 0.82rem;
    font-weight: 700;
}

.org-switch select {
    width: auto;
    min-width: 9rem;
    max-width: 16rem;
    min-height: 2.4rem;
    margin: 0;
    padding: 0.35rem 0.6rem;
    border: 1px solid color-mix(in srgb, var(--bg) 42%, transparent);
    border-radius: 0.7rem;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.topbar .nav-shell.coach-bar {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 auto;
    margin-left: auto;
}

.coach-bar .topbar-links {
    display: flex;
    align-items: center;
    gap: 0.1rem;
    margin-right: auto;
}

.coach-bar .topbar-links a,
.coach-bar .topbar-quiet {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    border-radius: 0.35rem;
    color: #d7e4f5;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.coach-bar .topbar-links a:hover,
.coach-bar .topbar-links a[aria-current="page"],
.coach-bar .topbar-quiet:hover,
.coach-bar .topbar-quiet[aria-current="page"] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.coach-bar .nav-signout {
    margin: 0;
}

.coach-bar .nav-signout button {
    width: auto;
    min-height: 2rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 0.4rem;
    background: transparent;
    color: #d7e4f5;
    font-size: 0.82rem;
    font-weight: 700;
    box-shadow: none;
}

.template-choices {
    margin: 0;
    padding: 0;
    border: 0;
}

.template-choices legend {
    margin-bottom: 0.35rem;
    font-weight: 700;
}

.template-choices label {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0.35rem 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--line);
    border-radius: 0.85rem;
    background: #fff;
}

.site-preview,
.pub-site {
    --site-one: var(--field);
    --site-two: var(--gold);
}

.site-preview {
    margin-top: 0.4rem;
    padding: 1rem 1rem 0.4rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--bg);
}

.site-name,
.pub-site > h1 {
    margin: 0.15rem 0 0.55rem;
    padding-top: 0.45rem;
    border-top: 3px solid var(--site-two, var(--gold));
    color: var(--site-one, var(--field));
    font-family: var(--condensed);
    font-size: 2rem;
    line-height: 1.05;
}

.site-about {
    max-width: 40rem;
}

.site-columns {
    display: grid;
    gap: 0.35rem 1.25rem;
}

.pub-split .site-columns,
.site-preview.pub-split .site-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-game,
.site-roster-line {
    margin: 0.25rem 0;
}

.pub-board .site-roster-line,
.site-preview.pub-board .site-roster-line {
    padding: 0.4rem 0.15rem;
    border-bottom: 1px solid var(--line);
}

.desk-card {
    margin-top: 1rem;
    padding: 0.9rem 1rem 1rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

.desk-card h2,
.site-columns h3 {
    margin: 0 0 0.45rem;
    font-family: var(--condensed);
    font-size: 1.35rem;
    line-height: 1.1;
}

.paid-note {
    border-left: 3px solid var(--gold);
}

.desk-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.4rem 0 1rem;
}

.desk-table th,
.desk-table td {
    padding: 0.5rem 0.45rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}

.desk-table th {
    font-size: 0.82rem;
    font-weight: 700;
}

.desk-table td form {
    margin: 0;
}

.desk-table button {
    width: auto;
    min-height: 2.4rem;
    padding: 0.35rem 0.7rem;
}

@media (min-width: 801px) {
    body:has(.nav-dropdown) .site-frame > .nav-panel {
        padding: 0.85rem 0.7rem 0.95rem;
        border: 1px solid var(--line);
        border-radius: 1rem;
        background: #fff;
    }
}

@media (max-width: 800px) {
    .org-switch {
        width: 100%;
    }

    .org-switch select {
        flex: 1 1 auto;
        max-width: none;
    }

    .pub-split .site-columns,
    .site-preview.pub-split .site-columns {
        grid-template-columns: 1fr;
    }
}

body:has(.nav-dropdown) {
    background: #e6dece;
}

body:has(.nav-dropdown) .site-frame > .wrap {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 1rem;
    box-shadow: 0 12px 30px rgba(3, 39, 91, 0.07);
}

body:has(.nav-dropdown) .wrap > .section-nav {
    background: #fff;
}

p.directory-card {
    flex-wrap: wrap;
}

p.directory-card .button {
    width: auto;
    margin-top: 0;
    margin-left: auto;
}

.glance .action-row .button:last-child:nth-child(3) {
    grid-column: 1 / -1;
}

form.login.site-builder {
    padding: 0;
    border: 0;
    background: transparent;
}

.builder-desk {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.builder-fields {
    display: grid;
    align-content: start;
    gap: 0.15rem;
    padding: 0.95rem 1rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

.builder-fields > label {
    margin-top: 0.55rem;
}

.template-choices label {
    position: relative;
    min-height: 3.4rem;
    padding-left: 4.4rem;
}

.template-choices label:has(input:checked) {
    border-color: var(--field);
    box-shadow: inset 3px 0 0 var(--gold);
}

.template-choices label::before {
    content: "";
    position: absolute;
    left: 0.7rem;
    top: 0.7rem;
    width: 2.9rem;
    height: 2rem;
    border: 1px solid var(--line);
    border-radius: 0.3rem;
    background-color: #fff;
    background-image:
        linear-gradient(var(--field), var(--field)),
        linear-gradient(#d9d3c6, #d9d3c6),
        linear-gradient(#d9d3c6, #d9d3c6);
    background-repeat: no-repeat;
    background-size: 100% 0.42rem, 68% 0.28rem, 42% 0.28rem;
    background-position: 0 0, 0.28rem 0.7rem, 0.28rem 1.15rem;
}

.template-choices label:has(input[value="split"])::before {
    background-size: 100% 0.42rem, 1.05rem 1.05rem, 1.05rem 1.05rem;
    background-position: 0 0, 0.25rem 0.68rem, 1.5rem 0.68rem;
}

.template-choices label:has(input[value="board"])::before {
    background-size: 100% 0.42rem, 2.2rem 0.22rem, 2.2rem 0.22rem;
    background-position: 0 0, 0.28rem 0.72rem, 0.28rem 1.15rem;
}

.pub-site > .kicker {
    margin: 0;
    padding: 0.95rem 1.15rem 0.35rem;
    background: var(--site-one, var(--field));
    color: #fefdf9;
}

.pub-site > .kicker::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 3px;
    margin-top: 0.4rem;
    background: var(--site-two, var(--gold));
}

.pub-site > .kicker:not(:has(+ h1)):not(:has(+ .logo-row)):not(:has(+ .site-name)) {
    padding-bottom: 0.95rem;
    font-family: var(--condensed);
    font-size: clamp(2rem, 5vw, 2.8rem);
    letter-spacing: 0.02em;
    line-height: 1;
    text-transform: none;
    box-shadow: inset 0 -4px 0 var(--site-two, var(--gold));
}

.pub-site > .kicker + h1,
.pub-site > .kicker + .logo-row,
.pub-site > .kicker + .site-name {
    margin: 0;
    padding: 0.1rem 1.15rem 0.95rem;
    border-top: 0;
    background: var(--site-one, var(--field));
    color: #fefdf9;
    box-shadow: inset 0 -4px 0 var(--site-two, var(--gold));
}

.pub-site > .kicker + .logo-row h1,
.pub-site > .kicker + h1,
.pub-site > .kicker + .site-name {
    color: #fefdf9;
}

.pub-site > p,
.pub-site > h2,
.pub-site > .site-columns,
.pub-site > section {
    margin-left: 1.05rem;
    margin-right: 1.05rem;
}

.pub-site > .site-about {
    margin-top: 0.9rem;
}

.site-game {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
}

.site-game-when {
    color: var(--ink);
    font-size: 0.92rem;
    text-align: right;
}

.pub-board .site-game {
    margin: 0.4rem 0;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--line);
    border-left: 4px solid var(--site-two, var(--gold));
    border-radius: 0.7rem;
    background: #fff;
}

.site-columns section {
    padding: 0.75rem 0.85rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 0.9rem;
    background: var(--bg);
}

@media (min-width: 801px) {
    body:has(.nav-dropdown) .site-frame > .wrap {
        padding: 1.15rem 1.25rem 1.6rem;
    }

    body:has(.nav-dropdown) .site-frame > .nav-panel {
        box-shadow: 0 12px 30px rgba(3, 39, 91, 0.07);
    }

    .builder-desk {
        grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    }

    .site-preview {
        position: sticky;
        top: 0.75rem;
    }
}

@media (max-width: 800px) {
    body:has(.nav-dropdown) .site-frame > .wrap {
        width: auto;
        margin: 0.7rem 0.7rem 1.2rem;
    }

    .site-game {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.15rem;
    }

    .site-game-when {
        text-align: left;
    }
}

.desk-board {
    display: block;
}

.pub-site > .kicker a {
    color: #fefdf9;
    text-decoration-color: color-mix(in srgb, #fefdf9 65%, transparent);
}

@media (min-width: 1100px) {
    .desk-board {
        display: grid;
        grid-template-columns: minmax(0, 1.08fr) minmax(16rem, 0.92fr);
        gap: 0.2rem 1.35rem;
        align-items: start;
    }

    .desk-span {
        grid-column: 1 / -1;
    }

    .desk-side {
        padding-left: 1.15rem;
        border-left: 1px solid var(--line);
    }
}

@media print {
    body:has(.nav-dropdown) {
        background: #fff;
    }

    body:has(.nav-dropdown) .site-frame > .wrap {
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }
}

/* Signed-in work surface. Public pages do not use .nav-dropdown. */

body:has(.nav-dropdown) {
    background: #f4f6f8;
}

body:has(.nav-dropdown) .topbar {
    position: sticky;
    top: 0;
    z-index: 7;
}

body:has(.nav-dropdown) .site-frame > .wrap {
    width: 100%;
    max-width: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body:has(.nav-dropdown) .wrap > .kicker::after {
    display: none;
}

body:has(.nav-dropdown) .wrap h1,
body:has(.nav-dropdown) .wrap > .kicker + h1,
body:has(.nav-dropdown) .wrap .logo-row h1 {
    font-family: var(--sans);
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
}

body:has(.nav-dropdown) .wrap section > h2:not(.eyebrow),
body:has(.nav-dropdown) .wrap > h2:not(.eyebrow) {
    padding-bottom: 0;
    border-bottom: 0;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
}

body:has(.nav-dropdown) .wrap > .section-nav {
    gap: 0;
    margin: 0 0 1rem;
    padding: 0;
    overflow-x: auto;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    background: transparent;
}

body:has(.nav-dropdown) .wrap > .section-nav a {
    min-height: 2.4rem;
    margin-bottom: 0;
    padding: 0.4rem 0.85rem;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #667085;
    font-size: 0.9rem;
    font-weight: 600;
}

body:has(.nav-dropdown) .wrap > .section-nav a[aria-current="page"],
body:has(.nav-dropdown) .wrap > .section-nav a[aria-current="page"]:hover {
    border-bottom-color: var(--field);
    background: transparent;
    color: var(--field);
}

body:has(.nav-dropdown) .wrap section:not(.hero):not(.auth-card):not(.listed-game):not(.week-day),
body:has(.nav-dropdown) .team-block,
body:has(.nav-dropdown) .club-facts,
body:has(.nav-dropdown) .wrap > form.login {
    border-color: #e4e7ec;
    border-radius: 0.45rem;
    background: #fff;
}

body:has(.nav-dropdown) .wrap > form.login:not(.week-range):not(.repeat-bar):not(.site-builder) {
    max-width: 48rem;
}

body:has(.nav-dropdown) .wrap > form.login.site-builder {
    max-width: none;
    padding: 0;
    border: 0;
    background: transparent;
}

body:has(.nav-dropdown) p.page-tools {
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.85rem;
}

body:has(.nav-dropdown) p.page-tools a.button,
body:has(.nav-dropdown) p.page-tools button,
body:has(.nav-dropdown) .action-row .button {
    width: auto;
    min-height: 2.25rem;
    margin: 0;
    padding: 0.3rem 0.75rem;
    border-radius: 0.4rem;
    box-shadow: none;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

body:has(.nav-dropdown) p.page-tools a.button-quiet,
body:has(.nav-dropdown) p.page-tools button.button-quiet,
body:has(.nav-dropdown) .action-row a.button-quiet,
body:has(.nav-dropdown) .action-row button.button-quiet {
    border-color: #d0d5dd;
    background: #fff;
    color: #344054;
}

body:has(.nav-dropdown) .action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.5rem;
}

body:has(.nav-dropdown) .glance .action-row .button:last-child:nth-child(3) {
    grid-column: auto;
}

body:has(.nav-dropdown) .roster-sheet-wrap:not(:has(.member-sheet)),
body:has(.nav-dropdown) .standings-wrap,
body:has(.nav-dropdown) table.desk-table {
    border: 1px solid #e4e7ec;
    border-radius: 0.45rem;
    background: #fff;
}

body:has(.nav-dropdown) .roster-sheet:not(.member-sheet) th,
body:has(.nav-dropdown) table.standings th,
body:has(.nav-dropdown) table.desk-table th {
    background: #f8fafc;
    color: #667085;
    border-bottom: 1px solid #e4e7ec;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

body:has(.nav-dropdown) .roster-sheet:not(.member-sheet) td,
body:has(.nav-dropdown) table.standings td,
body:has(.nav-dropdown) table.desk-table td {
    padding: 0.45rem 0.65rem;
}

body:has(.nav-dropdown) .roster-sheet:not(.member-sheet) tbody tr:hover td,
body:has(.nav-dropdown) table.standings tbody tr:hover td,
body:has(.nav-dropdown) table.desk-table tbody tr:hover td {
    background: #f5f8fc;
}

body:has(.nav-dropdown) table.standings tbody tr:nth-child(even) td {
    background: #fff;
}

body:has(.nav-dropdown) table.standings tbody tr:nth-child(even):hover td {
    background: #f5f8fc;
}

body:has(.nav-dropdown) p.directory-card {
    margin: 0;
    padding: 0.55rem 0.75rem;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    background: #fff;
}

body:has(.nav-dropdown) p.directory-card:hover {
    border-color: #e4e7ec;
    background: #f5f8fc;
}

body:has(.nav-dropdown) p.directory-card a:not(.button) {
    font-size: 0.95rem;
    font-weight: 600;
}

body:has(.nav-dropdown) p.directory-card .logo-mark {
    width: 2rem;
    height: 2rem;
    border-radius: 0.35rem;
}

body:has(.nav-dropdown) .activity-row,
body:has(.nav-dropdown) p.club-game,
body:has(.nav-dropdown) p.facility-line {
    border-left-color: #e4e7ec;
    border-left-width: 1px;
    border-radius: 0.35rem;
}

body:has(.nav-dropdown) form.login.week-range,
body:has(.nav-dropdown) form.login.repeat-bar {
    align-items: center;
    border-color: #e4e7ec;
    border-radius: 0.45rem;
    background: #fff;
}

body:has(.nav-dropdown) form.login.week-range input,
body:has(.nav-dropdown) form.login.week-range select,
body:has(.nav-dropdown) form.login.week-range button,
body:has(.nav-dropdown) form.login.repeat-bar select,
body:has(.nav-dropdown) form.login.repeat-bar button {
    min-height: 2.25rem;
    border-radius: 0.4rem;
}

body:has(.nav-dropdown) .counts a {
    min-height: 0;
    border-radius: 0.4rem;
    border-top: 1px solid #e4e7ec;
    box-shadow: none;
    transform: none;
}

body:has(.nav-dropdown) .counts a strong {
    font-family: var(--sans);
    font-size: 1.35rem;
    line-height: 1.1;
}

body:has(.nav-dropdown) .logo-row .logo-mark {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.4rem;
}

body:has(.nav-dropdown) .desk-board {
    display: block;
}

@media (min-width: 1100px) {
    body:has(.nav-dropdown) .desk-board {
        display: grid;
        grid-template-columns: minmax(0, 1.5fr) minmax(17rem, 0.72fr);
        gap: 1rem;
        align-items: start;
    }
}

body:has(.nav-dropdown) .desk-side {
    padding-left: 0;
    border-left: 0;
}

body:has(.nav-dropdown) .site-footer {
    margin-top: 0;
    border-top: 1px solid #e4e7ec;
    background: #f4f6f8;
    color: #667085;
}

body:has(.nav-dropdown) .site-footer-inner {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}

body:has(.nav-dropdown) .site-footer-mark {
    color: var(--field);
    font-family: var(--sans);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: none;
}

body:has(.nav-dropdown) .site-footer-mark::after {
    display: none;
}

body:has(.nav-dropdown) .site-footer a {
    min-height: 0;
    padding: 0.15rem 0.35rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #344054;
}

@media (min-width: 801px) {
    body:has(.nav-dropdown) .topbar {
        flex-wrap: nowrap;
        height: 3.25rem;
        min-height: 3.25rem;
        padding: 0 1rem;
    }

    body:has(.nav-dropdown) .wordmark {
        height: 2.05rem;
        width: calc(2.05rem * 1461 / 572);
    }

    body:has(.nav-dropdown) .topbar .nav-shell.nav-dropdown {
        flex: 1 1 auto;
        justify-content: flex-end;
        min-width: 0;
        gap: 0.75rem;
    }

    body:has(.nav-dropdown) .org-switch select {
        min-height: 2rem;
        border-radius: 0.4rem;
    }

    body:has(.nav-dropdown) .site-frame {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
    }

    body:has(.nav-dropdown) .site-frame > .nav-panel,
    body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        position: sticky;
        top: 3.25rem;
        right: auto;
        z-index: 6;
        grid-column: auto;
        width: 100%;
        max-width: none;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 0.35rem;
        border: 0;
        border-bottom: 1px solid #e4e7ec;
        border-radius: 0;
        background: #fff;
        color: var(--ink);
        box-shadow: none;
        scrollbar-width: thin;
    }

    body:has(.nav-dropdown) .nav-panel > .site-nav,
    body:has(.nav-dropdown) .nav-panel > .site-nav.section-nav {
        display: flex;
        flex: 0 0 auto;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        width: max-content;
        max-width: none;
        margin: 0;
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body:has(.nav-dropdown) .nav-panel .program-menu,
    body:has(.nav-dropdown) .nav-panel .team-menu {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 0;
        border: 0;
        border-left: 1px solid #e4e7ec;
        border-radius: 0;
        background: transparent;
    }

    body:has(.nav-dropdown) .nav-panel .site-nav a,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav a,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav label.section-link {
        display: flex;
        align-items: center;
        width: auto;
        min-height: 2.55rem;
        margin: 0;
        padding: 0.4rem 0.7rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #344054;
        font-size: 0.9rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
        text-transform: none;
        white-space: nowrap;
    }

    body:has(.nav-dropdown) .nav-panel .site-nav a:hover,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav a:hover,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav label.section-link:hover {
        background: transparent;
        color: var(--field);
    }

    body:has(.nav-dropdown) .nav-panel .site-nav a[aria-current="page"],
    body:has(.nav-dropdown) .nav-panel .site-nav a[aria-current="page"]:hover,
    body:has(.nav-dropdown) .nav-panel .site-nav a[aria-current="page"]:not(.menu-title),
    body:has(.nav-dropdown) .nav-panel .site-nav a[aria-current="page"]:not(.menu-title):hover,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav a[aria-current="page"],
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav a[aria-current="page"]:hover,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav .section-pick:checked + label.section-link,
    body:has(.nav-dropdown) .nav-panel .site-nav.section-nav .section-pick:checked + label.section-link:hover {
        background: transparent;
        color: var(--field);
        box-shadow: inset 0 -2px 0 var(--field);
    }

    body:has(.nav-dropdown) .nav-panel .site-nav-label,
    body:has(.nav-dropdown) .nav-panel .site-nav .program-menu a.menu-title,
    body:has(.nav-dropdown) .nav-panel .program-menu a.menu-title,
    body:has(.nav-dropdown) .nav-panel .team-menu a.menu-title {
        display: flex;
        align-items: center;
        margin: 0;
        min-height: 2.55rem;
        padding: 0.4rem 0.7rem;
        background: transparent;
        color: #667085;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.2;
        text-transform: none;
        white-space: nowrap;
    }

    body:has(.nav-dropdown) .nav-panel .site-nav .program-menu a.menu-title[aria-current="page"],
    body:has(.nav-dropdown) .nav-panel .program-menu a.menu-title[aria-current="page"],
    body:has(.nav-dropdown) .nav-panel .team-menu a.menu-title[aria-current="page"] {
        background: transparent;
        color: var(--field);
        box-shadow: inset 0 -2px 0 var(--field);
    }

    body:has(.nav-dropdown) .nav-panel .nav-signout {
        position: sticky;
        right: 0;
        z-index: 1;
        display: flex;
        align-items: center;
        margin: 0 0 0 auto;
        padding-left: 0.45rem;
        background: #fff;
    }

    body:has(.nav-dropdown) .nav-panel .nav-signout button {
        width: auto;
        min-height: 2rem;
        margin: 0;
        padding: 0.2rem 0.7rem;
        border: 1px solid #d0d5dd;
        border-radius: 0.4rem;
        background: #fff;
        color: #344054;
        font-size: 0.82rem;
        font-weight: 700;
        box-shadow: none;
    }

    body:has(.nav-dropdown) .site-frame > .wrap {
        grid-column: auto;
        margin: 0;
        padding: 1.15rem 1.35rem 2rem;
    }

    body:has(.nav-dropdown) .wrap > .section-nav {
        position: sticky;
        top: 5.8rem;
        z-index: 5;
    }
}

@media (max-width: 800px) {
    body:has(.nav-dropdown) .site-frame > .wrap {
        width: auto;
        margin: 0;
        padding: 0.9rem 0.85rem 1.5rem;
    }

    body:has(.nav-dropdown) .topbar-links,
    body:has(.nav-dropdown) .topbar-quiet {
        display: none;
    }
}

body:has(.nav-dropdown) .topbar-links {
    display: flex;
    align-items: center;
    gap: 0.1rem;
    margin-right: auto;
}

body:has(.nav-dropdown) .topbar-links a,
body:has(.nav-dropdown) .topbar-quiet {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.2rem 0.55rem;
    border-radius: 0.35rem;
    color: #d7e4f5;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

body:has(.nav-dropdown) .topbar-links a:hover,
body:has(.nav-dropdown) .topbar-links a[aria-current="page"],
body:has(.nav-dropdown) .topbar-quiet:hover,
body:has(.nav-dropdown) .topbar-quiet[aria-current="page"] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

body:has(.nav-dropdown) .sheet-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem 1.25rem;
    margin: 0 0 0.85rem;
}

body:has(.nav-dropdown) .sheet-head .kicker {
    margin-bottom: 0.15rem;
}

body:has(.nav-dropdown) .sheet-head h1,
body:has(.nav-dropdown) .sheet-head .logo-row {
    margin: 0;
}

body:has(.nav-dropdown) .sheet-head .page-tools {
    margin: 0;
}

body:has(.nav-dropdown) .desk-main,
body:has(.nav-dropdown) .desk-side,
body:has(.nav-dropdown) .desk-span {
    background: #fff;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
}

body:has(.nav-dropdown) .desk-side,
body:has(.nav-dropdown) .desk-span {
    padding: 0.15rem 1rem 0.85rem;
}

body:has(.nav-dropdown) .club-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1.4rem;
    margin: 0;
    padding: 0.8rem 1rem;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0.55rem 0.55rem 0 0;
    background: #f8fafc;
}

body:has(.nav-dropdown) .club-facts p {
    margin: 0;
    font-size: 0.9rem;
}

body:has(.nav-dropdown) .desk-main form.login.week-range {
    flex-wrap: nowrap;
    gap: 0.55rem;
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    background: #fff;
}

body:has(.nav-dropdown) .desk-main form.login.week-range label {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
    color: #667085;
    font-size: 0.82rem;
    white-space: nowrap;
}

body:has(.nav-dropdown) .wrap form.login.week-range input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="color"]),
body:has(.nav-dropdown) .wrap form.login.week-range select {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    min-height: 2.35rem;
    margin: 0;
    border-radius: 0.4rem;
}

body:has(.nav-dropdown) .wrap form.login.week-range button {
    flex: 0 0 auto;
    width: auto;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.3rem 0.9rem;
    border-radius: 0.4rem;
    font-size: 0.9rem;
}

body:has(.nav-dropdown) .desk-main > h2,
body:has(.nav-dropdown) .desk-side > h2,
body:has(.nav-dropdown) .desk-span > h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #e4e7ec;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
}

body:has(.nav-dropdown) .desk-side > h2,
body:has(.nav-dropdown) .desk-span > h2 {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

body:has(.nav-dropdown) h2 a.button,
body:has(.nav-dropdown) a.button-quiet {
    width: auto;
    min-height: 2.15rem;
    margin: 0;
    padding: 0.28rem 0.7rem;
    border-color: #d0d5dd;
    border-radius: 0.4rem;
    background: #fff;
    color: #344054;
    box-shadow: none;
    font-family: var(--sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

body:has(.nav-dropdown) .desk-main p.directory-card {
    margin: 0;
    padding: 0.7rem 1rem;
    border: 0;
    border-bottom: 1px solid #eef2f6;
    border-radius: 0;
}

body:has(.nav-dropdown) .desk-main p.directory-card:last-child {
    border-bottom: 0;
}

body:has(.nav-dropdown) .desk-main p.directory-card a:not(.button) {
    color: var(--field);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

body:has(.nav-dropdown) .desk-main p.directory-card:hover {
    background: #f5f8fc;
}

body:has(.nav-dropdown) .desk-main p.directory-card:hover a:not(.button) {
    text-decoration: underline;
}

body:has(.nav-dropdown) p.player-hit {
    margin: 0;
    padding: 0.55rem 1rem;
    border-bottom: 1px solid #eef2f6;
    background: #fff;
    font-size: 0.92rem;
}

body:has(.nav-dropdown) p.upcoming-game {
    margin: 0;
    padding: 0.55rem 0;
    border: 0;
    border-bottom: 1px solid #eef2f6;
    border-radius: 0;
    background: transparent;
}

body:has(.nav-dropdown) .desk-main .empty-line,
body:has(.nav-dropdown) .desk-side .empty-line,
body:has(.nav-dropdown) .desk-span .empty-line {
    margin: 0.35rem 0;
}

@media (max-width: 800px) {
    body:has(.nav-dropdown) .desk-main form.login.week-range {
        flex-wrap: wrap;
    }
}

@media (min-width: 801px) {
    body:has(.nav-dropdown) .topbar .nav-shell.nav-dropdown {
        justify-content: flex-start;
    }

    body:has(.nav-dropdown) .org-switch label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    body:has(.nav-dropdown) .wrap > nav.section-nav {
        display: none;
    }

    body:has(.nav-dropdown) .nav-panel .site-nav a.nav-main,
    body:has(.nav-dropdown) .nav-panel .site-nav a.nav-org,
    body:has(.nav-dropdown) .nav-panel .site-nav-label {
        display: none;
    }

    body:has(.nav-dropdown) .nav-panel .program-menu,
    body:has(.nav-dropdown) .nav-panel .team-menu {
        display: none;
    }

    body:has(.nav-dropdown) .nav-panel .program-menu:has(a[aria-current="page"]) {
        display: flex;
    }

    body:has(.nav-dropdown) .nav-panel .team-menu:has(a:not(.menu-title)) {
        display: flex;
    }

    body:has(.nav-dropdown) .nav-panel .program-menu:has(.team-menu a:not(.menu-title)) > a:not(.menu-title) {
        display: none;
    }
}

body:has(.nav-dropdown) .sheet-title {
    min-width: 0;
}

body:has(.nav-dropdown) .sheet-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
}

body:has(.nav-dropdown) .sheet-actions .team-edit,
body:has(.nav-dropdown) .sheet-actions .page-tools {
    margin: 0;
}

body:has(.nav-dropdown) .sheet-actions .team-edit a {
    display: inline-flex;
    align-items: center;
    min-height: 2.15rem;
    padding: 0.28rem 0.7rem;
    border: 1px solid #d0d5dd;
    border-radius: 0.4rem;
    background: #fff;
    color: #344054;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

body:has(.nav-dropdown) .sheet-actions .team-edit a:hover {
    background: #f5f8fc;
}

body:has(.nav-dropdown) .team-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1.25rem;
    margin: 0 0 0.85rem;
    padding: 0.7rem 1rem;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
    background: #fff;
}

body:has(.nav-dropdown) .team-meta p {
    margin: 0;
    font-size: 0.9rem;
}

body:has(.nav-dropdown) .wrap section.this-season:not(.hero):not(.auth-card):not(.listed-game):not(.week-day) {
    margin: 0 0 0.85rem;
    padding: 0;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
    background: #fff;
    overflow: hidden;
}

body:has(.nav-dropdown) .this-season > h2 {
    margin: 0;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e4e7ec;
    color: var(--field);
    font-size: 0.95rem;
    letter-spacing: 0;
    text-transform: none;
}

body:has(.nav-dropdown) .this-season form.login.team-note-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    max-width: none;
    margin: 0;
    padding: 0.65rem 1rem;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    background: #fff;
}

body:has(.nav-dropdown) .this-season form.login.team-note-form label {
    flex: 0 0 auto;
    margin: 0;
    color: #667085;
    font-size: 0.82rem;
    white-space: nowrap;
}

body:has(.nav-dropdown) .wrap .this-season form.login.team-note-form textarea {
    flex: 1 1 14rem;
    width: auto;
    min-width: 0;
    min-height: 2.6rem;
    margin: 0;
    padding: 0.4rem 0.65rem;
    border-radius: 0.4rem;
}

body:has(.nav-dropdown) .this-season form.login.team-note-form .field-hint {
    flex: 1 1 100%;
    order: 1;
    margin: 0;
}

body:has(.nav-dropdown) .this-season form.login.team-note-form button {
    flex: 0 0 auto;
    width: auto;
    min-height: 2.35rem;
    margin: 0;
    padding: 0.3rem 0.75rem;
    border-radius: 0.4rem;
}

body:has(.nav-dropdown) .this-season > p {
    margin: 0;
    padding: 0.45rem 1rem;
    border-bottom: 1px solid #eef2f6;
}

body:has(.nav-dropdown) .this-season > p:last-child {
    border-bottom: 0;
}

body:has(.nav-dropdown) .this-season p.record-figure {
    border-top: 0;
    border-bottom: 1px solid #eef2f6;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.35;
}

body:has(.nav-dropdown) .this-season > p.page-tools {
    margin: 0;
}

body:has(.nav-dropdown) .wrap .team-overview .team-split > section:not(.hero):not(.auth-card):not(.listed-game):not(.week-day) {
    margin-top: 0;
    padding: 0;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
}

body:has(.nav-dropdown) .team-overview .team-split .team-pane-head {
    margin: 0;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid #e4e7ec;
    background: #f8fafc;
}

body:has(.nav-dropdown) .team-overview .team-pane-head h2,
body:has(.nav-dropdown) .team-overview > h2.eyebrow {
    margin: 0;
    color: var(--field);
    font-size: 0.95rem;
    letter-spacing: 0;
    text-transform: none;
}

body:has(.nav-dropdown) .team-overview > h2.eyebrow {
    margin: 0.95rem 0 0.45rem;
}

body:has(.nav-dropdown) .team-overview .team-pane-head a {
    min-height: 2.05rem;
    padding: 0.2rem 0.65rem;
    border: 1px solid #d0d5dd;
    border-radius: 0.4rem;
    background: #fff;
    color: #344054;
    font-size: 0.82rem;
}

body:has(.nav-dropdown) .team-overview .team-pane-head a:hover {
    border-color: #d0d5dd;
    background: #f5f8fc;
}

body:has(.nav-dropdown) .team-overview .roster-board .roster-board-count,
body:has(.nav-dropdown) .roster-sheet-count {
    letter-spacing: 0;
    text-transform: none;
    font-size: 0.82rem;
}

body:has(.nav-dropdown) .team-overview .roster-board .roster-board-list {
    gap: 0;
    margin: 0;
}

body:has(.nav-dropdown) .team-overview .roster-board .team-lines li {
    padding: 0.45rem 0.9rem;
    border: 0;
    border-bottom: 1px solid #eef2f6;
    border-radius: 0;
    background: #fff;
}

body:has(.nav-dropdown) .team-overview .roster-board .team-lines li:last-child {
    border-bottom: 0;
}

body:has(.nav-dropdown) .team-overview .roster-board .team-lines li:hover,
body:has(.nav-dropdown) .team-overview .roster-board .team-lines li:focus-within {
    border-color: #eef2f6;
    border-left-color: transparent;
    background: #f5f8fc;
}

body:has(.nav-dropdown) .team-overview .roster-level {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #667085;
    font-weight: 600;
}

body:has(.nav-dropdown) .team-overview .roster-board .roster-empty,
body:has(.nav-dropdown) .team-overview .team-split > section:not(.roster-board) > p {
    margin: 0;
    padding: 0.75rem 0.9rem;
}

body:has(.nav-dropdown) .team-overview .roster-board .roster-empty {
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: left;
}

body:has(.nav-dropdown) .team-overview .team-split > section:not(.roster-board) .team-lines {
    margin: 0;
}

body:has(.nav-dropdown) .team-overview .team-split > section:not(.roster-board) .team-lines li {
    padding: 0.5rem 0.9rem;
    border-top: 0;
    border-bottom: 1px solid #eef2f6;
}

body:has(.nav-dropdown) .team-overview .team-split > section:not(.roster-board) .team-lines li:hover {
    background: #f5f8fc;
}

body:has(.nav-dropdown) .jump a {
    border: 1px solid #d0d5dd;
    border-radius: 0.4rem;
    background: #fff;
    font-size: 0.85rem;
}

body:has(.nav-dropdown) .jump a:hover {
    border-color: #d0d5dd;
    background: #f5f8fc;
}

body:has(.nav-dropdown) .jump a[aria-current="page"],
body:has(.nav-dropdown) .jump a[aria-current="page"]:hover {
    border-color: var(--field);
    background: var(--field);
    color: #fff;
}

body:has(.nav-dropdown) .directory-sheet {
    background: #fff;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
    overflow: hidden;
}

body:has(.nav-dropdown) .directory-sheet > h2 {
    margin: 0;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e4e7ec;
    background: #f8fafc;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
}

body:has(.nav-dropdown) p.page-tools.sheet-toolbar,
body:has(.nav-dropdown) p.page-tools.week-pager {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #e4e7ec;
    border-radius: 0.55rem;
    background: #fff;
}

body:has(.nav-dropdown) .wrap section.team-block:not(.hero):not(.auth-card):not(.listed-game):not(.week-day) {
    margin-top: 0.65rem;
    padding: 0.75rem 0.95rem 0.85rem;
    border-radius: 0.55rem;
    box-shadow: none;
}

body:has(.nav-dropdown) .team-block > h2 {
    margin: 0 0 0.4rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #e4e7ec;
    font-family: var(--sans);
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.3;
}

body:has(.nav-dropdown) .roster-sheet-card {
    margin: 0.65rem 0 0.85rem;
    padding: 0;
    border: 1px solid #e4e7ec;
    border-top-width: 1px;
    border-radius: 0.55rem;
    box-shadow: none;
    overflow: hidden;
}

body:has(.nav-dropdown) .roster-sheet-card .roster-sheet-bar {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid #e4e7ec;
    background: #f8fafc;
}

body:has(.nav-dropdown) .roster-sheet-card .roster-sheet-wrap {
    border: 0;
    border-radius: 0;
}

body:has(.nav-dropdown) table.roster-sheet:not(.member-sheet) th {
    background: #f8fafc;
    color: #667085;
    font-family: var(--sans);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}

body:has(.nav-dropdown) table.roster-sheet:not(.member-sheet) th:first-child,
body:has(.nav-dropdown) table.roster-sheet:not(.member-sheet) th:last-child {
    border-radius: 0;
}

body:has(.nav-dropdown) table.roster-sheet:not(.member-sheet) tbody tr:nth-child(even) td {
    background: #fff;
}

body:has(.nav-dropdown) table.roster-sheet:not(.member-sheet) tbody tr:hover td {
    background: #f5f8fc;
}

body:has(.nav-dropdown) form.login.week-range label {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
    color: #667085;
    font-size: 0.82rem;
    white-space: nowrap;
}

@media (max-width: 800px) {
    body:has(.nav-dropdown) form.login.week-range {
        flex-wrap: wrap;
    }
}

body:has(.nav-dropdown) .topbar {
    flex-wrap: nowrap;
    align-items: center;
    min-height: 3.25rem;
    padding: 0 0.75rem;
}

body:has(.nav-dropdown) .topbar .nav-shell.nav-dropdown {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    gap: 0.35rem;
    margin-left: 0.5rem;
    overflow-x: auto;
    scrollbar-width: thin;
}

body:has(.nav-dropdown) .topbar .nav-dropdown .nav-toggle,
body:has(.nav-dropdown) .topbar .nav-dropdown .nav-check {
    display: none;
}

body:has(.nav-dropdown) .org-switch {
    flex: 0 1 14rem;
    width: auto;
    min-width: 7.5rem;
}

body:has(.nav-dropdown) .org-switch label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body:has(.nav-dropdown) .org-switch select {
    width: 100%;
    max-width: 14rem;
    min-width: 0;
    min-height: 2rem;
}

body:has(.nav-dropdown) .site-frame {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
}

body:has(.nav-dropdown) .site-frame > .nav-panel,
body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    position: sticky;
    top: 3.25rem;
    right: auto;
    z-index: 6;
    grid-column: auto;
    width: 100%;
    max-width: none;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0.35rem;
    border: 0;
    border-bottom: 1px solid #e4e7ec;
    border-radius: 0;
    background: #fff;
    color: var(--ink);
    box-shadow: none;
    scrollbar-width: thin;
}

body:has(.nav-dropdown) .nav-panel > .site-nav,
body:has(.nav-dropdown) .nav-panel > .site-nav.section-nav {
    display: flex;
    flex: 0 0 auto;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    width: max-content;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body:has(.nav-dropdown) .nav-panel .site-nav a.nav-main,
body:has(.nav-dropdown) .nav-panel .site-nav a.nav-org,
body:has(.nav-dropdown) .nav-panel .site-nav-label,
body:has(.nav-dropdown) .nav-panel .site-nav:has(.program-menu a[aria-current="page"]) > a.nav-account {
    display: none;
}

body:has(.nav-dropdown) .nav-panel .program-menu,
body:has(.nav-dropdown) .nav-panel .team-menu {
    display: none;
}

body:has(.nav-dropdown) .nav-panel .program-menu:has(a[aria-current="page"]) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body:has(.nav-dropdown) .nav-panel .team-menu:has(a:not(.menu-title)) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body:has(.nav-dropdown) .nav-panel .program-menu:has(.team-menu a:not(.menu-title)) > a {
    display: none;
}

body:has(.nav-dropdown) .nav-panel .site-nav a,
body:has(.nav-dropdown) .nav-panel .program-menu > a.menu-title,
body:has(.nav-dropdown) .nav-panel .team-menu a.menu-title {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 2.55rem;
    margin: 0;
    padding: 0.4rem 0.75rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #344054;
    font-family: var(--sans);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
}

body:has(.nav-dropdown) .nav-panel .site-nav a[aria-current="page"],
body:has(.nav-dropdown) .nav-panel .program-menu > a.menu-title[aria-current="page"],
body:has(.nav-dropdown) .nav-panel .team-menu a.menu-title[aria-current="page"] {
    background: transparent;
    color: var(--field);
    box-shadow: inset 0 -2px 0 var(--field);
}

body:has(.nav-dropdown) .nav-panel .nav-signout {
    position: sticky;
    right: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    margin: 0 0 0 auto;
    padding-left: 0.45rem;
    background: #fff;
}

body:has(.nav-dropdown) .nav-panel .nav-signout button {
    width: auto;
    min-height: 2rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
}

body:has(.nav-dropdown) .wrap > nav.section-nav {
    display: none;
}

body.run-app {
    background: #e8edf2;
    color: var(--ink);
}

body.run-app .run-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.25rem;
    padding: 0.4rem 0.75rem;
    background: #002456;
    color: #fefdf9;
}

body.run-app .run-top .wordmark img {
    display: block;
    width: auto;
    height: 2.05rem;
}

body.run-app .run-league,
body.run-app .run-user {
    margin: 0;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
}

body.run-app .run-user {
    margin-left: auto;
    color: #d7deea;
    font-weight: 600;
}

body.run-app .run-signout {
    margin: 0;
}

body.run-app .run-signout button {
    width: auto;
    min-height: 2rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
    border: 1px solid rgba(254, 253, 249, 0.4);
    border-radius: 0.35rem;
    background: transparent;
    color: #fefdf9;
    box-shadow: none;
    font-size: 0.9rem;
    font-weight: 700;
}

body.run-app .run-row {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 5;
    gap: 0;
    overflow-x: auto;
    background: #fff;
    border-bottom: 1px solid #e4e7ec;
}

body.run-app .run-row a {
    display: flex;
    align-items: center;
    min-height: 2.55rem;
    padding: 0.4rem 0.85rem;
    color: #344054;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

body.run-app .run-row a[aria-current="page"] {
    color: var(--field);
    box-shadow: inset 0 -2px 0 var(--field);
}

body.run-app .run-main {
    width: 100%;
    max-width: none;
    padding: 1rem 1.25rem 2.5rem;
}

body.run-app .run-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
}

body.run-app .run-head h1 {
    margin: 0.1rem 0 0.2rem;
    font-family: var(--condensed);
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
}

body.run-app .run-range,
body.run-app .run-summary {
    margin: 0.2rem 0 0;
}

body.run-app .run-glance {
    margin: 0.45rem 0 0.15rem;
    color: #03275b;
    font-family: var(--condensed);
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.15;
}

body.run-app details.run-change {
    margin: 0.15rem 0 0.45rem;
}

body.run-app details.run-change > summary {
    width: fit-content;
    color: #03275b;
    font-weight: 700;
    cursor: pointer;
}

body.run-app details.run-change > summary::-webkit-details-marker {
    color: #03275b;
}

body.run-app .run-pager {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
}

body.run-app .run-pager a.button {
    width: auto;
    min-height: 2.15rem;
    margin: 0;
    padding: 0.28rem 0.7rem;
    border: 1px solid #d0d5dd;
    border-radius: 0.35rem;
    background: #fff;
    color: #344054;
    box-shadow: none;
    font-weight: 700;
    text-decoration: none;
}

body.run-app .run-sheet,
body.run-app .run-conflicts {
    margin-top: 0.9rem;
    padding: 0.75rem 1rem 1rem;
    background: #fff;
    border: 1px solid #e4e7ec;
}

body.run-app .run-conflicts {
    background: #fff7ed;
    border-color: #f0c9a0;
}

body.run-app .run-sheet h2,
body.run-app .run-conflicts h2 {
    margin: 0 0 0.55rem;
    font-family: var(--sans);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

body.run-app .run-sheet h3 {
    margin: 0.85rem 0 0.25rem;
    font-family: var(--sans);
    font-size: 0.95rem;
    font-weight: 700;
}

body.run-app .run-game,
body.run-app .run-team {
    margin: 0;
    padding: 0.35rem 0;
    border-top: 1px solid #eef1f4;
    background: transparent;
}

body.run-app .run-team {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
}

body.run-app .run-team p {
    margin: 0;
}

body.run-app .run-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin: 0.7rem 0 0;
}

body.run-app .run-filter a {
    color: #344054;
    font-weight: 700;
    text-decoration: none;
}

body.run-app .run-filter a[aria-current="page"] {
    color: var(--field);
    box-shadow: inset 0 -2px 0 var(--field);
}

body.run-app .run-division,
body.run-app .run-assign {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0.35rem 0 0.8rem;
}

body.run-app .run-assign {
    margin: 0;
}

body.run-app .run-division label,
body.run-app .run-assign label {
    font-size: 0.85rem;
    font-weight: 700;
}

body.run-app .run-division input:not([type=checkbox]):not([type=hidden]),
body.run-app .run-division select,
body.run-app .run-assign select {
    width: auto;
    min-width: 8rem;
    max-width: 16rem;
    min-height: 2.15rem;
    margin: 0;
    padding: 0.2rem 0.5rem;
    border: 1px solid #d0d5dd;
    border-radius: 0.35rem;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

body.run-app .run-division button,
body.run-app .run-assign button {
    width: auto;
    min-height: 2.15rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
    border-radius: 0.35rem;
}

@media (max-width: 800px) {
    body.run-app .run-user {
        margin-left: 0;
    }

    body.run-app .run-main {
        padding: 0.75rem;
    }
}

@media print {
    body:has(.lineup-card) .site-frame,
    body:has(.schedule-card) .site-frame,
    body:has(.availability-card) .site-frame,
    body:has(.parent-card) .site-frame,
    body:has(.snapshot-card) .site-frame,
    body:has(.week-board) .site-frame,
    body:has(.nav-dropdown) .site-frame {
        display: block;
    }

    body:has(.nav-dropdown) {
        background: #fff;
    }

    body:has(.nav-dropdown) .site-frame > .wrap {
        margin: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    body:has(.nav-dropdown) .site-frame > .nav-panel,
    body:has(.nav-dropdown .nav-check:checked) .site-frame > .nav-panel {
        display: none;
    }

    body.run-app {
        background: #fff;
    }

    body.run-app .run-top,
    body.run-app .run-row,
    body.run-app .run-pager {
        display: none;
    }
}

.pub-pro,
.pub-spotlight {
    border-top: 4px solid var(--site-one, #03275b);
}

.brand-banner {
    display: block;
    width: 100%;
    max-height: 16rem;
    margin: 0 0 1rem;
    object-fit: cover;
    border-radius: 0.6rem;
}

.brand-extra {
    margin-top: 1.25rem;
}

.brand-photo {
    width: 8rem;
    height: 8rem;
    margin: 0.25rem 0.35rem 0.25rem 0;
    object-fit: cover;
    border-radius: 0.4rem;
}

.preview-size {
    display: flex;
    gap: 0.4rem;
    margin: 0 0 0.5rem;
}

.preview-size button {
    width: auto;
    min-height: 2.15rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
}

.site-preview.preview-phone {
    max-width: 390px;
}

.pub-site.font-source,
.pub-site.font-source h1,
.pub-site.font-source h2,
.pub-site.font-source h3,
.pub-site.font-source p {
    font-family: "Source Sans 3", "Barlow", sans-serif;
}

.pub-site.font-libre,
.pub-site.font-libre h1,
.pub-site.font-libre h2,
.pub-site.font-libre h3,
.pub-site.font-libre p {
    font-family: "Libre Franklin", "Barlow", sans-serif;
}

.bracket-game {
    margin: 0 0 1rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--line);
    border-left: 4px solid var(--site-one, #03275b);
}

/* Front page. The headline sits on the page. One action is primary. */

body:has(.home-stage):not(:has(.nav-dropdown)) .wrap {
    max-width: 76rem;
    padding-top: 1.75rem;
}

.topbar,
body.run-app .run-top {
    box-shadow: inset 0 -3px 0 #b8924b;
}

.home-stage {
    display: grid;
    gap: 2.4rem;
}

.home-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
    align-items: start;
    min-width: 0;
}

.home-copy .brand {
    margin-bottom: 0.7rem;
    color: #8a6230;
}

.home-copy,
.home-start,
.home-jobs,
.home-samples {
    min-width: 0;
    max-width: 100%;
}

.home-copy h1 {
    max-width: min(11ch, 100%);
    margin-bottom: 1rem;
    padding-bottom: 0.7rem;
    border-bottom: 4px solid #b8924b;
    color: #03275b;
    font-size: clamp(2.7rem, 6.4vw, 4.8rem);
    line-height: 0.92;
}

.home-copy p {
    max-width: 36rem;
    color: #243e66;
    font-size: 1.12rem;
}

.home-copy p:last-child {
    margin-bottom: 0;
    font-weight: 600;
}

.home-kicker {
    margin: 0 0 0.7rem;
    color: #8a6230;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    box-shadow: none;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
}

.home-action:focus-visible {
    outline: 3px solid #b8924b;
    outline-offset: 3px;
}

.home-action-name {
    font-family: var(--condensed);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 0.95;
    color: var(--field);
}

.home-action-note {
    color: #3d5278;
    font-size: 0.95rem;
    font-weight: 500;
}

.home-action-primary {
    margin-bottom: 0.35rem;
    padding: 1rem 1.1rem;
    border-radius: 0.75rem;
    background: #03275b;
    color: #fefdf9;
}

.home-action-primary .home-action-name,
.home-action-primary .home-action-note {
    color: #fefdf9;
}

.home-action-primary .home-action-note {
    color: rgba(254, 253, 249, 0.82);
}

.home-action-primary:hover {
    background: #021f49;
}

.home-action-list {
    display: grid;
}

.home-action-list .home-action {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.35rem 1.1rem;
    align-items: baseline;
    padding: 0.72rem 0;
    border-bottom: 1px solid var(--line);
}

.home-action-list .home-action:hover .home-action-name {
    color: #8a6230;
}

.home-signed-in {
    margin: 0;
    padding: 0.72rem 0;
    border-bottom: 1px solid var(--line);
}

.home-jobs-grid {
    display: grid;
    border-top: 1px solid var(--line);
}

.home-jobs article {
    margin: 0;
    padding: 1.05rem 0 0;
    background: transparent;
}

.home-jobs h2 {
    font-family: var(--condensed);
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #03275b;
}

.home-samples {
    padding-top: 0.2rem;
    border-top: 1px solid var(--line);
    background: transparent;
}

.home-samples .choices {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1.35rem;
    margin-top: 0.15rem;
}

.home-samples .choices a,
.home-samples .choices a.choice-sample,
.home-samples .choices a:not(.choice-sample) {
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0.15rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #03275b;
    box-shadow: none;
    font-size: 1.02rem;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    text-decoration-color: #b8924b;
}

.home-samples .choices a:hover,
.home-samples .choices a.choice-sample:hover,
.home-samples .choices a:not(.choice-sample):hover {
    border: 0;
    background: transparent;
    color: #8a6230;
}

body.run-app .run-row a[aria-current="page"] {
    box-shadow: inset 0 -3px 0 #b8924b;
}

@media (max-width: 800px) {
    .home-copy h1 {
        max-width: 100%;
        font-size: 2.45rem;
        overflow-wrap: anywhere;
    }

    .home-copy p,
    .home-action-note {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .home-action-list .home-action {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

    .home-stage,
    .home-intro,
    .home-copy,
    .home-start,
    .home-action,
    .home-action-list {
        min-width: 0;
        max-width: 100%;
    }
}

@media (min-width: 801px) {
    .home-intro {
        grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.85fr);
        gap: 3rem;
        align-items: end;
    }

    .home-jobs-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .home-jobs article {
        padding-right: 1.25rem;
    }

    .home-jobs article + article {
        padding-left: 1.25rem;
        border-left: 1px solid var(--line);
    }

    .topbar .public-nav {
        gap: 0.15rem;
    }

    .topbar .public-nav a {
        display: inline-flex;
        align-items: center;
        min-height: 2.2rem;
        padding: 0.1rem 0.75rem;
        border-radius: 999px;
    }

    .topbar .public-nav a:hover,
    .topbar .public-nav a[aria-current="page"] {
        background: rgba(184, 146, 75, 0.18);
        color: #f3e2c0;
    }
}

body:has(.league-list):not(:has(.nav-dropdown)) .wrap {
    max-width: 48rem;
}

.league-intro {
    max-width: 36rem;
    margin-top: 0.15rem;
}

.league-find {
    display: grid;
    gap: 0.45rem;
    margin: 0.2rem 0 1rem;
}

.league-find label {
    font-size: 0.92rem;
    font-weight: 700;
}

.league-find button {
    width: auto;
    min-width: 8rem;
    justify-self: start;
}

.league-count {
    margin: 0 0 0.75rem;
    color: #3d5278;
    font-weight: 700;
}

.league-empty,
.league-empty-note {
    margin: 0;
    padding: 0.95rem 1.05rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
}

.league-empty-note {
    margin-top: 0.65rem;
    border-top: 4px solid #b8924b;
    color: #3d5278;
}

.league-card {
    margin: 0 0 0.75rem;
    padding: 1rem 1.05rem 0.2rem;
    border: 1px solid var(--line);
    border-top: 4px solid var(--field);
    border-radius: 1rem;
    background: #fff;
}

.league-card h2 {
    margin: 0 0 0.4rem;
    font-family: var(--condensed);
    font-size: 1.85rem;
    font-weight: 700;
    line-height: 1;
}

.league-card h2 a {
    color: var(--field);
    text-decoration: none;
}

.league-card h2 a:hover {
    color: #8a6230;
}

.league-card p {
    margin: 0 0 0.5rem;
}

.league-card p:last-child {
    margin-bottom: 0.85rem;
}
