:root{font-family:system-ui,sans-serif;color:#173e32;background:#f3f5f2;font-size:17px}
#game-details,#new-club,#club-choice{max-width:520px}#game-details .field,#new-club .field,#club-choice .field{margin:12px 0}#game-details input,#new-club input{font:inherit;padding:9px;border:1px solid #a8b5ac;border-radius:6px;min-height:44px;max-width:100%}#game-details select{max-width:100%}#new-club{border-top:1px solid #d8be5a;margin-top:20px;padding-top:10px}.game-list{display:grid;gap:10px;margin-bottom:16px}
*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px max(16px,calc((100% - 1000px)/2));background:white;border-bottom:1px solid #d7dfd9}header>a:first-child{font-size:26px;font-weight:850;text-decoration:none}header>a:last-child{font-size:14px}a{color:#006747}main{max-width:1000px;margin:auto;padding:18px 16px 40px}h1{font-size:28px;line-height:1.2;margin:0 0 12px}h2{font-size:20px;margin:0 0 10px}h3{font-size:18px;margin:0 0 8px}p{line-height:1.5}small,.hint{font-size:14px;color:#506057}.preview-note{font-size:14px;color:#516058;margin:0 0 16px}.guide{padding:24px;border:1px solid #d8be5a;border-radius:16px;background:#fff0ad;box-shadow:0 4px 20px #0f32220a}#steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}button,select,input{font:inherit}button,.button{border:1px solid #006747;border-radius:8px;padding:10px 16px;background:#fff;color:#006747;cursor:pointer;font-weight:700;text-decoration:none;display:inline-block;min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2785b2;outline-offset:3px}button[aria-current=step],button.primary{color:#fff;background:#006747}button:disabled{cursor:not-allowed;opacity:.55}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.route{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:20px}.route strong{font-size:21px}.route span{font-size:15px;font-weight:400;color:#506057}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.panel{border:1px solid #d4dace;border-radius:10px;padding:16px;background:white;margin:14px 0}.fields{display:flex;gap:14px;flex-wrap:wrap;align-items:end}label.field{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:650}select,input[type=number]{min-height:44px;padding:7px 9px;border:1px solid #a8b5ac;border-radius:6px;background:white;color:#173e32;max-width:100%}input[type=number]{width:76px}.choice{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:650}.choice input{accent-color:#006747;width:20px;height:20px;flex-shrink:0}.sub-options{margin-left:30px;padding:8px 0}.count-row{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:10px 0}.count-row label{flex:0 1 auto}.count-row .par-label{width:80px}.count-row button{padding:8px}.error-list{color:#8f2130;background:#fff3f1;border:1px solid #ca8b8b;padding:12px 12px 12px 32px;border-radius:8px}.format-list{padding-left:24px;margin-bottom:0}.format-list li{padding:8px 0;line-height:1.5}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs span{border:1px solid #b5c9be;border-radius:20px;background:white;padding:7px 14px;font-weight:700;font-size:14px}.muted{color:#506057;font-size:14px}.scope-note{margin-top:0}.review-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}#status{min-height:24px}.disabled-choice{color:#637168}details summary{cursor:pointer;font-weight:600;padding:10px 0}
@media(max-width:600px){header{padding:12px;gap:8px}header>a:first-child{font-size:22px}header>span{display:none}main{padding:14px 10px 30px}.guide{padding:16px 12px}.route-grid{grid-template-columns:1fr}.route{padding:16px}h1{font-size:25px}.panel{padding:12px}.fields{gap:10px}.field select{max-width:270px}.count-row{gap:6px}.count-row input{width:60px}.count-row button{font-size:13px;padding:6px}.sub-options{margin-left:20px}#steps button{padding:8px 10px;font-size:14px}}
.guide:has(.route-grid){max-width:620px;padding:18px}.route-grid{gap:10px;margin:12px 0 0}.route{padding:12px 14px;gap:0;min-height:50px;justify-content:center}.route strong{font-size:20px}.guide:has(.route-grid)>button{margin-top:12px}.panel{margin:10px 0;padding:12px}.sub-options{padding:4px 0}.count-row{margin:6px 0}
@media(max-width:600px){.guide:has(.route-grid){padding:14px 12px}.route-grid{gap:8px}.route{padding:10px 12px}.route strong{font-size:19px}}
.step-short{display:none}
header>a:only-child{font-size:26px}@media(max-width:600px){header>a:only-child{font-size:22px}}
.format-list{list-style:none;padding-left:0}.format-list li{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);align-items:start;gap:6px}.format-list li>.settings-button{display:inline-block;margin:0;min-height:30px;padding:3px 7px;font-size:12px;line-height:1.3;border-radius:6px}.format-number,.format-description{padding-top:2px}.format-description{overflow-wrap:anywhere}
.hole-series:not(.is-custom) .series-list{padding-top:22px}
.hole-series:not(.is-custom) .series-list{display:grid;grid-template-columns:minmax(0,max-content) max-content;column-gap:6px;row-gap:8px;align-items:center}.hole-series:not(.is-custom) .series-row{display:contents}.hole-series:not(.is-custom) .series-row>span{min-width:0;padding:0}.hole-series:not(.is-custom) .series-row>.field{min-width:0}
.hole-series{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:start;gap:12px;margin-top:12px}.hole-series>.field{min-width:0}.hole-series select{width:100%;min-width:0}.series-list{min-width:0;max-width:460px}.series-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;align-items:end;margin-bottom:10px}.series-row>span{font-size:14px;font-weight:650;padding-bottom:12px}.series-bounds{display:flex;gap:8px}.series-bounds>.field{min-width:0;flex:1}.series-bounds input{width:100%;min-width:0}.custom-series>button{grid-column:1/-1;justify-self:end;font-size:12px;padding:4px 8px;min-height:36px}.series-list>button{font-size:14px;padding:8px;width:100%}
@media(max-width:600px){.hole-series{grid-template-columns:94px minmax(0,1fr);gap:10px}.hole-series>.field select{padding:7px 4px;font-size:14px}.series-row{grid-template-columns:minmax(0,1fr) 106px;gap:5px}.series-row select{font-size:14px;padding:7px 4px}.custom-series{grid-template-columns:1fr}.custom-series>button{justify-self:stretch}.series-bounds{gap:5px}}
@media(max-width:370px){.series-row{grid-template-columns:1fr}.series-row>span{padding-bottom:0}.series-row>.field{gap:2px}}
@media(max-width:600px){.sub-options>.fields:first-child>.field:nth-child(3){grid-column:1/-1}}
.choice input[type=checkbox]{width:28px;height:28px;flex:0 0 28px;cursor:pointer;margin:0}.choice>span{cursor:default}#disable-confirmation{width:min(380px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #b7c6bc;border-radius:14px;color:#173e32;background:#fffdf3}#disable-confirmation::backdrop{background:#173e3266}#disable-confirmation .settings-body{overflow-wrap:anywhere}#disable-confirmation .settings-actions{flex-wrap:wrap}#disable-confirmation .settings-actions button{white-space:nowrap}
.format-choice{display:flex;align-items:center;gap:8px;justify-content:space-between}.format-choice>.choice{flex:1;min-width:0}.settings-button{flex-shrink:0;font-size:13px;padding:7px 9px;min-height:44px}.format-list .settings-button{display:block;margin:6px 0}#format-settings{width:min(520px,calc(100% - 20px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #b7c6bc;border-radius:14px;color:#173e32;background:#fffdf3}#format-settings::backdrop{background:#173e3266}#settings-form{display:flex;flex-direction:column;max-height:calc(100dvh - 28px)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff0ad;border-bottom:1px solid #d8be5a}.settings-head h2{font-size:20px;margin:0}.settings-head button{font-size:24px;padding:0 12px}.settings-body{padding:14px;overflow:auto;overscroll-behavior:contain;min-height:0}.settings-body>.field{margin-bottom:12px}.settings-body input:not([type=checkbox]),.settings-body select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #a8b5ac;border-radius:6px;font-size:16px;background:white;color:#173e32}.settings-body h3{margin-top:16px}.points-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.points-settings>.field{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.points-settings input{max-width:76px}.prize-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.settings-actions{display:flex;gap:10px;padding:12px 14px;background:#fff0ad;border-top:1px solid #d8be5a}.settings-actions button{flex:1;min-height:46px}.settings-body .error-list{font-size:14px}
@media(max-width:600px){.step-wide{display:none}.step-short{display:inline}#steps{display:flex;flex-wrap:nowrap;gap:5px}#steps button{flex:1 1 0;min-width:0;padding:8px 5px;font-size:12px;white-space:nowrap}.panel>.fields{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:end}.panel>.fields>.field:nth-child(3){grid-column:1/-1}.panel>.fields select{width:100%;min-width:0}.sub-options>.fields:first-child{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:end}.sub-options>.fields:first-child select{width:100%;min-width:0}.sub-options{margin-left:0;padding-top:8px}.choice{font-size:16px}.actions>button{flex:1;min-height:46px}input[type=number],select{font-size:16px}.route{min-height:50px}}
@media(max-width:600px){.panel>.fields{grid-template-columns:minmax(0,1fr) 110px}.actions>button{padding:10px 8px;font-size:16px}}
/* Keep the skins dependencies visibly nested, including their checkboxes. */
.choice:has(> input[data-setting="grossBeatsNet"]),
.choice:has(> input[data-editor-top="grossBeatsNet"]){margin-inline-start:20px}
.choice:has(> input[data-setting="grossBeatsNetBirdieOrBetterOnly"]),
.choice:has(> input[data-editor-top="grossBeatsNetBirdieOrBetterOnly"]){margin-inline-start:40px}
/* Selected-text widths are measured after render; no full-row input frames. */
#guide .panel .setup-fields{display:flex;flex-wrap:wrap;align-items:end;gap:8px 10px}#guide .setup-fields>.field{flex:0 1 auto;min-width:0}#guide .setup-fields select,#guide .hole-series select{font-size:14px;font-weight:650;min-height:36px;padding:5px 6px;max-width:100%}#guide .panel .sub-options{margin-left:0}#guide .hole-series{grid-template-columns:max-content minmax(0,1fr);gap:8px}#guide .hole-series>.field{min-width:0;max-width:96px}#guide .custom-series .field select{width:100%}
@media(max-width:600px){#guide .setup-fields select,#guide .hole-series select{min-height:40px}#guide .hole-series>.field{max-width:96px}}
#guide .setup-fields select,#guide .hole-series select{appearance:none;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23173e32' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}
/* Club libraries share the compact phone-first navigation and controls. */
.club-setup-steps { display:flex; flex-wrap:wrap; gap:6px; flex-basis:100%; }
#steps button { white-space:normal; }
#steps.club-navigation { flex-wrap:wrap; }
#steps.club-navigation > button { flex:1 0 auto; min-width:max-content; padding-inline:5px; }
.club-library-list { display:grid; gap:8px; margin-top:16px; }
.club-library-summary { padding-left:24px; overflow-wrap:anywhere; font-size:14px; }
.club-library-row { color:#17251d; }
.club-library-row { display:flex; align-items:center; gap:8px; min-width:0; padding:8px; background:#fff; border-radius:8px; }
.club-library-row span { flex:1; min-width:0; overflow-wrap:anywhere; }
.club-library-row button { font-size:.8rem; padding:6px 8px; }
.club-library-row input { flex:0 0 auto; width:20px; height:20px; }
.club-library-row small { display:block; font-size:12px; font-weight:400; }
.club-rosters { padding-bottom:16px; border-bottom:1px solid #b7c6bc; }
.club-roster-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; overflow-wrap:anywhere; }
.club-roster-summary button { font-size:14px; padding:6px 8px; }
.club-roster-members { display:grid; gap:8px; margin-top:16px; }
.game-join-dialog .club-roster-members label { display:flex; align-items:center; gap:10px; overflow-wrap:anywhere; }
.game-join-dialog .club-roster-members input { width:22px; height:22px; min-height:22px; flex:0 0 22px; }
#save-club-player, #save-club-format { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin:14px 0; }
#save-club-player .field, #save-club-format .field { min-width:0; flex:1; }
#save-club-player input, #save-club-format input { width:100%; min-width:0; min-height:44px; padding:7px; border:1px solid #a8b5ac; border-radius:6px; }
#save-club-player .field, #save-club-format .field { flex-basis:160px; }
