@import "https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg:#0d2117;--bg-mid:#1a3a28;--bg-light:#2d5c3e;--text:#f5f0e8;--text-dim:#b8af9e;--gold:#c9a84c;--gold-bright:#e8c96e;--birdie-bg:#166534;--birdie-text:#86efac;--eagle-bg:#14532d;--eagle-text:#4ade80;--bogey:#f87171;--double:#ef4444;--radius:4px;--font-serif:"Libre Baskerville", Georgia, serif;--font-mono:"JetBrains Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}html{font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-serif);min-height:100vh;line-height:1.6}nav{background:var(--bg-mid);border-bottom:1px solid var(--gold);flex-direction:column;align-items:stretch;display:flex}.nav-brand{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-align:center;border-bottom:1px solid var(--bg-light);padding:.9rem 1rem;font-size:1rem;font-weight:700}.nav-links{justify-content:center;display:flex}@media (width<=480px){.nav-brand{font-size:.85rem}}nav a{max-width:12rem;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;text-align:center;white-space:nowrap;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;padding:.85rem .5rem;font-size:.72rem;text-decoration:none;transition:color .15s,border-color .15s;display:flex}nav a:hover{color:var(--text)}nav a.active{color:var(--gold);border-bottom-color:var(--gold)}main{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}h1{color:var(--gold);letter-spacing:.04em;margin-bottom:1.75rem;font-size:1.5rem}h2{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.875rem;font-size:.7rem}.stats-page h2{text-align:center}section{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius);padding:1.5rem}table{border-collapse:collapse;font-family:var(--font-mono);width:100%;font-size:.875rem}th,td{text-align:center;border:1px solid var(--bg-light);padding:.5rem .75rem}th{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;background:#0003;font-size:.68rem;font-weight:600}.stats-table,.h2h-table{table-layout:fixed}.stats-table th,.h2h-table th{letter-spacing:.05em;padding:.5rem .3rem;font-size:.68rem}.stats-table td,.h2h-table td{padding:.5rem .3rem;font-size:.9rem}.stats-table th:first-child,.stats-table td:first-child{width:30%}.stats-table .birdie{background:0 0}.h2h-table th,.h2h-table td{white-space:nowrap}@media (width<=480px){.stats-table th,.h2h-table th{padding:.5rem .2rem;font-size:.62rem}.stats-table td,.h2h-table td{padding:.5rem .2rem;font-size:.78rem}}.recharts-wrapper:focus,.recharts-wrapper:focus-visible,.recharts-surface:focus,.recharts-surface:focus-visible{outline:none}.left{text-align:left;font-family:var(--font-serif)}.birdie{background:var(--birdie-bg);color:var(--birdie-text);border-radius:2px;font-weight:600}.eagle{background:var(--eagle-bg);color:var(--eagle-text);border-radius:2px;font-weight:700}.par{color:var(--text-dim)}.bogey{color:var(--bogey)}.double{color:var(--double);font-weight:600}.kp-birdie{color:#7ab0c8}.season-grid{grid-template-columns:1fr 3fr;align-items:stretch;gap:1.5rem;display:grid}.season-right{min-width:0}@media (width<=700px){.season-grid{grid-template-columns:1fr}.season-left>:last-child,.season-right>:last-child{flex:unset}}.leader td{color:var(--gold-bright);font-weight:700}.leader .left{color:var(--gold-bright)}.season-left,.season-right{flex-direction:column;gap:1.5rem;display:flex}.season-left>:last-child,.season-right>:last-child{flex:1}.kingpin-scroll{overflow-x:auto}.kingpin .kp-par-row th{color:var(--text-dim)}.owned{color:var(--gold);font-weight:600}.unowned{color:var(--bg-light)}.kingpin-detail{margin-top:0}.kingpin-cards,.kp-detail-cards{display:none}@media (width<=640px){.kingpin:not(.kingpin-detail) .kingpin-scroll{display:none}.kingpin-cards{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kingpin-card{border:1px solid var(--bg-light);border-radius:var(--radius);background:#0003;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;display:flex}.kingpin-card-hole{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;font-size:.6rem}.kingpin-card-owner{font-family:var(--font-mono);font-size:.8rem;font-weight:600}.kingpin-card.owned .kingpin-card-owner{color:var(--gold)}.kingpin-card.unowned .kingpin-card-owner{color:var(--bg-light)}.kingpin-detail .kingpin-scroll{display:none}.kp-detail-cards{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.kp-detail-card{border:1px solid var(--bg-light);border-radius:var(--radius);background:#0003;flex-direction:column;gap:.15rem;padding:.4rem .3rem;display:flex}.kp-detail-card-hole{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;text-align:center;font-size:.55rem}.kp-detail-card-cat{font-family:var(--font-mono);text-align:center;text-transform:capitalize;margin-bottom:.1rem;font-size:.6rem;font-weight:600}.kp-detail-cat-birdie{color:var(--birdie-text)}.kp-detail-cat-eagle{color:var(--eagle-text)}.kp-detail-cat-par{color:var(--text-dim)}.kp-detail-cat-none{color:var(--bg-light)}.kp-detail-card-players{flex-direction:column;gap:1px;display:flex}.kp-detail-card-row{font-family:var(--font-mono);color:var(--text-dim);justify-content:space-between;font-size:.6rem;display:flex}.kp-detail-card-row.owned{color:var(--gold);font-weight:600}}.kingpin table{table-layout:fixed;width:auto}.kingpin th:first-child,.kingpin td:first-child{width:4.5rem}.kingpin th:not(:first-child),.kingpin td:not(:first-child){white-space:nowrap;width:2.5rem;padding-left:.25rem;padding-right:.25rem;overflow:hidden}.rounds-list{flex-direction:column;gap:1rem;display:flex}.round-card{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius);color:inherit;padding:1.25rem;text-decoration:none;transition:border-color .15s,background .15s;display:block}.round-card:hover{border-color:var(--gold);background:#203a2e}.round-card h3{color:var(--gold);letter-spacing:.06em;margin-bottom:.75rem;font-size:.9rem}.back{color:var(--text-dim);letter-spacing:.06em;margin-bottom:1.25rem;font-size:.8rem;text-decoration:none;transition:color .15s;display:inline-block}.back:hover{color:var(--text)}.scorecard{background:var(--bg-mid);border:1px solid var(--bg-light);border-radius:var(--radius);overflow:hidden}.sc-colhead{padding:.75rem .75rem .5rem}.sc-colhead__lbl{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-bottom:.4rem;font-size:.6rem;display:flex}.sc-holes{font-family:var(--font-mono);grid-template-columns:repeat(9,1fr);gap:3px;display:grid}.sc-holes__cell{flex-direction:column;align-items:center;display:flex}.sc-holes__num{color:var(--gold);font-size:.65rem;font-weight:600}.sc-holes__par{color:var(--text-dim);font-size:.65rem}.sc-player{border-top:1px solid var(--bg-light);padding:.65rem .75rem .7rem}.sc-player__line{align-items:center;gap:.65rem;margin-bottom:.5rem;display:flex}.sc-player__name{flex:1;min-width:0;font-size:.95rem;font-weight:700}.sc-player__rel{color:var(--text-dim);font-family:var(--font-mono);margin-left:.4rem;font-size:.7rem;font-weight:400}.sc-player__total{font-family:var(--font-mono);font-size:1.1rem;font-weight:700}.sc-player__pts{background:var(--bg-light);color:var(--gold);font-family:var(--font-mono);border-radius:999px;align-items:baseline;gap:.2rem;padding:.15rem .7rem;display:inline-flex}.sc-player__pts b{font-size:.95rem}.sc-player__pts span{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:.5rem}.sc-player--absent{opacity:.55}.sc-strip{font-family:var(--font-mono);grid-template-columns:repeat(9,1fr);gap:3px;display:grid}.sc-strip__cell{justify-content:center;align-items:center;height:1.9rem;display:flex}.sc-mark{box-sizing:border-box;width:1.5rem;height:1.5rem;color:var(--text);justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.sc-mark--birdie{border:1.5px solid var(--birdie-text);border-radius:50%}.sc-mark--eagle{border:1.5px solid var(--eagle-text);box-shadow:0 0 0 1.5px var(--bg-mid), 0 0 0 3px var(--eagle-text);border-radius:50%}.sc-mark--bogey{border:1.5px solid var(--bogey);border-radius:3px}.sc-mark--double{border:1.5px solid var(--double);box-shadow:0 0 0 1.5px var(--bg-mid), 0 0 0 3px var(--double);border-radius:3px}.admin-pin{text-align:center;max-width:300px;margin:5rem auto}.admin-pin form{justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}input[type=password]{background:var(--bg-light);color:var(--text);border-radius:var(--radius);font-family:var(--font-mono);letter-spacing:.2em;text-align:center;border:1px solid #3d7a55;width:120px;padding:.6rem 1rem;font-size:1rem}button{background:var(--gold);color:var(--bg);border-radius:var(--radius);font-family:var(--font-serif);cursor:pointer;letter-spacing:.06em;border:none;padding:.6rem 1.5rem;font-size:.875rem;font-weight:700;transition:background .15s}button:hover:not(:disabled){background:var(--gold-bright)}button:disabled{opacity:.35;cursor:not-allowed}.loading{color:var(--text-dim);text-align:center;padding:3rem;font-style:italic}.empty{color:var(--text-dim);margin-top:1rem;font-style:italic}.success{color:var(--birdie-text);margin-bottom:1rem;font-size:.875rem}.half-toggle{flex:1;gap:0;margin-bottom:0;display:flex}.half-toggle button{background:var(--bg-light);color:var(--text-dim);border:1px solid #3d7a55;border-radius:0;flex:1;padding-left:.5rem;padding-right:.5rem}.half-toggle button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.half-toggle button:last-child{border-radius:0 var(--radius) var(--radius) 0}.half-toggle button.active{background:var(--gold);color:var(--bg)}.half-toggle button:hover:not(:disabled){background:var(--bg-light);filter:brightness(1.15)}.half-toggle button.active:hover:not(:disabled){background:var(--gold-bright);filter:none}.half-toggle--row{flex:none;margin-bottom:1rem}.half-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:.65rem;font-family:var(--font-mono);margin-left:.5rem}.year-swiper{justify-content:space-between;align-items:center;padding:.25rem 0 .75rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.year-swiper-btn{color:#b8af9e;cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;min-width:80px;padding:.35rem .5rem}.year-swiper-btn:hover{color:#f5f0e8}.year-swiper-current{color:#f5f0e8;letter-spacing:.05em;font-weight:700}.year-swiper-spacer{min-width:80px}@keyframes slide-in-from-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes slide-in-from-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.year-slide[data-dir=older]{animation:.2s slide-in-from-left}.year-slide[data-dir=newer]{animation:.2s slide-in-from-right}.player-link{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.player-link--zack{text-decoration-color:#86efac}.player-link--ben{text-decoration-color:#c9a84c}.player-link--chris{text-decoration-color:#7ab0c8}.player-link--julian{text-decoration-color:#f87171}.player-link:hover{opacity:.85}.profile-header{background:var(--bg-mid);border-bottom:1px solid var(--bg-light);align-items:center;gap:1rem;padding:1rem;display:flex}.profile-avatar{background:var(--bg-light);width:3rem;height:3rem;font-family:var(--font-mono);color:var(--text);border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.profile-name{margin:0;font-size:1.4rem;line-height:1.2}.profile-sub{color:var(--text-dim);font-family:var(--font-mono);margin:.2rem 0 0;font-size:.8rem}.profile-body{flex-direction:column;gap:1.25rem;padding:1rem 0;display:flex}.profile-section{background:var(--bg-mid);border-radius:var(--radius);overflow:hidden}.profile-section h2{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--bg-light);font-size:.7rem;font-family:var(--font-mono);margin:0;padding:.5rem .75rem}.stat-grid{background:var(--bg-light);grid-template-columns:1fr 1fr;gap:1px;display:grid}.stat-cell{background:var(--bg);padding:.75rem}.stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.65rem}.stat-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);color:var(--text);margin-top:.15rem;line-height:1.2}.kp-row{border-top:1px solid var(--bg-light);display:flex}.kp-cell{text-align:center;border-right:1px solid var(--bg-light);flex:1;padding:.75rem .5rem}.kp-cell:last-child{border-right:none}.kp-num{font-family:var(--font-mono);color:var(--birdie-text);font-size:1.5rem;font-weight:600;line-height:1;display:block}.kp-lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-top:.25rem;font-size:.6rem;display:block}.round-list{border-top:1px solid var(--bg-light)}.round-row{border-bottom:1px solid var(--bg-light);color:inherit;align-items:center;gap:.5rem;padding:.6rem .75rem;text-decoration:none;display:flex}.round-row:last-child{border-bottom:none}.round-row:hover{background:var(--bg-light)}.round-date{font-family:var(--font-mono);color:var(--text-dim);flex:1;font-size:.75rem}.round-score{font-family:var(--font-mono);text-align:right;width:2.5rem;font-size:.85rem}.round-badge{font-family:var(--font-mono);border-radius:var(--radius);text-align:center;width:2.5rem;padding:.15rem .4rem;font-size:.65rem}.badge-1st{color:var(--gold);background:#c9a84c22}.badge-2nd{color:var(--text-dim);background:#b8af9e22}.badge-3rd{color:#7ab0c8;background:#7ab0c822}.badge-last{color:var(--bogey);background:#f8717122}.round-chevron{color:var(--bg-light);font-size:1rem}.sos-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:.8rem}.sos-table th{text-align:right;color:var(--gold);border-bottom:1px solid var(--bg-light);padding:.4rem .75rem;font-size:.7rem;font-weight:600}.sos-table th.left{text-align:left;color:var(--text-dim)}.sos-table td{text-align:right;border-bottom:1px solid var(--bg-light);padding:.5rem .75rem}.sos-table td.left{text-align:left;color:var(--text-dim)}.sos-table tr:last-child td{border-bottom:none}.re-head{align-items:stretch;gap:.6rem;margin-bottom:1rem;display:flex}.re-date{background:var(--bg-light);color:var(--text);border-radius:var(--radius);font-family:var(--font-mono);border:none;flex:none;padding:.6rem .8rem;font-size:.875rem}.re-course{appearance:none;background-color:var(--bg-light);min-width:0;color:var(--text);border-radius:var(--radius);font-family:var(--font-mono);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23c9a84c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;border:none;flex:1;padding:.6rem 2rem .6rem .8rem;font-size:.875rem}.re-half-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--gold);font-size:.85rem}.re-who{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:.5rem 0 .75rem;font-size:.8rem}.re-attendance{flex-direction:column;gap:.5rem;display:flex}.re-att{width:100%;color:var(--text);border:1px solid var(--bg-light);border-radius:var(--radius);background:0 0;justify-content:space-between;align-items:center;padding:.7rem .85rem;font-size:1rem;display:flex}.re-att:hover:not(:disabled){background:var(--bg-light)}.re-att.off{opacity:.45;border-style:dashed}.re-check{background:var(--gold);width:20px;height:20px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.re-att.off .re-check{border:1px solid var(--text-dim);background:0 0}.re-start{background:var(--gold);width:100%;color:var(--bg);border-radius:var(--radius);border:none;margin-top:1.25rem;padding:.8rem;font-size:1rem;font-weight:700;display:block}.re-start:hover:not(:disabled){background:var(--gold-bright)}.re-start:disabled{opacity:.5}.re-pill{text-align:center;background:var(--bg-mid);border-radius:var(--radius);letter-spacing:.08em;color:var(--gold-bright);font-family:var(--font-mono);margin-bottom:1rem;padding:.6rem;font-size:.85rem}.re-rows{flex-direction:column;gap:.9rem;display:flex}.re-prow{justify-content:space-between;align-items:center;display:flex}.re-pinfo{flex-direction:column;gap:.2rem;display:flex}.re-pname{font-size:1.05rem}.re-pthru{font-family:var(--font-mono);color:var(--text-dim);font-size:.72rem}.re-delta{font-weight:700}.re-delta.under{color:var(--birdie-text)}.re-delta.over{color:var(--bogey)}.re-delta.even{color:var(--text-dim)}.re-stepper{align-items:center;gap:.9rem;display:flex}.re-sbtn{border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background .15s,transform .1s;display:grid}.re-sbtn svg{display:block}.re-sbtn--minus{background:var(--bg-mid);border:1.5px solid var(--bg-light);color:var(--text)}.re-sbtn--minus:hover:not(:disabled){background:var(--bg-light)}.re-sbtn--plus{background:var(--gold);color:var(--bg);border:none}.re-sbtn--plus:hover:not(:disabled){background:var(--gold-bright)}.re-sbtn:active:not(:disabled){transform:scale(.92)}.re-sval{text-align:center;width:34px;font-family:var(--font-mono);font-size:1.6rem;font-weight:700}.re-sval.birdie,.re-sval.eagle{color:var(--birdie-text)}.re-sval.bogey,.re-sval.double{color:var(--bogey)}.re-chips{justify-content:center;gap:.4rem;margin:1.25rem 0 1rem;display:flex}.re-chip{border:1px solid var(--bg-light);background:var(--bg-mid);min-width:0;max-width:38px;height:32px;color:var(--text-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:8px;flex:1 1 0;place-items:center;padding:0;font-size:.8rem;font-weight:600;transition:background .15s,color .15s,transform .1s;display:grid}.re-chip.done{color:var(--text)}.re-chip.cur{background:var(--gold);color:var(--bg);border-color:var(--gold);font-weight:700}.re-chip:active{transform:scale(.95)}.re-nav{gap:.6rem;display:flex}.re-summary .re-nav{margin-top:1.25rem}.re-navbtn{border:none;border-radius:26px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.2rem;font-size:.9rem;font-weight:700;transition:background .15s,filter .15s,transform .1s;display:flex}.re-navbtn--ghost{background:var(--bg-mid);border:1.5px solid var(--bg-light);color:var(--text)}.re-navbtn--ghost:hover:not(:disabled){background:var(--bg-light)}.re-navbtn--primary{background:var(--gold);color:var(--bg)}.re-navbtn--primary:hover:not(:disabled){background:var(--gold-bright)}.re-navbtn:active:not(:disabled){transform:scale(.98)}.re-navbtn:disabled{opacity:.4;pointer-events:none}.re-sumtitle{color:var(--gold);letter-spacing:.04em;margin-bottom:.25rem;font-size:1.35rem;font-weight:700}.re-sumhead{color:var(--text-dim);font-family:var(--font-mono);margin-bottom:.5rem;font-size:.8rem}.re-srow{border-bottom:1px solid var(--bg-mid);align-items:center;padding:.75rem .25rem;display:flex}.re-spos{text-align:center;width:22px;color:var(--gold);font-weight:700}.re-sname{flex:1;margin-left:.6rem;font-size:1.05rem}.re-stot{text-align:right;width:36px;color:var(--text-dim);font-family:var(--font-mono)}.re-spts{box-sizing:border-box;text-align:center;width:56px;color:var(--gold);border-radius:var(--radius);background:#c9a84c21;margin-left:.85rem;padding:.25rem 0;font-size:.8rem;font-weight:700}.re-srow.absent{opacity:.45}.re-srow.absent .re-spts{color:var(--text-dim);background:#ffffff0f}
