.roster-page{max-width:1200px;margin:0 auto;padding:24px;animation:.5s fadeIn}.roster-page h1{text-align:center;color:var(--asu-maroon);margin-bottom:40px;font-size:2.25rem;animation:.6s fadeIn}.page-header{text-align:center;margin-bottom:28px}.page-header h1{color:var(--asu-maroon);letter-spacing:-.02em;margin-bottom:16px;font-size:2.5rem;font-weight:800}.roster-controls{flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0;display:flex}.position-filter{background:var(--white);box-shadow:var(--shadow-md);border:2px solid var(--border-color);border-radius:50px;gap:12px;padding:8px;display:flex}.position-filter button{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;border-radius:50px;padding:12px 28px;font-size:.95rem;font-weight:600;position:relative;overflow:hidden}.position-filter button:before{content:"";background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base);z-index:-1;position:absolute;inset:0}.position-filter button:hover{color:var(--asu-maroon);transform:scale(1.05)}.position-filter button.active{background:var(--gradient-primary);color:var(--white);box-shadow:var(--shadow-maroon);text-shadow:0 1px 2px #0000004d}.position-filter button.active:before{opacity:1}.position-filter button{isolation:isolate}.position-filter button>*{z-index:1;position:relative}.roster-content{max-width:1400px;margin:0 auto}.position-group{animation:slideUp .6s var(--cubic-smooth);margin-bottom:24px}.position-group h2{color:var(--asu-maroon);border-bottom:3px solid var(--asu-gold);margin-bottom:14px;padding-bottom:10px;font-size:1.8rem;font-weight:800;display:inline-block}.roster-table-container{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:2px solid var(--border-color);transition:all var(--transition-base);margin-bottom:0;overflow:hidden}.roster-table-container:hover{box-shadow:var(--shadow-lg)}.roster-table{border-collapse:collapse;width:100%;font-size:.95rem}.roster-table thead th{background:var(--gradient-primary);color:var(--white);text-align:left;text-transform:uppercase;letter-spacing:.1em;border-bottom:4px solid var(--asu-gold);white-space:nowrap;padding:12px 20px;font-size:.85rem;font-weight:700;position:relative}.roster-table thead th:after{content:"";background:var(--gradient-gold);opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.roster-table tbody tr{border-bottom:1px solid var(--border-color-light);transition:all var(--transition-base)}.roster-table tbody tr:last-child{border-bottom:none}.roster-table tbody tr:hover{box-shadow:inset 4px 0 0 var(--asu-gold);background:linear-gradient(90deg,#ffc62714 0%,#ffc62708 100%);transform:scale(1.01)}.roster-table td{color:var(--text-primary);vertical-align:middle;padding:10px 20px}.roster-table td:first-child{font-family:var(--font-body);color:var(--asu-maroon);background:linear-gradient(135deg,#8c1d400d 0%,#0000 100%);font-size:1.1rem;font-weight:800}.roster-table td:nth-child(3) a{color:var(--text-primary);transition:color var(--transition-base);font-size:1rem;font-weight:700;text-decoration:none;position:relative}.roster-table td:nth-child(3) a:after{content:"";background:var(--gradient-gold);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:-2px;left:0}.roster-table td:nth-child(3) a:hover{color:var(--asu-maroon)}.roster-table td:nth-child(3) a:hover:after{width:100%}.flag-icon{vertical-align:middle;width:24px;height:auto;transition:transform var(--transition-base);border-radius:3px;box-shadow:0 2px 4px #00000026}.roster-table tr:hover .flag-icon{transform:scale(1.1)}.roster-source{text-align:center;color:var(--text-secondary);margin:32px auto 0;font-size:.85rem}.roster-source a{color:var(--asu-maroon);transition:border-color var(--transition-base), color var(--transition-base);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.roster-source a:hover,.roster-source a:focus-visible{color:var(--asu-gold);border-bottom-color:var(--asu-gold)}@media (width<=900px){.roster-page{padding:16px}.page-header{margin-bottom:24px}.page-header h1{margin-bottom:8px;padding:0 10px;font-size:1.8rem}.roster-controls{margin:16px 0;padding:0 10px}.position-group{margin-bottom:36px}.position-group h2{margin-bottom:14px;font-size:1.4rem}.roster-table-container{border-radius:var(--border-radius-md);-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:20px;overflow-x:auto}.roster-table-container::-webkit-scrollbar{display:none}.roster-table thead th{padding:8px 12px;font-size:.75rem}.roster-table td{white-space:nowrap;padding:8px 12px;font-size:.85rem}.roster-table td:first-child{font-size:.95rem}.position-filter{border-radius:16px;flex-wrap:wrap;justify-content:center;gap:6px;padding:6px}.position-filter button{padding:8px 14px;font-size:.82rem}}
