:root{--ink:#0e1a33;--court:#16264a;--chalk:#f6f3ec;--line:#8891a3;--hairline:#ffffff1f;--ace:#ff5a36;--gold:#f2b632;--gold-dim:#93690c;--gold-tint:#f2b63224;--radius-xs:2px;--radius-sm:4px;--radius-md:8px}@media (prefers-color-scheme:light){:root{--page-bg:var(--chalk);--page-fg:var(--ink);--muted:#5b6274;--gold-tint:#f2b63229;--gold-fg:var(--gold-dim)}}@media (prefers-color-scheme:dark){:root{--page-bg:var(--ink);--page-fg:var(--chalk);--muted:var(--line);--gold-fg:var(--gold)}}:root[data-theme=light]{--page-bg:var(--chalk);--page-fg:var(--ink);--muted:#5b6274;--gold-tint:#f2b63229;--gold-fg:var(--gold-dim)}:root[data-theme=dark]{--page-bg:var(--ink);--page-fg:var(--chalk);--muted:var(--line);--gold-fg:var(--gold)}*{box-sizing:border-box}html,body{background:var(--page-bg);color:var(--page-fg);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--ace);outline-offset:2px;border-radius:var(--radius-xs)}#root{flex-direction:column;min-height:100svh;display:flex}.navbar{background:var(--ink);color:var(--chalk);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.2rem 6vw;display:flex}.navbar .brand{text-transform:uppercase;letter-spacing:.02em;color:var(--chalk);align-items:center;gap:.55rem;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.navbar .brand svg{flex-shrink:0}.nav-links{flex-wrap:wrap;gap:1.5rem;display:flex}.nav-links a{color:var(--line);text-transform:uppercase;letter-spacing:.06em;padding-bottom:2px;font-size:.85rem;font-weight:600;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--ace);height:2px;transition:right .22s;position:absolute;bottom:0;left:0;right:100%}.nav-links a:hover{color:var(--chalk)}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-links a.active{color:var(--chalk)}.instagram-link{color:inherit;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.instagram-link:hover{color:var(--ace)}.instagram-link svg{flex-shrink:0}.groupme-link{color:inherit;font-size:.85rem;font-weight:600;text-decoration:none}.groupme-link:hover{color:var(--ace)}.nav-toggle{display:none}.nav-panel{display:contents}.hero{background:var(--ink);color:var(--chalk);padding:5.5rem 6vw 4rem;position:relative;overflow:hidden}.hero:before{content:"";background:var(--ace);clip-path:polygon(0 0,18% 0,4% 100%,-14% 100%);opacity:0;width:60%;height:160%;animation:.7s cubic-bezier(.16,.8,.3,1) 50ms forwards stripe-in;position:absolute;top:-20%;right:-8%;transform:rotate(-14deg)translate(120%)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--ace);opacity:0;margin:0 0 1.1rem;font-size:.8rem;font-weight:700;animation:.55s .15s forwards rise;position:relative;transform:translateY(14px)}.hero .eyebrow{text-shadow:-1px -1px 0 var(--ink), 1px -1px 0 var(--ink), -1px 1px 0 var(--ink), 1px 1px 0 var(--ink), 0 -1px 0 var(--ink), 0 1px 0 var(--ink), -1px 0 0 var(--ink), 1px 0 0 var(--ink)}h1{letter-spacing:-.02em;text-transform:uppercase;max-width:14ch;margin:0 0 1.4rem;font-size:clamp(2.8rem,8vw,6.2rem);font-weight:800;line-height:.92;position:relative}h1 span{text-wrap:balance;opacity:0;animation:.6s cubic-bezier(.16,.8,.3,1) forwards rise;display:block;transform:translateY(28px)}h1 span:first-child{animation-delay:.25s}h1 span:nth-child(2){animation-delay:.36s}.tagline{color:#c9d0de;opacity:0;max-width:42ch;margin:0 0 2.2rem;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;animation:.55s .5s forwards rise;position:relative;transform:translateY(14px)}.cta{background:var(--ace);color:var(--ink);border-radius:var(--radius-xs);letter-spacing:.01em;opacity:0;align-items:center;gap:.6rem;padding:.9rem 1.6rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s;animation:.55s .62s forwards rise;display:inline-flex;position:relative;transform:translateY(14px)}.cta:hover{filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 10px 20px #ff5a3659}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes stripe-in{to{opacity:.9;transform:rotate(-14deg)translate(0)}}.scoreboard{background:var(--court);color:var(--chalk);border-top:1px solid var(--hairline);grid-template-columns:repeat(2,1fr);display:grid}.scoreboard div{border-left:1px solid var(--hairline);opacity:0;padding:1.6rem 6vw;animation:.5s forwards rise;transform:translateY(10px)}.scoreboard div:first-child{border-left:none;animation-delay:.7s}.scoreboard div:nth-child(2){animation-delay:.78s}.scoreboard div:nth-child(3){animation-delay:.86s}.scoreboard .label{letter-spacing:.16em;text-transform:uppercase;color:var(--line);margin-bottom:.4rem;font-size:.7rem}.scoreboard .value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.location-link{color:inherit;border-bottom:1px solid var(--line);padding-bottom:1px;text-decoration:none}.location-link:hover{color:var(--ace);border-bottom-color:var(--ace)}main{background:var(--page-bg);color:var(--page-fg);flex:1}.split{grid-template-columns:1.1fr .9fr;gap:4rem;max-width:1180px;margin:0 auto;padding:5rem 6vw;display:grid}.split h2{letter-spacing:.18em;text-transform:uppercase;color:var(--ace);margin:0 0 1.1rem;font-size:.78rem;font-weight:700}.split p{max-width:58ch;margin:0 0 1rem;font-size:1.05rem;line-height:1.65}.join-card{border:1px solid color-mix(in srgb, var(--page-fg) 15%, transparent);border-radius:var(--radius-sm);padding:2rem;transition:transform .22s,box-shadow .22s,border-color .22s}.join-card:hover{border-color:var(--ace);transform:translateY(-4px);box-shadow:0 16px 30px #0e1a331f}.join-card p{margin:0 0 1.4rem}.join-card a.signup-link{border-bottom:2px solid var(--ace);padding-bottom:2px;font-weight:700;text-decoration:none;display:inline-block}.join-card .or-note{color:var(--muted);margin:.9rem 0 0;font-size:.9rem}.board{max-width:1180px;margin:0 auto;padding:0 6vw 5rem}.roster-grid{border-top:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:0 0 3rem;padding:1.8rem 0 0;list-style:none;display:grid}.player-card{border:1px solid color-mix(in srgb, var(--page-fg) 15%, transparent);border-radius:var(--radius-sm);flex-direction:column;gap:.2rem;padding:1rem;transition:border-color .18s;display:flex}.player-card:hover{border-color:var(--gold)}.player-card .num{color:var(--gold-fg);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800;line-height:1}.player-card .pname{margin-top:.25rem;font-size:.95rem;font-weight:700}.player-card .ppos{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem}@media (prefers-reduced-motion:reduce){.player-card{transition:none}}.board-list{border-top:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem 2rem;margin:0;padding:1.8rem 0 0;list-style:none;display:grid}.board-list li{opacity:0;flex-direction:column;gap:.15rem;animation:.5s forwards rise;display:flex;transform:translateY(12px)}.board-list li:first-child{animation-delay:50ms}.board-list li:nth-child(2){animation-delay:.12s}.board-list li:nth-child(3){animation-delay:.19s}.board-list li:nth-child(4){animation-delay:.26s}.board-list li:nth-child(5){animation-delay:.33s}.board-list .role{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.board-list .name{font-size:1.05rem;font-weight:700}.board-list a{width:fit-content;color:var(--muted);padding-bottom:2px;font-size:.9rem;text-decoration:none;position:relative}.board-list a:after{content:"";background:var(--ace);height:1px;transition:right .22s;position:absolute;bottom:0;left:0;right:100%}.board-list a:hover{color:var(--page-fg)}.board-list a:hover:after{right:0}.events-list{border-top:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);flex-direction:column;gap:1.4rem;margin:0 0 3rem;padding:1.8rem 0 0;list-style:none;display:flex}.events-list li{grid-template-columns:minmax(140px,200px) 1fr;gap:.5rem 1.5rem;display:grid}.events-list .event-when{font-variant-numeric:tabular-nums;color:var(--ace);text-transform:uppercase;letter-spacing:.03em;font-family:inherit;font-size:.85rem;font-weight:700}.events-list .event-body{flex-direction:column;gap:.15rem;display:flex}.events-list .event-title{align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;display:inline-flex}.events-list .event-location{color:var(--muted);font-size:.85rem}.events-list .event-desc{color:var(--muted);margin:.3rem 0 0;font-size:.92rem}.events-list .event-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--ace);border:1px solid var(--ace);border-radius:var(--radius-xs);padding:.1rem .4rem;font-size:.62rem;font-weight:700}.events-list li.cancelled .event-title{color:var(--muted);text-decoration:line-through}@media (width<=560px){.events-list li{grid-template-columns:1fr}}.placeholder-note{color:var(--muted);margin:-.6rem 0 1.6rem;font-size:.95rem}.board-contact{color:var(--muted);margin:2rem 0 0;font-size:.95rem}.inline-link{color:var(--ace);border-bottom:1px solid var(--ace);padding-bottom:1px;font-weight:700;text-decoration:none}.inline-link:hover{color:var(--page-fg)}.media-grid{border-top:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin:0 0 3rem;padding:1.8rem 0 0;list-style:none;display:grid}.media-grid li{flex-direction:column;gap:.4rem;display:flex}.media-grid img,.media-grid video{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--page-fg) 15%, transparent);background:var(--court);width:100%}.media-grid .media-caption{color:var(--muted);font-size:.85rem}.placeholder-page{text-align:center;max-width:640px;min-height:50vh;color:var(--page-fg);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;margin:0 auto;padding:6rem 6vw;display:flex}.placeholder-page h1{max-width:none}.placeholder-page p{color:var(--muted);margin:0 0 1rem;font-size:1.05rem;line-height:1.6}.placeholder-page .instagram-link{color:var(--page-fg);border-bottom:2px solid var(--ace);padding-bottom:2px}footer{border-top:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:2rem 6vw;font-size:.85rem;display:flex}@media (width<=760px){.scoreboard{grid-template-columns:1fr}.scoreboard div{border-left:none;border-top:1px solid var(--hairline);padding:1.2rem 6vw}.scoreboard div:first-child{border-top:none}.split{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 6vw}.hero{padding:4rem 6vw 3rem}.hero:before{display:none}}@media (width<=640px){.navbar{position:relative}.nav-toggle{border:1px solid var(--hairline);border-radius:var(--radius-sm);width:38px;height:38px;color:var(--chalk);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;display:flex}.nav-panel{background:var(--court);border-top:1px solid var(--hairline);z-index:10;flex-direction:column;gap:1rem;padding:1.1rem 6vw 1.3rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-panel.open{display:flex}.nav-panel .nav-links{flex-direction:column;gap:.9rem}.nav-panel .instagram-link{border-top:1px solid var(--hairline);padding-top:.9rem}}@media (prefers-reduced-motion:reduce){.eyebrow,h1 span,.tagline,.cta,.scoreboard div,.board-list li{opacity:1;animation:none;transform:none}.hero:before{opacity:.9;animation:none;transform:rotate(-14deg)translate(0)}.cta,.join-card{transition:none}}.admin-lock-wrap{background:var(--page-bg);color:var(--page-fg);flex:1;justify-content:center;align-items:center;min-height:100svh;padding:3rem 1.5rem;display:flex}.admin-lock-card{border:1px solid color-mix(in srgb, var(--page-fg) 15%, transparent);border-radius:var(--radius-sm);text-align:center;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:380px;padding:2rem;display:flex}.admin-lock-card h1{margin:0;font-size:1.3rem;font-weight:800}.admin-lock-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.admin-loading{color:var(--muted)}.oauth-btn{border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);width:100%;color:var(--page-fg);justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .15s;display:flex}.oauth-btn:hover{border-color:var(--ace)}.oauth-g{color:#ea4335;font-weight:800}.admin-shell{background:var(--page-bg);min-height:100svh;color:var(--page-fg);flex-direction:column;display:flex}.admin-topbar{background:var(--ink);color:var(--chalk);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex}.admin-brand{text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:800}.admin-who{align-items:center;gap:.7rem;font-size:.85rem;display:flex}.avatar{background:var(--ace);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:flex}.signout{color:var(--line);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.signout:hover{color:var(--chalk)}.admin-body{flex:1;display:flex}.admin-sidebar{background:color-mix(in srgb, var(--page-fg) 5%, var(--page-bg));border-right:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);flex-direction:column;flex-shrink:0;gap:.15rem;width:180px;padding:1rem .6rem;display:flex}.admin-sidebar button{border-radius:var(--radius-xs);color:var(--page-fg);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:600;display:flex}.admin-sidebar button:hover{background:color-mix(in srgb, var(--page-fg) 8%, var(--page-bg))}.admin-sidebar button.active{background:var(--ink);color:var(--chalk)}.admin-sidebar .badge{background:var(--ace);color:#fff;border-radius:999px;padding:.05rem .4rem;font-size:.65rem;font-weight:700}.admin-main{flex-direction:column;flex:1;gap:1.5rem;min-width:0;padding:1.6rem 1.75rem;display:flex}.admin-main-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-main-head h2{margin:0;font-size:1.3rem;font-weight:800}.admin-error{color:#b23b2c;margin:0;font-size:.88rem}.add-btn,.approve-btn{background:var(--ace);color:#fff;border-radius:var(--radius-xs);cursor:pointer;border:none;padding:.5rem .9rem;font-size:.82rem;font-weight:700}.deny-btn{border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);border-radius:var(--radius-xs);cursor:pointer;color:var(--page-fg);background:0 0;padding:.35rem .65rem;font-size:.72rem}.admin-form{border:1px dashed color-mix(in srgb, var(--page-fg) 20%, transparent);border-radius:var(--radius-sm);flex-wrap:wrap;gap:.6rem;padding:1rem;display:flex}.admin-form input,.admin-form select{border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);background:var(--page-bg);color:var(--page-fg);flex:140px;padding:.45rem .6rem;font-size:.85rem}.data-table{border:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);border-radius:var(--radius-sm);overflow-x:auto}.data-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:.85rem}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);background:color-mix(in srgb, var(--page-fg) 5%, var(--page-bg));padding:.6rem .9rem;font-size:.68rem}.data-table tbody td{border-bottom:1px solid color-mix(in srgb, var(--page-fg) 8%, transparent);vertical-align:middle;padding:.55rem .9rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:color-mix(in srgb, var(--page-fg) 4%, var(--page-bg))}.data-table input,.data-table select{border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);background:var(--page-bg);color:var(--page-fg);padding:.3rem .45rem;font-size:.82rem}.num-cell{font-variant-numeric:tabular-nums;color:var(--gold-fg);font-weight:700}.row-actions{white-space:nowrap;gap:.5rem;display:flex}.row-actions button{border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);border-radius:var(--radius-xs);cursor:pointer;color:var(--page-fg);background:0 0;padding:.25rem .55rem;font-size:.75rem}.row-actions button.danger{color:#b23b2c;border-color:#b23b2c59}.approvals-panel{border:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);border-radius:var(--radius-sm);overflow:hidden}.ap-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:color-mix(in srgb, var(--page-fg) 5%, var(--page-bg));border-bottom:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);padding:.6rem .9rem;font-size:.7rem}.ap-row{border-bottom:1px solid color-mix(in srgb, var(--page-fg) 8%, transparent);flex-wrap:wrap;align-items:center;gap:.85rem;padding:.75rem .9rem;display:flex}.ap-row:last-child{border-bottom:none}.ap-info{flex:1;min-width:160px}.ap-name{font-size:.86rem;font-weight:700}.ap-email{color:var(--muted);font-size:.75rem}.provider-chip{text-transform:uppercase;letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--page-fg) 20%, transparent);border-radius:var(--radius-xs);color:var(--muted);padding:.15rem .45rem;font-size:.66rem}.ap-actions{gap:.5rem;display:flex}.status-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-xs);padding:.15rem .5rem;font-size:.66rem;font-weight:700}.status-chip.status-draft{background:color-mix(in srgb, var(--page-fg) 12%, transparent);color:var(--muted)}.status-chip.status-published,.status-chip.status-approved{color:#2c8a55;background:#3fb96c29}.status-chip.status-cancelled,.status-chip.status-denied{color:#b23b2c;background:#b23b2c24}.status-chip.status-pending{background:var(--gold-tint);color:var(--gold-fg)}@media (width<=700px){.admin-body{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--page-fg) 12%, transparent);flex-direction:row;width:100%;overflow-x:auto}}
