:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#153d32;background:#f3f6f2;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:1120px;margin:auto;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe3db}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:30px;font-weight:750}.brand span{font-size:22px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:4px}.chip{font-size:14px;border:1px solid #d1ddd4;border-radius:30px;padding:9px 14px}main{max-width:1064px;margin:36px auto;padding:0 24px}h1{font-size:32px;margin:8px 0 12px;letter-spacing:-1px}h2{font-size:21px;margin:0 0 20px}h3{font-size:17px;margin:0 0 14px}p{line-height:1.7}.muted{color:#62746b;font-size:14px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#6c7e72}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.card{background:#fff;border:1px solid #dde5dd;border-radius:20px;padding:26px;margin-bottom:22px}.intro{margin-bottom:28px}.dark{background:#123d31;color:white;border:0}.dark .muted{color:#c1d4c8}.dark .eyebrow{color:#d9ef86}.lime{color:#d9ef86}.topline{display:flex;justify-content:space-between;align-items:center;gap:16px}.players{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input,select{width:100%;font:inherit;color:#153d32;background:#f7f9f6;border:1px solid #ced9d0;border-radius:10px;padding:13px;min-height:48px}input:focus,select:focus,button:focus-visible{outline:3px solid #99b85c;outline-offset:2px}button{font:inherit;font-weight:650;cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:12px 20px;background:#123d31;color:#fff}button:hover{filter:brightness(1.1)}button:disabled{opacity:.45;cursor:default}.primary{width:100%;background:#d9ef86;color:#153d32}.secondary{background:#eaf0e8;color:#153d32}.textbtn{background:transparent;color:#536c5c;padding:5px 0;font-size:14px}.rule{display:flex;gap:14px;border-top:1px solid #365649;padding:17px 0}.rule b{color:#d9ef86;min-width:26px}.rule p{margin:0;font-size:14px}.rule strong{display:block;font-size:16px;margin-bottom:5px}.hole-number{font-size:70px;font-weight:750;line-height:1.1;letter-spacing:-4px}.hole-heading{margin-bottom:24px}.pool{background:#244e3f;padding:14px 18px;border-radius:14px;text-align:center}.pool strong{font-size:30px;display:block}.pool small{font-size:13px;color:#c5d4c7}.team{padding:20px 0;border-top:1px solid #e3e9e1}.teamtitle{font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:16px;color:#5a7264}.score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.who{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#edf2e6;font-size:14px;font-weight:700;flex-shrink:0}.name{overflow-wrap:anywhere}.stepper{display:flex;gap:6px;align-items:center}.stepper button{width:40px;min-height:42px;padding:0;background:#edf2e8;color:#153d32;font-size:22px}.stepper input{width:62px;text-align:center;padding:8px;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.status{display:block;font-size:12px;color:#6b7b68;margin-top:3px}.parselect{max-width:105px}.scorebig{font-size:36px;font-weight:750;letter-spacing:-1px}.result{background:#f0f5e9;border-radius:12px;padding:18px;margin-bottom:20px}.breakdown{width:100%;border-collapse:collapse;font-size:14px}.breakdown td,.breakdown th{text-align:center;padding:12px 6px;border-bottom:1px solid #e4e9e0}.breakdown td:first-child,.breakdown th:first-child{text-align:left}.leader{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e5eae3}.leader strong{margin-left:auto;font-size:25px}.leader small{font-size:13px;color:#697c6d}.history{margin-top:18px}.history summary{cursor:pointer;padding:15px 0;font-size:15px}.progress{display:flex;gap:4px;margin-top:24px}.progress span{height:5px;flex:1;background:#35594b;border-radius:3px}.progress .done{background:#d9ef86}.progress .current{background:white}.notice{padding:14px;border-radius:10px;background:#fff4d6;color:#644d13;font-size:14px;line-height:1.7;margin:16px 0}.order-row{display:flex;align-items:center;gap:12px;margin:12px 0}.order-row select{flex:1}footer{text-align:center;padding:20px;font-size:12px;color:#71806e}details p{font-size:14px}.wide{grid-column:1/-1}dialog{max-width:400px;width:calc(100% - 40px);border:0;border-radius:18px;padding:26px;color:#153d32}dialog::backdrop{background:#10271e80}.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}#error{color:#9c392b;font-size:14px}.ranknum{width:18px;color:#819075}.leader:first-child .ranknum{color:#153d32;font-weight:800}@media(max-width:700px){header{padding:20px}.chip{display:none}main{padding:0 16px;margin-top:24px}.grid{grid-template-columns:1fr;gap:0}.card{padding:22px;border-radius:16px}h1{font-size:27px}.hole-number{font-size:58px}.intro{margin-bottom:22px}.players{gap:12px}.score-row{gap:6px}.stepper{gap:4px}.stepper input{width:52px}.stepper button{width:36px}.who{gap:8px}.avatar{width:30px;height:30px}.brand small{font-size:10px}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}}
.course-fields{margin:18px 0}.course-fields label{margin-top:16px}.course-caption{font-size:14px;color:#d9ef86;margin-bottom:0}.scorecard-dialog{max-width:920px;width:calc(100% - 28px);max-height:90vh}.scorecard-scroll{overflow:auto;max-height:62vh}.scorecard-scroll table{min-width:650px}.scorecard-scroll thead{position:sticky;top:0;background:#edf3e8}.scorecard-scroll th{font-weight:650}.scorecard-scroll .subtotal{background:#eef3e8;font-weight:700}.scorecard-dialog a{color:#235f45}.scorecard-dialog h2{margin:0}.course-fields select{font-size:14px}
.leaderboard-total{margin-top:16px;padding:18px 16px;background:#edf3e7;border-radius:12px;border:0}.scorecard-scroll table{min-width:520px}
body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.pwa-dialog{max-width:520px;max-height:90dvh;overflow-y:auto}.pwa-dialog h2{margin:0}.pwa-dialog p{font-size:14px}.pwa-dialog hr{border:0;border-top:1px solid #dbe3db;margin:22px 0}#pwa-status{font-size:14px}#install-app{flex-shrink:0;font-size:14px}.pwa-dialog .actions{flex-wrap:wrap}.pwa-dialog input[type=file][hidden]{display:none}
