.current-roster { padding: 72px 5vw; background: #eef3f7; color: var(--navy); scroll-margin-top: 86px; }
.current-roster__panel { width: 100%; max-width: 1440px; margin: auto; container-type: inline-size; border: 1px solid #aebdcb; background: var(--white); box-shadow: 10px 10px 0 rgba(8,26,51,.12); }
.current-roster__heading { padding: 30px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .38fr); gap: 34px; border-top: 5px solid var(--red); background: #f8fafb; }
.current-roster__eyebrow { margin: 0 0 12px; color: #a41923; font: 900 10px var(--display); letter-spacing: .13em; }
.current-roster__heading h2 { margin: 0; color: var(--navy); font: 900 clamp(34px, 7cqi, 56px)/1.04 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.current-roster__heading h3 { margin: 12px 0 0; color: #a41923; font: 900 22px/1 var(--display); text-transform: uppercase; }
.current-roster__heading p:not(.current-roster__eyebrow):not(.current-roster__provenance) { max-width: 760px; margin: 16px 0 0; color: #43566d; font-size: 13px; line-height: 1.55; }
.current-roster__provenance { align-self: end; margin: 0; display: grid; gap: 8px; color: #43566d; font-size: 11px; line-height: 1.45; }
.current-roster__provenance span { padding-top: 8px; border-top: 1px solid #cbd6df; }
.current-roster__provenance a { color: #063e78; font-weight: 900; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.current-roster__controls { padding: 18px 30px; display: grid; grid-template-columns: minmax(180px, 1fr) minmax(130px, .42fr) minmax(170px, .52fr); gap: 12px; border-top: 1px solid #cbd6df; border-bottom: 1px solid #cbd6df; background: #dfe8ef; }
.current-roster__controls label { display: grid; gap: 7px; color: #263d58; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.current-roster__controls input, .current-roster__controls select { min-width: 0; min-height: 45px; padding: 0 12px; border: 1px solid #8799aa; border-radius: 0; background: var(--white); color: var(--navy); font: 700 13px var(--body); }
.current-roster__glossary { padding: 14px 30px; border-bottom: 1px solid #cbd6df; background: #f5f8fa; color: #263d58; font-size: 11px; line-height: 1.55; }
.current-roster__glossary summary { cursor: pointer; color: var(--navy); font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.current-roster__glossary p { max-width: 900px; margin: 10px 0 0; }
.current-roster__result { margin: 0; padding: 14px 30px; color: #43566d; font: 900 10px var(--display); letter-spacing: .1em; text-transform: uppercase; }
.current-roster__list { border-top: 1px solid #cbd6df; }
.current-roster__player { min-height: 64px; padding: 11px 30px; display: grid; grid-template-columns: 100px minmax(0, 1fr) minmax(210px, .5fr); gap: 18px; align-items: center; border-bottom: 1px solid #d5dfe7; background: var(--white); }
.current-roster__player:nth-child(even) { background: #f5f8fa; }
.current-roster__number { color: #a41923; font: 900 18px var(--display); }
.current-roster__player strong { display: block; color: var(--navy); font: 900 20px/1 var(--display); text-transform: uppercase; overflow-wrap: anywhere; }
.current-roster__player div span { display: block; margin-top: 4px; color: #43566d; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.current-roster__status { color: #263d58; font-size: 10px; line-height: 1.45; text-align: right; overflow-wrap: anywhere; }
.current-roster__empty { margin: 0; padding: 28px 30px; color: #43566d; }
.current-roster__empty + button, .current-roster__list button { min-height: 40px; margin: 0 30px 24px; padding: 0 14px; border: 1px solid #536b83; background: transparent; color: var(--navy); font: 900 10px var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.current-roster__more { width: calc(100% - 60px); min-height: 48px; margin: 18px 30px 30px; border: 1px solid var(--navy); background: var(--navy); color: var(--white); font: 900 11px var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.current-roster__more:hover, .current-roster__more:focus-visible, .current-roster__list button:hover, .current-roster__list button:focus-visible { background: var(--cyan); color: var(--navy); }
.current-roster__error { max-width: 1440px; margin: auto; padding: 28px 30px; border-left: 5px solid var(--red); background: var(--white); color: var(--navy); }
.current-roster__error strong { font: 900 24px var(--display); text-transform: uppercase; }
.current-roster__error p { max-width: 700px; color: #43566d; line-height: 1.5; }
.current-roster__error button { min-height: 44px; padding: 0 16px; border: 1px solid var(--navy); background: var(--navy); color: var(--white); font: 900 11px var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.current-roster__error button:hover, .current-roster__error button:focus-visible { background: var(--cyan); color: var(--navy); }
@container (max-width: 700px) { .current-roster__heading, .current-roster__controls { grid-template-columns: minmax(0, 1fr); } .current-roster__player { grid-template-columns: 74px minmax(0, 1fr); gap: 10px; } .current-roster__status { grid-column: 2; text-align: left; } }
@media (max-width: 680px) { .current-roster { padding: 48px 18px; } .current-roster__heading, .current-roster__controls { padding-left: 18px; padding-right: 18px; grid-template-columns: minmax(0, 1fr); } .current-roster__glossary, .current-roster__result { padding-left: 18px; padding-right: 18px; } .current-roster__player { padding: 13px 18px; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; } .current-roster__status { grid-column: 2; text-align: left; } .current-roster__number { font-size: 16px; } .current-roster__more { width: calc(100% - 36px); margin-left: 18px; margin-right: 18px; } .current-roster__list button { margin-left: 18px; } }
