:root{--wildcat-green:#125d16;--wildcat-green-dark:#0c410f;--wildcat-silver:#a8c0ca;--wildcat-black:#111;--wildcat-white:#fff;--text:#4a524d;--text-h:#111;--bg:#f3f5f3;--surface:#fff;--border:#dde3de;--accent:var(--wildcat-green);--accent-contrast:var(--wildcat-white);--badge-bg:var(--wildcat-green);--badge-text:var(--wildcat-white);--header-bg:var(--wildcat-green);--header-text:var(--wildcat-white);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#a3aea6;--text-h:#f2f5f3;--bg:#0a0a0a;--surface:#161816;--border:#2a2f2b;--accent:#3fbf74;--accent-contrast:var(--wildcat-black);--header-bg:var(--wildcat-green-dark)}.position{outline:1px solid var(--border)}}*,:before,:after{box-sizing:border-box}body{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:40rem;min-height:100svh;margin:0 auto}.app-header{padding:calc(env(safe-area-inset-top,0px) + 1rem) 1rem .75rem;background:var(--header-bg);color:var(--header-text)}.controls{z-index:1;padding:calc(env(safe-area-inset-top,0px) + .25rem) 1rem 1rem;background:var(--header-bg);border-bottom:4px solid var(--wildcat-black);box-shadow:inset 0 -3px 0 var(--wildcat-white);gap:.75rem;display:grid;position:sticky;top:0}.brand{align-items:center;gap:.875rem;display:flex}.brand-logo{background:var(--wildcat-white);width:4rem;height:4rem;box-shadow:0 0 0 3px var(--wildcat-black);border-radius:50%;flex:none;place-items:center;display:grid}.brand-logo img{width:82%;height:auto}.brand-text{min-width:0}.brand p{letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin:0;font-size:.75rem;font-weight:600}h1{letter-spacing:.02em;text-transform:uppercase;color:var(--header-text);margin:.125rem 0;font-size:1.75rem;font-weight:900;line-height:1.1}.brand-sport{opacity:.85;font-weight:400}main{padding:.75rem 1rem calc(env(safe-area-inset-bottom,0px) + 1.5rem)}.squad-toggle{background:#0000004d;border-radius:.75rem;padding:.25rem;display:flex}.squad-button{min-height:2.75rem;font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--wildcat-white);cursor:pointer;background:0 0;border:0;border-radius:.5rem;flex:1 1 0;font-size:.95rem;font-weight:800}.squad-button.active{background:var(--wildcat-white);color:var(--wildcat-green);box-shadow:0 1px 3px #00000059}.squad-button:focus-visible{outline:2px solid var(--wildcat-white);outline-offset:2px}.search-bar input{background:var(--surface);width:100%;color:var(--text-h);border:2px solid #0000;border-radius:.75rem;padding:.75rem 1rem;font-size:1rem}.search-bar input:focus-visible{border-color:var(--wildcat-black);outline:none}.sort-control{gap:.375rem;display:flex}.sort-button{min-width:0;min-height:2.75rem;font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--wildcat-white);cursor:pointer;background:0 0;border:2px solid #ffffff80;border-radius:999px;flex:1 1 0;font-size:.9rem;font-weight:700}.sort-button.active{background:var(--wildcat-white);border-color:var(--wildcat-white);color:var(--wildcat-green)}.sort-button:focus-visible{outline:2px solid var(--wildcat-white);outline-offset:2px}.result-count{margin:0 0 .75rem;font-size:.85rem}.roster-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.player-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:.75rem;align-items:center;gap:.875rem;padding:.75rem 1rem;display:flex}.jersey{background:var(--badge-bg);width:2.75rem;height:2.75rem;color:var(--badge-text);box-shadow:0 0 0 2px var(--wildcat-white), 0 0 0 4px var(--wildcat-black);font-variant-numeric:tabular-nums;border-radius:.5rem;flex:none;place-items:center;margin:4px;font-size:1.15rem;font-weight:900;display:grid}.player-info{flex:1;min-width:0;display:grid}.player-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.player-stats{font-size:.85rem}.position{background:var(--wildcat-black);color:var(--wildcat-white);letter-spacing:.05em;border-radius:.375rem;flex:none;padding:.25rem .5rem;font-size:.75rem;font-weight:800}.empty,.status{text-align:center;padding:2rem 0}@media (width>=40rem){.app-header,.controls,main{padding-inline:1.5rem}.sort-control{justify-content:flex-start}.sort-button{flex:none;padding-inline:1.25rem}}
