@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#183e34;background:#f5f5ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1160px;padding:44px 24px;margin:auto}header{background:#163e32;color:#fff;padding:40px;border-radius:24px;position:relative;overflow:hidden}header:after{content:'⛳';position:absolute;right:40px;top:24px;font-size:110px;opacity:.22}.eyebrow{font-size:11px;letter-spacing:2px;color:#cadba9}h1{font-family:Manrope,sans-serif;font-size:48px;line-height:1.15;margin:18px 0}h1 span{display:block;font-size:22px;font-weight:500;margin-top:12px}header p{color:#c9d9d1;font-size:14px}.toolbar{display:flex;gap:10px;align-items:center;margin:22px 0}.toolbar span{margin-right:auto;font-size:12px;color:#64756b}button{font:inherit;border:0;background:#214f3d;color:#fff;padding:12px 18px;border-radius:10px;cursor:pointer}.outline{background:transparent;border:1px solid #b7c5ba;color:#214f3d}section{background:#fff;border:1px solid #e1e7dc;border-radius:18px;padding:24px;margin:18px 0}.section-head{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:18px}h2{font-size:20px;margin:0}.section-head span{font-size:12px;color:#6c7a70}.players{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.player{background:#f4f6f0;border-radius:12px;padding:16px}.player b{font-size:11px;letter-spacing:1px;color:#768572}label{display:block;font-size:12px;color:#627467;margin:12px 0 5px}input{width:100%;font:inherit;border:1px solid #cbd6c9;border-radius:7px;background:white;padding:9px;color:#163e32;min-width:0}input:focus{outline:2px solid #8eab61;outline-offset:1px}input.invalid{border-color:#bd4c35;background:#fff0e9}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:630px;font-size:14px}th{text-align:left;padding:13px 10px;background:#edf2e7;font-size:12px}td{padding:8px 10px;border-bottom:1px solid #edf0e9}td:first-child{font-weight:700;width:60px}td input{width:65px;text-align:center;padding:9px 5px}td .score{width:75px}small{display:block;font-size:10px;color:#788674;margin-top:4px;white-space:nowrap}.net{font-size:11px;color:#617263;display:block;margin-top:4px}tfoot td{background:#f4f6ef;padding:14px 10px;font-weight:700}#validation{font-size:12px;color:#677d55}#validation.error{color:#a73e27}details{padding:20px 24px;border:1px solid #d8e1d2;border-radius:14px;font-size:13px;line-height:1.7}summary{cursor:pointer;font-weight:700}footer{text-align:center;font-size:12px;color:#8a9687;padding:24px}@media(max-width:700px){main{padding:18px 12px}header{padding:28px 24px}h1{font-size:38px}header:after{right:12px;top:46px;font-size:70px}.players{grid-template-columns:repeat(2,1fr);gap:10px}section{padding:16px}.section-head{align-items:flex-start;flex-direction:column;gap:6px}.toolbar{flex-wrap:wrap}.toolbar span{flex-basis:100%}button{padding:10px 14px}}
.players{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.player{position:relative}.remove{float:right;background:transparent;color:#6c7a70;padding:0;font-size:11px}.remove:disabled,button:disabled{opacity:.4;cursor:default}.baseline{background:#edf3e6;padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.6}table{width:max-content;min-width:100%}th,td{min-width:105px}td:first-child{width:160px;min-width:160px}.sticky{position:sticky;left:0;background:#f4f6ef;z-index:1;max-width:180px;overflow-wrap:anywhere}thead .sticky{background:#edf2e7}.compare{display:flex;gap:16px}.compare label{flex:1}.compare select{display:block;width:100%;font:inherit;padding:10px;border:1px solid #cbd6c9;border-radius:8px;background:white;color:#163e32;margin-top:6px}#pair-summary{font-size:13px;line-height:1.6}.result{font-weight:600}.win{color:#2c693d;background:#f1f8ed}.loss{color:#a55035;background:#fff5ef}.tie{background:#f4f4ee}#relative0,small[id^=relative]{margin-top:10px}@media(max-width:700px){.players{grid-template-columns:repeat(2,minmax(0,1fr))}.player{padding:12px}.compare{flex-direction:column;gap:2px}.sticky{max-width:120px;min-width:120px!important}}
.course-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}.course-controls select{display:block;width:100%;font:inherit;padding:10px;border:1px solid #cbd6c9;border-radius:8px;background:#fff;color:#163e32;margin-top:6px}.course-controls input{margin-top:6px}.course-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}#course-status{font-size:13px;line-height:1.6;color:#456a38}#course-note{font-size:12px;line-height:1.7;color:#6c7a70}#course-note a{color:#285a40}@media(max-width:700px){.course-controls{grid-template-columns:1fr;gap:4px}}
.score-control{display:flex;align-items:center;gap:4px}.score-control .score{width:48px;padding:9px 2px;height:44px}.step{width:44px;height:44px;padding:0;font-size:23px;border-radius:8px;background:#edf3e6;color:#214f3d;flex-shrink:0}.step:active{background:#cbddbd}.score::-webkit-inner-spin-button,.score::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score{appearance:textfield;-moz-appearance:textfield}.score-status{display:block;font-size:10px;color:#927342;margin-top:5px}#holes tr:not(:first-child):not(:nth-child(2)) td:not(:first-child){min-width:164px}
#holes td.hole-leader{background:#e5f0ff;box-shadow:inset 0 0 0 2px #96bcef}.score-control .leader-score{color:#074799;background:#fff;font-weight:800;border:2px solid #2265bd}.hole-result{display:block;font-size:11px;line-height:1.5;font-weight:700;color:#074799;margin-top:6px;max-width:150px}.hole-result:empty{display:none}.leader-note{font-size:12px;color:#516879;line-height:1.6}.hole-leader .step{background:#cbdffd;color:#074799}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#holes td.hole-gold{background:#fff0bb;box-shadow:inset 0 0 0 2px #d1a32b}.score-control .gold-score{color:#704d00;background:#fffdf3;font-weight:800;border:2px solid #b78914}.hole-gold .step{background:#f2d989;color:#704d00}.point-total{display:block;color:#214f3d;margin-bottom:8px;font-size:16px}.legend-blue,.legend-gold{display:inline-block;padding:4px 9px;border-radius:6px;font-weight:700;margin-right:6px}.legend-blue{background:#e5f0ff;color:#074799}.legend-gold{background:#fff0bb;color:#704d00}
.sunday-label{display:flex;align-items:center;gap:6px;font-size:11px;margin:7px 0 0;min-height:32px;cursor:pointer}.sunday-label input{width:18px;height:18px;padding:0;margin:0;accent-color:#214f3d}.sunday-label:has(input:disabled){opacity:.45;cursor:default}
#holes td.hole-purple{background:#eee5ff;box-shadow:inset 0 0 0 2px #a47ddd}.score-control .purple-score{color:#582294;background:#fcf8ff;font-weight:800;border:2px solid #8850c7}.hole-purple .step{background:#ddc8fb;color:#582294}.legend-purple{display:inline-block;padding:4px 9px;border-radius:6px;font-weight:700;margin-right:6px;background:#eee5ff;color:#582294}.sandy-birdie{font-size:11px;padding:6px 10px;margin-top:7px;min-height:32px;background:#fff;color:#654526;border:1px dashed #9c754c;border-radius:8px}.sandy-birdie.selected{background:#654526;color:#fff;border-style:solid;box-shadow:inset 0 0 0 2px #c6a580}.sunday-label[hidden],.sandy-birdie[hidden]{display:none!important}

.branded-header{display:flex;align-items:center;gap:28px}.branded-header::after{display:none}.brand-logo{display:block;width:148px;height:auto;object-fit:contain;flex-shrink:0;border-radius:12px}.brand-copy h1{font-size:36px;margin:14px 0}.brand-copy p{font-size:16px;margin-bottom:0}@media(max-width:700px){.branded-header{flex-direction:column;align-items:flex-start;gap:18px}.brand-logo{width:116px}.brand-copy h1{font-size:30px}.brand-copy p{font-size:14px;line-height:1.6}}

.handicap-input::-webkit-inner-spin-button,.handicap-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.handicap-input{appearance:textfield;-moz-appearance:textfield}

#course-name-wrap[hidden]{display:none!important}.course-controls:has(#course-name-wrap[hidden]){grid-template-columns:1fr}

#course-status:empty{display:none}

.ace-marker{display:block;font-size:11px;font-weight:700;margin-top:6px;color:#214f3d}.ace-marker[hidden]{display:none!important}

#holes td.hole-orange{background:#ffe4cc;box-shadow:inset 0 0 0 2px #db8943}.score-control .orange-score{color:#823500;background:#fffaf4;font-weight:800;border:2px solid #c5631b}.hole-orange .step{background:#f9cda9;color:#823500}.legend-orange{display:inline-block;padding:4px 9px;border-radius:6px;font-weight:700;margin-right:6px;background:#ffe4cc;color:#823500}.achievement-marker{display:block;font-size:11px;font-weight:700;margin-top:6px;color:#214f3d}.achievement-marker[hidden]{display:none!important}

#payout-status{font-size:12px;color:#735031;line-height:1.6}#payout-status:empty{display:none}
