@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap";.header{padding:calc(.75rem + env(safe-area-inset-top,0px)) 2rem 1.375rem;background:var(--club-green);color:var(--on-green);border-bottom:8px solid var(--brass);align-items:center;gap:.75rem;margin:-2rem -2rem 1.5rem;display:flex;position:relative}.header:after{content:"";background:var(--brass);height:2px;position:absolute;bottom:6px;left:0;right:0}.header-crest{width:44px;height:44px;box-shadow:0 0 0 2px var(--club-green), 0 0 0 3px var(--brass);border-radius:50%;flex:none;display:block}.header-text{min-width:0}.header-title{font-family:var(--font-display);color:var(--on-green);margin:0;font-size:1.375rem;font-weight:600;line-height:1.15}.header-game{color:var(--brass-soft);white-space:nowrap;text-overflow:ellipsis;margin:.125rem 0 0;font-size:.875rem;line-height:1.35;overflow:hidden}@media (width<=768px){.header{margin:-1rem -1rem 1rem;padding-left:1rem;padding-right:1rem}}@media print{.header{color:#000;background:0 0;border-bottom:1px solid #000;margin:0 0 1rem;padding:0 0 .5rem}.header:after,.header-crest{display:none}.header-title,.header-game{color:#000}}.sync-status{bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--club-green);max-width:calc(100vw - 32px);min-height:40px;color:var(--on-green);border:1px solid var(--club-green);font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;z-index:9999;pointer-events:none;border-radius:2px;align-items:center;padding:8px 16px;font-size:.9375rem;font-weight:600;line-height:1.3;animation:.15s ease-out syncStatusIn;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 28px -14px #0f2a1f99}@keyframes syncStatusIn{0%{opacity:0}to{opacity:1}}.app-in-game .sync-status{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px)}.app-in-game:has(.tee-box-bar) .sync-status{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 88px)}.connection-status{top:calc(env(safe-area-inset-top,0px) + 8px);background:var(--card);max-width:calc(100vw - 32px);min-height:32px;color:var(--ink);border:1px solid var(--rule);font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;z-index:1000;border-radius:2px;align-items:center;gap:8px;padding:4px 12px;font-size:.8125rem;font-weight:500;line-height:1.3;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 20px -14px #0f2a1f80}.connection-status:before{content:"";background:var(--pencil);border-radius:50%;flex:none;width:8px;height:8px}.connection-status.syncing:before{background:var(--brass)}.custom-modal-overlay{z-index:9999;background-color:#0f2a1f8c;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1rem;display:flex;position:fixed;inset:0}.custom-modal-content{width:100%;max-width:28rem;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));background:var(--card);color:var(--ink);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--shadow-xl);border-radius:2px;animation:.15s ease-out customModalIn;overflow-y:auto}@keyframes customModalIn{0%{opacity:0}to{opacity:1}}.custom-modal-header{justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:.875rem 1rem 0 1.5rem;display:flex}.custom-modal-header h3{color:var(--club-green);margin:0;padding:.25rem 0;font-size:1.375rem}.custom-modal-close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.custom-modal-close-btn:hover{background:var(--label-cell);color:var(--ink)}.custom-modal-body{padding:.5rem 1.5rem 1.25rem}.custom-modal-message{color:var(--ink);white-space:pre-line;margin:0;font-size:1rem;line-height:1.55}.custom-modal-input-container{margin-top:1rem}.custom-modal-input{width:100%}.custom-modal-actions{border-top:1px solid var(--rule);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.custom-modal-actions .btn{min-width:7rem}@media (width<=480px){.custom-modal-overlay{padding:.75rem}.custom-modal-header{padding-left:1.25rem}.custom-modal-body{padding:.5rem 1.25rem 1.25rem}.custom-modal-actions{flex-direction:column;padding:1rem 1.25rem 1.25rem}.custom-modal-actions .btn{width:100%}}.permissions-popup-overlay{z-index:9999;background:#0f2a1f8c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.permissions-popup-overlay .permissions-popup{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--brass);width:100%;max-width:24rem;box-shadow:var(--shadow-xl);color:var(--ink);font-family:var(--font-body);text-align:center;border-radius:2px;padding:1.75rem 1.5rem 1.25rem}.permissions-popup-overlay .popup-step{color:var(--fairway);font-variant-numeric:tabular-nums;margin:0 0 .25rem;font-size:.875rem;font-weight:600}.permissions-popup-overlay .permissions-popup h3{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.permissions-popup-overlay .permissions-popup p:not(.popup-step){font-family:var(--font-body);color:var(--pencil);margin:0 0 1.5rem;font-size:1rem;line-height:1.5}.permissions-popup-overlay .popup-actions{flex-direction:column;gap:.625rem;margin-bottom:1.25rem;display:flex}.permissions-popup-overlay .popup-actions .btn{width:100%;min-height:48px;box-shadow:none;transform:none}.permissions-popup-overlay .permissions-progress{justify-content:center;gap:.5rem;display:flex}.permissions-popup-overlay .progress-dot{background:var(--rule);width:1.5rem;height:3px}.permissions-popup-overlay .progress-dot.active{background:var(--brass)}.permissions-popup-overlay .progress-dot.completed{background:var(--fairway)}.home{color:var(--ink);background:var(--mist);letter-spacing:.01em;min-height:100vh;margin:-2rem;padding-bottom:3rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}.home-masthead{background:var(--club-green);color:var(--on-green);text-align:center;border-bottom:8px solid var(--brass);padding:3rem 1.5rem 5.5rem;position:relative}.home-masthead:after{content:"";background:var(--brass);height:2px;position:absolute;bottom:6px;left:0;right:0}.home-crest{width:112px;height:112px;box-shadow:0 0 0 3px var(--club-green), 0 0 0 4px var(--brass);border-radius:50%;margin:0 auto 1.25rem;display:block}.home-name{letter-spacing:.01em;color:var(--on-green);margin:0;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.25rem,7vw,3.5rem);font-weight:600;line-height:1.05}.home-tagline{max-width:32ch;color:var(--brass-soft);margin:.75rem auto 0;font-size:1.05rem;line-height:1.5}.home-card{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--brass);max-width:34rem;margin:-3.5rem auto 0;position:relative;box-shadow:0 18px 40px -24px #16392b8c}.home-card-part{padding:1.75rem 1.5rem 1.5rem}.home-card-stub{border-top:2px dashed var(--rule);position:relative}.home-card-stub:before,.home-card-stub:after{content:"";background:var(--mist);border:1px solid var(--rule);border-radius:50%;width:16px;height:16px;position:absolute;top:-9px}.home-card-stub:before{left:-9px}.home-card-stub:after{right:-9px}.home-card-title{color:var(--club-green);text-align:left;letter-spacing:-.02em;margin:0 0 1rem;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.2}.home-card-note{color:var(--pencil);max-width:44ch;margin:-.5rem 0 1.25rem;line-height:1.5}.home-rows{border:1px solid var(--rule);margin-bottom:1.25rem}.home-row{cursor:text;grid-template-columns:7.5rem 1fr;align-items:stretch;margin:0;display:grid}.home-row+.home-row{border-top:1px solid var(--rule)}.home-row-label{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);white-space:nowrap;align-items:center;padding:0 .875rem;font-size:.9rem;font-weight:600;display:flex}.home p{font-family:inherit;font-size:inherit}.home .home-row input[type=text]{width:100%;min-height:52px;font:inherit;color:var(--ink);letter-spacing:.01em;text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0 .875rem;font-size:1.0625rem}.home .home-row input[type=text]::placeholder{color:#9aa49e}.home .home-row input[type=text]:focus{box-shadow:none;border:0;outline:none}.home-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass);position:relative}.home-hint{color:var(--pencil);font-variant-numeric:tabular-nums;margin:-.5rem 0 1rem;font-size:.875rem;line-height:1.5}.home-error{color:var(--down);margin:-.5rem 0 1rem;font-weight:500;line-height:1.7}.home-button{background:var(--club-green);width:100%;min-height:52px;color:var(--on-green);font:inherit;letter-spacing:.01em;cursor:pointer;touch-action:manipulation;border:0;border-radius:2px;font-size:1.0625rem;font-weight:600;transition:background-color .15s;display:block}.home-button:hover:not(:disabled){background:var(--fairway)}.home-button:disabled{opacity:.6;cursor:default}.home-button-quiet{background:var(--fairway)}.home-button:focus-visible,.home-link:focus-visible{outline:3px solid var(--brass);outline-offset:3px}.home-link{min-height:44px;font:inherit;color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:1rem auto 0;padding:.5rem;font-size:.95rem;display:block}.home-sample{margin-top:1.25rem}.home-inside{max-width:34rem;margin:2.5rem auto 0;padding:0 1.5rem}.home-inside-row{border-top:1px solid #cfd8d1;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.875rem 0;display:grid}.home-inside-row:last-child{border-bottom:1px solid #cfd8d1}.home-inside dt{color:var(--club-green);font-family:Playfair Display,Georgia,serif;font-size:1.05rem;font-weight:600}.home-inside dd{color:var(--ink);margin:0;line-height:1.5}.home-footer{max-width:34rem;color:var(--pencil);margin:2rem auto 0;padding:0 1.5rem;font-size:.875rem;line-height:1.55}.home-footer p{color:var(--stone-700);margin:0;line-height:1.7}.home-footer .home-link{margin:.5rem 0 0;padding-left:0}@media (width<=768px){.home{margin:-1rem}}@media (width<=420px){.home-masthead{padding:2.25rem 1rem 5rem}.home-card{margin-left:1rem;margin-right:1rem}.home-card-part{padding:1.5rem 1.125rem 1.25rem}.home-row,.home-inside-row{grid-template-columns:7rem 1fr}.home-row-label{padding:0 .625rem}.home-inside,.home-footer{padding:0 1rem}}@media (prefers-reduced-motion:reduce){.home-button{transition:none}}.tabbar{z-index:900;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--club-green);border-top:1px solid var(--brass);position:fixed;bottom:0;left:0;right:0}.tabbar-list{max-width:40rem;height:var(--tabbar-h);margin:0 auto;list-style:none;display:flex}.tabbar-list>li{flex:1 1 0;min-width:0}.tabbar-tab{width:100%;height:100%;color:var(--brass-soft);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 .25rem;font-size:.75rem;font-weight:600;line-height:1;transition:color .15s;display:flex;position:relative}.tabbar-tab:hover,.tabbar-tab.active{color:var(--on-green)}.tabbar-tab.active:before{content:"";background:var(--brass);height:3px;position:absolute;top:0;left:22%;right:22%}.tabbar-tab.active .tabbar-icon{color:var(--brass)}.tabbar-tab:focus-visible{outline:3px solid var(--brass);outline-offset:-5px}.tabbar-icon{flex:none;display:block}.tabbar-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.more-backdrop{z-index:880;background:#0f2a1f66;position:fixed;inset:0}.more-sheet{left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 1px);z-index:890;max-width:40rem;max-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom,0px) - 4rem);overscroll-behavior:contain;background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);border-bottom:0;border-radius:2px 2px 0 0;margin:0 auto;position:fixed;overflow-y:auto;box-shadow:0 -12px 28px -18px #16392b73}.more-sheet-head{border-bottom:1px solid var(--rule);padding:1rem 1rem .75rem}.more-sheet-title{margin:0;font-size:1.25rem}.more-sheet-list{list-style:none}.more-sheet-list>li+li{border-top:1px solid var(--rule)}.more-sheet-item{width:100%;min-height:52px;color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;padding:0 1rem;font-size:1rem;transition:background-color .15s;display:flex;position:relative}.more-sheet-item:hover{background:var(--label-cell)}.more-sheet-item:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}.more-sheet-item.active{color:var(--club-green);font-weight:600}.more-sheet-item.active:before{content:"";background:var(--brass);width:3px;position:absolute;top:10px;bottom:10px;left:0}.more-sheet-list>li:has(.more-sheet-item-leave){border-top:6px solid var(--label-cell)}@media print{.tabbar,.more-sheet,.more-backdrop{display:none}}.activity-feed{max-height:400px;overflow-y:auto}.activity-feed h3{margin-bottom:.75rem}.activity-feed .activities{border-top:1px solid var(--rule);flex-direction:column;display:flex}.activity-feed .activity-item{border-bottom:1px solid var(--rule);background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;min-height:48px;padding:.625rem .75rem;display:flex;position:relative}.activity-feed .activity-item:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.activity-feed .activity-ace:before,.activity-feed .activity-eagle:before,.activity-feed .activity-achievement:before{background:var(--brass)}.activity-feed .activity-birdie:before{background:var(--fairway)}.activity-feed .activity-join.recent-join{background:var(--label-cell)}.activity-feed .activity-join.recent-join:before{background:var(--brass)}.activity-feed .activity-content{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.activity-feed .activity-icon{text-align:center;flex:none;width:1.5rem;font-size:1.125rem}.activity-feed .activity-message{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:1;font-size:.9375rem;line-height:1.45}.activity-feed .activity-time{color:var(--pencil);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8125rem}.activity-feed .no-activity{color:var(--pencil);padding:1rem 0}@media (width<=768px){.activity-feed .activity-item{flex-wrap:wrap;gap:.125rem .75rem}.activity-feed .activity-content{flex:100%}.activity-feed .activity-time{flex:100%;padding-left:2.125rem;font-size:.8125rem}}.side-challenge-indicator,.side-challenge-input{border:1px solid var(--rule);border-left:3px solid var(--brass);background:var(--label-cell);color:var(--ink);border-radius:2px;margin:0 0 1rem;padding:.75rem .875rem}.side-challenge-indicator{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem .75rem;display:flex}.side-challenge-indicator .challenge-content{flex:10rem;min-width:0}.side-challenge-indicator .challenge-info h4,.side-challenge-input .challenge-header h4{margin:0;font-size:1.0625rem;line-height:1.25}.side-challenge-indicator .challenge-info p{color:var(--pencil);margin:.125rem 0 0;font-size:.875rem;line-height:1.35}.side-challenge-input .challenge-header{margin-bottom:.625rem}.side-challenge-indicator .challenge-actions{flex-shrink:0;gap:.5rem;display:flex}.side-challenge-input .input-section{flex-direction:column;gap:.625rem;display:flex}.side-challenge-input .input-row{border:1px solid var(--rule);background:var(--card);border-radius:2px;align-items:center;gap:.5rem;min-height:48px;padding:0 .5rem 0 .75rem;display:flex}.side-challenge-input .input-row:focus-within{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}.side-challenge-input .distance-input,.side-challenge-input .yards-input{min-width:0;min-height:44px;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:0;font-size:1rem}.side-challenge-input .distance-input:focus,.side-challenge-input .yards-input:focus{box-shadow:none}.side-challenge-input .unit-select{flex-shrink:0;width:auto;min-width:84px;min-height:36px;padding:0 .5rem;font-size:.9375rem}.side-challenge-input .yards-label{color:var(--pencil);flex-shrink:0;font-size:.9375rem}.side-challenge-input .input-actions{gap:.5rem;display:flex}.modal-overlay:has(>.score-entry-modal){width:100vw;height:100dvh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:9999;background:#0f2a1f8c;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content.score-entry-modal{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));color:var(--ink);font-family:var(--font-body);border-radius:2px;margin:0;padding:0;animation:none;overflow-y:auto;box-shadow:0 24px 48px -24px #0f2a1f99}.score-entry-modal .modal-header{border-bottom:1px solid var(--rule);background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1.25rem;display:flex}.score-entry-modal .modal-header h3{margin:0;font-size:1.375rem}.score-entry-modal .close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.score-entry-modal .close-btn:hover{background:var(--label-cell);color:var(--ink)}.score-entry-modal .hole-navigation{background:var(--label-cell);border-bottom:1px solid var(--rule);justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.score-entry-modal .nav-btn{border:1px solid var(--club-green);background:var(--card);min-height:44px;color:var(--club-green);font-family:var(--font-body);cursor:pointer;border-radius:2px;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.9375rem;font-weight:600;transition:background-color .15s;display:flex}.score-entry-modal .nav-btn span[aria-hidden]{font-size:1.375rem;line-height:1}.score-entry-modal .nav-btn:hover:not(:disabled){background:var(--mist)}.score-entry-modal .nav-btn:disabled{opacity:.4;cursor:not-allowed}.score-entry-modal .hole-selector select{cursor:pointer;min-width:108px;max-width:124px;min-height:44px;padding:0 .625rem;font-size:.9375rem}.score-entry-modal .modal-body{padding:1rem 1.25rem 1.25rem}.score-entry-modal .hole-info{text-align:center;border-bottom:1px solid var(--rule);margin-bottom:1rem;padding-bottom:.875rem}.score-entry-modal .hole-info h4{font-variant-numeric:lining-nums;margin:0 0 .25rem;font-size:1.25rem}.score-entry-modal .hole-details{color:var(--pencil);font-variant-numeric:tabular-nums;border:0;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin:0;padding:0;font-size:.9375rem;display:flex}.score-entry-modal .hole-details span{font-weight:500}.score-entry-modal .player-info{text-align:center;color:var(--ink);margin-bottom:.5rem}.score-entry-modal .player-info p{margin:0}.score-entry-modal .player-info strong{color:var(--club-green);font-weight:600}.score-entry-modal .current-score{color:var(--pencil);margin-top:.125rem;font-size:.875rem}.score-entry-modal .score-input-modal{justify-content:center;align-items:flex-start;gap:.875rem;padding:.5rem 0 1rem;display:flex}.score-entry-modal .score-btn{border:1px solid var(--club-green);background:var(--club-green);width:60px;height:60px;color:var(--on-green);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:500;line-height:1;transition:background-color .15s;display:flex}.score-entry-modal .score-btn:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}.score-entry-modal .score-btn:disabled{opacity:.35;cursor:not-allowed}.score-entry-modal .score-display{flex-shrink:0;justify-items:center;display:grid}.score-entry-modal .score-display input{border:1px solid var(--rule);background:var(--card);width:88px;height:60px;min-height:60px;color:var(--ink);font-family:var(--font-body);text-align:center;font-variant-numeric:tabular-nums;box-shadow:none;appearance:none;border-radius:2px;margin:0;padding:0;font-size:2.25rem;font-weight:600;line-height:1}.score-entry-modal .score-display input:focus{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass);outline:none}.score-entry-modal .score-label{min-height:1.25rem;color:var(--pencil);text-align:center;margin-top:.375rem;font-size:.875rem;font-weight:600}.score-entry-modal .quick-scores{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.5rem;display:grid}.score-entry-modal .quick-score{border:1px solid var(--rule);background:var(--card);min-height:44px;color:var(--ink);font-family:var(--font-body);text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:.375rem .5rem;font-size:.9375rem;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s}.score-entry-modal .quick-score:hover{border-color:var(--fairway);background:var(--label-cell)}.score-entry-modal .quick-score.eagle{box-shadow:inset 3px 0 0 var(--fairway)}.score-entry-modal .quick-score.birdie{box-shadow:inset 3px 0 #9fbfab}.score-entry-modal .quick-score.bogey{box-shadow:inset 3px 0 #dcc9a3}.score-entry-modal .quick-score.double{box-shadow:inset 3px 0 #e3b4b4}.score-entry-modal .modal-footer{border-top:1px solid var(--rule);background:var(--label-cell);padding:.875rem 1.25rem}.score-entry-modal .modal-actions{border:0;flex-flow:wrap;justify-content:flex-end;gap:.5rem;margin:0;padding:0;display:flex}.score-entry-modal .cancel-btn,.score-entry-modal .submit-btn{border:1px solid var(--club-green);min-height:48px;font-family:var(--font-body);cursor:pointer;touch-action:manipulation;border-radius:2px;padding:0 1.125rem;font-size:1rem;font-weight:600;transition:background-color .15s}.score-entry-modal .cancel-btn{background:var(--card);color:var(--club-green)}.score-entry-modal .cancel-btn:hover{background:var(--mist)}.score-entry-modal .clear-btn{border-color:var(--down);color:var(--down)}.score-entry-modal .clear-btn:hover{background:#fbeeee}.score-entry-modal .submit-btn{background:var(--club-green);color:var(--on-green)}.score-entry-modal .submit-btn:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}.score-entry-modal .submit-btn:disabled{opacity:.5;cursor:not-allowed}.score-entry-modal button:focus-visible,.score-entry-modal select:focus-visible{outline:3px solid var(--brass);outline-offset:2px}@media (width<=600px){.score-entry-modal .modal-header{padding-left:1rem}.score-entry-modal .hole-navigation{padding:.5rem .75rem}.score-entry-modal .nav-btn{padding:0 .5rem}.score-entry-modal .modal-body{padding:.875rem 1rem 1rem}.score-entry-modal .quick-scores{grid-template-columns:repeat(3,1fr)}.score-entry-modal .modal-footer{padding:.75rem 1rem}.score-entry-modal .modal-actions>*{flex:1 1 0;padding:0 .5rem}}.handicap-modal-overlay{z-index:9999;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f2a1f8c;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;animation:none;display:flex;position:fixed;inset:0}.handicap-modal{background:var(--card);width:100%;max-width:28rem;max-height:calc(100dvh - 2rem);color:var(--ink);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--shadow-xl);border-radius:2px;padding:0;animation:.15s ease-out handicapModalIn;overflow-y:auto}@keyframes handicapModalIn{0%{opacity:0}to{opacity:1}}.handicap-modal .handicap-modal-header{background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:.875rem 1rem 0 1.5rem;display:flex}.handicap-modal .handicap-modal-header h3{color:var(--club-green);margin:0;padding:.25rem 0;font-size:1.375rem}.handicap-modal .handicap-modal-close{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.handicap-modal .handicap-modal-close:hover{background:var(--label-cell);color:var(--ink)}.handicap-modal .handicap-modal-body{padding:.75rem 1.5rem 1.5rem}.handicap-modal .handicap-edit-form{flex-direction:column;display:flex}.handicap-modal .handicap-row{border:1px solid var(--rule);background:var(--card);grid-template-columns:7.5rem 1fr;margin:0;display:grid}.handicap-modal .handicap-row+.handicap-row{border-top:0}.handicap-modal .handicap-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass)}.handicap-modal .handicap-row label{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);grid-row:1/span 2;align-items:center;padding:0 .75rem;font-size:.9rem;font-weight:600;line-height:1.3;display:flex}.handicap-modal .handicap-input{width:100%;min-height:48px;box-shadow:none;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:0 .875rem;font-size:1.0625rem}.handicap-modal .handicap-input:focus{box-shadow:none;border:0;outline:none}.handicap-modal .handicap-input.is-readonly,.handicap-modal .handicap-input.is-readonly:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink);cursor:default}.handicap-modal .handicap-input:disabled:not(.is-readonly){opacity:.6;cursor:not-allowed}.handicap-modal .handicap-help{color:var(--pencil);padding:0 .875rem .625rem;font-size:.8125rem;line-height:1.4;display:block}.handicap-modal .handicap-error{background:var(--label-cell);border-left:3px solid var(--down);color:var(--down);margin-top:1rem;padding:.625rem .875rem;font-size:.9375rem}.handicap-modal .handicap-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.handicap-modal .handicap-actions .btn{min-width:7rem}@media (width<=480px){.handicap-modal-overlay{padding:.75rem}.handicap-modal .handicap-modal-header{padding-left:1.25rem}.handicap-modal .handicap-modal-body{padding:.75rem 1.25rem 1.25rem}.handicap-modal .handicap-actions{flex-direction:column}.handicap-modal .handicap-actions .btn{width:100%}}.leaderboard-container{flex-direction:column;gap:1.5rem;display:flex}.leaderboard-container>.card:not(:last-child){margin-bottom:0}.leaderboard-container .leaderboard{border:1px solid var(--rule);background:var(--card);flex-direction:column;display:flex}.leaderboard-container .leaderboard:has(>.leaderboard-empty:only-child){border:0}.leaderboard-container .leaderboard-item{background:var(--card);cursor:pointer;align-items:center;gap:1rem;min-height:64px;padding:.875rem 1rem;transition:background-color .15s;display:flex;position:relative}.leaderboard-container .leaderboard-item+.leaderboard-item{border-top:1px solid var(--rule)}.leaderboard-container .leaderboard-item:hover{background:var(--label-cell)}.leaderboard-container .leaderboard-item.leader:before{content:"";background:var(--brass);width:4px;position:absolute;top:-1px;bottom:-1px;left:-1px}.leaderboard-container .position{font-family:var(--font-display);text-align:center;min-width:40px;color:var(--club-green);font-variant-numeric:lining-nums tabular-nums;font-size:1.5rem;font-weight:600}.leaderboard-container .player-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.leaderboard-container .player-avatar{border:1px solid var(--rule);background:var(--label-cell);border-radius:50%;flex-shrink:0;width:44px;height:44px;overflow:hidden}.leaderboard-container .player-avatar svg{width:100%;height:100%}.leaderboard-container .player-details{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.leaderboard-container .player-name{font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:1.0625rem;font-weight:600;overflow:hidden}.leaderboard-container .player-format{color:var(--pencil);font-weight:400}.leaderboard-container .player-handicap{font-family:var(--font-body);color:var(--pencil);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.leaderboard-container .handicap-edit-btn{min-height:32px;font:inherit;color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:.875rem}.leaderboard-container .scores{align-items:center;gap:1.5rem;display:flex}.leaderboard-container .score-item{text-align:center;min-width:56px}.leaderboard-container .score-label{font-family:var(--font-body);color:var(--pencil);margin-bottom:.125rem;font-size:.8125rem;font-weight:500}.leaderboard-container .score-value{font-family:var(--font-body);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1875rem;font-weight:600}.leaderboard-container .score-value.under-par{color:var(--up)}.leaderboard-container .score-value.over-par{color:var(--ink)}.leaderboard-container .quick-score-btn{background:var(--card);min-height:44px;color:var(--club-green);border:1px solid var(--club-green);font-family:var(--font-body);white-space:nowrap;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:0 .875rem;font-size:.9375rem;font-weight:600;transition:background-color .15s}.leaderboard-container .quick-score-btn:hover{background:var(--label-cell)}.leaderboard-container .leaderboard-modes{border:1px solid var(--club-green);border-radius:2px;margin-bottom:1rem;display:flex}.leaderboard-container .leaderboard-mode{background:var(--card);min-height:44px;color:var(--club-green);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;border:none;flex:1;padding:8px 10px;font-size:.975rem;font-weight:600;transition:background-color .15s,color .15s}.leaderboard-container .leaderboard-mode+.leaderboard-mode{border-left:1px solid var(--club-green)}.leaderboard-container .leaderboard-mode:hover:not(.selected){background:var(--label-cell)}.leaderboard-container .leaderboard-mode.selected{background:var(--club-green);color:var(--on-green)}.leaderboard-container .leaderboard-rank{color:var(--pencil);align-items:center;gap:8px;margin:-.25rem 0 1rem;font-size:.9375rem;display:flex}.leaderboard-container .leaderboard-rank-option{border:1px solid var(--rule);background:var(--card);min-width:72px;min-height:44px;color:var(--ink);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;border-radius:2px;padding:6px 14px;font-size:.9375rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.leaderboard-container .leaderboard-rank-option:hover:not(.selected){border-color:var(--fairway)}.leaderboard-container .leaderboard-rank-option.selected{border-color:var(--club-green);background:var(--club-green);color:var(--on-green)}.leaderboard-container .leaderboard-empty{color:var(--pencil);margin:0}.leaderboard-container .leaderboard-standing{font-family:var(--font-body);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.1875rem;font-weight:600}.leaderboard-container button:focus-visible{outline:3px solid var(--brass);outline-offset:2px}@media (width<=768px){.leaderboard-container{gap:1rem}.leaderboard-container .leaderboard-item{flex-wrap:wrap;gap:.625rem .75rem;padding:.875rem .75rem .75rem}.leaderboard-container .position{min-width:28px;font-size:1.375rem}.leaderboard-container .player-avatar{width:36px;height:36px}.leaderboard-container .player-info{flex:1 1 0;gap:.5rem;min-width:0}.leaderboard-container .player-name{font-size:1rem}.leaderboard-container .player-handicap{white-space:nowrap;gap:.375rem}.leaderboard-container .quick-score-btn{padding:0 .75rem}.leaderboard-container .scores{border-top:1px solid var(--rule);flex:100%;order:3;justify-content:space-between;gap:0;padding-top:.5rem}.leaderboard-container .score-item{flex:1;min-width:0}.leaderboard-container .score-value{font-size:1.0625rem}.leaderboard-container .quick-score-btn{order:2;margin-left:auto}.leaderboard-container .leaderboard-row-compact{flex-wrap:nowrap}.leaderboard-container .leaderboard-standing{font-size:1.0625rem}}.hole-details-modal-overlay{z-index:1000;background:#0f2a1f8c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.hole-details-modal{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);width:100%;max-width:720px;max-height:92dvh;color:var(--ink);font-family:var(--font-body);border-radius:2px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 48px -24px #0f2a1f99}.hole-details-modal .hole-details-header{border-bottom:1px solid var(--rule);align-items:center;gap:.5rem;padding:.75rem;display:flex}.hole-details-modal .header-navigation{flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.hole-details-modal .hole-info{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.hole-details-modal .hole-number{font-family:var(--font-body);text-transform:none;letter-spacing:normal;color:var(--fairway);margin:0;font-size:.875rem;font-weight:600}.hole-details-modal .hole-name-modal{font-variant-numeric:lining-nums;max-width:100%;font-family:var(--font-display);color:var(--club-green);overflow-wrap:anywhere;font-size:1.625rem;font-weight:600;line-height:1.2}.hole-details-modal .hole-counter{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.8125rem}.hole-details-modal .nav-button,.hole-details-modal .close-button{border:1px solid var(--rule);background:var(--card);width:44px;height:44px;color:var(--club-green);cursor:pointer;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,border-color .15s;display:flex}.hole-details-modal .nav-button:hover:not(:disabled),.hole-details-modal .close-button:hover{background:var(--label-cell);border-color:var(--fairway)}.hole-details-modal .nav-button:disabled{opacity:.35;cursor:not-allowed}.hole-details-modal .nav-arrow{font-size:1.75rem;line-height:1}.hole-details-modal .close-button{color:var(--pencil);border-color:#0000;font-size:1.75rem;line-height:1}.hole-details-modal button:focus-visible,.hole-details-modal a:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.hole-details-modal .hole-details-content{flex:1;min-height:0;padding:1.25rem;overflow-y:auto}.hole-details-modal .hole-stats{border:1px solid var(--rule);grid-template-columns:repeat(3,1fr);margin-bottom:1.25rem;display:grid}.hole-details-modal .stat-item{text-align:center;background:0 0;border:0;flex-direction:column;align-items:stretch;margin:0;padding:0;display:flex}.hole-details-modal .stat-item+.stat-item{border-left:1px solid var(--rule)}.hole-details-modal .stat-label{text-transform:none;letter-spacing:normal;font-family:var(--font-body);background:var(--label-cell);border:0;border-bottom:1px solid var(--rule);color:var(--fairway);margin:0;padding:.375rem .5rem;font-size:.875rem;font-weight:600;line-height:1.4;display:block}.hole-details-modal .stat-value{font-family:var(--font-body);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;padding:.5rem;font-size:1.5rem;font-weight:600;line-height:1.3;display:block}.hole-details-modal .hole-description{margin-bottom:1.5rem}.hole-details-modal .hole-description p{color:var(--ink);margin:0;font-size:1rem;line-height:1.6}.hole-details-modal .hole-media{flex-direction:column;gap:1.5rem;display:flex}.hole-details-modal .hole-image-container h3,.hole-details-modal .hole-video-container h3{border-bottom:1px solid var(--rule);margin:0 0 .625rem;padding-bottom:.375rem;font-size:1.125rem}.hole-details-modal .hole-image{border:1px solid var(--rule);width:100%;height:auto;display:block}.hole-details-modal .video-wrapper{border:1px solid var(--rule);background:var(--label-cell);width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.hole-details-modal .video-wrapper iframe{width:100%;height:100%;position:absolute;inset:0}.hole-details-modal .media-error{border:1px solid var(--rule);background:var(--label-cell);flex-direction:column;align-items:flex-start;padding:1rem;display:flex}.hole-details-modal .media-error p{color:var(--pencil);margin:0 0 .5rem;font-size:.9375rem;line-height:1.5}.hole-details-modal .media-error p:first-child{color:var(--ink);font-weight:600}.hole-details-modal .error-details{max-width:48ch}.hole-details-modal .original-url-link{border:1px solid var(--club-green);background:var(--card);min-height:44px;color:var(--club-green);border-radius:2px;align-items:center;margin-top:.25rem;padding:0 1rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.hole-details-modal .original-url-link:hover{background:var(--mist)}@media (width<=768px){.hole-details-modal-overlay{padding:.5rem}.hole-details-modal{max-height:95dvh}.hole-details-modal .hole-details-header{gap:.25rem;padding:.5rem}.hole-details-modal .hole-name-modal{font-size:1.375rem}.hole-details-modal .hole-details-content{padding:1rem}.hole-details-modal .stat-value{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.hole-details-modal-overlay{animation:none}}.scorecard-challenge-indicator{border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;width:40px;height:40px;transition:border-color .15s,background-color .15s;display:inline-flex}.scorecard-challenge-indicator:hover{border-color:var(--fairway);background:var(--label-cell)}.challenge-icon-small{font-size:1rem;line-height:1;display:block}.scorecard-challenge-value{border:1px solid var(--rule);background:var(--label-cell);min-width:44px;color:var(--fairway);text-align:center;border-radius:2px;justify-content:center;align-items:center;padding:3px 6px;font-weight:600;display:inline-flex}.challenge-value-text{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;max-width:64px;font-size:.75rem;line-height:1.2;overflow:hidden}@media (width<=768px){.scorecard-challenge-indicator{width:36px;height:36px}.challenge-value-text{max-width:52px;font-size:.6875rem}}.modal-overlay:has(>.scorecard-challenge-modal){-webkit-backdrop-filter:none;backdrop-filter:none;z-index:9999;background:#0f2a1f8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.scorecard-challenge-modal{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);width:100%;max-width:400px;color:var(--ink);font-family:var(--font-body);border-radius:2px;animation:.15s ease-out fadeIn;box-shadow:0 24px 48px -24px #0f2a1f99}.scorecard-challenge-modal .modal-header{border-bottom:1px solid var(--rule);background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1.25rem;display:flex}.scorecard-challenge-modal .challenge-title h3{margin:0;font-size:1.375rem}.scorecard-challenge-modal .close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:background-color .15s;display:flex}.scorecard-challenge-modal .close-btn:hover{background:var(--label-cell);color:var(--ink)}.scorecard-challenge-modal .modal-body{padding:1rem 1.25rem}.scorecard-challenge-modal .hole-info{color:var(--pencil);margin:0 0 1rem;font-size:1rem;display:block}.scorecard-challenge-modal .hole-info strong{color:var(--ink);font-weight:600}.scorecard-challenge-modal .input-section label{color:var(--fairway);margin-bottom:.375rem;font-size:.9375rem;font-weight:600;display:block}.scorecard-challenge-modal .input-row{border:1px solid var(--rule);background:var(--card);border-radius:2px;align-items:center;gap:.5rem;min-height:48px;padding:0 .5rem 0 .75rem;display:flex}.scorecard-challenge-modal .input-row:focus-within{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}.scorecard-challenge-modal .distance-input,.scorecard-challenge-modal .yards-input{min-width:0;min-height:44px;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:0;font-size:1rem}.scorecard-challenge-modal .distance-input:focus,.scorecard-challenge-modal .yards-input:focus{box-shadow:none}.scorecard-challenge-modal .unit-select{flex-shrink:0;width:auto;min-width:88px;min-height:36px;padding:0 .5rem;font-size:.9375rem}.scorecard-challenge-modal .yards-label{color:var(--pencil);flex-shrink:0;font-size:.9375rem}.scorecard-challenge-modal .modal-footer{flex-direction:column;gap:.5rem;padding:0 1.25rem 1.25rem;display:flex}.scorecard-challenge-modal .modal-footer .btn{width:100%}.scorecard-challenge-modal button:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.score-changes{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.5rem}.score-changes-toggle{width:100%;min-height:48px;font:inherit;text-align:left;color:var(--club-green);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-weight:600;display:flex}.score-changes-toggle:focus-visible,.score-changes-filter:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.score-changes-filters{border:1px solid var(--club-green);border-radius:2px;margin:6px 0 10px;display:flex}.score-changes-filter{background:var(--card);min-height:44px;font:inherit;color:var(--club-green);cursor:pointer;border:none;flex:1;padding:8px 10px;font-size:.9375rem;font-weight:600;transition:background-color .15s,color .15s}.score-changes-filter+.score-changes-filter{border-left:1px solid var(--club-green)}.score-changes-filter:hover:not(.active){background:var(--label-cell)}.score-changes-filter.active{background:var(--club-green);color:var(--on-green)}.score-changes-list{border-top:1px solid var(--rule);max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.score-changes-row{border-bottom:1px solid var(--rule);color:var(--ink);overflow-wrap:anywhere;padding:10px 4px;font-size:.875rem;line-height:1.45}.score-changes-row.flag{background:var(--label-cell);box-shadow:inset 3px 0 0 var(--brass);gap:2px;padding-left:10px;display:grid}.score-changes-row.flag strong{color:var(--club-green);font-weight:600}.score-changes-empty,.score-changes-note{color:var(--pencil);margin:8px 0;font-size:.875rem;line-height:1.5}.scorecard{overflow:hidden}.scorecard .mobile-responsive{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;border:1px solid var(--rule);position:relative;overflow-x:auto}.scorecard .mobile-responsive::-webkit-scrollbar{height:8px}.scorecard .mobile-responsive::-webkit-scrollbar-track{background:var(--label-cell)}.scorecard .mobile-responsive::-webkit-scrollbar-thumb{background:var(--rule)}.scorecard .scorecard-table{border-collapse:collapse;width:100%;font-family:var(--font-body);font-variant-numeric:tabular-nums;background:var(--card);table-layout:auto;font-size:.9375rem}.scorecard .scorecard-table th,.scorecard .scorecard-table td{text-transform:none;letter-spacing:normal;text-align:center;border:1px solid var(--rule);margin:0;padding:.5rem .375rem}.scorecard .scorecard-table tr>:first-child{border-left:0}.scorecard .scorecard-table tr>:last-child{border-right:0}.scorecard .scorecard-table thead tr:first-child>*{border-top:0}.scorecard .scorecard-table tbody tr:last-child>*{border-bottom:0}.scorecard .scorecard-table thead th{background:var(--label-cell);color:var(--fairway);text-transform:none;letter-spacing:normal;vertical-align:middle;font-size:.875rem;font-weight:600}.scorecard .scorecard-table .sticky-col{z-index:2;background:var(--label-cell);min-width:112px;color:var(--fairway);text-align:left;box-shadow:inset -1px 0 0 var(--rule);padding-left:.75rem;padding-right:.5rem;font-weight:600;position:sticky;left:0}.scorecard th.sticky-col{z-index:3}.scorecard .hole-header{min-width:64px;padding:0}.scorecard .hole-header-content{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;min-height:48px;padding:.375rem .25rem;transition:background-color .15s;display:flex}.scorecard .hole-header-content:hover{background:#e6ece7}.scorecard .hole-header .hole-number{font-family:var(--font-body);color:var(--club-green);margin:0;font-size:1rem;font-weight:600;line-height:1.2}.scorecard .hole-header .course-name{text-transform:none;letter-spacing:normal;max-width:76px;color:var(--pencil);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.6875rem;font-weight:500;line-height:1.25;overflow:hidden}.scorecard .scorecard-table .out-col,.scorecard .scorecard-table .in-col,.scorecard .scorecard-table .total-col,.scorecard .scorecard-table .net-col{background:var(--label-cell);min-width:52px;font-weight:600}.scorecard .scorecard-table .total-col{border-left:2px solid var(--rule)}.scorecard .par-row td,.scorecard .yardage-row td,.scorecard .hcp-row td{background:var(--card);color:var(--ink);font-size:.9375rem}.scorecard .scorecard-table tr>td:first-child{text-transform:none;letter-spacing:normal}.scorecard .par-row td{font-weight:600}.scorecard .yardage-row td,.scorecard .hcp-row td{color:var(--pencil);font-size:.8125rem}.scorecard .scorecard-table .yardage-row .sticky-col,.scorecard .scorecard-table .hcp-row .sticky-col,.scorecard .scorecard-table .par-row .sticky-col,.scorecard .scorecard-table .side-challenges-row .sticky-col{background:var(--label-cell);color:var(--fairway);font-size:.875rem;font-weight:600}.scorecard .scorecard-table thead tr:last-child>*{border-bottom:2px solid var(--fairway)}.scorecard .side-challenges-row td{color:var(--pencil);font-size:.8125rem}.scorecard .challenge-cell{vertical-align:middle;padding:.25rem}.scorecard .challenge-cell .scorecard-challenge-indicator,.scorecard .challenge-cell .scorecard-challenge-value{margin:0 auto}.scorecard .player-row td{height:52px}.scorecard .scorecard-table .player-row .sticky-col{background:var(--card);color:var(--ink)}.scorecard .player-info-cell{text-align:left;flex-direction:column;align-items:flex-start;gap:.125rem;display:flex}.scorecard .player-name-text{color:var(--ink);align-items:center;gap:6px;font-size:.9375rem;font-weight:600;display:flex}.scorecard .player-dot{border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 1px #1d2a2326}.scorecard .player-hcp-container{align-items:center;gap:.375rem;display:flex}.scorecard .player-hcp{color:var(--pencil);font-size:.8125rem;font-weight:400}.scorecard .handicap-edit-btn-small{min-height:28px;font:inherit;color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0 .125rem;font-size:.8125rem;font-weight:500}.scorecard .score-cell{cursor:pointer;min-width:44px;font-size:1rem;font-weight:500;transition:background-color .15s;position:relative}.scorecard .score-cell:hover{box-shadow:inset 0 0 0 2px var(--brass-soft)}.scorecard .score-input{border:1px solid var(--brass);width:44px;min-height:36px;box-shadow:0 0 0 1px var(--brass);text-align:center;background:var(--card);color:var(--ink);border-radius:2px;padding:.125rem;font-size:1rem;font-weight:600}.scorecard .score-input:focus{outline:none}.scorecard .grand-total{color:var(--club-green);font-size:1.0625rem}.scorecard .net-total{color:var(--fairway)}.scorecard .scorecard-legend{font-family:var(--font-body);flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1rem;display:flex}.scorecard .legend-item{text-transform:none;letter-spacing:normal;color:var(--pencil);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.scorecard .legend-color{border:1px solid var(--rule);width:16px;height:16px}@media (width<=768px){.scorecard .scorecard-table{font-size:.875rem}.scorecard .scorecard-table .sticky-col{min-width:116px;padding-left:.5rem}.scorecard .hole-header{min-width:52px}.scorecard .hole-header .course-name{max-width:60px;font-size:.625rem}.scorecard .scorecard-legend{gap:.5rem 1rem}.scorecard .legend-item{font-size:.8125rem}.scorecard .legend-color{width:14px;height:14px}}@media print{.scorecard{box-shadow:none;border:1px solid #000}.scorecard .scorecard-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.scorecard .score-cell:hover{box-shadow:none}}.games-card h3{margin-bottom:.75rem}.games-note{color:var(--pencil);margin:.375rem 0;font-size:.875rem;line-height:1.45}.games-label{color:var(--fairway);margin:.25rem 0 0;font-size:.9rem;font-weight:600}.games-list,.games-order,.games-contests{margin:0;padding:0;list-style:none}.games-list,.games-order{border:1px solid var(--rule);background:var(--card)}.games-list>li+li,.games-order>li+li{border-top:1px solid var(--rule)}.games-row{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;min-height:44px;display:flex}.games-list>.games-row,.games-order>.games-row{padding:.25rem .75rem}.games-place{min-width:2em;color:var(--fairway);font-weight:600}.games-name{color:var(--ink);flex:6em;font-weight:600}.games-value{color:var(--ink);flex:0 auto}.games-money{text-align:right;min-width:4.5em;color:var(--ink);font-weight:600}.games-money.up{color:var(--up)}.games-money.down{color:var(--down)}.games-bet{grid-template-columns:1fr auto;grid-template-areas:"name money""value value";gap:0 .75rem;display:grid}.games-list>.games-bet{padding:.5rem .75rem}.games-bet .games-name{grid-area:name}.games-bet .games-value{grid-area:value}.games-bet .games-money{grid-area:money}.games-bet .games-value{color:var(--pencil);font-size:.9rem}.games-bet.won .games-value{color:var(--club-green);font-weight:600}.games-bet.notStarted,.games-bet.notStarted .games-name,.games-bet.notStarted .games-money{color:var(--pencil)}.games-block{border-top:1px solid var(--rule);gap:.5rem;padding:.875rem 0;display:grid}.games-card h3+.games-block{border-top:0;padding-top:0}.games-list>.games-block{padding:.875rem .75rem}.games-block-title{color:var(--club-green);overflow-wrap:anywhere;margin:0;font-weight:600}.games-waiting{background:var(--label-cell);border-left:3px solid var(--brass);color:var(--ink);margin:0;padding:.5rem .75rem;font-size:.875rem}.games-waiting-inline{color:var(--pencil);font-size:.8125rem}.games-form{gap:.625rem;max-width:560px;padding:.75rem 0;display:grid}.games-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.games-chip{border:1px solid var(--rule);background:var(--card);min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:.5rem .875rem;font-size:.9375rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.games-chip:hover:not(:disabled){border-color:var(--fairway)}.games-chip.selected{border-color:var(--club-green);background:var(--club-green);color:var(--on-green)}.games-chip:disabled{opacity:.4;cursor:default}.games-other{color:var(--fairway);align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.games-other input{width:6em;min-height:44px;padding:.5rem}.games-actions{flex-wrap:wrap;gap:.625rem;margin-top:.375rem;display:flex}.games-actions .btn{min-height:44px}.btn.games-small-btn{background:var(--card);min-height:44px;color:var(--club-green);border:1px solid var(--club-green);padding:0 .875rem;font-size:.875rem}.btn.games-small-btn:hover:not(:disabled){background:var(--label-cell);color:var(--club-green);border-color:var(--club-green)}.games-row .games-small-btn{margin-left:auto}.games-toggle{min-height:44px;color:var(--fairway);font:inherit;text-align:left;text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;background:0 0;border:none;justify-self:start;padding:.5rem 0;font-weight:600}.games-hole{padding:.25rem .75rem}.games-hole .games-chips{padding-bottom:.5rem}.games-pick{gap:.5rem;display:grid}.games-contests{border-bottom:1px solid var(--rule)}.games-contest{border-top:1px solid var(--rule);padding:.375rem 0}.games-contest .games-status,.games-contest .games-actions{padding-bottom:.375rem}.games-tag{color:var(--pencil);margin-left:.5rem;font-size:.8125rem;font-weight:400}.games-switch{border:1px solid var(--rule);background:var(--card);min-width:64px;min-height:44px;color:var(--pencil);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.games-switch.on{border-color:var(--club-green);background:var(--club-green);color:var(--on-green)}.games-status{gap:.375rem;display:grid}.games-status .games-value{margin:0}.games-money-badge{border:1px solid var(--brass);color:var(--club-green);font-variant-numeric:tabular-nums;border-radius:2px;margin-left:.375rem;padding:0 .375rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.games-tag,.games-small-btn{white-space:nowrap}.junk-rules{margin:0;padding-left:1.2em}.games-form .betting-fieldset{margin:0}@media (width<=600px){.games-row:has(>.games-small-btn){grid-template-columns:2em minmax(0,1fr) auto;grid-template-areas:"place name button""place value button";gap:0 .75rem;padding-top:.375rem;padding-bottom:.375rem;display:grid}.games-row:has(>.games-small-btn)>.games-place{grid-area:place}.games-row:has(>.games-small-btn)>.games-name{grid-area:name}.games-row:has(>.games-small-btn)>.games-value{color:var(--pencil);grid-area:value;font-size:.875rem}.games-row:has(>.games-small-btn)>.games-small-btn{grid-area:button;margin-left:0}}@media (prefers-reduced-motion:reduce){.games-chip,.games-switch{transition:none}}.games-sub{color:var(--pencil);font-size:.8125rem;font-weight:400;display:block}.side-competitions-container{flex-direction:column;gap:0;display:flex}.side-competitions-container .competitions-toggle{margin-bottom:1.25rem}.side-competitions-container .toggle-label{cursor:pointer;align-items:center;gap:.75rem;min-height:44px;font-weight:600;display:flex}.side-competitions-container .toggle-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--club-green);cursor:pointer}.side-competitions-container .toggle-description{color:var(--pencil);margin:.25rem 0 0;font-size:.875rem;line-height:1.45}.side-competitions-container .competitions-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin:0;display:grid}.side-competitions-container .competition-section h4{margin-bottom:.125rem}.side-competitions-container .competition-subtitle{color:var(--pencil);margin-bottom:.75rem;font-size:.875rem}.side-competitions-container .hole-competitions{border:1px solid var(--rule);background:var(--card);flex-direction:column;display:flex}.side-competitions-container .hole-competition-item{grid-template-columns:8.5rem 1fr;align-items:stretch;min-height:56px;display:grid}.side-competitions-container .hole-competition-item+.hole-competition-item{border-top:1px solid var(--rule)}.side-competitions-container .hole-info{text-align:left;color:var(--ink);background:var(--label-cell);border-bottom:0;border-right:1px solid var(--rule);flex-direction:column;flex:none;order:0;justify-content:center;align-items:flex-start;gap:.125rem;min-width:0;margin:0;padding:.5rem .75rem;font-size:1rem;display:flex}.side-competitions-container .competition-hole{color:var(--club-green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem;font-weight:600}.side-competitions-container .hole-name{font-family:var(--font-body);color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.8125rem;font-weight:400;line-height:1.3}.side-competitions-container .hole-yards{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.8125rem}.side-competitions-container .competition-status{flex-direction:column;justify-content:center;align-items:flex-start;gap:.375rem;min-width:0;padding:.5rem .75rem;font-size:.9rem;display:flex}.side-competitions-container .current-leader,.side-competitions-container .player-entry{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.side-competitions-container .leader-label,.side-competitions-container .entry-label{color:var(--fairway);font-weight:600}.side-competitions-container .leader-name{color:var(--ink);font-weight:600}.side-competitions-container .leader-distance,.side-competitions-container .entry-distance{color:var(--ink)}.side-competitions-container .no-score{color:var(--pencil);font-size:.875rem}.side-competitions-container .competition-status .btn{min-height:44px}@media (width<=768px){.side-competitions-container .competitions-grid{grid-template-columns:1fr}}@media (width<=420px){.side-competitions-container .hole-competition-item{grid-template-columns:7rem 1fr}}.betting-container{flex-direction:column;gap:0;display:flex}.betting-container .card p:last-child{margin-bottom:0}.field-info{color:var(--pencil);margin:.75rem 0 0;font-size:.875rem;line-height:1.45}.rules-box{background:var(--label-cell);border:1px solid var(--rule);border-left:3px solid var(--brass);color:var(--ink);padding:.75rem .875rem;font-size:.875rem;line-height:1.5}.card .rules-box{margin-top:1rem}.rules-box strong{color:var(--club-green)}.total-pool{margin:0 0 1rem}.total-pool strong{color:var(--club-green)}.competition-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem 1.5rem;display:grid}.competition-card h4{margin-bottom:.5rem}.competition-card .field-info{margin-top:0}.prize-list{border:1px solid var(--rule);background:var(--card)}.placing-row{grid-template-columns:3em 1fr auto;align-items:center;gap:.5rem;min-height:44px;padding:.375rem .75rem;font-size:.9375rem;display:grid}.placing-row+.placing-row{border-top:1px solid var(--rule)}.placing-row>span:first-child{color:var(--fairway);font-variant-numeric:tabular-nums;font-weight:600}.placing-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.payout-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:1rem;display:grid}.payout-item{border:1px solid var(--rule);background:var(--card);min-width:0}.payout-item .player-name{background:var(--label-cell);border-bottom:1px solid var(--rule);border-left:4px solid var(--fairway);color:var(--club-green);overflow-wrap:anywhere;padding:.5rem .75rem;font-weight:600}.winnings-breakdown{flex-direction:column;display:flex}.winnings-line{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.375rem .75rem;font-size:.875rem;display:flex}.winnings-line+.winnings-line{border-top:1px solid var(--rule)}.winnings-line>span:first-child{overflow-wrap:anywhere;min-width:0}.winnings-line>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.winnings-line.total,.winnings-line.net{font-size:1rem;font-weight:600}.winnings-line.net{background:var(--label-cell)}.winnings-line .up,.winnings-line.net.positive>span:last-child{color:var(--up)}.winnings-line .down,.winnings-line.net.negative>span:last-child{color:var(--down)}.money-so-far{color:var(--pencil);font-weight:400}.skins-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.skins-column h4{margin-bottom:.5rem}.skins-list{border:1px solid var(--rule);background:var(--card);flex-direction:column;max-height:400px;display:flex;overflow-y:auto}.skins-list .skin-item{background:var(--card);min-height:40px;box-shadow:none;border:0;border-radius:0;grid-template-columns:2.75rem 1fr auto;align-items:stretch;gap:0;padding:0;font-size:.9375rem;display:grid}.skins-list .skin-item:hover{box-shadow:none}.skins-list .skin-item+.skin-item{border-top:1px solid var(--rule)}.skins-list .skin-hole{background:var(--label-cell);border-right:1px solid var(--rule);width:auto;height:auto;font-size:inherit;color:var(--fairway);border-radius:0;justify-content:center;align-items:center;font-weight:600;display:flex}.skins-list .skin-hole-number{color:inherit;font-variant-numeric:tabular-nums}.skins-list .skin-winner,.skins-list .skin-value{align-items:center;padding:0 .75rem;display:flex}.skins-list .skin-item.won .skin-winner{color:var(--ink);font-weight:600}.skins-list .skin-item.carried{opacity:1}.skins-list .skin-item.carried .skin-winner,.skins-list .skin-item.carried .skin-value{color:var(--pencil)}.skins-list .skin-value{color:var(--ink);font-variant-numeric:tabular-nums;justify-content:flex-end;font-weight:600}@media (width<=768px){.competition-grid,.skins-grid,.payout-grid{grid-template-columns:1fr}}.betting-setup{gap:1rem;max-width:520px;display:grid}.betting-field{color:var(--fairway);gap:.375rem;font-weight:600;display:grid}.betting-field small{color:var(--pencil);font-variant-numeric:tabular-nums;font-weight:400}.betting-field.inline{color:var(--ink);grid-template-columns:8em 5.5em auto;align-items:center;font-weight:500}.betting-field input,.betting-input-money input{font-variant-numeric:tabular-nums;width:100%}.betting-input-money{max-width:10em;color:var(--ink);align-items:center;gap:.375rem;display:flex}.betting-place-buttons,.betting-actions{flex-wrap:wrap;gap:.625rem;display:flex}.betting-summary-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.betting-summary-row small{color:var(--pencil);font-size:.875rem}.settle-list{border:1px solid var(--rule);margin:0;padding:0;list-style:none}.settle-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;min-height:52px;padding:.5rem .75rem;display:flex}.settle-row+.settle-row{border-top:1px solid var(--rule)}.settle-row strong{color:var(--club-green);font-weight:600}.settle-amount{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.settle-links{flex-wrap:wrap;gap:.5rem;display:flex}.settle-links .btn{align-items:center;font-size:.875rem;display:inline-flex}.receipt-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;margin-bottom:1.5rem;display:flex}.stats-container{max-width:60rem;color:var(--ink);font-family:var(--font-body);flex-direction:column;gap:1.5rem;margin:0 auto;display:flex}.stats-container .card{margin-bottom:0}.stats-container h2,.stats-container h3,.stats-container h4{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.stats-container h2{margin:0 0 1rem;font-size:1.75rem}.stats-container h3{margin:0 0 1rem;font-size:1.375rem}.stats-container h4{align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.125rem;display:flex}.stats-container .stats-swatch{vertical-align:.05em;border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem;margin-right:.5rem;display:inline-block;box-shadow:0 0 0 1px #16392b40}.stats-container h4 .stats-swatch{margin-right:0}.stats-container .stats-rows,.stats-container .stats-rows dt,.stats-container .stats-rows dd{margin:0}.stats-container .stats-rows .ruled-label{white-space:nowrap}.stats-container .stats-rows .ruled-value{flex-wrap:wrap;gap:.25rem .75rem;line-height:1.4}.stats-container .stats-diff{font-variant-numeric:tabular-nums;font-weight:600}.stats-container .difficulty-hard{color:var(--down)}.stats-container .difficulty-easy{color:var(--up)}.stats-container .performance-cards-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.stats-container .player-stats-grid{flex-direction:column;gap:1.25rem;display:flex}.stats-container .stats-table-wrap{overflow-x:auto}.stats-container .stats-table{border-collapse:collapse;background:var(--card);border:1px solid var(--rule);font-variant-numeric:tabular-nums;width:100%;font-size:.9375rem}.stats-container .stats-table th,.stats-container .stats-table td{border:1px solid var(--rule);text-align:center;text-transform:none;letter-spacing:normal;height:44px;padding:.375rem .625rem;position:static}.stats-container .stats-table thead th{background:var(--label-cell);color:var(--fairway);font-size:.8125rem;font-weight:600;line-height:1.25}.stats-container .stats-table abbr{text-decoration:none}.stats-container .stats-table .stats-name-col{text-align:left;min-width:7rem;color:var(--ink);font-weight:600;line-height:1.3}.stats-container .stats-table thead .stats-name-col{color:var(--fairway)}.stats-container .stats-table tbody th.stats-name-col{background:var(--card);white-space:nowrap}.stats-container .stats-table .stats-hole{color:var(--club-green);font-weight:600}.stats-container .stats-table .difficulty-hard,.stats-container .stats-table .difficulty-easy{font-weight:600}@media (width<=768px){.stats-container{gap:1rem}.stats-container h2{font-size:1.5rem}.stats-container h3{font-size:1.25rem}.stats-container .stats-table{font-size:.875rem}.stats-container .stats-table th,.stats-container .stats-table td{padding:.25rem .4rem}}@media (width<=480px){.stats-container .ruled-row{grid-template-columns:7rem 1fr}.stats-container .ruled-label{padding:0 .625rem}}.achievements-container:not(.achievements-tab){flex-direction:column;gap:0;display:flex}.recent-achievements h3{margin-bottom:.75rem}.recent-list{border:1px solid var(--rule);background:var(--card);flex-direction:column;display:flex}.recent-achievement{align-items:center;gap:.875rem;min-height:56px;padding:.5rem .875rem;display:flex}.recent-achievement+.recent-achievement{border-top:1px solid var(--rule)}.achievement-icon{text-align:center;flex:none;width:2.25rem;font-size:1.75rem;line-height:1}.achievement-details{flex:1;min-width:0}.achievement-name{color:var(--club-green);font-weight:600}.achievement-player{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 .75rem;font-size:.875rem;display:flex}.achievement-time{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.8125rem}.no-achievements{color:var(--pencil);margin:0}.player-achievements-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1rem;display:grid}.player-achievement-card{border-top:1px solid var(--rule);min-width:0;padding:1rem 0 .5rem}.player-achievement-card h4{border-left:4px solid var(--fairway);overflow-wrap:anywhere;margin:0 0 .75rem;padding-left:.625rem;font-size:1.25rem}.achievement-progress{margin-bottom:.5rem}.progress-bar{background:var(--label-cell);border:1px solid var(--rule);width:100%;height:8px;margin-bottom:.375rem;overflow:hidden}.progress-fill{background:var(--fairway);height:100%;transition:width .15s}.progress-text{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.875rem}.achievements-list h5{font-family:var(--font-body);color:var(--fairway);margin:1rem 0 .5rem;font-size:.9rem;font-weight:600}.achievement-badges{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.5rem;display:grid}.achievement-badge{text-align:center;border:1px solid var(--rule);background:var(--card);border-radius:2px;flex-direction:column;align-items:center;min-width:0;padding:.625rem .5rem;display:flex}.achievement-badge.earned{border-color:var(--brass);box-shadow:inset 0 3px 0 var(--brass)}.achievement-badge.unearned{background:var(--label-cell);opacity:.6}.badge-icon{margin-bottom:.25rem;font-size:1.625rem;line-height:1.2}.badge-name{color:var(--ink);margin-bottom:.125rem;font-size:.8125rem;font-weight:600;line-height:1.3}.badge-description{color:var(--pencil);font-size:.75rem;line-height:1.35}.no-badges{color:var(--pencil);grid-column:1/-1;margin:0;font-size:.875rem}.achievement-guide{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));column-gap:1.5rem;display:grid}.guide-item{border-bottom:1px solid var(--rule);align-items:center;gap:.875rem;padding:.625rem 0;display:flex}.guide-icon{text-align:center;flex:none;width:2.25rem;font-size:1.625rem;line-height:1}.guide-content{flex:1;min-width:0}.guide-name{color:var(--club-green);font-weight:600}.guide-description{color:var(--pencil);font-size:.875rem}@media (width<=768px){.player-achievements-grid{grid-template-columns:1fr}.achievement-badges{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-guide{grid-template-columns:1fr}}.theme-selector-overlay{z-index:2000;background:#0f2a1f8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.theme-selector.card{border-top-color:var(--brass);width:100%;max-width:40rem;max-height:calc(100dvh - 2rem);color:var(--ink);font-family:var(--font-body);margin:0;padding:0 1.5rem 1.5rem;animation:.15s ease-out fadeIn;overflow-y:auto}.theme-selector h2,.theme-selector h3{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.theme-selector p{margin:0}.theme-selector .theme-header{z-index:1;background:var(--card);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;margin:0 -1.5rem .5rem;padding:1rem 1rem .75rem 1.5rem;display:flex;position:sticky;top:0}.theme-selector .theme-header h2{margin:0;font-size:1.375rem}.theme-selector .close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.theme-selector .close-btn:hover{background:var(--label-cell);color:var(--ink)}.theme-selector .theme-section{padding:1.25rem 0}.theme-selector .theme-section+.theme-section{border-top:1px solid var(--rule)}.theme-selector .theme-section h3{margin:0 0 .375rem;font-size:1.25rem}.theme-selector .theme-current{margin-bottom:.25rem;font-size:.9375rem}.theme-selector .theme-current-label{color:var(--pencil)}.theme-selector .theme-current-value,.theme-selector .theme-current-applied{color:var(--club-green);font-weight:600}.theme-selector .theme-current-separator{color:var(--pencil)}.theme-selector .theme-description{color:var(--pencil);margin:0 0 .875rem;font-size:.9375rem;line-height:1.5}.theme-selector .theme-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;display:grid}.theme-selector .theme-card{border:1px solid var(--rule);background:var(--card);min-height:52px;color:var(--club-green);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;border-radius:2px;flex-direction:column;justify-content:center;align-items:flex-start;padding:.5rem .875rem;transition:background-color .15s,border-color .15s;display:flex}.theme-selector .theme-card:hover{border-color:var(--fairway)}.theme-selector .theme-card-name{font-size:.9375rem;font-weight:600;line-height:1.3}.theme-selector .theme-card-subtitle{color:var(--pencil);font-size:.8125rem}.theme-selector .theme-card.active{background:var(--club-green);border-color:var(--club-green);color:var(--on-green)}.theme-selector .theme-card.active .theme-card-subtitle{color:var(--brass-soft)}.theme-selector .theme-rows{margin-bottom:.75rem}.theme-selector .theme-rows .ruled-row{cursor:pointer;min-height:52px;margin:0}.theme-selector .theme-rows .ruled-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass);position:relative}.theme-selector .theme-rows .ruled-label{white-space:nowrap}.theme-selector .theme-rows .ruled-value{gap:.75rem}.theme-selector .audio-toggle-checkbox{width:22px;height:22px;accent-color:var(--club-green);cursor:pointer;flex-shrink:0;margin:0}.theme-selector .audio-toggle-text{color:var(--ink);font-weight:500}.theme-selector .audio-toggle-hint{color:var(--pencil);margin:0 0 .375rem;font-size:.875rem;line-height:1.5}.theme-selector .handicap-input-container{cursor:text}.theme-selector input.handicap-input{width:100%;min-height:52px;box-shadow:none;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;margin:0;padding:0 .875rem;font-size:1.0625rem;font-weight:500}.theme-selector input.handicap-input:focus{box-shadow:none;border:0;outline:none}.theme-selector .avatar-grid{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.theme-selector .avatar-option{border:1px solid var(--rule);background:var(--card);min-height:44px;font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;transition:border-color .15s;display:flex}.theme-selector .avatar-option:hover{border-color:var(--fairway)}.theme-selector .avatar-option.selected{border-color:var(--club-green);box-shadow:inset 0 0 0 1px var(--club-green);background:var(--label-cell)}.theme-selector .avatar-preview{pointer-events:none;width:44px;height:44px;display:block}.theme-selector .avatar-preview svg{pointer-events:none;width:100%;height:100%}.theme-selector .avatar-name{text-align:center;color:var(--pencil);font-size:.75rem;line-height:1.25}.theme-selector .avatar-option.selected .avatar-name{color:var(--club-green);font-weight:600}.theme-selector .color-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.5rem;display:grid}.theme-selector .color-option{aspect-ratio:1;cursor:pointer;touch-action:manipulation;border:1px solid #16392b33;border-radius:2px;width:100%;min-height:44px;padding:0}.theme-selector .color-option.selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--club-green)}@media (width<=480px){.theme-selector-overlay{align-items:flex-end;padding:.5rem}.theme-selector.card{max-height:calc(100dvh - 1rem);padding:0 1rem 1.25rem}.theme-selector .theme-header{margin:0 -1rem .5rem;padding:.75rem .75rem .625rem 1rem}.theme-selector .theme-grid{grid-template-columns:1fr 1fr}.theme-selector .avatar-grid{grid-template-columns:repeat(4,1fr)}}.weather-widget.card{max-width:60rem;color:var(--ink);font-family:var(--font-body);margin:1.5rem auto}.weather-widget h3,.weather-widget h4{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.weather-widget p{margin:0}.weather-widget .weather-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.weather-widget .weather-header h3{margin:0}.weather-widget .weather-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.weather-widget .course-selector{cursor:pointer;width:auto;min-width:12rem;min-height:44px}.weather-widget .temperature-toggle-container{align-items:center;gap:.5rem;min-height:44px;display:flex}.weather-widget .temp-label{color:var(--pencil);font-size:.9375rem;font-weight:600}.weather-widget .temp-label.active{color:var(--club-green)}.weather-widget .temperature-switch{width:48px;height:28px;display:inline-block;position:relative}.weather-widget .temperature-switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.weather-widget .temperature-slider{border:1px solid var(--rule);background:var(--label-cell);border-radius:14px;transition:background-color .15s;position:absolute;inset:0}.weather-widget .temperature-slider:before{content:"";background:var(--club-green);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.weather-widget .temperature-switch input:checked+.temperature-slider:before{transform:translate(20px)}.weather-widget .temperature-switch input:focus-visible+.temperature-slider{outline:3px solid var(--brass);outline-offset:2px}.weather-widget .location-status{border:1px solid var(--rule);border-left:4px solid var(--brass);color:var(--pencil);margin-bottom:1rem;padding:.625rem .875rem;font-size:.875rem}.weather-widget .weather-loading,.weather-widget .weather-error{text-align:center;color:var(--pencil);padding:2rem 1rem}.weather-widget .weather-error{color:var(--down)}.weather-widget .weather-current{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.weather-widget .weather-icon-large{font-size:2.75rem;line-height:1}.weather-widget .weather-current h4{margin:0;font-size:1.375rem}.weather-widget .weather-location{color:var(--pencil);font-size:.9375rem}.weather-widget .weather-detail{margin:0 0 1rem}.weather-widget .weather-detail dt,.weather-widget .weather-detail dd{margin:0}.weather-widget .weather-detail .ruled-value{gap:.75rem}.weather-widget .weather-item .value{font-variant-numeric:tabular-nums;font-weight:600}.weather-widget .weather-item .label{color:var(--pencil);font-size:.875rem}.weather-widget .golf-tip{border:1px solid var(--rule);border-left:4px solid var(--fairway);flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem 1rem;line-height:1.5;display:flex}.weather-widget .golf-tip strong,.weather-widget .weather-alert strong{color:var(--club-green);font-weight:600}.weather-widget .weather-alert{border:1px solid var(--rule);border-left:4px solid var(--down);color:var(--down);margin-bottom:1rem;padding:.75rem 1rem;line-height:1.5}.weather-widget .weather-alert strong{color:var(--down)}.weather-widget .weather-forecast{margin-top:1.25rem}.weather-widget .weather-forecast h4{margin:0 0 .625rem;font-size:1.125rem}.weather-widget .forecast-items{border:1px solid var(--rule);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.weather-widget .forecast-item{text-align:center;font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:.25rem;padding:0 0 .5rem;display:flex}.weather-widget .forecast-item+.forecast-item{border-left:1px solid var(--rule)}.weather-widget .forecast-day{background:var(--label-cell);border-bottom:1px solid var(--rule);color:var(--fairway);align-self:stretch;padding:.375rem 0;font-size:.875rem;font-weight:600}.weather-widget .forecast-icon{font-size:1.5rem;line-height:1.2}.weather-widget .forecast-temp{font-weight:600}.weather-widget .forecast-rain{color:var(--pencil);font-size:.8125rem}@media (width<=768px){.weather-widget .weather-header{flex-direction:column;align-items:stretch}.weather-widget .weather-controls{justify-content:space-between}.weather-widget .weather-controls .btn{flex:1}.weather-widget .course-selector{flex:100%;width:100%;min-width:0}}@media (width<=480px){.weather-widget .ruled-row{grid-template-columns:7rem 1fr}.weather-widget .ruled-label{padding:0 .625rem}.weather-widget .forecast-temp{font-size:.875rem}.weather-widget .forecast-rain{font-size:.75rem}}.voice-control-overlay{z-index:2000;background:#0f2a1f8c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.voice-control{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);width:26rem;max-width:100%;max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-xl);color:var(--ink);font-family:var(--font-body);border-radius:2px;overflow-y:auto}.voice-control h3,.voice-control h4{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.voice-control .voice-header{z-index:1;background:var(--card);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .75rem .75rem 1.25rem;display:flex;position:sticky;top:0}.voice-control .voice-header h3{margin:0;font-size:1.375rem}.voice-control .close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.voice-control .close-btn:hover{background:var(--label-cell);color:var(--ink)}.voice-control .voice-content{padding:1.25rem}.voice-control .voice-confirm{border:1px solid var(--rule);border-top:4px solid var(--brass);background:var(--card);margin-bottom:1.25rem;padding:1rem}.voice-control .voice-confirm-title{font-family:var(--font-display);color:var(--club-green);align-items:baseline;gap:.625rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:600;display:flex}.voice-control .voice-confirm-par{font-family:var(--font-body);color:var(--pencil);font-size:.9375rem;font-weight:600}.voice-control .voice-confirm-scores{border-top:1px solid var(--rule);margin:0 0 .75rem;padding:0;list-style:none}.voice-control .voice-confirm-scores li{border-bottom:1px solid var(--rule);align-items:baseline;gap:.75rem;padding:.5rem 0;display:flex}.voice-control .voice-confirm-name{color:var(--ink);flex:1;font-size:1.25rem;font-weight:600}.voice-control .voice-confirm-score{min-width:2.5rem;color:var(--club-green);text-align:right;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:1}.voice-control .voice-confirm-scores li.needs-tap .voice-confirm-score{color:var(--down)}.voice-control .voice-confirm-was{min-width:4rem;color:var(--pencil);font-size:.875rem}.voice-control .voice-confirm-note,.voice-control .voice-confirm-warning{border:1px solid var(--rule);margin-bottom:.625rem;padding:.5rem .75rem;font-size:.9375rem;font-weight:500}.voice-control .voice-confirm-note{border-left:4px solid var(--rule);color:var(--pencil)}.voice-control .voice-confirm-warning{border-left:4px solid var(--down);color:var(--down)}.voice-control .voice-confirm-question{color:var(--ink);margin:.75rem 0;font-size:1.125rem;font-weight:600}.voice-control .voice-confirm-hint{color:var(--pencil);font-size:.9375rem;font-weight:400}.voice-control .voice-confirm-actions{gap:.75rem;display:flex}.voice-control .voice-confirm-actions button{min-height:56px;font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;flex:1;font-size:1.25rem;font-weight:600;transition:background-color .15s}.voice-control .voice-confirm-post{border:1px solid var(--club-green);background:var(--club-green);color:var(--on-green)}.voice-control .voice-confirm-post:hover{background:var(--fairway)}.voice-control .voice-confirm-fix{border:1px solid var(--club-green);background:var(--card);color:var(--club-green)}.voice-control .voice-confirm-fix:hover{background:var(--label-cell)}.voice-control .voice-button{border:1px solid var(--club-green);background:var(--club-green);width:100%;min-height:56px;color:var(--on-green);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;margin-bottom:1.25rem;padding:0 1.25rem;font-size:1.125rem;font-weight:600;transition:background-color .15s}.voice-control .voice-button:hover{background:var(--fairway)}.voice-control .voice-button.listening{border-color:var(--down);background:var(--down);color:#fff}.voice-control .voice-status{text-align:center;margin-bottom:1.25rem}.voice-control .listening-animation{justify-content:center;gap:4px;margin-bottom:.625rem;display:flex}.voice-control .listening-animation span{background:var(--down);border-radius:1px;width:4px;height:18px;animation:1s ease-in-out infinite voiceSoundWave}.voice-control .listening-animation span:nth-child(2){animation-delay:.2s}.voice-control .listening-animation span:nth-child(3){animation-delay:.4s}@keyframes voiceSoundWave{0%,to{transform:scaleY(.6)}50%{transform:scaleY(1.4)}}.voice-control .processing-status{color:var(--fairway);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.625rem;font-weight:600;display:flex}.voice-control .processing-spinner{border:2px solid var(--fairway);border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.voice-control .transcript{border:1px solid var(--rule);border-left:4px solid var(--fairway);color:var(--ink);text-align:left;margin-top:.625rem;padding:.75rem 1rem}.voice-control .transcript strong{color:var(--club-green);font-weight:600}.voice-control .voice-error{border:1px solid var(--rule);border-left:4px solid var(--down);color:var(--down);margin-bottom:1rem;padding:.625rem .875rem;font-size:.9375rem}.voice-control .voice-examples{margin-bottom:1.25rem}.voice-control .voice-examples h4,.voice-control .voice-players h4{margin:0 0 .5rem;font-size:1.125rem}.voice-control .voice-examples ul{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.voice-control .voice-examples li{border-bottom:1px solid var(--rule);color:var(--ink);padding:.5rem 0;font-size:.9375rem}.voice-control .voice-tips{color:var(--pencil);margin-top:.75rem;font-size:.875rem;line-height:1.5}.voice-control .voice-tips strong{color:var(--club-green);font-weight:600}.voice-control .player-list{flex-wrap:wrap;gap:.5rem;display:flex}.voice-control .player-chip{border:1px solid var(--rule);background:var(--card);min-height:36px;color:var(--ink);border-radius:2px;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.voice-control .player-chip.current-player{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass);font-weight:600}.voice-control .player-chip-swatch{border-radius:50%;width:.625rem;height:.625rem;box-shadow:0 0 0 1px #16392b40}@media (width<=480px){.voice-control-overlay{align-items:flex-end;padding:.5rem}.voice-control{max-height:calc(100dvh - 1rem)}.voice-control .voice-content{padding:1rem}}.trash-talk{background:var(--card);width:min(26rem,100vw - 32px);color:var(--club-green);border:1px solid var(--rule);border-top:4px solid var(--brass);font-family:var(--font-display);text-align:left;z-index:2000;cursor:pointer;border-radius:2px;padding:1.5rem 3rem 1.5rem 1.5rem;font-size:1.375rem;font-weight:600;line-height:1.35;animation:.15s ease-out trashTalkIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 48px -20px #0f2a1f8c}.trash-talk-text{display:block}.trash-talk-dismiss{width:44px;height:44px;color:var(--pencil);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:background-color .15s,color .15s;display:flex;position:absolute;top:.25rem;right:.25rem}.trash-talk-dismiss:hover{background:var(--label-cell);color:var(--ink)}.trash-talk-dismiss:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}@keyframes trashTalkIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){.trash-talk{font-size:1.25rem}}.qr-modal-overlay{z-index:9999;background-color:#0f2a1f8c;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1rem;display:flex;position:fixed;inset:0}.qr-modal-content{background:var(--card);width:100%;max-width:30rem;max-height:calc(100dvh - 2rem);color:var(--ink);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--shadow-xl);border-radius:2px;animation:.15s ease-out qrModalIn;overflow-y:auto}@keyframes qrModalIn{0%{opacity:0}to{opacity:1}}.qr-modal-header{justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:.875rem 1rem 0 1.5rem;display:flex}.qr-modal-header h2{color:var(--club-green);margin:0;font-size:1.375rem}.qr-close-btn{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.qr-close-btn:hover{background:var(--label-cell);color:var(--ink)}.qr-modal-body{padding:.75rem 1.5rem 1.5rem}.qr-code-section{text-align:center;margin-bottom:1.25rem}.qr-loading{padding:3rem 1rem}.qr-loading .loading-spinner{border:2px solid var(--rule);border-top-color:var(--fairway);border-radius:50%;width:32px;height:32px;margin:0 auto 1rem;animation:.8s linear infinite qrSpin}@keyframes qrSpin{to{transform:rotate(360deg)}}.qr-loading p{color:var(--pencil);margin:0}.qr-code-container{border:1px solid var(--rule);vertical-align:top;background:#fff;border-bottom:0;padding:.75rem;display:inline-block}.qr-code-image{width:240px;max-width:100%;height:auto;display:block}.qr-modal-content .game-code-display{border:1px solid var(--rule);width:fit-content;margin:0 auto;display:block}.qr-modal-content .game-code-display p{align-items:stretch;min-height:44px;margin:0;display:flex}.qr-modal-content .game-code-display strong{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);white-space:nowrap;align-items:center;padding:0 .875rem;font-size:.9rem;font-weight:600;display:flex}.qr-modal-content .game-code-value{font-family:var(--font-display);color:var(--club-green);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums;align-items:center;padding:0 1rem;font-size:1.25rem;font-weight:600;display:flex}.qr-instructions{border-top:1px solid var(--rule);margin-bottom:1.5rem;padding-top:1rem}.qr-instructions h3{margin:0 0 .5rem;font-size:1.125rem}.qr-instructions ul{margin:0;padding-left:1.125rem;line-height:1.5}.qr-instructions li{color:var(--ink);margin-bottom:.375rem}.qr-instructions li::marker{color:var(--brass)}.qr-instructions strong{color:var(--club-green);font-weight:600}.qr-instructions code{color:var(--club-green);font-family:inherit;font-weight:600}.qr-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.qr-actions .btn{min-width:7rem}@media (width<=480px){.qr-modal-overlay{padding:.75rem}.qr-modal-header{padding-left:1.25rem}.qr-modal-body{padding:.5rem 1.25rem 1.25rem}.qr-code-image{width:200px}.qr-actions{flex-direction:column}.qr-actions .btn{width:100%}}.game-invite-professional{max-width:36rem;color:var(--ink);font-family:var(--font-body);margin:0 auto 2.5rem}.game-invite-professional h2,.game-invite-professional h3{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.game-invite-professional p{margin:0}.game-invite-professional .btn{box-shadow:none;transform:none}.game-invite-professional .invite-card{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--brass);box-shadow:var(--card-shadow);text-align:center;border-radius:2px;padding:2rem 1.5rem 1.5rem}.game-invite-professional .invite-kicker{color:var(--fairway);font-size:.9375rem;font-weight:600}.game-invite-professional .invite-card h2{overflow-wrap:anywhere;margin:.25rem 0 .375rem;font-size:1.75rem;line-height:1.2}.game-invite-professional .invite-subtitle{color:var(--pencil);line-height:1.5}.game-invite-professional .invite-code{border-bottom:2px solid var(--brass);flex-direction:column;align-items:center;margin:1.75rem 0 1.5rem;padding-bottom:1.25rem;display:flex}.game-invite-professional .invite-code-label{color:var(--fairway);font-size:.875rem;font-weight:600}.game-invite-professional .game-code-professional{min-height:56px;font-family:var(--font-display);white-space:nowrap;letter-spacing:.02em;font-variant-numeric:lining-nums tabular-nums;color:var(--club-green);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:2px;margin:.25rem 0 .125rem;padding:.25rem 1rem;font-size:clamp(1.625rem,8vw,2.75rem);font-weight:600;line-height:1.15;transition:background-color .15s}.game-invite-professional .game-code-professional:hover{background:var(--label-cell)}.game-invite-professional .copy-instruction{color:var(--pencil);font-size:.875rem}.game-invite-professional .action-buttons-professional{grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.game-invite-professional .action-buttons-professional .btn{width:100%;min-height:48px}.game-invite-professional .invite-section{margin-top:2rem}.game-invite-professional .invite-section h3{margin:0 0 .75rem;font-size:1.25rem}.game-invite-professional .invite-rows,.game-invite-professional .invite-rows dt,.game-invite-professional .invite-rows dd{margin:0}.game-invite-professional .invite-rows .ruled-value{overflow-wrap:anywhere;min-height:48px;line-height:1.45}.game-invite-professional .instructions-list,.game-invite-professional .tips-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.game-invite-professional .instructions-list{counter-reset:invite-step}.game-invite-professional .instructions-list li,.game-invite-professional .tips-list li{border-bottom:1px solid var(--rule);padding:.75rem 0 .75rem 2.25rem;line-height:1.5;position:relative}.game-invite-professional .instructions-list li:before{counter-increment:invite-step;content:counter(invite-step);text-align:center;width:1.25rem;color:var(--fairway);font-variant-numeric:tabular-nums;font-weight:600;position:absolute;top:.75rem;left:.25rem}.game-invite-professional .tips-list li{color:var(--pencil)}.game-invite-professional .tips-list li:before{content:"";background:var(--brass);width:6px;height:6px;position:absolute;top:1.35rem;left:.75rem}.game-invite-professional .instructions-list strong{color:var(--club-green);font-weight:600}.game-invite-professional .invite-inline-code{font-variant-numeric:tabular-nums;white-space:nowrap}.game-invite.card{max-width:36rem;margin:0 auto}.game-invite .no-game h2{margin:0 0 .5rem;font-size:1.5rem}.game-invite .no-game p{color:var(--pencil);margin:0}@media (width<=480px){.game-invite-professional .invite-card{padding:1.5rem 1rem 1.25rem}.game-invite-professional .invite-card h2{font-size:1.5rem}}.custom-game-creation{max-width:44rem;color:var(--ink);font-family:var(--font-body);margin:0 auto}.custom-game-creation>.card{margin-bottom:0;padding:1.75rem 1.5rem 1.5rem}.custom-game-creation h2,.custom-game-creation h3,.custom-game-creation h4{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;text-align:left;font-weight:600}.custom-game-creation p{font-family:var(--font-body);margin:0}.custom-game-creation .creation-header h2{margin:0 0 1rem;font-size:1.75rem}.custom-game-creation .step-indicator{border:1px solid var(--rule);grid-template-columns:repeat(5,1fr);gap:0;margin:0 0 1.75rem;padding:0;list-style:none;display:grid}.custom-game-creation .step{background:var(--label-cell);min-width:0;color:var(--pencil);text-align:center;border-bottom:3px solid #0000;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .25rem .375rem;font-size:.8125rem;line-height:1.25;display:flex}.custom-game-creation .step+.step{border-left:1px solid var(--rule)}.custom-game-creation .step-number{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600}.custom-game-creation .step-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.custom-game-creation .step.completed{color:var(--fairway)}.custom-game-creation .step.active{background:var(--card);color:var(--club-green);border-bottom-color:var(--brass);font-weight:600}.custom-game-creation .step-header{margin-bottom:1.25rem}.custom-game-creation .step-header h3{margin:0 0 .25rem;font-size:1.375rem}.custom-game-creation .step-note{color:var(--pencil);line-height:1.5}.custom-game-creation .step-note strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.custom-game-creation .cgc-subhead{margin:1.5rem 0 .625rem;font-size:1.125rem}.custom-game-creation .cgc-rows{margin-bottom:1.25rem}.custom-game-creation .ruled-row{min-height:52px;margin:0}.custom-game-creation label.ruled-row{cursor:text}.custom-game-creation .ruled-label{white-space:nowrap;font-size:.9rem}.custom-game-creation .ruled-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass);position:relative}.custom-game-creation .ruled-row .cgc-input{width:100%;min-width:0;min-height:52px;box-shadow:none;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;margin:0;padding:0 .875rem;font-size:1.0625rem}.custom-game-creation .ruled-row textarea.cgc-input{resize:vertical;min-height:76px;padding:.75rem .875rem;line-height:1.45}.custom-game-creation .ruled-row select.cgc-input{cursor:pointer}.custom-game-creation .ruled-row .cgc-input:focus{box-shadow:none;border:0;outline:none}.custom-game-creation .ruled-row .cgc-input::placeholder{color:#8a948e}.custom-game-creation .cgc-hint{color:var(--pencil);margin:-.75rem 0 1.25rem;font-size:.875rem}.custom-game-creation .cgc-choices{gap:.5rem;padding:.5rem;display:flex}.custom-game-creation .cgc-choice{border:1px solid var(--rule);background:var(--card);min-height:52px;color:var(--club-green);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;border-radius:2px;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:.375rem .75rem;transition:background-color .15s,border-color .15s;display:flex}.custom-game-creation .cgc-choice:hover{border-color:var(--fairway)}.custom-game-creation .cgc-choice-main{font-variant-numeric:tabular-nums;font-weight:600}.custom-game-creation .cgc-choice-sub{color:var(--pencil);font-size:.8125rem}.custom-game-creation .cgc-choice.selected{background:var(--club-green);border-color:var(--club-green);color:var(--on-green)}.custom-game-creation .cgc-choice.selected .cgc-choice-sub{color:var(--brass-soft)}.custom-game-creation .cgc-options{border:1px solid var(--rule);margin-bottom:1.25rem}.custom-game-creation .cgc-option{background:var(--card);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;border:0;border-radius:0;grid-template-columns:1.25rem 1fr;align-items:start;gap:.875rem;padding:1rem;transition:background-color .15s;display:grid}.custom-game-creation .cgc-option+.cgc-option{border-top:1px solid var(--rule)}.custom-game-creation .cgc-option:hover{background:var(--label-cell)}.custom-game-creation .cgc-option:focus-visible{outline-offset:-3px}.custom-game-creation .cgc-option-mark{border:1.5px solid var(--pencil);background:var(--card);border-radius:50%;width:1.25rem;height:1.25rem;margin-top:.125rem}.custom-game-creation .cgc-option.selected{background:var(--label-cell)}.custom-game-creation .cgc-option.selected .cgc-option-mark{border-color:var(--club-green);background:var(--club-green);box-shadow:inset 0 0 0 3px var(--card)}.custom-game-creation .cgc-option-text{flex-direction:column;gap:.125rem;display:flex}.custom-game-creation .cgc-option-title{color:var(--club-green);font-size:1.0625rem;font-weight:600}.custom-game-creation .cgc-option-desc{color:var(--pencil);font-size:.9375rem;line-height:1.45}.custom-game-creation .cgc-option-count{color:var(--fairway);font-variant-numeric:tabular-nums;font-size:.875rem}.custom-game-creation .cgc-option-warn{color:var(--down);font-size:.875rem}.custom-game-creation .cgc-course{border-bottom:1px solid var(--rule);margin:0 0 1.25rem;padding:0 0 1rem}.custom-game-creation .cgc-course h4{margin:0 0 .125rem;font-size:1.25rem}.custom-game-creation .cgc-course p{color:var(--pencil);font-size:.9375rem}.custom-game-creation .cgc-search{align-items:center;gap:.5rem;min-width:0;padding-right:.375rem;display:flex}.custom-game-creation .cgc-search .search-btn{flex-shrink:0;width:auto;min-height:44px}.custom-game-creation .cgc-error{border:1px solid var(--rule);border-left:4px solid var(--down);background:var(--card);color:var(--down);margin:0 0 1.25rem;padding:.75rem 1rem;font-weight:500;line-height:1.5}.custom-game-creation .cgc-notice{border:1px solid var(--rule);border-left:4px solid var(--brass);background:var(--card);margin:0 0 1.25rem;padding:1rem}.custom-game-creation .cgc-notice h4{margin:0 0 .25rem;font-size:1.125rem}.custom-game-creation .cgc-notice p{color:var(--pencil);line-height:1.5}.custom-game-creation .cgc-notice .btn{margin-top:.75rem}.custom-game-creation .cgc-results{border:1px solid var(--rule);margin:0 0 1.25rem;padding:0;list-style:none}.custom-game-creation .cgc-results li+li{border-top:1px solid var(--rule)}.custom-game-creation .cgc-result{background:var(--card);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;transition:background-color .15s;display:flex}.custom-game-creation button.cgc-result:hover{background:var(--label-cell)}.custom-game-creation .cgc-result:focus-visible{outline-offset:-3px}.custom-game-creation .cgc-result-text{flex-direction:column;min-width:0;display:flex}.custom-game-creation .cgc-result-name{color:var(--club-green);font-weight:600}.custom-game-creation .cgc-result-place{color:var(--pencil);font-size:.875rem}.custom-game-creation .cgc-result-go{color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;flex-shrink:0;font-size:.9375rem;font-weight:600}.custom-game-creation .cgc-tees{flex-direction:column;gap:.75rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.custom-game-creation .tee-card-professional{border:1px solid var(--rule);background:var(--card);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:2px;padding:0;transition:border-color .15s;display:block}.custom-game-creation .tee-card-professional:hover{border-color:var(--fairway)}.custom-game-creation .cgc-tee-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding:.75rem 1rem;display:flex}.custom-game-creation .cgc-tee-name{font-family:var(--font-display);color:var(--club-green);font-size:1.125rem;font-weight:600}.custom-game-creation .cgc-tee-meta{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.9375rem}.custom-game-creation .cgc-tee-ratings{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.custom-game-creation .cgc-rating{flex-direction:column;padding:.5rem .75rem;display:flex}.custom-game-creation .cgc-rating+.cgc-rating{border-left:1px solid var(--rule)}.custom-game-creation .cgc-rating-label{color:var(--fairway);font-size:.8125rem;font-weight:600}.custom-game-creation .cgc-rating-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:1.0625rem}.custom-game-creation .cgc-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.custom-game-creation .cgc-toolbar .btn,.custom-game-creation .cgc-notice .btn{width:auto}.custom-game-creation .btn{box-shadow:none;transform:none}.custom-game-creation .cgc-table-wrap{margin-bottom:1.25rem;overflow-x:auto}.custom-game-creation .cgc-table{border-collapse:collapse;background:var(--card);border:1px solid var(--rule);font-variant-numeric:tabular-nums;width:100%}.custom-game-creation .cgc-table th,.custom-game-creation .cgc-table td{border:1px solid var(--rule);text-align:center;height:44px;padding:.375rem .625rem}.custom-game-creation .cgc-table th{background:var(--label-cell);color:var(--fairway);font-size:.875rem;font-weight:600}.custom-game-creation .cgc-table input[type=checkbox]{vertical-align:middle;width:22px;height:22px;accent-color:var(--club-green);cursor:pointer;margin:0}.custom-game-creation .cgc-table .checkbox-header,.custom-game-creation .cgc-table .checkbox-cell-professional{width:3.25rem}.custom-game-creation .hole-row-professional.selected td{background:var(--sage-100)}.custom-game-creation .hole-row-professional.selected .hole-number-cell-professional{color:var(--club-green);font-weight:600}.custom-game-creation .hole-row-professional.disabled td{color:var(--pencil)}.custom-game-creation .hole-row-professional.disabled input{cursor:not-allowed;opacity:.45}.custom-game-creation .cgc-preview-hole strong{color:var(--club-green);font-weight:600}.custom-game-creation .cgc-was{color:var(--pencil);font-size:.75rem;display:block}.custom-game-creation .cgc-order{justify-content:center;gap:.25rem;display:flex}.custom-game-creation .cgc-preview-actions{white-space:nowrap;width:1%;padding:.25rem}.custom-game-creation .cgc-icon-btn{border:1px solid var(--rule);background:var(--card);width:44px;height:44px;color:var(--club-green);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:1.125rem;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.custom-game-creation .cgc-icon-btn:hover:not(:disabled){border-color:var(--fairway)}.custom-game-creation .cgc-icon-danger:hover:not(:disabled){border-color:var(--down);color:var(--down)}.custom-game-creation .edit-toggle{font-size:.875rem}.custom-game-creation .cgc-icon-btn:disabled{opacity:.35;cursor:default}.custom-game-creation .cgc-empty{border:1px dashed var(--rule);color:var(--pencil);text-align:center;margin:0 0 1.25rem;padding:1.25rem 1rem}.custom-game-creation .cgc-holes{border:1px solid var(--rule);margin:0 0 1.25rem;padding:0;list-style:none}.custom-game-creation .cgc-holes>li+li{border-top:1px solid var(--rule)}.custom-game-creation .cgc-hole-row{background:var(--card);grid-template-columns:3rem 1fr auto;align-items:stretch;display:grid}.custom-game-creation .cgc-hole-number{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--club-green);font-variant-numeric:lining-nums tabular-nums;justify-content:center;align-items:center;font-size:1.0625rem;font-weight:600;display:flex}.custom-game-creation .cgc-hole-summary{min-width:0;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;padding:.5rem .75rem;display:flex}.custom-game-creation .cgc-hole-summary:focus-visible{outline-offset:-3px}.custom-game-creation .cgc-hole-name{color:var(--club-green);overflow-wrap:anywhere;font-weight:600}.custom-game-creation .cgc-hole-stats{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.875rem}.custom-game-creation .cgc-hole-actions{align-items:center;gap:.25rem;padding:.375rem .5rem;display:flex}.custom-game-creation .hole-entry-professional.editing .cgc-hole-number{background:var(--club-green);color:var(--on-green)}.custom-game-creation .cgc-hole-form{border-width:1px 0 0;margin:0}.custom-game-creation .cgc-summary{margin:0 0 1.25rem}.custom-game-creation .cgc-summary h4{margin:0 0 .5rem;font-size:1.125rem}.custom-game-creation .cgc-summary-course{color:var(--pencil);margin:-.375rem 0 .75rem}.custom-game-creation .cgc-totals{table-layout:fixed;border-collapse:collapse;border:1px solid var(--rule);background:var(--card);font-variant-numeric:tabular-nums;width:100%}.custom-game-creation .cgc-totals th,.custom-game-creation .cgc-totals td{border:1px solid var(--rule);text-align:center;padding:.5rem .75rem}.custom-game-creation .cgc-totals th{background:var(--label-cell);color:var(--fairway);font-size:.875rem;font-weight:600}.custom-game-creation .cgc-totals td{color:var(--club-green);font-size:1.25rem;font-weight:600}.custom-game-creation .step-actions{border-top:1px solid var(--rule);justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.custom-game-creation .step-actions .btn{min-height:48px}.custom-game-creation .step-actions .btn-primary{margin-left:auto}@media (width<=768px){.custom-game-creation>.card{padding:1.25rem 1rem}.custom-game-creation .creation-header h2{font-size:1.5rem}.custom-game-creation .step-header h3{font-size:1.25rem}}@media (width<=480px){.custom-game-creation .ruled-row{grid-template-columns:6.5rem 1fr}.custom-game-creation .ruled-label{white-space:normal;padding:0 .625rem;line-height:1.2}.custom-game-creation .step{font-size:.75rem}.custom-game-creation .step-actions{flex-direction:column-reverse}.custom-game-creation .step-actions .btn{width:100%;margin-left:0}.custom-game-creation .cgc-choice{padding:.375rem .625rem}.custom-game-creation .cgc-hole-row{grid-template-columns:2.75rem 1fr}.custom-game-creation .cgc-hole-number{grid-row:span 2}.custom-game-creation .cgc-hole-actions{justify-content:flex-start;padding:0 .5rem .5rem}.custom-game-creation .cgc-rating{padding:.5rem .625rem}.custom-game-creation .cgc-table th,.custom-game-creation .cgc-table td{padding:.375rem}}.custom-game-creation .cgc-teams{margin:0 0 1rem;padding:0;list-style:none}.custom-game-creation .cgc-team+.cgc-team{margin-top:1.25rem}.custom-game-creation .cgc-team-head,.custom-game-creation .cgc-team-foot{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.custom-game-creation .cgc-team-head{margin-bottom:.5rem}.custom-game-creation .cgc-team-title{margin:0;font-size:1.125rem}.custom-game-creation .cgc-team .cgc-rows{margin-bottom:.25rem}.custom-game-creation .cgc-member-fields{align-items:center;min-width:0;display:flex}.custom-game-creation .cgc-member-fields .cgc-input{flex:1}.custom-game-creation .ruled-row .cgc-member-index{border-left:1px solid var(--rule);font-variant-numeric:tabular-nums;flex:0 0 5.5rem;width:5.5rem}.custom-game-creation .cgc-member-fields .cgc-icon-btn{flex:none;margin-right:.25rem}.custom-game-creation .cgc-team-handicap{color:var(--club-green);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.custom-game-creation .cgc-link{min-height:44px;font:inherit;color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0 .25rem;font-size:.9rem}.custom-game-creation .cgc-link:hover{color:var(--club-green)}.custom-game-creation .cgc-hint-flush{margin-top:0}.course-setup{max-width:48rem;color:var(--ink);font-family:var(--font-body);margin:0 auto}.course-setup h1,.course-setup h2,.hole-edit-modal h2,.hole-edit-modal h4{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600}.course-setup p{margin:0}.course-setup .course-setup-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.course-setup .course-setup-title-section h1{margin:0 0 .25rem;font-size:1.75rem}.course-setup .course-setup-subtitle{color:var(--pencil)}.course-setup .course-setup-close-btn{border:1px solid var(--rule);background:var(--card);width:44px;height:44px;color:var(--club-green);cursor:pointer;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:border-color .15s;display:flex}.course-setup .course-setup-close-btn:hover{border-color:var(--club-green);color:var(--club-green)}.course-setup .course-setup-content{flex-direction:column;gap:1.5rem;display:flex}.course-setup .course-setup-section{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--card-shadow);border-radius:2px;padding:1.5rem}.course-setup .section-header{margin-bottom:1rem}.course-setup .section-header h2{margin:0 0 .25rem;font-size:1.375rem}.course-setup .section-description{color:var(--pencil)}.course-setup .game-name-editor .ruled-row{min-height:52px;margin:0}.course-setup .game-name-editor label.ruled-row{cursor:text}.course-setup .game-name-editor label.ruled-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass);position:relative}.course-setup .game-name-editor .ruled-label{white-space:nowrap}.course-setup .game-name-input{width:100%;min-height:52px;box-shadow:none;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:0;margin:0;padding:0 .875rem;font-size:1.0625rem}.course-setup .game-name-input:focus{box-shadow:none;border:0;outline:none}.course-setup .game-code-value{color:var(--club-green);font-weight:600}.course-setup .field-note{color:var(--pencil);margin-top:.5rem;font-size:.875rem}.course-setup .course-stats{table-layout:fixed;border-collapse:collapse;border:1px solid var(--rule);font-variant-numeric:tabular-nums;width:100%}.course-setup .course-stats th,.course-setup .course-stats td{border:1px solid var(--rule);text-align:center;padding:.5rem .75rem}.course-setup .course-stats th{background:var(--label-cell);color:var(--fairway);font-size:.875rem;font-weight:600}.course-setup .course-stats td{color:var(--club-green);font-size:1.25rem;font-weight:600}.course-setup .cs-holes{border:1px solid var(--rule);margin:0;padding:0;list-style:none}.course-setup .cs-holes>li+li{border-top:1px solid var(--rule)}.course-setup .cs-hole{background:var(--card);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;grid-template-columns:3rem 1fr auto;align-items:stretch;padding:0;transition:background-color .15s;display:grid}.course-setup .cs-hole:hover{background:var(--label-cell)}.course-setup .cs-hole:focus-visible{outline-offset:-3px}.course-setup .cs-hole-number{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--club-green);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:1.0625rem;font-weight:600;display:flex}.course-setup .cs-hole-body{flex-direction:column;gap:.125rem;min-width:0;padding:.625rem .875rem;display:flex}.course-setup .cs-hole-name{color:var(--club-green);overflow-wrap:anywhere;font-weight:600}.course-setup .cs-hole-details{color:var(--pencil);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 .875rem;font-size:.875rem;display:flex}.course-setup .cs-hole-par{font-weight:600}.course-setup .cs-hole-desc{-webkit-line-clamp:2;color:var(--pencil);-webkit-box-orient:vertical;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.course-setup .cs-hole-media{gap:.375rem;margin-top:.25rem;display:flex}.course-setup .cs-media{border:1px solid var(--rule);color:var(--fairway);border-radius:2px;padding:0 .375rem;font-size:.75rem;font-weight:600}.course-setup .cs-hole-edit{color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;align-items:center;padding:0 1rem;font-size:.9375rem;font-weight:600;display:flex}.course-setup .course-setup-actions{justify-content:flex-end;padding-bottom:1rem;display:flex}.course-setup .save-changes-btn{border:1px solid var(--club-green);background:var(--club-green);min-width:12rem;min-height:52px;color:var(--on-green);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:0 1.5rem;font-size:1.0625rem;font-weight:600;transition:background-color .15s}.course-setup .save-changes-btn:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}.course-setup .save-changes-btn:disabled{opacity:.6;cursor:not-allowed}.hole-edit-overlay{z-index:2000;padding:1rem}.hole-edit-modal.modal-content{border:1px solid var(--rule);border-top:4px solid var(--brass);width:100%;max-width:36rem;max-height:calc(100dvh - 2rem);color:var(--ink);font-family:var(--font-body);padding:0}.hole-edit-modal .modal-header{z-index:1;background:var(--card);padding:.75rem .75rem .75rem 1.25rem;position:sticky;top:0}.hole-edit-modal .hole-edit-form{flex-direction:column;gap:1.125rem;padding:1.25rem;display:flex}.hole-edit-modal .form-row{gap:.75rem;display:flex}.hole-edit-modal .form-group{flex-direction:column;flex:1;min-width:0;margin:0;display:flex}.hole-edit-modal .form-group label{color:var(--fairway);text-transform:none;letter-spacing:normal;margin-bottom:.375rem;font-size:.9rem;font-weight:600}.hole-edit-modal .form-group input,.hole-edit-modal .form-group textarea{font-variant-numeric:tabular-nums;width:100%}.hole-edit-modal .form-group textarea{resize:vertical;min-height:88px;line-height:1.45}.hole-edit-modal .form-group input.error,.hole-edit-modal .form-group textarea.error{border-color:var(--down)}.hole-edit-modal .error-message{color:var(--down);margin-top:.25rem;font-size:.875rem;font-weight:500}.hole-edit-modal .readonly-stats{border:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.hole-edit-modal .readonly-stat{flex-direction:column;align-items:center;padding:.5rem;display:flex}.hole-edit-modal .readonly-stat+.readonly-stat{border-left:1px solid var(--rule)}.hole-edit-modal .readonly-stat .stat-label{color:var(--fairway);text-transform:none;letter-spacing:normal;font-size:.8125rem;font-weight:600}.hole-edit-modal .readonly-stat .stat-value{font-family:var(--font-body);color:var(--club-green);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600}.hole-edit-modal .readonly-note{border-top:1px solid var(--rule);color:var(--pencil);grid-column:1/-1;margin:0;padding:.5rem .75rem;font-size:.875rem}.hole-edit-modal .modal-actions .btn{min-height:48px}.hole-edit-modal .url-instructions{border:1px solid var(--rule);border-left:4px solid var(--fairway);margin-top:.875rem;padding:1rem;font-size:.9rem;line-height:1.5}.hole-edit-modal .url-instructions h4{margin:0 0 .625rem;font-size:1.0625rem}.hole-edit-modal .url-instructions ol{margin:0 0 1rem;padding-left:1.25rem}.hole-edit-modal .url-instructions ol li{margin-bottom:.375rem}.hole-edit-modal .url-instructions strong{color:var(--club-green);font-weight:600}.hole-edit-modal .url-examples{margin-bottom:.75rem}.hole-edit-modal .url-examples p{margin:0 0 .375rem}.hole-edit-modal .url-examples ul{margin:0 0 .75rem;padding-left:1.25rem}.hole-edit-modal .url-examples li{margin-bottom:.25rem}.hole-edit-modal .url-examples code{background:var(--label-cell);border:1px solid var(--rule);color:var(--ink);word-break:break-all;border-radius:2px;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.hole-edit-modal .url-instructions .note{color:var(--pencil);margin:0}@media (width<=768px){.course-setup .course-setup-section{padding:1.25rem 1rem}.hole-edit-modal .form-row{flex-direction:column}.hole-edit-modal .modal-actions{flex-direction:column-reverse}.hole-edit-modal .modal-actions .btn{width:100%}}@media (width<=480px){.course-setup .course-setup-title-section h1{font-size:1.5rem}.course-setup .game-name-editor .ruled-row{grid-template-columns:7rem 1fr}.course-setup .game-name-editor .ruled-label{padding:0 .625rem}.course-setup .cs-hole{grid-template-columns:2.75rem 1fr auto}.course-setup .cs-hole-edit{padding:0 .75rem}.course-setup .save-changes-btn{width:100%}.hole-edit-overlay{align-items:flex-end;padding:.5rem}}.games-list-view{width:100%}.games-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.games-list-view .games-list-header h2{margin:0}.games-list-count{color:var(--pencil);font-variant-numeric:lining-nums tabular-nums;font-weight:500}.games-list-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.games-list-filters{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--card-shadow);border-radius:2px;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}.filter-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.filter-group{flex-direction:column;gap:.375rem;min-width:0;display:flex}.games-list-view .filter-group label{color:var(--fairway);font-size:.875rem;font-weight:600}.games-list-table-container{background:var(--card);border:1px solid var(--rule);box-shadow:var(--card-shadow);position:relative;overflow-x:auto}.games-list-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.games-list-table th,.games-list-table td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle;padding:.5rem .75rem}.games-list-table th+th,.games-list-table td+td{border-left:1px solid var(--rule)}.games-list-table tbody tr:last-child td{border-bottom:0}.games-list-table th{background:var(--label-cell);height:44px;color:var(--fairway);white-space:nowrap;font-size:.875rem;font-weight:600}.games-list-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.games-list-table th.sortable:hover{color:var(--club-green)}.games-list-table td{height:56px;color:var(--ink);font-size:.9375rem}.games-list-table tbody tr{transition:background-color .15s}.games-list-table tbody tr:hover{background:var(--label-cell)}.games-list-view .game-id{color:var(--club-green);white-space:nowrap;font-weight:600}.games-list-view .game-type{border:1px solid var(--rule);color:var(--fairway);background:var(--card);border-radius:2px;padding:.125rem .5rem;font-size:.8125rem;display:inline-block}.games-list-view .game-type:first-letter{text-transform:uppercase}.games-list-view .game-type.custom{border-color:var(--brass-soft)}.games-list-view .games-list-players{display:inline-block;position:relative}.games-list-view .player-count{cursor:help}.games-list-view .players-tooltip{z-index:2;background:var(--club-green);color:var(--on-green);white-space:nowrap;opacity:0;pointer-events:none;border-radius:2px;padding:.375rem .75rem;font-size:.875rem;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.games-list-view .games-list-players:hover .players-tooltip{opacity:1}.games-list-view .checkbox-column{text-align:center;width:52px;padding:0}.games-list-view .row-check{cursor:pointer;justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.games-list-view .row-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--club-green);cursor:pointer;margin:0}.games-list-view .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.games-list-loading,.games-list-error,.no-games-message{text-align:center;color:var(--pencil);padding:3rem 1rem}.no-games-message{background:var(--card);border:1px solid var(--rule);border-top:0}.no-games-message p{margin:0}.games-list-view .delete-modal-overlay{z-index:1000;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f2a1f8c;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;inset:0}.games-list-view .delete-confirmation-modal{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--down);width:100%;max-width:30rem;max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-xl);border-radius:2px;padding:0;overflow-y:auto}.delete-confirmation-modal .delete-modal-header{border-bottom:1px solid var(--rule);background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem 1.5rem;display:flex}.delete-confirmation-modal .delete-modal-header h2{margin:0;font-size:1.375rem}.delete-confirmation-modal .delete-modal-close{width:44px;height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;font-size:1.5rem;line-height:1}.delete-confirmation-modal .delete-modal-close:hover{background:var(--label-cell);color:var(--ink)}.delete-confirmation-modal .delete-modal-body{padding:1.25rem 1.5rem}.delete-confirmation-modal .warning-message{background:var(--label-cell);border-left:3px solid var(--down);margin-bottom:1.25rem;padding:.75rem 1rem}.delete-confirmation-modal .warning-message p{margin:0}.delete-confirmation-modal .warning-message p+p{color:var(--down);margin-top:.25rem;font-weight:500}.delete-confirmation-modal .confirm-input{flex-direction:column;gap:.5rem;display:flex}.delete-confirmation-modal .confirm-input label{color:var(--ink);font-size:.9375rem}.delete-confirmation-modal .delete-modal-actions{justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;display:flex}@media (width<=768px){.games-list-filters{padding:1rem}.filter-row{grid-template-columns:1fr 1fr;gap:.75rem}.filter-row:first-child .filter-group:first-child{grid-column:1/-1}.games-list-view .players-tooltip{display:none}.delete-confirmation-modal .delete-modal-actions{flex-direction:column}.delete-confirmation-modal .delete-modal-actions .btn{width:100%}}.admin-game-view{width:100%}.admin-game-header{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:1rem;display:flex}.admin-game-view .game-info{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.admin-game-view .game-info h2{margin:0}.admin-game-view .game-id-badge,.admin-game-view .game-type-badge{border:1px solid var(--rule);background:var(--card);color:var(--fairway);border-radius:2px;padding:.125rem .5rem;font-size:.8125rem;display:inline-block}.admin-game-view .game-id-badge{color:var(--club-green);font-variant-numeric:tabular-nums;font-weight:600}.admin-game-view .game-type-badge:first-letter{text-transform:uppercase}.admin-game-view .game-type-badge.custom{border-color:var(--brass-soft)}.admin-game-loading,.admin-game-error{text-align:center;color:var(--pencil);padding:3rem 1rem}.admin-game-error p{color:var(--down)}.admin-game-view .admin-tab-content{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);color:var(--pencil);border-radius:2px;padding:1.25rem 1.5rem}.admin-game-view .card>h2{margin-bottom:1rem;font-size:1.375rem}.admin-game-view .card>h3,.admin-game-view .overview-section>h3,.admin-game-view .activities-tab>h3{margin-bottom:.875rem;font-size:1.25rem}.admin-game-view .tab-content h5{font-family:var(--font-body);color:var(--fairway);margin:1rem 0 .5rem;font-size:.875rem;font-weight:600}.admin-game-view .overview-section,.admin-game-view .activities-tab{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--card-shadow);border-radius:2px;margin-bottom:1.5rem;padding:1.25rem 1.5rem 1.5rem}.admin-game-view .info-grid{border:1px solid var(--rule)}.admin-game-view .info-item{grid-template-columns:10rem 1fr;min-height:44px;display:grid}.admin-game-view .info-item+.info-item{border-top:1px solid var(--rule)}.admin-game-view .info-label{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);align-items:center;padding:0 .875rem;font-size:.9rem;font-weight:600;display:flex}.admin-game-view .info-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;align-items:center;padding:.5rem .875rem;display:flex}.admin-game-view .info-value:first-letter{text-transform:uppercase}.admin-game-view .players-grid{border:1px solid var(--rule)}.admin-game-view .player-card{align-items:center;gap:.75rem;min-height:52px;padding:.375rem .875rem;display:flex}.admin-game-view .player-card+.player-card{border-top:1px solid var(--rule)}.admin-game-view .ag-player-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.admin-game-view .ag-player-info{flex:1;justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;display:flex}.admin-game-view .ag-player-name{color:var(--ink);font-weight:600}.admin-game-view .ag-player-handicap{color:var(--pencil);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem}.admin-game-view .scorecard-container{background:var(--card);border:1px solid var(--rule);box-shadow:var(--card-shadow);overflow-x:auto}.admin-game-view .ag-scorecard-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.875rem}.admin-game-view .ag-scorecard-table th,.admin-game-view .ag-scorecard-table td{border:1px solid var(--rule);text-align:center;cursor:default;min-width:2.5rem;height:40px;padding:.25rem .375rem}.admin-game-view .ag-scorecard-table thead th{background:var(--label-cell);color:var(--fairway);font-weight:600}.admin-game-view .ag-scorecard-table th:first-child,.admin-game-view .ag-scorecard-table td:first-child{z-index:1;text-align:left;background:var(--label-cell);min-width:6rem;color:var(--fairway);font-weight:600;position:sticky;left:0}.admin-game-view .ag-scorecard-table .ag-hole-header{min-width:3rem}.admin-game-view .ag-hole-header-content{flex-direction:column;align-items:center;gap:.125rem;display:flex}.admin-game-view .ag-hole-header-content .ag-hole-number{color:var(--club-green);font-weight:600}.admin-game-view .ag-hole-header-content .ag-course-name{max-width:5rem;color:var(--pencil);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;font-weight:400;overflow:hidden}.admin-game-view .ag-par-row td,.admin-game-view .yards-row td,.admin-game-view .ag-hcp-row td{background:var(--card);color:var(--pencil);font-size:.8125rem}.admin-game-view .out-header,.admin-game-view .in-header,.admin-game-view .out-par,.admin-game-view .in-par,.admin-game-view .total-par,.admin-game-view .out-yards,.admin-game-view .in-yards,.admin-game-view .total-yards,.admin-game-view .out-cell,.admin-game-view .in-cell,.admin-game-view .total-cell,.admin-game-view .net-cell{color:var(--club-green);font-weight:600}.admin-game-view .ag-scorecard-table tbody .out-cell,.admin-game-view .ag-scorecard-table tbody .in-cell,.admin-game-view .ag-scorecard-table tbody .total-cell,.admin-game-view .ag-scorecard-table tbody .net-cell{background:var(--label-cell)}.admin-game-view .ag-scorecard-table .player-name-cell{color:var(--ink);white-space:nowrap}.admin-game-view .ag-scorecard-table .ag-score-cell{height:44px;font-size:.9375rem;font-weight:500}.admin-game-view .ag-scorecard-legend{color:var(--pencil);flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.875rem;font-size:.875rem;display:flex}.admin-game-view .ag-legend-item{align-items:center;gap:.5rem;display:flex}.admin-game-view .ag-legend-color{border:1px solid var(--rule);width:14px;height:14px;display:inline-block}.admin-game-view .ag-recent-achievements h3{font-size:1.125rem}.admin-game-view .ag-recent-list{border:1px solid var(--rule)}.admin-game-view .ag-recent-achievement{align-items:center;gap:.75rem;min-height:52px;padding:.5rem .875rem;display:flex}.admin-game-view .ag-recent-achievement+.ag-recent-achievement{border-top:1px solid var(--rule)}.admin-game-view .ag-achievement-icon{flex:none;font-size:1.375rem;line-height:1}.admin-game-view .ag-achievement-details{min-width:0}.admin-game-view .ag-achievement-name{font-weight:600}.admin-game-view .ag-achievement-player{flex-wrap:wrap;gap:.25rem .75rem;font-size:.875rem;display:flex}.admin-game-view .ag-achievement-time{color:var(--pencil);font-variant-numeric:tabular-nums}.admin-game-view .ag-no-achievements,.admin-game-view .ag-no-badges{color:var(--pencil);margin:0}.admin-game-view .ag-player-achievements-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 1.5rem;display:grid}.admin-game-view .ag-player-achievement-card{border-top:1px solid var(--rule);min-width:0;padding:.75rem 0 1rem}.admin-game-view .ag-player-achievement-card h4{margin:0 0 .5rem;font-size:1.0625rem}.admin-game-view .ag-progress-bar{background:var(--label-cell);border:1px solid var(--rule);height:6px;overflow:hidden}.admin-game-view .ag-progress-fill{height:100%}.admin-game-view .ag-progress-text{color:var(--pencil);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:.8125rem}.admin-game-view .ag-achievement-badges{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.admin-game-view .ag-achievement-badge{border:1px solid var(--rule);background:var(--card);border-radius:2px;padding:.5rem .625rem}.admin-game-view .ag-achievement-badge.ag-earned{border-color:var(--brass-soft)}.admin-game-view .ag-achievement-badge.ag-unearned{opacity:.55}.admin-game-view .ag-badge-icon{font-size:1.25rem;line-height:1.2}.admin-game-view .ag-badge-name{font-size:.875rem;font-weight:600}.admin-game-view .ag-badge-description{color:var(--pencil);font-size:.75rem;line-height:1.4}.admin-game-view .ag-achievement-guide{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 1.5rem;display:grid}.admin-game-view .ag-guide-item{border-top:1px solid var(--rule);gap:.75rem;padding:.625rem 0;display:flex}.admin-game-view .ag-guide-icon{flex:none;font-size:1.25rem;line-height:1.3}.admin-game-view .ag-guide-name{font-weight:600}.admin-game-view .ag-guide-description{color:var(--pencil);font-size:.875rem}.admin-game-view .ag-competitions-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.admin-game-view .ag-competition-section h3{margin-bottom:.125rem;font-size:1.125rem}.admin-game-view .ag-competition-subtitle{color:var(--pencil);margin:0 0 .75rem;font-size:.875rem}.admin-game-view .ag-hole-competitions{border:1px solid var(--rule)}.admin-game-view .ag-hole-competition-item{padding:.625rem .875rem}.admin-game-view .ag-hole-competition-item+.ag-hole-competition-item{border-top:1px solid var(--rule)}.admin-game-view .ag-hole-info{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.admin-game-view .ag-hole-info strong{color:var(--club-green)}.admin-game-view .ag-hole-name,.admin-game-view .ag-hole-yards{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.875rem}.admin-game-view .ag-competition-status{margin-top:.25rem}.admin-game-view .ag-current-leader{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.admin-game-view .ag-leader-label{color:var(--fairway);font-size:.875rem;font-weight:600}.admin-game-view .ag-leader-name{font-weight:600}.admin-game-view .ag-leader-distance{font-variant-numeric:tabular-nums}.admin-game-view .no-entries{color:var(--pencil);font-size:.875rem}.admin-game-view .all-entries h5{margin-top:.5rem}.admin-game-view .entry-item{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;font-size:.875rem;display:flex}.admin-game-view .activity-count{color:var(--pencil);font-variant-numeric:lining-nums tabular-nums;font-weight:500}.admin-game-view .activities-list{border:1px solid var(--rule)}.admin-game-view .ag-activity-item{grid-template-columns:12rem 1fr;gap:.25rem 1rem;padding:.625rem .875rem;display:grid}.admin-game-view .ag-activity-item+.ag-activity-item{border-top:1px solid var(--rule)}.admin-game-view .activity-timestamp{color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.875rem}.admin-game-view .ag-activity-content{align-items:baseline;gap:.625rem;min-width:0;display:flex}.admin-game-view .activity-type{border:1px solid var(--rule);min-width:5.5rem;color:var(--fairway);text-align:center;border-radius:2px;flex:none;padding:.0625rem .5rem;font-size:.8125rem;display:inline-block}.admin-game-view .activity-type:first-letter{text-transform:uppercase}.admin-game-view .activity-type.birdie,.admin-game-view .activity-type.eagle,.admin-game-view .activity-type.ace{border-color:var(--brass-soft);color:var(--club-green);font-weight:600}.admin-game-view .ag-activity-message{overflow-wrap:anywhere}@media (width<=768px){.admin-game-view .overview-section,.admin-game-view .activities-tab{padding:1rem}.admin-game-view .info-item{grid-template-columns:7.5rem 1fr}.admin-game-view .info-label{padding:0 .625rem}.admin-game-view .ag-scorecard-table th:first-child,.admin-game-view .ag-scorecard-table td:first-child{min-width:5rem}.admin-game-view .ag-competitions-grid,.admin-game-view .ag-player-achievements-grid{grid-template-columns:1fr}.admin-game-view .ag-activity-item{grid-template-columns:1fr;padding:.625rem .75rem}}.admin-settings{width:100%;max-width:48rem;margin:0 auto}.admin-settings-header{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:1.25rem;display:flex}.admin-settings .admin-settings-header h2{margin:0}.admin-settings-loading{text-align:center;color:var(--pencil);padding:3rem 1rem}.admin-settings-content{flex-direction:column;gap:1.5rem;display:flex}.admin-settings .settings-section,.admin-settings-course{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--card-shadow);border-radius:2px;padding:1.5rem}.admin-settings .settings-section h3{margin:0 0 .5rem}.admin-settings .settings-description{color:var(--pencil);max-width:60ch;margin:0 0 1.25rem}.admin-settings .credentials-form{flex-direction:column;display:flex}.admin-settings .credentials-form .settings-row{border:1px solid var(--rule);background:var(--card);grid-template-rows:auto auto;grid-template-columns:10rem 1fr;display:grid}.admin-settings .credentials-form .settings-row+.settings-row{border-top:0}.admin-settings .credentials-form .settings-row:focus-within{box-shadow:inset 0 0 0 2px var(--brass)}.admin-settings .credentials-form .settings-row label{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);grid-row:1/span 2;align-items:center;padding:0 .875rem;font-size:.9rem;font-weight:600;display:flex}.admin-settings .credentials-form .settings-row input{min-height:48px;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;padding:0 .875rem}.admin-settings .credentials-form .settings-row input:focus{box-shadow:none;border:0}.admin-settings .field-help{color:var(--pencil);margin:0;padding:0 .875rem .625rem;font-size:.8125rem;line-height:1.4}.admin-settings .form-actions{margin-top:1.25rem}.admin-settings .security-note{border-top:1px solid var(--rule)}.admin-settings .security-note p{border-bottom:1px solid var(--rule);margin:0;padding:.625rem 0;font-size:.9375rem;line-height:1.5}.admin-settings .security-note strong{color:var(--club-green)}.admin-settings-course .course-setup{max-width:none}.admin-settings-course .course-setup-header{display:none}.admin-settings-course .course-setup-content{margin-top:0}@media (width<=768px){.admin-settings .settings-section,.admin-settings-course{padding:1.25rem 1rem}.admin-settings .credentials-form .settings-row{grid-template-columns:7.5rem 1fr}.admin-settings .credentials-form .settings-row label{padding:0 .625rem}.admin-settings .form-actions .btn{width:100%}}.admin-view{color:var(--ink);font-family:var(--font-body)}.admin-header{background:var(--club-green);color:var(--on-green);border-bottom:1px solid var(--brass);margin:-1.5rem -2rem 0;padding:0 2rem}.admin-header>*{max-width:1200px;margin:0 auto}.admin-header-top{justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0 .25rem;display:flex}.admin-header-text{flex-wrap:wrap;align-items:baseline;gap:.25rem .875rem;min-width:0;display:flex}.admin-view .admin-title{color:var(--on-green);margin:0;font-size:1.375rem;line-height:1.2}.admin-user{min-width:0;color:var(--brass-soft);overflow-wrap:anywhere;font-size:.875rem}.admin-close-btn{width:44px;height:44px;color:var(--brass-soft);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #d9c6a273;border-radius:2px;flex:none;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:color .15s,border-color .15s;display:flex}.admin-close-btn:hover{color:var(--on-green);border-color:var(--brass-soft)}.admin-header-actions{justify-content:space-between;align-items:stretch;gap:1rem;display:flex}.admin-tabs{gap:1.5rem;display:flex}.admin-tab{min-height:44px;color:var(--brass-soft);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0 .125rem;font-size:.9375rem;font-weight:600;transition:color .15s;position:relative}.admin-tab:hover,.admin-tab.active{color:var(--on-green)}.admin-tab.active:after{content:"";background:var(--brass);height:3px;position:absolute;bottom:-1px;left:0;right:0}.admin-signout{min-height:44px;color:var(--brass-soft);font-family:var(--font-body);text-underline-offset:4px;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0 .125rem;font-size:.9375rem;-webkit-text-decoration:underline #d9c6a280;text-decoration:underline #d9c6a280}.admin-signout:hover{color:var(--on-green)}.admin-view .admin-tab:focus-visible,.admin-view .admin-signout:focus-visible,.admin-view .admin-close-btn:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.admin-content{max-width:1200px;margin:0 auto;padding:2rem 0 3rem}.admin-status{color:var(--pencil)}.admin-signin{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);max-width:34rem;box-shadow:var(--card-shadow);border-radius:2px;justify-items:start;gap:1rem;padding:1.5rem;display:grid}.admin-signin h3,.admin-signin p{margin:0}.admin-signin-error{color:var(--down)}.admin-view .btn-ghost{min-height:44px;color:var(--fairway);font-family:var(--font-body);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.9375rem;font-weight:500;display:inline-flex}.admin-view .btn-ghost:hover:not(:disabled){color:var(--club-green);background:0 0}.admin-page-tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;gap:.25rem 1.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.admin-page-tabs::-webkit-scrollbar{display:none}.admin-view .tab-button{min-height:44px;color:var(--pencil);font-family:var(--font-body);white-space:nowrap;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;padding:0 .125rem;font-size:.9375rem;font-weight:500;transition:color .15s;position:relative}.admin-view .tab-button:hover{color:var(--club-green)}.admin-view .tab-button.active{color:var(--club-green);font-weight:600}.admin-view .tab-button.active:after{content:"";background:var(--brass);height:3px;position:absolute;bottom:0;left:0;right:0}.admin-view .tab-button:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}.admin-view .loading-spinner{border:2px solid var(--rule);border-top-color:var(--fairway);border-radius:50%;width:32px;height:32px;margin:0 auto 1rem;animation:.8s linear infinite spin}@media (width<=768px){.admin-header{margin:-1rem -1rem 0;padding:0 1rem}.admin-content{padding:1.5rem 0 2.5rem}}.tee-box{color:var(--ink);flex-direction:column;gap:12px;display:flex}.tee-box .card{margin-bottom:0}.tee-box .tee-box-hole{border-top-color:var(--brass);gap:4px;display:grid}.tee-box-hole-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.tee-box-hole-number{font-variant-numeric:lining-nums;font-family:var(--font-display);color:var(--club-green);font-size:2rem;font-weight:600;line-height:1.1}.tee-box-hole-facts{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:600}.tee-box-hole-name{color:var(--pencil)}.tee-box-meta{color:var(--ink);flex-wrap:wrap;gap:6px 16px;font-size:.95rem;font-weight:500;display:flex}.tee-box-meta:not(:empty){border-top:1px solid var(--rule);margin-top:8px;padding-top:10px}.tee-box-group-toggle{border:1px solid var(--rule);background:var(--card);width:100%;min-height:48px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;border-radius:2px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.975rem;transition:background-color .15s;display:flex}.tee-box-group-toggle:hover{background:var(--label-cell)}.tee-box-row-text{overflow-wrap:anywhere;min-width:0}.tee-box-row-label{color:var(--fairway);font-weight:600}.tee-box-row-action{color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;flex-shrink:0;font-weight:600}.tee-box-group-chips{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.tee-box-chip{border:1px solid var(--rule);background:var(--card);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:8px 14px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.tee-box-chip:hover{border-color:var(--fairway)}.tee-box-chip.selected{border-color:var(--club-green);background:var(--club-green);color:var(--on-green)}.tee-box-players{padding-top:.25rem;padding-bottom:.25rem;display:grid}.tee-box-player{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;display:grid}.tee-box-player+.tee-box-player{border-top:1px solid var(--rule)}.tee-box-player-info{gap:2px;min-width:0;display:grid}.tee-box-player-name{min-width:0;color:var(--ink);align-items:center;gap:8px;font-size:1.25rem;font-weight:600;display:flex}.tee-box-player-label{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.tee-box-player-first{white-space:pre;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.tee-box-player-last{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.tee-box-player-last-word{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.tee-box-player-dot{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 1px #1d2a2326}.tee-box-strokes{letter-spacing:2px;color:var(--fairway);white-space:nowrap;flex:none;margin-left:-2px;font-size:.75rem;line-height:1}.tee-box-strokes.gives{letter-spacing:normal;color:var(--pencil);font-size:.875rem;font-weight:600}.tee-box-player-hcp{white-space:nowrap;color:var(--pencil);font-variant-numeric:tabular-nums;font-size:.8125rem}.tee-box-posted{color:var(--pencil);font-size:.875rem}.tee-box-stepper{align-items:center;gap:6px;margin-left:auto;display:flex}.tee-box-stepper>button{border:1px solid var(--club-green);background:var(--club-green);width:56px;height:56px;color:var(--on-green);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;border-radius:2px;font-size:2rem;font-weight:500;line-height:1;transition:background-color .15s}.tee-box-stepper>button:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}.tee-box-stepper>button:disabled{opacity:.35;cursor:not-allowed}.tee-box-score{justify-items:center;width:64px;display:grid}.tee-box-score-number{color:var(--ink);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:600;line-height:1}.tee-box-score-label{color:var(--pencil);white-space:nowrap;font-size:.8rem;font-weight:600}.tee-box-score-tap{width:100%;min-height:56px;color:var(--pencil);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;align-content:center;justify-items:center;padding:0;display:grid}.tee-box-score-tap .tee-box-score-number{color:#a3aca6}.tee-box-points{color:var(--ink);font-size:.875rem;font-weight:600}.tee-box-meta-button{border:1px solid var(--rule);background:var(--card);min-height:44px;color:var(--club-green);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:2px;padding:6px 12px;font-weight:600;transition:background-color .15s}.tee-box-meta-button:hover{background:var(--label-cell)}.tee-box-contest-entry{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.tee-box-wolf-title{min-height:44px;color:var(--club-green);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.tee-box-wolf .tee-box-group-chips{gap:6px;padding-top:2px}.tee-box-wolf .tee-box-chip{flex:auto;padding:8px;font-size:.9rem}.tee-box-wolf-picked{font-weight:600}.tee-box-wolf-pick{min-width:0;display:grid}.tee-box-wolf-by{color:var(--pencil);font-size:.8rem;font-weight:400}.tee-box-wolf-change{color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;flex-shrink:0}.tee-box-wolf-keep{min-height:44px;color:var(--fairway);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;background:0 0;border:none;padding:6px 4px;font-weight:600}.tee-box-lost-rows{border:1px solid var(--rule);background:var(--card);border-top:0;display:grid}.tee-box-lost-row{justify-content:space-between;align-items:center;gap:10px;padding:6px 14px;display:flex}.tee-box-lost-row+.tee-box-lost-row,.tee-box-junk-row+.tee-box-junk-row{border-top:1px solid var(--rule)}.tee-box-lost-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.tee-box-lost-stepper{align-items:center;gap:6px;display:flex}.tee-box-lost-stepper>button{border:1px solid var(--club-green);background:var(--card);width:44px;height:44px;color:var(--club-green);cursor:pointer;touch-action:manipulation;border-radius:2px;font-size:1.5rem;font-weight:500;line-height:1;transition:background-color .15s}.tee-box-lost-stepper>button:hover:not(:disabled){background:var(--label-cell)}.tee-box-lost-stepper>button:disabled{opacity:.35;cursor:not-allowed}.tee-box-lost-count{text-align:center;font-variant-numeric:tabular-nums;width:32px;font-size:1.375rem;font-weight:600}.tee-box-junk-row{gap:6px;padding:10px 14px;display:grid}.tee-box-junk-auto{color:var(--fairway);font-weight:600}.tee-box-junk-chips{flex-wrap:wrap;gap:6px;display:flex}.tee-box-junk-chips .tee-box-chip{padding:8px 10px;font-size:.9rem}.tee-box-chip.tee-box-junk-void{opacity:.5;text-decoration:line-through}.tee-box-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));z-index:10;background:var(--mist);gap:8px;padding:10px 0;display:flex;position:sticky}.tee-box-post{background:var(--club-green);min-height:56px;color:var(--on-green);font:inherit;letter-spacing:.01em;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;border:0;border-radius:2px;flex:1;font-size:1.0625rem;font-weight:600;transition:background-color .15s}.tee-box-post:hover:not(:disabled){background:var(--fairway)}.tee-box-post:disabled{opacity:.6;cursor:default}.tee-box-nav{border:1px solid var(--club-green);background:var(--card);width:56px;min-height:56px;color:var(--club-green);cursor:pointer;touch-action:manipulation;border-radius:2px;font-size:2rem;line-height:1;transition:background-color .15s}.tee-box-nav:hover:not(:disabled){background:var(--label-cell)}.tee-box-nav:disabled{opacity:.35;cursor:not-allowed}.tee-box button:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.recap{flex-direction:column;gap:0;display:flex}.recap-subtitle,.recap-note{color:var(--pencil);font-size:.9375rem}.recap-actions{flex-wrap:wrap;gap:.625rem;display:flex}.recap-standings{border:1px solid var(--rule);margin:0;padding:0;list-style:none}.recap-standings li{grid-template-columns:2.75rem 1fr auto auto;align-items:stretch;min-height:44px;display:grid}.recap-standings li+li{border-top:1px solid var(--rule)}.recap-standings li>span{align-items:center;padding:.375rem .625rem;display:flex}.recap-standings li>span:nth-child(n+3){white-space:nowrap;color:var(--ink);justify-content:flex-end}.recap-standings li>span:last-child{color:var(--pencil)}.recap-place{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);justify-content:center;font-weight:600}.recap-name{color:var(--ink);overflow-wrap:anywhere;font-weight:600}@media (width<=480px){.recap-standings li{grid-template-columns:2.75rem 1fr auto}.recap-standings li>span:nth-child(-n+2){grid-row:span 2}.recap-standings li>span:nth-child(n+3){grid-column:3;padding:.125rem .625rem;font-size:.875rem}.recap-standings li>span:nth-child(3){align-items:flex-end;padding-top:.375rem}.recap-standings li>span:nth-child(4){align-items:flex-start;padding-bottom:.375rem}}.recap-awards{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.recap-awards li{border-bottom:1px solid var(--rule);grid-template-columns:2.5rem 1fr;align-items:start;gap:.75rem;padding:.75rem 0;display:grid}.recap-award-icon{text-align:center;font-size:1.75rem;line-height:1}.recap-award-title{color:var(--club-green);font-weight:600}.recap-award-detail{color:var(--pencil);font-size:.9375rem}.ceremony{z-index:10000;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--club-green);color:var(--on-green);display:flex;position:fixed;inset:0;overflow-y:auto}.ceremony-card{text-align:center;border-top:3px double var(--brass);border-bottom:3px double var(--brass);justify-items:center;gap:.875rem;width:100%;max-width:520px;margin:auto;padding:2rem 1.25rem 1.75rem;display:grid}.ceremony-count{color:var(--brass-soft);font-variant-numeric:tabular-nums;font-size:.875rem}.ceremony-icon{font-size:5rem;line-height:1}.ceremony-title{font-family:var(--font-display);color:var(--brass-soft);font-size:1.75rem;font-weight:600;line-height:1.2}.ceremony-winners{font-family:var(--font-display);color:var(--on-green);overflow-wrap:anywhere;font-size:2.25rem;font-weight:600;line-height:1.15}.ceremony-detail{color:var(--on-green);font-size:1.0625rem;line-height:1.5}.ceremony-buttons{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.75rem;display:flex}.ceremony-buttons .btn{min-width:120px;min-height:52px}.ceremony .btn-secondary{color:var(--on-green);border-color:var(--brass-soft);background:0 0}.ceremony .btn-secondary:hover:not(:disabled){background:var(--fairway);color:var(--on-green);border-color:var(--brass-soft)}.ceremony .btn-primary{background:var(--brass);color:var(--ink);border-color:var(--brass)}.ceremony .btn-primary:hover:not(:disabled){background:var(--brass-soft);color:var(--ink);border-color:var(--brass-soft)}@media (prefers-reduced-motion:no-preference){.ceremony-card{animation:.15s ease-out ceremony-reveal}}@keyframes ceremony-reveal{0%{opacity:0}to{opacity:1}}.trip-cup{flex-direction:column;gap:0;display:flex}.trip-cup .card p:last-child{margin-bottom:0}.trip-meta{color:var(--pencil);overflow-wrap:anywhere;margin-bottom:.5rem;font-size:.9375rem}.trip-meta strong{color:var(--ink);font-weight:600}.trip-form{flex-wrap:wrap;align-items:flex-end;gap:.625rem;margin-top:1rem;display:flex}.trip-field{color:var(--fairway);flex:220px;gap:.375rem;font-weight:600;display:grid}.trip-link-row{flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-bottom:.75rem;display:flex}.trip-link{background:var(--label-cell);border:1px solid var(--rule);color:var(--ink);overflow-wrap:anywhere;flex:200px;align-items:center;padding:.5rem .75rem;font-size:.875rem;display:flex}.trip-finish{margin-top:1rem}.trip-table-wrap{margin-bottom:.5rem;overflow-x:auto}.trip-table.table th,.trip-table.table td{text-align:center;white-space:nowrap;padding:.5rem}.trip-table.table .trip-player{text-align:left;color:var(--ink);white-space:normal;font-weight:600}.trip-table.table th:nth-child(2){text-align:left}.trip-total{color:var(--club-green);font-weight:600}.trip-move{margin-left:.25rem;font-size:.7rem}.trip-move.up{color:var(--up)}.trip-move.down{color:var(--down)}.trip-settle{border:1px solid var(--rule);margin:0;padding:0;list-style:none}.trip-settle li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;min-height:52px;padding:.5rem .75rem;display:flex}.trip-settle li+li{border-top:1px solid var(--rule)}.trip-settle strong{color:var(--club-green);font-weight:600}.trip-amount{font-variant-numeric:tabular-nums;font-weight:600}.trip-pay-links{flex-wrap:wrap;gap:.5rem;display:flex}.trip-pay-links .btn{align-items:center;min-height:44px;font-size:.875rem;display:inline-flex}.trip-hall{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.trip-hall li{border-bottom:1px solid var(--rule);padding:.625rem 0}.trip-hall strong{color:var(--club-green);font-weight:600}.guide{max-width:44rem;margin:0 auto}.guide p{max-width:65ch}.guide .card p:last-child{margin-bottom:0}.guide-back{margin-bottom:.75rem;display:inline-block}.guide-back:focus-visible,.guide-contents a:focus-visible,.guide-section h3:focus-visible{outline:3px solid var(--brass);outline-offset:3px}.guide-title{margin-bottom:.5rem}.guide-lede{color:var(--pencil)}.guide-contents{border-top:1px solid var(--rule);margin:1.25rem 0;padding-top:1rem}.guide-contents ol{flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;display:flex}.guide-contents a{color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;padding:.375rem 0;font-size:.95rem;display:inline-block}.guide-share{width:100%}.guide-section{scroll-margin-top:1rem}.guide-section h3{margin-bottom:.75rem}.guide-section>p,.guide-rows+p,.guide-steps+p{margin-top:0}.guide-section .ruled-rows+p,.guide-section .guide-steps+p,.guide-section p+.ruled-rows,.guide-section p+.guide-steps{margin-top:1rem}.guide-rows{margin:0}.guide-rows .ruled-row{grid-template-columns:8.5rem minmax(0,1fr)}.guide-rows .ruled-label{align-items:flex-start;padding-block:.75rem}.guide-rows .ruled-value{margin:0;padding:.75rem .875rem;display:block}.guide-rows .ruled-value p{margin-bottom:.5rem}.guide-rows .ruled-value p:last-child{margin-bottom:0}.guide-steps{gap:.625rem;margin:0;padding-left:1.5rem;display:grid}.guide-steps li::marker{font-family:var(--font-display);color:var(--brass);font-weight:700}.guide-note{border-left:3px solid var(--brass);background:var(--label-cell);margin:1rem 0 0;padding:.75rem .875rem;font-size:.95rem}.guide-kbd{border:1px solid var(--rule);background:var(--label-cell);white-space:nowrap;border-radius:2px;padding:0 .4em;font-size:.92em;font-weight:600;display:inline-block}.guide-table-wrap{overflow-x:auto}.guide-table{font-size:.95rem}.guide-table td{vertical-align:top}.guide-table td:first-child{color:var(--club-green);font-weight:600}.guide-footnote{color:var(--pencil);margin-top:.5rem;font-size:.875rem}.guide-home{width:100%;margin-top:.5rem}@media (width<=480px){.guide .card{padding:1.25rem 1rem}.guide-rows .ruled-row{grid-template-columns:minmax(0,1fr)}.guide-rows .ruled-label{border-right:0;border-bottom:1px solid var(--rule);padding-block:.5rem}}body.theme-default,body.theme-royal-county-down,body.theme-royal-portrush,body.theme-ballybunion,body.theme-old-head,body.theme-waterville,body.theme-lahinch,body.theme-european-club,body.theme-portmarnock,body.weather-rainy,body.weather-sunny,body.weather-cloudy,body.weather-windy{background-color:var(--bg-primary)!important}.theme-default{--bg-primary:var(--mist)}.theme-royal-county-down{--emerald-900:#1f2a30;--emerald-800:#2c3a42;--emerald-700:#46565f;--emerald-600:#5d6d75;--sage-700:#4f5d57;--sage-600:#6a7a73;--primary-color:#2c3a42;--secondary-color:#4f5d57}.theme-royal-portrush{--emerald-900:#232746;--emerald-800:#2e3358;--emerald-700:#434a7a;--emerald-600:#58608f;--sage-700:#4f5580;--sage-600:#6a7099;--primary-color:#2e3358;--secondary-color:#4f5580}.theme-ballybunion{--emerald-900:#4a2418;--emerald-800:#5e2f1f;--emerald-700:#8a4a30;--emerald-600:#a05f44;--sage-700:#7f4a36;--sage-600:#9a644f;--primary-color:#5e2f1f;--secondary-color:#7f4a36}.theme-old-head{--emerald-900:#133b3b;--emerald-800:#1a4b4b;--emerald-700:#2a6363;--emerald-600:#3b7a7a;--sage-700:#2e5f6b;--sage-600:#467a86;--primary-color:#1a4b4b;--secondary-color:#2e5f6b}.theme-waterville{--emerald-900:#17283d;--emerald-800:#1f344f;--emerald-700:#2f4d6e;--emerald-600:#456585;--sage-700:#2c4a66;--sage-600:#47657f;--primary-color:#1f344f;--secondary-color:#2c4a66}.theme-lahinch{--emerald-900:#13331f;--emerald-800:#1a4429;--emerald-700:#2c6440;--emerald-600:#3e7a52;--sage-700:#36684a;--sage-600:#4f8263;--primary-color:#1a4429;--secondary-color:#36684a}.theme-european-club{--emerald-900:#2f1d33;--emerald-800:#3d2742;--emerald-700:#5a3d5f;--emerald-600:#735478;--sage-700:#5e4466;--sage-600:#785e80;--primary-color:#3d2742;--secondary-color:#5e4466}.theme-portmarnock{--emerald-900:#0f3a2f;--emerald-800:#144a3c;--emerald-700:#256652;--emerald-600:#357d67;--sage-700:#2d6f5e;--sage-600:#4a8978;--primary-color:#144a3c;--secondary-color:#2d6f5e}.weather-rainy{--emerald-700:#4a5a63;--emerald-600:#62727a;--sage-700:#3d4b53;--sage-600:#55646c;--primary-color:#4a5a63;--secondary-color:#3d4b53}.weather-sunny{--emerald-700:#7d5a2e;--emerald-600:#946f3d;--sage-700:#6f4f2a;--sage-600:#8a6a43;--primary-color:#7d5a2e;--secondary-color:#6f4f2a}.weather-cloudy{--emerald-700:#4f5553;--emerald-600:#676d6b;--sage-700:#3f4543;--sage-600:#575d5b;--primary-color:#4f5553;--secondary-color:#3f4543}.weather-windy{--emerald-700:#2a6363;--emerald-600:#3b7a7a;--sage-700:#2e5f6b;--sage-600:#467a86;--primary-color:#2a6363;--secondary-color:#2e5f6b}*{box-sizing:border-box;margin:0;padding:0}:root{--club-green:#16392b;--fairway:#2f5e45;--brass:#b8914f;--brass-soft:#d9c6a2;--card:#fff;--mist:#e8ede8;--ink:#1d2a23;--pencil:#5f6b64;--rule:#d5dcd6;--label-cell:#f3f6f3;--up:#047857;--down:#b91c1c;--on-green:#f4f1e6;--font-display:"Playfair Display", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--card-shadow:0 12px 28px -22px #16392b73;--tabbar-h:56px;--emerald-900:#0f2a1f;--emerald-800:#16392b;--emerald-700:#2f5e45;--emerald-600:#3d6f53;--emerald-500:#5a8a6e;--emerald-400:#86a893;--emerald-200:#c9d8ce;--emerald-100:#dfe8e2;--emerald-50:#f0f4f1;--sage-900:#16392b;--sage-800:#234a37;--sage-700:#2f5e45;--sage-600:#4a735d;--sage-500:#6b8e7a;--sage-200:#cdd9d0;--sage-100:#e6ede7;--stone-900:#1c1917;--stone-800:#292524;--stone-700:#44403c;--stone-600:#57534e;--stone-500:#78716c;--stone-400:#a8a29e;--stone-300:#d6d3d1;--stone-200:#e7e5e4;--stone-100:#f5f5f4;--stone-50:#fafaf9;--gold-800:#6f5327;--gold-600:#9a7740;--gold-500:#b8914f;--gold-400:#cdb07c;--gold-100:#f2eadb;--primary:#16392b;--primary-color:#16392b;--primary-color-rgb:22, 57, 43;--primary-100:#dfe8e2;--primary-200:#c9d8ce;--primary-800:#0f2a1f;--secondary-color:#2f5e45;--accent-color:#b8914f;--text-primary:#1d2a23;--text-secondary:#3f4c45;--text-tertiary:#7a857f;--text-muted:#5f6b64;--bg-primary:#e8ede8;--bg-secondary:#f3f6f3;--bg-tertiary:#f3f6f3;--border-color:#d5dcd6;--border-light:#e2e8e3;--card-bg:#fff;--success:#047857;--success-100:#dcebe3;--success-800:#0f2a1f;--error:#b91c1c;--shadow-sm:0 1px 2px #16392b0f;--shadow-md:0 12px 28px -22px #16392b73;--shadow-lg:0 16px 36px -22px #16392b80;--shadow-xl:0 20px 44px -24px #16392b8c}body{font-family:var(--font-body);background:var(--mist);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--club-green);letter-spacing:normal;text-transform:none;font-weight:600;line-height:1.2}h1{margin-bottom:.75rem;font-size:2.25rem}h2{margin-bottom:1rem;font-size:1.75rem}h3{margin-bottom:.75rem;font-size:1.375rem}h4{margin-bottom:.5rem;font-size:1.125rem}h5,h6{margin-bottom:.5rem;font-size:1rem}p{font-family:var(--font-body);color:inherit;margin-bottom:1rem;font-size:1rem;line-height:1.5}small{font-size:.875rem}a{color:var(--fairway);-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px}.container{max-width:1400px;margin:0 auto;padding:2rem}.container-bleed{max-width:none}.page-column{max-width:960px;margin:0 auto;display:block}.app-in-game{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px))}.card{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--fairway);box-shadow:var(--card-shadow);border-radius:2px;margin-bottom:1.5rem;padding:1.5rem;position:relative}.card-feature{border-top-color:var(--brass)}.ruled-rows{border:1px solid var(--rule);background:var(--card)}.ruled-row{grid-template-columns:7.5rem 1fr;align-items:stretch;min-height:48px;display:grid}.ruled-row+.ruled-row{border-top:1px solid var(--rule)}.ruled-label{background:var(--label-cell);border-right:1px solid var(--rule);color:var(--fairway);align-items:center;padding:0 .875rem;font-size:.9rem;font-weight:600;display:flex}.ruled-value{align-items:center;padding:.5rem .875rem;display:flex}.btn{min-height:48px;font-family:var(--font-body);letter-spacing:normal;text-transform:none;text-align:center;background:var(--club-green);color:var(--on-green);border:1px solid var(--club-green);cursor:pointer;touch-action:manipulation;border-radius:2px;padding:0 1.25rem;font-size:1rem;font-weight:600;line-height:1.2;transition:background-color .15s,color .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary{background:var(--club-green);color:var(--on-green);border-color:var(--club-green)}.btn-primary:hover:not(:disabled){background:var(--fairway);border-color:var(--fairway)}.btn-secondary,.btn-ghost,.btn-outline{background:var(--card);color:var(--club-green);border-color:var(--club-green)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-outline:hover:not(:disabled){background:var(--label-cell);color:var(--club-green);border-color:var(--club-green)}.btn-accent{background:var(--fairway);color:var(--on-green);border-color:var(--fairway)}.btn-accent:hover:not(:disabled){background:var(--club-green);border-color:var(--club-green)}.btn-gold{background:var(--brass);color:var(--ink);border-color:var(--brass)}.btn-gold:hover:not(:disabled){background:var(--brass-soft);border-color:var(--brass)}.btn-danger{background:var(--card);color:var(--down);border-color:var(--down)}.btn-danger:hover:not(:disabled){background:var(--down);color:#fff;border-color:var(--down)}.btn-sm,.btn-small{min-height:44px;padding:0 .875rem;font-size:.875rem}.btn-link{min-height:44px;font:inherit;color:var(--fairway);text-decoration:underline;-webkit-text-decoration-color:var(--brass-soft);text-decoration-color:var(--brass-soft);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:.5rem 0}.btn:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=number],input[type=email],input[type=password],input[type=tel],input[type=search],input[type=url],input[type=date],input[type=time],select,textarea{font-family:var(--font-body);border:1px solid var(--rule);background:var(--card);width:100%;min-height:48px;color:var(--ink);letter-spacing:normal;border-radius:2px;padding:.625rem .875rem;font-size:1rem;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#8a948e}input:focus,select:focus,textarea:focus{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass);outline:none}label{color:inherit}table{border-collapse:collapse;font-variant-numeric:tabular-nums}th,caption,.player-name,[class*=name],[class*=label],.trip-player,.entry-player,.players-tooltip{font-variant-numeric:normal}th{text-transform:none;letter-spacing:normal;font-weight:600}.table{background:var(--card);border:1px solid var(--rule);width:100%}.table th,.table td{border:1px solid var(--rule);text-align:left;padding:.625rem .75rem}.table th{background:var(--label-cell);color:var(--fairway);font-size:.875rem}.score-eagle{color:var(--on-green);font-weight:600;background:var(--fairway)!important}.score-birdie{color:var(--club-green);font-weight:600;background:#d7e5dc!important}.score-par{color:var(--ink);background:0 0}.score-bogey{color:var(--ink);background:#f1e7d4!important}.score-double-bogey{color:#7f1d1d;background:#f5dcdc!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.15s ease-out fadeIn}.slide-in{animation:.15s ease-out slideIn}.modal-overlay{z-index:1000;background:#0f2a1f8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--rule);border-top:4px solid var(--brass);width:90vw;max-width:600px;max-height:90vh;box-shadow:var(--shadow-xl);color:var(--ink);border-radius:2px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-header h2{margin:0;font-size:1.375rem}.modal-close{min-width:44px;min-height:44px;color:var(--pencil);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s}.modal-close:hover{background:var(--label-cell);color:var(--ink)}.modal-actions{border-top:1px solid var(--rule);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.betting-fieldset{border:1px solid var(--rule);background:var(--card);border-radius:2px;gap:.5rem;padding:.5rem .875rem .75rem;display:grid}.betting-fieldset legend{color:var(--fairway);padding:0 .375rem;font-weight:600}.betting-radio{cursor:pointer;align-items:center;gap:.625rem;min-height:44px;display:flex}.betting-radio input{width:20px;height:20px;accent-color:var(--club-green);flex:none}.betting-error{color:var(--down);margin:0;font-weight:500}.standings-status{vertical-align:middle;border:1px solid var(--brass);background:var(--card);font-family:var(--font-body);color:var(--ink);border-radius:2px;margin-left:.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-block}.standings-status.final{border-color:var(--fairway);color:var(--club-green)}.toast{bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--fairway);box-shadow:var(--card-shadow);z-index:1000;font-family:var(--font-body);border-radius:2px;padding:1rem 1.25rem;font-size:.875rem;position:fixed;right:1rem}.toast-success{border-left-color:var(--up)}.toast-error{border-left-color:var(--down)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--pencil)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}@media (width<=768px){.container{padding:1rem}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card{padding:1.25rem 1rem}}.loading{color:#0000;position:relative}.loading:after{content:"";border:2px solid var(--fairway);border-right-color:#0000;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{background:#fff}.app-in-game{padding-bottom:0}.no-print{display:none!important}.card{box-shadow:none;page-break-inside:avoid;border:1px solid #000}}
