
:root{--red:#c5162e;--red2:#8f0d20;--black:#08090a;--panel:#111417;--panel2:#171a1e;--text:#f4f4f2;--muted:#a9adb2;--line:#2a2e33;--green:#7fc67f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -20%,#25292d 0,#0a0b0c 45%);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(8,9,10,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:1px;white-space:nowrap}.brand img{width:45px;height:45px;object-fit:contain}.brand b{color:var(--red)}nav{display:flex;gap:5px;margin-left:auto}nav a{padding:9px 11px;border-radius:7px;font-size:13px;font-weight:800;text-transform:uppercase}nav a:hover,nav a.active{background:var(--red)}.menu{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:26px}
.hero{min-height:590px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,9,10,.98) 0%,rgba(8,9,10,.88) 43%,rgba(8,9,10,.05) 72%),url("assets/logo.png") right 10% center/420px no-repeat}.hero h1{font-size:clamp(48px,8vw,92px);line-height:.88;margin:10px 0;text-transform:uppercase;letter-spacing:-4px}.hero h1 span{color:var(--red)}.eyebrow{color:#ff596c;font-weight:900;letter-spacing:3px;text-transform:uppercase}.hero p{max-width:650px;color:#c9cbd0;font-size:18px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-block;background:var(--red);padding:12px 17px;border-radius:7px;font-weight:900;text-transform:uppercase;font-size:13px}.btn.alt{background:transparent;border:1px solid #555}.section{padding:65px 0}.section.dark{background:#0d0f11}.section h2{font-size:36px;margin:0 0 8px}.section-intro{color:var(--muted);margin-top:0}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:22px}.stat strong{display:block;font-size:32px}.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:1px}.week-card{border-left:4px solid var(--red)}.week-card .week{color:#ff596c;text-transform:uppercase;font-size:12px;font-weight:900}.week-card h3{margin:3px 0 8px}.meta{color:var(--muted);font-size:14px}.pill{display:inline-block;padding:4px 8px;background:#252a2f;border-radius:99px;font-size:11px;font-weight:900;text-transform:uppercase;margin:3px}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.input,.select{background:#0c0e10;color:#fff;border:1px solid var(--line);padding:11px 13px;border-radius:7px;min-width:190px}.tabs{display:flex;gap:7px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:#111;color:#bbb;padding:9px 14px;border-radius:7px;font-weight:800;cursor:pointer}.tab.on{background:var(--red);color:white;border-color:var(--red)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;min-width:650px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.table th{font-size:11px;text-transform:uppercase;color:#999;background:#0d0f11}.table tr:hover td{background:#171a1d}.rank{font-weight:900;color:#ff596c}.player-link{font-weight:800}.player-link:hover{color:#ff596c}.detail{display:grid;grid-template-columns:1fr 2fr;gap:20px}.big-number{font-size:56px;font-weight:900;line-height:1}.bar{height:7px;background:#25282c;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--red)}.notice{padding:15px 18px;border-left:4px solid var(--red);background:#151719;color:#c8c9cc;border-radius:4px}.empty{padding:35px;text-align:center;color:#999}.history{font-size:18px;color:#d1d3d5;max-width:850px}.champ{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.champ:last-child{border-bottom:0}.champ b{color:#ff596c}.hole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hole{background:#0c0e10;border:1px solid var(--line);border-radius:8px;padding:13px}.hole strong{display:block;color:#ff596c;font-size:12px;text-transform:uppercase}.hole span{font-weight:800}.newsbox{min-height:130px;color:#bbb}.backtop{position:fixed;right:18px;bottom:18px;background:var(--red);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:900}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:40px 0;color:#aeb1b5}.copyright{border-top:1px solid var(--line);text-align:center;padding:18px;color:#666;font-size:12px}
@media(max-width:900px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0c0d;border-bottom:1px solid var(--line);padding:10px;flex-direction:column}.menu{display:block}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.detail{grid-template-columns:1fr}.hero{background-position:90% center;background-size:300px}}
@media(max-width:600px){.nav{min-height:64px}.brand img{width:38px;height:38px}.brand{font-size:14px}.hero{min-height:500px;background-image:linear-gradient(90deg,rgba(8,9,10,.98),rgba(8,9,10,.82))}.hero h1{font-size:58px;letter-spacing:-3px}.section{padding:45px 0}.grid-4,.grid-3{grid-template-columns:1fr}.hole-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.input,.select{width:100%}}

/* Mobile navigation: explicit open state */
@media(max-width:900px){#nav{display:none!important}#nav.mobile-open{display:flex!important}}

/* Sortable leaderboard headings */
.sort-link{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}
.sort-link:hover,.sort-link:focus-visible,.sort-link.sort-active{color:#ff596c}
.sort-link span{font-size:12px}

/* League photo gallery */
.photo-carousel{position:relative;max-width:880px;height:420px;margin:24px auto;background:#111417;border:1px solid var(--line);border-radius:12px;overflow:hidden}.photo-empty{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:var(--muted)}.photo-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .7s;pointer-events:none}.photo-slide.show{opacity:1;pointer-events:auto}.photo-slide img{height:100%;width:100%;object-fit:contain}.photo-slide figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.9));padding:34px 20px 14px;font-weight:700;text-align:center}.photo-actions{text-align:center;margin:20px auto}.photo-btn{color:#fff;border:0;cursor:pointer}.photo-btn:disabled{opacity:.55;cursor:wait}.photo-upload{max-width:650px;margin:24px auto}.photo-upload form{display:grid;gap:10px}.photo-upload label{font-size:13px;font-weight:800;margin-top:8px}.photo-upload .input{width:100%}.photo-honey{position:absolute;left:-9999px;opacity:0}.photo-pending{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}.photo-review img{width:100%;height:190px;object-fit:contain}.photo-review p{overflow-wrap:anywhere}@media(max-width:600px){.photo-carousel{height:280px}}

/* Live 2027 league kickoff countdown */
.kickoff-countdown{width:min(470px,100%);margin:24px 0 16px;padding:15px 16px 17px;border:1px solid #68303a;border-radius:12px;background:rgba(12,14,16,.88);box-shadow:0 8px 28px rgba(0,0,0,.2)}
.kickoff-heading{font-size:12px;letter-spacing:1.1px;font-weight:900;color:#ff6478}.kickoff-heading span{color:#c5c8cc;font-size:10px;letter-spacing:.3px;white-space:nowrap}
.kickoff-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.kickoff-units>div{min-width:0;text-align:center;background:#1d2024;border:1px solid #33373c;border-radius:8px;padding:8px 3px}
.kickoff-units strong{display:block;font-size:clamp(23px,4vw,36px);font-weight:900;color:#ff4f67;line-height:1.15;font-variant-numeric:tabular-nums}
.kickoff-units small{font-size:10px;letter-spacing:1px;color:#d0d2d5;font-weight:800}
.kickoff-started{margin-top:12px;color:#fff;font-size:24px;font-weight:900;text-align:center}
.kickoff-started[hidden]{display:none}.kickoff-countdown.is-started .kickoff-units{display:none}
@media(max-width:600px){.kickoff-countdown{padding:12px}.kickoff-heading span{display:block;margin-top:3px}.kickoff-units{gap:5px}.kickoff-units strong{font-size:27px}}
