.roster-board-section{--roster-qb:#255840;--roster-qb-border:#4cffd9;--roster-rb:#102f4a;--roster-rb-border:#35b7ff;--roster-wr:#641f52;--roster-wr-border:#ff4fa3;--roster-te:#452d73;--roster-te-border:#b58cff}.roster-board-section>.shell{width:calc(100% - 2rem);max-width:160rem}body.roster-board-modal-open{overflow:hidden}.roster-board-backdrop{z-index:50;background:#03070ed1;position:fixed;inset:0}.roster-board-backdrop[hidden]{display:none}.roster-board-heading{align-items:end}.roster-board-heading h1{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(3rem,7vw,6rem);line-height:.88}.roster-board-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-block:1px solid var(--color-border);display:flex}.roster-board-toolbar__status,.roster-board-help,.roster-board-noscript{color:var(--color-muted);margin:0;font-size:.82rem;font-weight:750}.roster-board-toolbar__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.roster-board-toolbar .button{min-height:2.75rem;padding-inline:var(--space-4)}.roster-board-scroll{margin-top:var(--space-6);padding:0 0 var(--space-4);scrollbar-color:var(--color-border-strong) transparent;overscroll-behavior-inline:contain;overflow-x:auto}.roster-board{gap:var(--space-2);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;min-width:0;display:grid}.roster-column{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#0b1018f0;min-width:0;overflow:hidden}.roster-column__header{z-index:2;align-items:center;gap:var(--space-2);min-height:4.7rem;padding:var(--space-2);border-bottom:1px solid var(--color-border-strong);background:linear-gradient(135deg,#233040f2,#131c28f2);display:flex;position:sticky;top:0}.roster-column__header-content{flex:auto;min-width:0}.roster-column__actions{z-index:3;top:var(--space-1);right:var(--space-1);gap:.15rem;display:flex;position:absolute}.roster-column__actions button{width:1.35rem;height:1.35rem;color:var(--color-text);cursor:pointer;background:#03080ead;border:1px solid #ffffff61;border-radius:.4rem;flex:none;place-items:center;padding:0;display:grid}.roster-column__actions button:hover,.roster-column__actions button[aria-pressed=true]{border-color:var(--color-focus);color:var(--color-focus);background:#03080eeb}.roster-column__actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:.95rem;height:.95rem}.roster-column__actions circle{fill:currentColor;stroke:none}@media (pointer:coarse){.roster-column__actions button{width:2.75rem;height:2.75rem}.roster-column__actions svg{width:1.25rem;height:1.25rem}}.roster-column.is-dimmed .roster-column__header>img,.roster-column.is-dimmed .roster-column__header-content,.roster-column.is-dimmed .roster-column__groups{opacity:.28}.roster-column__header img{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);object-fit:cover;flex:none;width:2.65rem;height:2.65rem}.roster-column__header h2{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:.84rem;font-weight:900;line-height:1.15}.roster-column__eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;font-size:.6rem;font-weight:900;line-height:1.1;display:block}.roster-column__groups{gap:var(--space-1);padding:var(--space-1);display:grid}.roster-position-group{min-width:0;padding:var(--space-1);border:1px solid var(--position-border);border-radius:var(--radius-sm);background:var(--position-background);transition:background-color .12s,box-shadow .12s}.roster-position-group--qb{--position-background:#255840e0;--position-border:var(--roster-qb-border)}.roster-position-group--rb{--position-background:#102f4aeb;--position-border:var(--roster-rb-border)}.roster-position-group--wr{--position-background:#641f52e6;--position-border:var(--roster-wr-border)}.roster-position-group--te{--position-background:#452d73eb;--position-border:var(--roster-te-border)}.roster-position-group.is-drop-target{box-shadow:0 0 0 3px var(--color-focus), 0 0 1.4rem #fff0a84d}.roster-position-group.is-invalid-target{opacity:.55}.roster-position-group h3{margin:0 0 var(--space-1);color:#ffffffd6;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;line-height:1}.roster-position-group ul{gap:var(--space-1);min-height:.65rem;margin:0;padding:0;list-style:none;display:grid}.roster-card-item{min-width:0}.roster-card{align-items:center;gap:var(--space-2);width:100%;min-height:3.5rem;padding:var(--space-1);color:var(--color-text);cursor:grab;text-align:left;touch-action:none;user-select:none;background:#03080e61;border:1px solid #ffffff38;border-radius:.35rem;grid-template-columns:2.5rem minmax(0,1fr) auto;display:grid}.roster-card:hover{border-color:var(--color-focus);background:#03080e94}.roster-card:active,.roster-card.is-dragging{cursor:grabbing}.roster-card.is-dragging{opacity:.35}.roster-card img{object-fit:cover;border:1px solid #ffffff59;border-radius:50%;width:2.5rem;height:2.5rem}.roster-card__body{gap:.1rem;min-width:0;display:grid}.roster-card__body strong,.roster-card__body span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-card__body strong{font-size:.72rem;line-height:1.2}.roster-card__body span{color:#ffffffad;font-size:.57rem;font-weight:700;line-height:1.1}.roster-card__grip{color:#ffffff73;font-size:1rem;line-height:1}.roster-card-placeholder{border:1px dashed var(--color-focus);background:#fff0a81f;border-radius:.35rem;min-height:3.5rem}.roster-column.is-expanded{z-index:60;border-color:var(--color-focus);width:min(42rem,100vw - 2rem);max-height:calc(100dvh - 2rem);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 1rem 4rem #000000a6}.roster-column.is-expanded .roster-column__header{min-height:5.5rem}.roster-column.is-expanded .roster-column__header-content{padding-right:6rem}.roster-column.is-expanded .roster-card{grid-template-columns:2.75rem minmax(0,1fr) auto;min-height:4rem}.roster-column.is-expanded .roster-card img{width:2.75rem;height:2.75rem}.roster-column.is-expanded .roster-card__grip{display:inline}.roster-column.is-expanded .roster-card__body strong{font-size:.86rem}.roster-column.is-expanded .roster-card__body span{font-size:.68rem}.roster-board-help{margin-top:var(--space-4)}.roster-board-noscript{margin-top:var(--space-3);color:#ffb4b4}.roster-dialog{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-raised);width:min(30rem,100vw - 2rem);color:var(--color-text);padding:0}.roster-dialog::backdrop{background:#000000c7}.roster-dialog__form{gap:var(--space-4);padding:var(--space-6);display:grid}.roster-dialog h2{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:2.1rem;line-height:1}.roster-dialog p:not(.eyebrow){color:var(--color-muted);margin:0}.roster-dialog label{gap:var(--space-2);color:var(--color-muted);font-size:.82rem;font-weight:800;display:grid}.roster-dialog select{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg)}.roster-dialog__actions,.roster-dialog__footer{gap:var(--space-2);flex-wrap:wrap;display:flex}.roster-dialog__footer{padding-top:var(--space-2);border-top:1px solid var(--color-border);justify-content:flex-end}@media (width<=48rem){.roster-board{grid-template-columns:repeat(12,minmax(9rem,1fr));min-width:118rem}.roster-board-toolbar{flex-direction:column;align-items:stretch}.roster-board-toolbar__actions,.roster-board-toolbar__actions .button{width:100%}.roster-board-toolbar__actions .button{flex:1 1 0}.roster-column.is-expanded{width:min(32rem,100vw - 1rem);max-height:calc(100dvh - 1rem)}}@media (width>=48.01rem){.roster-column__header img{width:1.75rem;height:1.75rem}.roster-column__header h2{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-card{grid-template-columns:2.5rem minmax(0,1fr)}.roster-card img{width:2.5rem;height:2.5rem}.roster-card__grip{display:none}}@media (prefers-reduced-motion:reduce){.roster-position-group{transition:none}}
