@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{text-align:center;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:2rem;padding:2.5rem 2rem;position:relative}.header:before{content:"";background:linear-gradient(90deg, var(--emerald-700) 0%, var(--sage-600) 25%, var(--gold-500) 50%, var(--sage-600) 75%, var(--emerald-700) 100%);height:4px;position:absolute;top:0;left:0;right:0}.header:after{content:"";background:var(--gold-500);width:100px;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header-emblem{width:130px;height:130px;margin:0 auto 1.5rem;position:relative}.header-emblem:before{content:"";border:2px solid var(--emerald-700);opacity:.3;border-radius:50%;position:absolute;inset:-10px}.header-emblem:after{content:"";border:1px solid var(--gold-500);border-radius:50%;position:absolute;inset:-5px}.emblem-image{object-fit:cover;border-radius:50%;width:100%;height:100%;box-shadow:0 4px 12px #00000026}.header-content{position:relative}.header-title{color:var(--emerald-800);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-family:Playfair Display,Didot,Georgia,serif;font-size:2.25rem;font-weight:600}.header-subtitle{color:var(--text-muted);letter-spacing:.05em;margin-bottom:.75rem;font-family:Crimson Text,Georgia,serif;font-size:1.125rem;font-style:italic}.header-year{color:var(--gold-600);letter-spacing:.2em;font-family:Inter,sans-serif;font-size:1rem;font-weight:500}.header-subtitle:before,.header-subtitle:after{content:"—";color:var(--gold-500);margin:0 1rem;font-weight:400}@media (width<=768px){.header{padding:2rem 1rem}.header-emblem{width:100px;height:100px}.header-title{letter-spacing:.05em;font-size:1.5rem}.header-subtitle{font-size:1rem}.header-subtitle:before,.header-subtitle:after{margin:0 .5rem}.header-year{font-size:.875rem}}@media print{.header{box-shadow:none;border-bottom:2px solid var(--emerald-700)}.header:before,.header:after{display:none}}.sync-status{background:var(--emerald-600);color:#fff;z-index:9999;border-radius:25px;padding:12px 20px;font-weight:600;animation:.3s ease-out slideIn;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 15px #0003}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.sync-status{padding:10px 16px;font-size:14px;bottom:10px;right:10px}}.connection-status{top:calc(env(safe-area-inset-top,0px) + 8px);white-space:nowrap;text-overflow:ellipsis;z-index:1000;border-radius:20px;max-width:calc(100vw - 24px);padding:6px 14px;font-size:13px;font-weight:600;position:fixed;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 10px #0003}.connection-status.syncing{color:#fff;background:#b45309}.connection-status.offline{color:#fff;background:#374151}.custom-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background-color:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;inset:0}.custom-modal-content{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;width:100%;max-width:450px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.custom-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;display:flex}.custom-modal-header h3{color:var(--primary-color);margin:0;font-size:1.4rem;font-weight:600}.custom-modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.custom-modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.custom-modal-body{text-align:center;padding:2rem}.custom-modal-icon{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.custom-modal-icon svg{display:block}.icon-alert{color:#dc2626;stroke:#dc2626}.icon-confirm{color:#f59e0b;stroke:#f59e0b}.icon-prompt{color:#059669;stroke:#059669}.custom-modal-message{color:var(--text-primary);white-space:pre-line;margin:0 0 1.5rem;font-size:1.1rem;line-height:1.6}.custom-modal-input-container{margin:1.5rem 0}.custom-modal-input{border:2px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.custom-modal-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.custom-modal-actions{justify-content:center;gap:1rem;padding:0 2rem 2rem;display:flex}.custom-modal-actions .btn{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.custom-modal-actions .btn-primary{background:var(--primary-color);color:#fff}.custom-modal-actions .btn-primary:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.custom-modal-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.custom-modal-actions .btn-secondary:hover{background:var(--border-color);transform:translateY(-2px)}@media (width<=768px){.custom-modal-overlay{padding:.5rem}.custom-modal-header{padding:1rem 1.5rem .5rem}.custom-modal-header h3{font-size:1.2rem}.custom-modal-body{padding:1.5rem}.custom-modal-icon span{font-size:2.5rem}.custom-modal-actions{flex-direction:column;align-items:center;padding:0 1.5rem 1.5rem}.custom-modal-actions .btn{width:100%;max-width:200px}}@media (width<=480px){.custom-modal-header h3{font-size:1.1rem}.custom-modal-message{font-size:1rem}}.permissions-popup-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#064e3b66;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.permissions-popup{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:380px;padding:2.5rem;animation:.3s ease-out slideUp;box-shadow:0 20px 40px #00000026,0 0 0 1px #064e3b14}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.popup-icon{margin-bottom:1rem;font-size:3rem;animation:2s infinite gentlePulse;display:inline-block}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.permissions-popup h3{color:var(--emerald-800);letter-spacing:-.01em;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}.permissions-popup p{color:var(--text-secondary);margin-bottom:1.75rem;font-family:Crimson Text,serif;font-size:1.05rem;line-height:1.5}.popup-actions{justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.popup-actions .btn{min-width:110px;padding:.625rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .2s}.popup-actions .btn-primary{background:var(--emerald-700);color:#fff;border:none;box-shadow:0 2px 4px #04785733}.popup-actions .btn-primary:hover:not(:disabled){background:var(--emerald-800);transform:translateY(-1px);box-shadow:0 4px 8px #0478574d}.popup-actions .btn-ghost{color:var(--stone-600);border:1px solid var(--stone-300);background:0 0}.popup-actions .btn-ghost:hover:not(:disabled){background:var(--stone-50);border-color:var(--stone-400);color:var(--stone-700)}.permissions-progress{justify-content:center;gap:6px;display:flex}.progress-dot{background:var(--stone-300);border-radius:50%;width:8px;height:8px;transition:all .3s}.progress-dot.active{background:var(--emerald-600);transform:scale(1.25)}.progress-dot.completed{background:var(--emerald-700)}@media (width<=480px){.permissions-popup{max-width:340px;padding:2rem 1.5rem}.popup-icon{font-size:2.5rem}.permissions-popup h3{font-size:1.25rem}.permissions-popup p{font-size:.95rem}.popup-actions{flex-direction:column;gap:.5rem}.popup-actions .btn{width:100%}}.setup-screen{max-width:1200px;margin:0 auto}.marketing-section{background:linear-gradient(135deg, var(--emerald-50) 0%, var(--stone-50) 100%);border:1px solid var(--emerald-200);border-radius:16px;margin-bottom:2rem;padding:2rem;position:relative;overflow:hidden}.marketing-section:before{content:"";background:radial-gradient(circle, var(--emerald-100) 0%, transparent 70%);opacity:.5;border-radius:50%;width:200px;height:200px;position:absolute;top:-50%;right:-10%}.marketing-content{z-index:1;text-align:center;position:relative}.marketing-content h3{color:var(--emerald-800);letter-spacing:-.02em;margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:2rem;font-weight:600}.marketing-tagline{color:var(--emerald-700);margin-bottom:1.5rem;font-family:Crimson Text,serif;font-size:1.15rem;font-style:italic;font-weight:400}.feature-highlights{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.feature{text-align:left;background:#fff;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}.feature:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.feature-icon{flex-shrink:0;font-size:1.5rem}.feature-text{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.875rem;line-height:1.4}.marketing-footer{color:var(--emerald-700);margin-top:1rem;font-family:Crimson Text,serif;font-size:1.05rem;font-weight:500}.game-type-options{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.option-description{color:var(--text-muted);text-align:center;margin:-.5rem 0 .5rem;font-size:.875rem;font-style:italic}.btn-accent{background:linear-gradient(135deg, var(--emerald-600), var(--emerald-700));color:#fff;border:none;font-weight:600;transition:all .3s}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg, var(--emerald-700), var(--emerald-800));transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.setup-content{align-items:flex-start;gap:2rem;display:flex}.setup-card{border:1px solid var(--border-light);background:#fff;border-radius:12px;flex:1;padding:2rem;box-shadow:0 4px 6px #0000000d}.setup-screen h2{text-align:center;color:var(--emerald-800);letter-spacing:-.02em;margin-bottom:2rem;font-family:Playfair Display,serif;font-size:2.25rem;font-weight:600}.join-game{text-align:center}.join-game h3{color:var(--emerald-700);margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.join-game p{color:var(--text-muted);margin-bottom:1.5rem;font-family:Crimson Text,serif;font-size:1.05rem}.join-inputs{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--emerald-700);font-family:Inter,sans-serif;font-size:.875rem;font-weight:500}.input-group .error-message{color:var(--red-600,#dc2626);margin-top:.25rem;font-size:.875rem;font-weight:500}.footnote-ref{color:var(--emerald-600);font-size:.75rem;font-weight:700}.footnote{border-top:1px solid var(--border-light);color:var(--text-muted);text-align:center;max-width:800px;margin-top:2rem;margin-left:auto;margin-right:auto;padding-top:1rem;font-size:.8rem;line-height:1.4}.footnote-marker{color:var(--emerald-600);margin-right:.25rem;font-weight:700}.game-id-input{text-transform:uppercase;letter-spacing:.05em;text-align:center;min-width:200px}.player-name-input{text-align:center;min-width:150px}.create-game{text-align:center}.create-game h3{color:var(--emerald-700);margin-bottom:.75rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.create-game p{color:var(--text-muted);margin-bottom:1.5rem;font-family:Crimson Text,serif;font-size:1.05rem}.handicap-input{text-align:center;width:70px;font-weight:500}.action-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.game-id-display{background:var(--emerald-50);border:1px solid var(--emerald-200);text-align:center;margin-top:2rem;padding:2rem}.game-id-display h3{color:var(--emerald-800);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.game-id-code{color:var(--emerald-700);border:2px solid var(--emerald-600);letter-spacing:.15em;cursor:pointer;background:#fff;border-radius:8px;margin:1rem 0;padding:1rem 2rem;font-family:Inter,sans-serif;font-size:1.75rem;font-weight:600;transition:all .2s;display:inline-block;position:relative}.game-id-code:hover{background:var(--emerald-50);border-color:var(--emerald-700);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.sharing-options{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1.5rem 0;display:flex}.sharing-options .btn{min-width:120px}.game-id-info{color:var(--text-muted);margin-top:1rem;font-family:Inter,sans-serif;font-size:.875rem}@media (width<=768px){.setup-content{flex-direction:column;gap:1.5rem}.setup-screen h2{font-size:1.75rem}.join-game h3,.create-game h3{font-size:1.25rem}.game-id-code{padding:.75rem 1.5rem;font-size:1.5rem}.sharing-options{flex-direction:column;align-items:center}.sharing-options .btn{width:100%;max-width:300px}.marketing-section{margin-bottom:1.5rem;padding:1.5rem}.marketing-content h3{font-size:1.5rem}.marketing-tagline{font-size:1rem}.feature-highlights{grid-template-columns:1fr;gap:.75rem}.feature{padding:.625rem}.feature-icon{font-size:1.25rem}.feature-text{font-size:.8125rem}.marketing-footer{font-size:.95rem}}.navigation{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem;padding:1.5rem;display:flex}.nav-btn{color:var(--emerald-700);border:1px solid var(--emerald-700);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#fff;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s;position:relative;overflow:hidden}.nav-btn:before{content:"";background:var(--emerald-700);z-index:0;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.nav-btn:hover:before{left:0}.nav-btn:hover{color:#fff;border-color:var(--emerald-800);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.nav-btn span{z-index:1;position:relative}.nav-btn.active{background:var(--emerald-700);color:#fff;border-color:var(--emerald-800)}.nav-btn.active:before{left:0}.nav-btn-gold{border-color:var(--gold-500);color:var(--gold-600)}.nav-btn-gold:before{background:var(--gold-500)}.nav-btn-gold:hover{border-color:var(--gold-600)}.nav-btn-gold.active{background:var(--gold-500);color:var(--text-primary);border-color:var(--gold-600)}.nav-btn-new{border-color:var(--stone-600);color:var(--stone-700)}.nav-btn-new:before{background:var(--stone-700)}.nav-btn-new:hover{border-color:var(--stone-700)}.nav-btn-invite{border-color:var(--blue-500);color:var(--blue-600)}.nav-btn-invite:before{background:var(--blue-500)}.nav-btn-invite:hover{border-color:var(--blue-600)}.nav-btn-invite.active{background:var(--blue-500);color:#fff;border-color:var(--blue-600)}@media (width<=768px){.navigation{gap:.5rem;padding:1rem}.nav-btn{flex:calc(33.333% - .5rem);min-width:100px;padding:.5rem 1rem;font-size:.75rem}}@media (width<=480px){.nav-btn{flex:calc(50% - .5rem);min-width:80px;padding:.5rem .75rem;font-size:.7rem}}@media print{.navigation{display:none}}.activity-feed{max-height:400px;overflow-y:auto}.activity-feed h3{color:var(--secondary-color);margin-bottom:15px}.activities{flex-direction:column;gap:10px;display:flex}.activity-item{background:#00000005;border-left:3px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;transition:all .3s;display:flex}.activity-item:hover{background:#0000000d}.activity-content{flex:1;align-items:center;gap:10px;display:flex}.activity-icon{font-size:20px}.activity-message{flex:1;font-size:14px}.activity-ace{border-left-color:var(--accent-color);background:#ffd7001a}.activity-eagle{background:#ff69b41a;border-left-color:#ff69b4}.activity-birdie{border-left-color:var(--emerald-600);background:#32cd321a}.activity-achievement{border-left-color:var(--accent-color);background:#ffd7001a}.activity-join{border-left-color:var(--info-color);background:#17a2b81a}.activity-join.recent-join{background:#17a2b833;border-left-width:5px;animation:2s ease-in-out infinite pulse;box-shadow:0 2px 8px #17a2b84d}.activity-join.recent-join .activity-icon{animation:1s ease-in-out infinite bounce}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.no-activity{text-align:center;color:#666;padding:20px;font-style:italic}@media (width<=768px){.activity-item{flex-wrap:wrap;gap:5px}.activity-content{flex:100%}.activity-time{text-align:right;flex:100%;font-size:11px}}.side-challenge-indicator{background:var(--emerald-50,#ecfdf5);border-left:3px solid var(--emerald-500,#10b981);color:var(--text-primary,#1f2937);border-bottom:1px solid var(--border-light,#e5e7eb);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 1rem;padding:6px 10px 1rem;animation:.3s ease-out slideIn;display:flex}.side-challenge-input{background:var(--emerald-50,#ecfdf5);border-left:3px solid var(--emerald-500,#10b981);color:var(--text-primary,#1f2937);border-bottom:1px solid var(--border-light,#e5e7eb);border-radius:4px;margin:6px 0 1rem;padding:6px 10px 1rem;animation:.3s ease-out slideIn}.challenge-content{flex:1;align-items:center;gap:6px;display:flex}.challenge-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.challenge-icon{flex-shrink:0;font-size:1rem;line-height:1}.challenge-info h4{color:var(--emerald-700,#047857);margin:0;font-size:.75rem;font-weight:600;line-height:1.2}.challenge-info p{color:var(--text-muted,#6b7280);margin:0;font-size:.6875rem;font-weight:400;line-height:1.2}.challenge-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;min-width:120px;display:flex}.input-section{flex-direction:column;gap:8px;display:flex}.side-challenge-input .input-group{border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:6px;gap:8px;width:100%;padding:8px 12px;flex-wrap:nowrap!important;align-items:center!important;display:flex!important}.side-challenge-input .input-group input{color:var(--text-primary,#1f2937);background:0 0;border:none;outline:none;font-size:.875rem;flex:1!important;width:auto!important;display:inline-block!important}.input-group input::placeholder{color:var(--text-muted,#6b7280)}.input-group select{background:var(--stone-50,#f8fafc);border:1px solid var(--border-color,#e5e7eb);color:var(--text-primary,#1f2937);border-radius:4px;outline:none;padding:4px 8px;font-size:.875rem}.input-group select option{color:var(--text-primary,#1f2937);background:#fff}.side-challenge-input .unit{color:var(--text-muted,#6b7280);font-size:.875rem;white-space:nowrap!important;flex-shrink:0!important;display:inline-block!important}.input-row{border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.yards-input{color:var(--text-primary,#1f2937);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.yards-input::placeholder{color:var(--text-muted,#6b7280)}.yards-label{color:var(--text-muted,#6b7280);white-space:nowrap;flex-shrink:0;font-size:.875rem}.distance-input{color:var(--text-primary,#1f2937);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.distance-input::placeholder{color:var(--text-muted,#6b7280)}.unit-select{background:var(--stone-50,#f8fafc);border:1px solid var(--border-color,#e5e7eb);color:var(--text-primary,#1f2937);border-radius:4px;outline:none;flex-shrink:0;min-width:60px;max-width:80px;padding:4px 8px;font-size:.875rem}.input-actions{justify-content:flex-start;align-items:center;gap:8px;display:flex}.btn-sm{cursor:pointer;border:1px solid #0000;border-radius:2px;min-height:auto;padding:2px 4px;font-size:.625rem;line-height:1.2;transition:all .2s}.side-challenge-indicator .btn-primary,.side-challenge-input .btn-primary{background:var(--emerald-600,#059669)!important;border-color:var(--emerald-600,#059669)!important;color:#fff!important;text-align:center!important;border-radius:2px!important;width:100%!important;height:auto!important;min-height:auto!important;padding:5px 8px!important;font-size:.6875rem!important}.side-challenge-indicator .btn-primary:hover:not(:disabled),.side-challenge-input .btn-primary:hover:not(:disabled){background:var(--emerald-700,#047857)!important;border-color:var(--emerald-700,#047857)!important}.side-challenge-indicator .btn-primary:disabled,.side-challenge-input .btn-primary:disabled{opacity:.5!important;cursor:not-allowed!important}.side-challenge-indicator .btn-secondary,.side-challenge-input .btn-secondary{border:1px solid var(--stone-300,#d6d3d1)!important;color:var(--text-muted,#6b7280)!important;opacity:.8!important;text-align:center!important;background:0 0!important;border-radius:2px!important;width:100%!important;height:auto!important;min-height:auto!important;padding:4px 7px!important;font-size:.6875rem!important;text-decoration:none!important}.side-challenge-indicator .btn-secondary:hover,.side-challenge-input .btn-secondary:hover{background:var(--stone-100,#f5f5f4)!important;color:var(--text-primary,#1f2937)!important;opacity:1!important}@media (width<=768px){.side-challenge-indicator,.side-challenge-input{margin:4px 0 1rem;padding:4px 8px 1rem}.challenge-content,.challenge-header{gap:4px}.challenge-icon{font-size:.875rem}.challenge-info h4{font-size:.6875rem}.challenge-info p{font-size:.625rem}.challenge-actions{gap:6px;min-width:100px}.side-challenge-indicator .btn-primary,.side-challenge-input .btn-primary{padding:3px 6px!important;font-size:.625rem!important}.side-challenge-indicator .btn-secondary,.side-challenge-input .btn-secondary{padding:3px 5px!important;font-size:.625rem!important}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg,#fff);box-shadow:var(--shadow-xl);border:1px solid var(--border-color,#e5e7eb);width:90%;max-width:500px;max-height:90vh;animation:.3s ease-out slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-light);background:var(--stone-50);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{color:var(--emerald-800);letter-spacing:-.02em;margin:0;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;transition:all .2s;display:flex}.hole-navigation{background:var(--stone-50);border-bottom:1px solid var(--border-light);justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.hole-navigation .nav-btn{border:1px solid var(--emerald-700);color:var(--emerald-700);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#fff;flex:1;justify-content:center;align-items:center;gap:.25rem;min-width:100px;height:40px;padding:.5rem .75rem;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.hole-navigation .nav-btn:hover:not(:disabled){background:var(--emerald-700);color:#fff}.hole-navigation .nav-btn:disabled{opacity:.4;cursor:not-allowed;border-color:var(--stone-300);color:var(--stone-400)}.hole-selector select{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:#fff;min-width:100px;max-width:120px;padding:.5rem .75rem;font-family:Inter,sans-serif;font-size:.875rem}.hole-selector select:focus{border-color:var(--emerald-600);outline:none;box-shadow:0 0 0 3px #0596691a}.hole-info{text-align:center;border-bottom:1px solid var(--border-light);margin-bottom:1rem;padding-bottom:1rem}.hole-info h4{color:var(--emerald-700);margin:0 0 .5rem;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:500}.hole-details{color:var(--text-secondary);justify-content:center;gap:2rem;font-family:Inter,sans-serif;font-size:.875rem;display:flex}.hole-details span{align-items:center;gap:.25rem;font-weight:500;display:flex}.player-info{text-align:center;color:var(--text-primary);margin-bottom:.25rem;font-family:Inter,sans-serif}.player-info strong{color:var(--emerald-700);font-weight:600}.current-score{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.score-input-modal{justify-content:center;align-items:center;gap:1rem;padding:.25rem 1rem;display:flex}.score-btn{border:2px solid var(--emerald-700);background:var(--emerald-700);color:#fff;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:2rem;font-weight:700;transition:all .2s;display:flex}.score-btn:hover:not(:disabled){background:var(--emerald-800);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.score-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--stone-400);border-color:var(--stone-400)}.score-display{text-align:center;border:2px solid var(--emerald-600);background:#fff;flex-shrink:0;padding:.75rem}.modal-content .score-display input[type=number]{text-align:center!important;color:#000!important;box-shadow:none!important;appearance:none!important;-moz-appearance:textfield!important;vertical-align:baseline!important;background:0 0!important;border:0!important;outline:0!important;margin:0!important;padding:0!important;font-family:Inter,sans-serif!important;font-size:2.5rem!important;font-weight:900!important;line-height:normal!important}.modal-content .score-display input{text-align:center!important;color:#000!important;width:80px!important;box-shadow:none!important;appearance:none!important;-moz-appearance:textfield!important;vertical-align:baseline!important;background:0 0!important;outline:0!important;margin:0!important;padding:0!important;font-family:Inter,sans-serif!important;font-size:2.5rem!important;font-weight:900!important;line-height:normal!important}.score-display input:focus{outline:none!important}.score-display:focus-within{border-color:var(--emerald-700);box-shadow:0 0 0 3px #05966933}.score-label{color:var(--emerald-700);text-transform:uppercase;letter-spacing:.05em;text-align:center;min-height:20px;margin-top:.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:700}.quick-scores{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.quick-score{border:2px solid var(--border-color);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-align:center;background:#fff;padding:.625rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;line-height:1.2;transition:all .15s}.quick-score:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.quick-score.eagle{border-color:var(--gold-500);color:var(--gold-600)}.quick-score.eagle:hover{background:var(--gold-500);color:var(--text-primary)}.quick-score.birdie{border-color:var(--emerald-600);color:var(--emerald-700)}.quick-score.birdie:hover{background:var(--emerald-600);color:#fff}.quick-score.par{border-color:var(--stone-400);color:var(--stone-600)}.quick-score.par:hover{background:var(--stone-400);color:#fff}.quick-score.bogey{border-color:var(--stone-500);color:var(--stone-700)}.quick-score.bogey:hover{background:var(--stone-500);color:#fff}.quick-score.double{border-color:var(--stone-600);color:var(--stone-800)}.quick-score.double:hover{background:var(--stone-600);color:#fff}.modal-footer{border-top:1px solid var(--border-light);background:var(--stone-50);padding:.75rem 1.5rem}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.cancel-btn,.submit-btn{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s}.cancel-btn{color:var(--text-secondary);border:1px solid var(--border-color);background:#fff}.cancel-btn:hover{background:var(--stone-100);color:var(--text-primary)}.submit-btn{background:var(--emerald-700);color:#fff}.submit-btn:hover:not(:disabled){background:var(--emerald-800);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--stone-400)}@media (width<=600px){.modal-content{width:95%;max-height:95vh}.modal-header{padding:1rem}.modal-header h3{font-size:1.25rem}.hole-navigation{padding:.75rem 1rem}.nav-btn{padding:.375rem .75rem;font-size:.75rem}.hole-details{gap:1rem;font-size:.8125rem}.score-display input{width:60px;height:50px;font-size:1.75rem}.quick-scores{grid-template-columns:repeat(3,1fr)}.quick-score{padding:.625rem;font-size:.75rem}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content.handicap-modal{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;width:100%;max-width:450px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header h3{color:var(--primary-color,#059669);margin:0;font-size:1.4rem;font-weight:600}.close-btn{color:var(--text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.close-btn:hover{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#111827)}.handicap-edit-form{flex-direction:column;gap:1.5rem;display:flex}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-input{border:2px solid var(--border-color);background:var(--background-secondary);color:var(--text-primary);border-radius:8px;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-alpha);outline:none}.form-input.disabled{background:var(--background-disabled);color:var(--text-secondary);cursor:not-allowed}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-help{color:var(--text-secondary);font-size:.8rem;font-style:italic}.error-message{background:var(--error-background);color:var(--error-color);border-left:4px solid var(--error-color);border-radius:6px;padding:.75rem;font-size:.9rem}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.btn-secondary:hover:not(:disabled){background:var(--background-hover);border-color:var(--border-hover)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{background:var(--background-disabled);border-color:var(--background-disabled);color:var(--text-secondary)}@media (width<=480px){.handicap-edit-form{width:100%;min-width:auto}.form-actions{flex-direction:column}.btn{width:100%}}.leaderboard-container{flex-direction:column;gap:1.5rem;display:flex}.leaderboard{flex-direction:column;gap:.75rem;display:flex}.leaderboard-item{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.leaderboard-item:before{content:"";background:0 0;width:4px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}.leaderboard-item:hover{box-shadow:var(--shadow-md);transform:translate(2px)}.leaderboard-item:hover:before{background:var(--emerald-600)}.leaderboard-item.leader{background:linear-gradient(to right, var(--gold-100) 0%, white 50%);border-color:var(--gold-500)}.leaderboard-item.leader:before{background:var(--gold-500)}.position{text-align:center;min-width:50px;color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600}.leaderboard-item.leader .position{color:var(--gold-600)}.player-info{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.player-avatar{border:2px solid var(--border-light);background:var(--stone-100);border-radius:50%;flex-shrink:0;width:45px;height:45px;overflow:hidden}.player-avatar svg{width:100%;height:100%}.player-details{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.player-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);letter-spacing:.01em;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;overflow:hidden}.player-handicap{color:var(--text-secondary);align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.8rem;display:flex}.handicap-edit-btn{cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.75rem;line-height:1;transition:all .2s}.handicap-edit-btn:hover{opacity:1;background:var(--background-hover);transform:scale(1.1)}.scores{align-items:center;gap:2rem;display:flex}.score-item{text-align:center;min-width:60px}.score-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-family:Inter,sans-serif;font-size:.75rem}.score-value{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600}.score-value.under-par{color:var(--emerald-600)}.score-value.over-par{color:var(--stone-600)}.quick-score-btn{background:var(--emerald-700);color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;transition:all .2s}.quick-score-btn:hover{background:var(--emerald-800);box-shadow:var(--shadow-sm);transform:translateY(-1px)}@media (width<=768px){.leaderboard-container{gap:1rem}.leaderboard-item{flex-wrap:wrap;gap:.75rem;padding:1rem}.position{min-width:40px;font-size:1.5rem}.player-avatar{width:40px;height:40px}.player-info{flex:auto;min-width:150px}.scores{flex:100%;order:3;justify-content:space-between;gap:1rem;margin-top:.75rem}.score-item{min-width:50px}.score-label{font-size:.625rem}.score-value{font-size:1.125rem}.quick-score-btn{order:2;margin-left:auto;padding:.5rem 1rem;font-size:.75rem}}.hole-details-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2c5530f2 0%,#22313ff7 100%);justify-content:center;align-items:center;padding:1rem;animation:.4s ease-out overlayFadeIn;display:flex;position:fixed;inset:0}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.hole-details-modal{background:linear-gradient(145deg,#fff 0%,#f8fdf9 50%,#f0f8f2 100%);border:2px solid #ffffff4d;border-radius:20px;width:100%;max-width:900px;max-height:92vh;animation:.5s cubic-bezier(.16,1,.3,1) modalSlideIn;position:relative;overflow:hidden;box-shadow:0 30px 80px #0006,0 10px 30px #2c55304d,inset 0 1px #fffc}.hole-details-header{color:#fff;background:linear-gradient(135deg,#1e3a22 0%,#2c5530 25%,#4a7c59 75%,#5a8b69 100%);border-radius:20px 20px 0 0;padding:2rem 2rem 1.5rem;position:relative;overflow:hidden}.hole-details-header:before{content:"";pointer-events:none;background:radial-gradient(circle at 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0d 0%,#0000 50%);position:absolute;inset:0}.hole-details-header:after{content:"";background:linear-gradient(90deg,#0000 0%,#90ee90cc 20%,#98fb98 50%,#90ee90cc 80%,#0000 100%);height:4px;position:absolute;bottom:0;left:0;right:0}.header-navigation{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.hole-info{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.hole-number{text-transform:uppercase;letter-spacing:2px;color:#90ee90f2;text-shadow:0 2px 4px #0000004d;margin-bottom:.5rem;font-size:1rem;font-weight:600}.hole-name-modal{text-shadow:0 4px 8px #00000080,0 2px 4px #0000004d;color:#fff;background:linear-gradient(135deg,#fff 0%,#f0fff0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:900;line-height:1.1}.hole-counter{color:#90ee90cc;letter-spacing:1px;text-shadow:0 1px 3px #0000004d;font-size:.9rem;font-weight:500}.nav-button{cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.nav-button:before{content:"";opacity:0;background:linear-gradient(135deg,#fff3 0%,#0000 50%);transition:opacity .3s;position:absolute;inset:0}.nav-button:hover:before{opacity:1}.nav-button:hover{background:#ffffff40;border-color:#ffffff80;transform:scale(1.05);box-shadow:0 8px 20px #0000004d}.nav-button:active{transform:scale(.95)}.nav-button:disabled{opacity:.3;cursor:not-allowed;transform:none}.nav-button:disabled:hover{box-shadow:none;background:#ffffff26;border-color:#ffffff4d;transform:none}.nav-arrow{color:#fff;text-shadow:0 2px 4px #00000080;font-size:1.8rem;font-weight:900;line-height:1}.close-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffff26;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.close-button:hover{background:#ff6464cc;border-color:#fff9;transform:scale(1.1)}.hole-details-content{max-height:calc(92vh - 140px);padding:2rem;overflow-y:auto}.hole-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-item{text-align:center;background:linear-gradient(145deg,#fff 0%,#f8fdf9 100%);border:2px solid #2c55301a;border-radius:16px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 25px #2c55301a,inset 0 1px #fffc}.stat-item:before{content:"";background:linear-gradient(90deg,#2c5530,#4a7c59,#5a8b69);border-radius:16px 16px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.stat-item:hover{border-color:#2c553033;transform:translateY(-4px);box-shadow:0 15px 35px #2c553026,inset 0 1px #ffffffe6}.stat-value{color:#1e3a22;text-shadow:0 2px 4px #0000001a;font-size:2rem;font-weight:900;display:block}.hole-description{background:linear-gradient(145deg,#f8fdf9e6 0%,#f0f8f2e6 100%);border:2px solid #2c55301a;border-radius:16px;margin-bottom:2rem;padding:2rem;position:relative;box-shadow:0 8px 25px #2c553014,inset 0 1px #fffc}.hole-description:before{content:"🏌️‍♂️";opacity:.3;font-size:1.5rem;position:absolute;top:1rem;right:1.5rem}.hole-description p{color:#2c4a2f;text-align:justify;margin:0;font-size:1.1rem;font-style:italic;line-height:1.7}.hole-media{flex-direction:column;gap:2.5rem;display:flex}.hole-image-container,.hole-video-container{background:linear-gradient(145deg,#f8fdf9cc 0%,#f0f8f2cc 100%);border:2px solid #2c55301a;border-radius:20px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 12px 35px #2c55301a,inset 0 1px #fffc}.hole-image-container:before,.hole-video-container:before{content:"";background:linear-gradient(90deg,#2c5530,#4a7c59,#5a8b69);border-radius:20px 20px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.hole-image-container h3,.hole-video-container h3{color:#1e3a22;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:.75rem;margin:0 0 1.5rem;font-size:1.3rem;font-weight:700;display:flex}.hole-image-container h3:before{content:"🖼️";font-size:1.5rem}.hole-video-container h3:before{content:"🎥";font-size:1.5rem}.hole-image{border:3px solid #fffc;border-radius:12px;width:100%;height:auto;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 12px 30px #00000026,0 4px 12px #2c55301a}.hole-image:hover{border-color:#fff;transform:scale(1.02);box-shadow:0 20px 50px #0003,0 8px 25px #2c553026}.video-wrapper{border:3px solid #fffc;border-radius:12px;width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000026,0 4px 12px #2c55301a}.video-wrapper iframe{border-radius:9px;width:100%;height:100%;position:absolute;top:0;left:0}.media-error{text-align:center;background:linear-gradient(145deg,#f0f8ffe6 0%,#e6f5ffe6 100%);border:2px solid #4682b433;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:3rem 2rem;display:flex;position:relative}.media-error:before{content:"";background:linear-gradient(90deg,#4682b4,#87ceeb,#b0e0e6);border-radius:12px 12px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.error-icon{opacity:.7;text-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;font-size:4rem}.media-error p{color:#1e3d59;margin:.75rem 0}.media-error p:first-of-type{color:#2c4a6b;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700}.error-details{opacity:.8;color:#4a6b8a;max-width:450px;font-size:1rem;line-height:1.6}.original-url-link{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#2c5530 0%,#4a7c59 100%);border-radius:25px;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 6px 20px #2c55304d}.original-url-link:hover{background:linear-gradient(135deg,#1e3a22 0%,#2c5530 100%);text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 25px #2c553066}.original-url-link:focus{outline-offset:2px;outline:3px solid #90ee9099}[data-theme=dark] .hole-details-modal{background:linear-gradient(145deg,#1a1a1a 0%,#2a2a2a 50%,#1f2f1f 100%);border-color:#90ee904d}[data-theme=dark] .hole-details-header{background:linear-gradient(135deg,#0f1f0f 0%,#1a3a1a 25%,#2a5a2a 75%,#3a6a3a 100%)}[data-theme=dark] .stat-item{color:#e0e0e0;background:linear-gradient(145deg,#2a2a2a 0%,#333 100%);border-color:#90ee9033}[data-theme=dark] .stat-value{color:#90ee90}[data-theme=dark] .hole-description{color:#d0d0d0;background:linear-gradient(145deg,#2a2a2ae6 0%,#333333e6 100%);border-color:#90ee904d}[data-theme=dark] .hole-image-container,[data-theme=dark] .hole-video-container{background:linear-gradient(145deg,#2a2a2acc 0%,#333c 100%);border-color:#90ee9033}[data-theme=dark] .hole-image-container h3,[data-theme=dark] .hole-video-container h3{color:#90ee90}[data-theme=dark] .media-error{background:linear-gradient(145deg,#1a2a3ae6 0%,#23374be6 100%);border-color:#66b3ff4d}[data-theme=dark] .media-error p{color:#87ceeb}@media (width<=768px){.hole-details-modal-overlay{padding:.5rem}.hole-details-modal{border-radius:16px;max-height:95vh}.hole-details-header{border-radius:16px 16px 0 0;padding:1.5rem 1rem 1rem}.hole-name-modal{font-size:2rem!important}.hole-details-content{padding:1.5rem}.hole-stats{grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{padding:1rem}.stat-value{font-size:1.5rem}.hole-image-container,.hole-video-container{padding:1.5rem}.nav-button{width:45px;height:45px}.nav-arrow{font-size:1.5rem}.close-button{width:36px;height:36px;top:1rem;right:1rem}}@media (width<=480px){.hole-stats{grid-template-columns:1fr;gap:1rem}.stat-item{text-align:left;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.stat-label{margin-bottom:0;font-size:1rem}.stat-value{font-size:1.75rem}.hole-description{padding:1.5rem}.hole-image-container,.hole-video-container{padding:1.25rem}.header-navigation{flex-direction:column;gap:1rem}.nav-button{display:none}.hole-info{order:1}}@media (prefers-reduced-motion:reduce){.hole-details-modal,.hole-details-modal-overlay,.nav-button,.close-button,.stat-item,.hole-image{transition:none;animation:none}}@media (prefers-contrast:high){.hole-details-modal{border:3px solid}.nav-button,.close-button{border-width:3px}.stat-item{border-width:2px}}.scorecard-challenge-indicator{opacity:.85;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex}.scorecard-challenge-indicator:hover{opacity:1;color:#000;background:#ffffffe6;transform:scale(1.05)}.challenge-icon-small{filter:drop-shadow(0 1px 2px #0000001a);font-size:.9rem;line-height:1;display:block}.hole-header{position:relative}@keyframes subtle-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.scorecard-challenge-indicator.new-challenge{animation:2s ease-in-out 3 subtle-pulse}.scorecard-challenge-value{color:#16a34a;text-align:center;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;justify-content:center;align-items:center;min-width:45px;padding:3px 6px;font-weight:500;display:inline-flex}.challenge-value-text{white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:.7rem;line-height:1;overflow:hidden}@media (width<=768px){.challenge-icon-small{font-size:.6rem}.scorecard-challenge-indicator{top:1px;right:1px}.challenge-value-text{max-width:50px;font-size:.6rem}}.scorecard-challenge-modal{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:0;animation:.2s ease-out modalSlideIn;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.challenge-title{align-items:center;gap:12px;display:flex}.challenge-title h3{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.challenge-icon{font-size:1.5rem}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:1.5rem;transition:background-color .2s}.close-btn:hover{background-color:#f3f4f6}.hole-info{text-align:center;color:#374151;margin:0 0 20px;font-size:1rem}.input-section label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.input-row{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:8px;padding:12px;transition:border-color .2s;display:flex}.input-row:focus-within{background:#fff;border-color:#3b82f6}.distance-input,.yards-input{color:#111827;background:0 0;border:none;outline:none;flex:1;font-size:1rem}.distance-input::placeholder,.yards-input::placeholder{color:#6b7280}.unit-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;outline:none;flex-shrink:0;min-width:60px;max-width:80px;padding:4px 8px;font-size:.875rem}.yards-label{color:#6b7280;white-space:nowrap;flex-shrink:0;font-size:.875rem;font-weight:500}.modal-footer{flex-direction:column;gap:8px;padding:16px 24px 24px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s}.btn-secondary{color:#374151;background:#f3f4f6}.btn-primary{color:#fff;background:#3b82f6;border-color:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-primary:disabled{cursor:not-allowed;background:#9ca3af}.scorecard-challenge-modal .btn-outline{color:#3b82f6!important;background:0 0!important;border:1px solid #3b82f6!important}.scorecard-challenge-modal .btn-outline:hover{color:#fff!important;background:#3b82f6!important;border-color:#3b82f6!important}@media (width<=640px){.scorecard-challenge-modal{width:95%;margin:20px}.modal-footer .btn{width:100%}}.scorecard{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.mobile-responsive{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--emerald-700) var(--stone-200);box-shadow:inset 0 0 0 1px var(--border-light);border-radius:8px;position:relative;overflow-x:auto}.mobile-responsive::-webkit-scrollbar{height:8px}.mobile-responsive::-webkit-scrollbar-track{background:var(--stone-200)}.mobile-responsive::-webkit-scrollbar-thumb{background:var(--emerald-700);border-radius:4px}.scorecard-table{border-collapse:collapse;table-layout:auto;background:#fff;width:100%;min-width:1200px;font-family:Inter,sans-serif;font-size:.875rem;display:table!important}.scorecard-table th,.scorecard-table td{text-align:center;border:1px solid var(--border-light);padding:.75rem .5rem;display:table-cell!important}.scorecard-table thead{display:table-header-group!important}.scorecard-table thead tr{display:table-row!important}.scorecard-table thead th{background:var(--emerald-800);color:#fff;text-transform:uppercase;font-weight:500;display:table-cell!important}.scorecard-table thead th.out-col,.scorecard-table thead th.in-col,.scorecard-table thead th.total-col,.scorecard-table thead th.net-col{letter-spacing:.05em;z-index:10;font-size:.75rem;font-weight:500;position:sticky;top:0;background:var(--emerald-800)!important;color:#fff!important}.sticky-col{z-index:5;background:#fff;min-width:120px;font-weight:500;position:sticky;left:0;text-align:left!important;padding-left:1rem!important}th.sticky-col{background:var(--emerald-800);color:#fff;z-index:11}.hole-header{vertical-align:middle;background:linear-gradient(135deg, var(--emerald-800) 0%, var(--emerald-700) 100%);border-right:1px solid #ffffff1a;min-width:120px;padding:.75rem .5rem;transition:all .2s;position:relative;display:table-cell!important}.hole-number{text-align:center;background:0 0;border:none;margin-bottom:.5rem;font-size:1.1rem;font-weight:700;display:block;color:#fff!important}.course-name{color:#fffffff2;text-transform:none;letter-spacing:.2px;text-align:center;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-overflow:ellipsis;white-space:nowrap;max-width:110px;margin:0 auto;font-size:.7rem;font-weight:500;line-height:1.3;text-decoration:none;overflow:hidden}.hole-header-content{cursor:pointer;z-index:1;border-radius:6px;flex-direction:column;align-items:center;gap:.125rem;margin:-.5rem -.25rem;padding:.5rem .25rem;transition:all .2s;display:flex;position:relative}.hole-header-content:hover{background:#ffffff1a}.hole-header-content:hover .hole-number{color:#fff!important}.hole-header-content:hover .course-name{color:#fff}.hole-header-content:active{transform:translateY(0)}.out-col,.in-col{background:var(--stone-200,#e7e5e4);color:var(--text-primary,#333);border-left:1px solid var(--border-light,#d1d5db);border-right:1px solid var(--border-light,#d1d5db);font-weight:600}.net-col{background:var(--stone-200,#e7e5e4);color:var(--text-primary,#333);font-weight:600}.par-row{background:var(--stone-50);color:var(--text-primary);font-weight:600}.yardage-row{background:var(--stone-100);color:var(--text-secondary);font-size:.75rem}.hcp-row{background:var(--stone-100);color:var(--text-muted);border-bottom:2px solid var(--emerald-700);font-size:.75rem}.side-challenges-row{border-top:1px solid var(--emerald-300);color:var(--text-muted);background:#f0f8f0;font-size:.75rem;font-weight:500}.challenge-cell{text-align:center;vertical-align:middle;padding:.5rem .25rem!important}.challenge-cell .scorecard-challenge-indicator,.challenge-cell .scorecard-challenge-value{margin:0 auto}.player-row{transition:background-color .2s}.player-row:hover{background:var(--stone-50)}.player-row:nth-child(2n){background:#f5f5f480}.player-info-cell{text-align:left;flex-direction:column;align-items:flex-start;gap:.125rem;display:flex}.player-name{color:var(--text-primary);font-size:.875rem;font-weight:500}.player-hcp-container{align-items:center;gap:.25rem;display:flex}.player-hcp{color:var(--text-muted);font-size:.75rem;font-weight:400}.handicap-edit-btn-small{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:3px;margin-left:2px;padding:1px 3px;font-size:.6rem;line-height:1;transition:all .2s}.handicap-edit-btn-small:hover{opacity:1;background:var(--background-hover);transform:scale(1.1)}.score-cell{cursor:pointer;min-width:60px;font-size:1rem;font-weight:500;transition:all .15s;position:relative}.score-cell:hover{background:var(--emerald-100);color:var(--emerald-800)}.score-cell.editing{background:var(--emerald-100)}.score-input{border:2px solid var(--emerald-600);text-align:center;width:40px;color:var(--text-primary);background:#fff;padding:.25rem;font-size:1rem;font-weight:600}.score-input:focus{border-color:var(--emerald-700);outline:none;box-shadow:0 0 0 3px #0596691a}.score-albatross{color:var(--text-primary);font-weight:600;background:var(--gold-500)!important}.total-col{background:var(--emerald-50);color:var(--emerald-800);border-left:2px solid var(--emerald-700);font-size:1rem;font-weight:600}.subtotal-col{background:var(--stone-100);border-left:1px solid var(--stone-400);font-weight:500}.grand-total{font-size:1.125rem;background:var(--emerald-700)!important;color:#fff!important}.net-total{background:var(--sage-100);color:var(--sage-800);font-weight:600}@media (width<=768px){.scorecard-table{min-width:1000px;font-size:.75rem}.hole-header{min-width:90px}.hole-number{font-size:1rem}.course-name{max-width:85px;font-size:.6rem}.score-cell{min-width:50px;font-size:.875rem}.total-col{font-size:.875rem}.grand-total{font-size:1rem}.scorecard-legend{gap:1rem;font-size:.625rem}.legend-color{width:12px;height:12px}}@media print{.scorecard{box-shadow:none;border:1px solid #000}.scorecard-table thead th{background:var(--emerald-800);color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.score-cell:hover{background:0 0}}.side-competitions-container{flex-direction:column;gap:20px;display:flex}.competitions-toggle{background:#00000005;border-radius:10px;margin-bottom:30px;padding:20px}.toggle-label{cursor:pointer;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.toggle-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.toggle-description{color:#666;margin-top:10px;font-size:14px;line-height:1.5}.competitions-grid{grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px;display:grid}.competition-section{background:#00000005;border-radius:10px;padding:20px}.competition-section h3{color:var(--primary-color);margin-bottom:5px}.competition-subtitle{color:#666;margin-bottom:20px;font-size:14px}.hole-competitions{flex-direction:column;gap:12px;display:flex}.hole-competition-item{border:1px solid var(--border-color);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.hole-info{flex-direction:column;gap:2px;display:flex}.hole-info strong{color:var(--secondary-color);font-size:14px}.hole-name{color:#666;font-size:12px}.hole-yards{color:#999;font-size:11px}.competition-winner{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.winner-name{color:var(--primary-color);font-weight:600}.winner-distance{color:#666;font-size:14px}.performance-tracking h3{color:var(--secondary-color);margin-bottom:20px}.performance-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.stat{justify-content:space-between;align-items:center;padding:5px 0;display:flex}.stat-label{color:#666;font-size:12px}.stat-value{color:var(--primary-color);font-size:16px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background-color:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:15px;width:100%;max-width:500px;padding:30px;box-shadow:0 10px 40px #0003}.modal-content h3{color:var(--secondary-color);margin-bottom:10px}.modal-content p{color:#666;margin-bottom:20px}.player-selection{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:20px;display:grid}.player-option{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:8px;padding:12px;font-weight:600;transition:all .3s}.player-option:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}@media (width<=768px){.competitions-grid,.performance-grid{grid-template-columns:1fr}.player-selection{grid-template-columns:repeat(2,1fr)}}.player-note{color:#3b82f6;text-align:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;margin-bottom:16px;padding:12px;font-size:.9rem}.competition-status{flex-direction:column;gap:8px;min-width:200px;display:flex}.current-leader{background:#22c55e1a;border:1px solid #22c55e33;border-radius:6px;padding:8px;font-size:.85rem}.leader-label{color:#059669;margin-right:8px;font-weight:600}.leader-name{margin-right:8px;font-weight:600}.leader-distance{color:#059669;font-weight:500}.player-entry{background:#a855f71a;border:1px solid #a855f733;border-radius:6px;padding:8px;font-size:.85rem}.entry-label{color:#7c3aed;margin-right:8px;font-weight:600}.entry-distance{color:#7c3aed;font-weight:500}.no-score{color:#6b7280;text-align:center;padding:8px;font-size:.85rem;font-style:italic}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}@media (width<=768px){.competition-status{min-width:unset;width:100%}.hole-competition-item{flex-direction:column;gap:12px}.hole-info{text-align:center}}.betting-container{flex-direction:column;gap:20px;display:flex}.betting-summary{margin-top:20px}.prize-pool h3{color:var(--secondary-color);margin-bottom:15px}.total-pool{text-align:center;background:#ffd7001a;border-radius:8px;margin-bottom:20px;padding:15px;font-size:18px}.competition-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px;display:grid}.competition-card{border:1px solid var(--border-color);background:#00000005;border-radius:10px;padding:20px}.competition-card h4{color:var(--primary-color);margin-bottom:15px}.prize-list{flex-direction:column;gap:8px;display:flex}.prize-list div{font-size:14px}.field-info{color:#666;margin-top:10px;font-size:12px;font-style:italic}.rules-box{color:#856404;background:#fff3cd;border:1px solid #ffeeba;border-radius:8px;padding:15px;font-size:14px}.skins-tracker h3{color:var(--secondary-color);margin-bottom:20px}.skins-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.skins-column h4{color:var(--primary-color);text-align:center;margin-bottom:15px}.skins-list{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.skin-item.won{border-color:var(--emerald-500);background:linear-gradient(90deg,#10b9810d 0%,#fff 100%)}.skin-item.carried{opacity:.7}.skin-item.carried .skin-hole{background:var(--gray-400)}.skin-winner{font-weight:600}.payout-calculator h3{color:var(--secondary-color);margin-bottom:20px}.payout-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.payout-item{border:1px solid var(--border-color);background:#00000005;border-radius:10px;padding:20px}.payout-item .player-name{margin-bottom:15px;font-size:18px;font-weight:700}.winnings-breakdown{flex-direction:column;gap:8px;display:flex}.winnings-line{justify-content:space-between;font-size:14px;display:flex}.winnings-line.total{border-top:1px solid var(--border-color);margin-top:10px;padding-top:10px;font-size:16px;font-weight:700}.winnings-line.net{font-size:18px;font-weight:700}.winnings-line.net.positive{color:var(--emerald-600)}.winnings-line.net.negative{color:var(--danger-color)}@media (width<=768px){.competition-grid,.skins-grid,.payout-grid{grid-template-columns:1fr}}.stats-container{flex-direction:column;gap:20px;display:flex}.tournament-overview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px;display:grid}.stat-card{text-align:center;border:1px solid var(--border-color);background:#00000005;border-radius:10px;padding:20px}.stat-value{color:var(--primary-color);margin-bottom:5px;font-size:24px;font-weight:700}.stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.performance-cards-row{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.player-stats-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px;display:grid}.player-stat-card{border:1px solid var(--border-color);background:#00000005;border-radius:10px;padding:20px}.player-stat-card h4{margin:0 0 15px;font-size:18px}.player-stat-details{flex-direction:column;gap:10px;display:flex}.stat-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.performance-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px;display:grid}.player-performance{border:1px solid var(--border-color);background:#00000005;border-radius:10px;padding:15px}.player-performance h4{margin:0 0 15px;font-size:16px}.performance-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.performance-stats .stat{text-align:center;flex-direction:column;align-items:center;display:flex}.performance-stats .stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:10px}.performance-stats .stat-value{color:var(--primary-color);font-size:20px;font-weight:700}.hole-stats-table{margin-top:20px;overflow-x:auto}.hole-stats-table table{border-collapse:collapse;background:0 0;width:100%;font-size:14px}.hole-stats-table th,.hole-stats-table td{text-align:center;border-bottom:1px solid var(--border-color);padding:12px 10px}.hole-stats-table th{background:var(--primary-color);color:#fff;z-index:10;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600;position:sticky;top:0}.hole-stats-table tbody tr:nth-child(2n){background-color:#0000}.hole-stats-table tbody tr:hover{background-color:rgba(var(--primary-color-rgb), .05);transition:background-color .2s}.hole-stats-table .course-name{text-align:left;color:var(--text-primary);white-space:normal;max-width:200px;padding:8px 10px;font-size:14px;font-weight:600;line-height:1.3;overflow:visible}.difficulty-hard{color:var(--danger-color);font-weight:600}.difficulty-easy{color:var(--emerald-600);font-weight:600}@media (width<=768px){.tournament-overview{grid-template-columns:repeat(2,1fr)}.performance-cards-row,.player-stats-grid,.performance-grid{grid-template-columns:1fr}.hole-stats-table{border-radius:0;margin:15px -20px 0;font-size:12px}.hole-stats-table table{border-radius:0}.hole-stats-table th,.hole-stats-table td{padding:8px 4px;font-size:11px}.hole-stats-table th{font-size:10px}.hole-stats-table .course-name{max-width:120px;padding:6px 4px;font-size:12px;font-weight:600;line-height:1.2}}.achievements-container{flex-direction:column;gap:1.5rem;display:flex}.recent-achievements h3{color:var(--emerald-800);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:500}.recent-list{flex-direction:column;gap:.75rem;display:flex}.recent-achievement{background:var(--gold-100);border:1px solid var(--gold-400);border-left:3px solid var(--gold-500);align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.recent-achievement:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.achievement-icon{color:var(--gold-600);font-size:2rem}.achievement-name{color:var(--text-primary);margin-bottom:.25rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600}.achievement-player{color:var(--text-secondary);justify-content:space-between;align-items:center;font-family:Inter,sans-serif;font-size:.875rem;display:flex}.achievement-time{color:var(--text-muted);font-size:.75rem}.no-achievements{text-align:center;color:var(--text-muted);padding:2rem;font-family:Crimson Text,serif;font-size:1.05rem;font-style:italic}.player-achievements-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.player-achievement-card{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem;transition:all .2s}.player-achievement-card:hover{box-shadow:var(--shadow-md)}.player-achievement-card h4{color:var(--emerald-800);margin:0 0 1rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.achievement-progress{margin-bottom:1.5rem}.progress-bar{background:var(--stone-200);width:100%;height:12px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--emerald-600), var(--emerald-700));height:100%;transition:width .3s}.progress-text{text-align:center;color:var(--text-muted);font-family:Inter,sans-serif;font-size:.875rem}.achievements-list h5{color:var(--emerald-700);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.achievement-badges{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.achievement-badge{text-align:center;cursor:pointer;border:1px solid var(--border-light);background:#fff;flex-direction:column;align-items:center;padding:.75rem;transition:all .2s;display:flex}.achievement-badge.earned{background:var(--gold-100);border-color:var(--gold-400)}.achievement-badge.unearned{background:var(--stone-50);opacity:.6}.achievement-badge:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.badge-icon{color:var(--gold-600);margin-bottom:.5rem;font-size:1.75rem}.achievement-badge.unearned .badge-icon{color:var(--stone-400)}.badge-name{color:var(--text-primary);margin-bottom:.25rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.badge-description{color:var(--text-muted);font-family:Inter,sans-serif;font-size:.625rem;line-height:1.3}.no-badges{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:1rem;font-family:Crimson Text,serif;font-style:italic}.achievement-guide{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.guide-item{border:1px solid var(--border-light);background:#fff;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.guide-item:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.guide-icon{color:var(--emerald-600);font-size:2rem}.guide-content{flex:1}.guide-name{color:var(--text-primary);margin-bottom:.25rem;font-family:Inter,sans-serif;font-weight:600}.guide-description{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.875rem}@media (width<=768px){.player-achievements-grid{grid-template-columns:1fr}.achievement-badges{grid-template-columns:repeat(3,1fr)}.achievement-guide{grid-template-columns:1fr}.recent-achievements h3{font-size:1.5rem}.player-achievement-card h4{font-size:1.25rem}}.theme-selector-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.theme-selector{max-width:800px;max-height:90vh;animation:.3s ease-out fadeIn;overflow-y:auto}.theme-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.theme-header h2{color:var(--primary-color);margin:0}.theme-section{margin-bottom:30px}.theme-section h3{color:var(--secondary-color);margin-bottom:15px}.theme-section h4{color:var(--secondary-color);margin-bottom:10px;font-size:16px}.theme-status{background:rgba(var(--primary-color-rgb), .1);border-left:4px solid var(--primary-color);border-radius:6px;margin-bottom:15px;padding:10px}.theme-status p{color:var(--text-primary);margin:5px 0;font-size:14px}.theme-header-section{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.theme-current{align-items:center;gap:8px;font-size:14px;display:flex}.theme-current-label{color:var(--text-secondary);font-weight:500}.theme-current-value{color:var(--primary-color);background:rgba(var(--primary-color-rgb), .1);border-radius:4px;padding:4px 8px;font-size:13px;font-weight:600}.theme-current-separator{color:var(--text-secondary);font-size:12px}.theme-current-applied{color:var(--secondary-color);background:rgba(var(--secondary-color-rgb), .1);border-radius:4px;padding:4px 8px;font-size:13px;font-weight:600}.theme-description{color:var(--text-secondary);margin-bottom:15px;font-size:14px;line-height:1.4}.auto-theme-controls{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.auto-theme-controls .btn{padding:8px 16px;font-size:13px}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.theme-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:100px;padding:16px 12px;transition:all .3s;display:flex}.theme-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.theme-card.active{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), .05);box-shadow:0 4px 15px rgba(var(--primary-color-rgb), .2)}.theme-card-icon{margin-bottom:8px;font-size:32px;line-height:1}.theme-card-name{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.theme-card-subtitle{color:var(--text-secondary);opacity:.8;font-size:11px}.theme-buttons{flex-wrap:wrap;gap:10px;display:flex}.player-selector{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.player-tab{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:20px;padding:8px 16px;font-weight:600;transition:all .3s}.player-tab:hover{transform:translateY(-2px);box-shadow:0 2px 10px #0000001a}.player-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.current-player-info{margin-bottom:20px}.current-player-display{background:rgba(var(--primary-color-rgb), .1);border:2px solid var(--primary-color);text-align:center;border-radius:8px;padding:12px 16px;font-size:14px}.current-player-display span{color:var(--text-secondary)}.current-player-display strong{font-size:16px;font-weight:600}.handicap-section{margin-bottom:20px}.handicap-input-container{background:#00000005;border:2px solid #ddd;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.handicap-input{text-align:center;background:#fff;border:2px solid #ddd;border-radius:6px;width:80px;padding:8px 12px;font-size:16px;font-weight:600;transition:all .3s}.handicap-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.handicap-label{color:var(--text-secondary);font-size:14px;font-weight:500}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:15px;margin-bottom:20px;display:grid}.avatar-option{cursor:pointer;background:#00000005;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;padding:10px;transition:all .3s;display:flex}.avatar-option:hover{background:#0000000d;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.avatar-option.selected{border-color:var(--primary-color);background:rgba(var(--primary-color), .1)}.avatar-preview{pointer-events:none;width:50px;height:50px;margin-bottom:5px}.avatar-preview svg{pointer-events:none;width:100%;height:100%}.avatar-name{text-align:center;color:#666;font-size:11px}.color-grid{grid-template-columns:repeat(8,1fr);gap:10px;display:grid}.color-option{cursor:pointer;border:3px solid #0000;border-radius:8px;width:100%;padding-bottom:100%;transition:all .3s;position:relative}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.audio-toggle-container{background:#00000005;border:1px solid #0000001a;border-radius:12px;margin-top:10px;padding:20px}.audio-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.audio-toggle-checkbox{cursor:pointer;width:20px;height:20px;margin-right:12px}.audio-toggle-text{color:#333;font-size:16px;font-weight:500}.audio-toggle-hint{color:#666;margin-top:12px;margin-bottom:0;font-size:13px;line-height:1.4}@media (width<=768px){.theme-selector{max-height:80vh}.theme-header-section{flex-direction:column;align-items:flex-start;gap:8px}.theme-grid{grid-template-columns:repeat(2,1fr);gap:10px}.theme-card{min-height:85px;padding:12px 8px}.theme-card-icon{margin-bottom:6px;font-size:28px}.theme-card-name{font-size:13px}.avatar-grid,.color-grid{grid-template-columns:repeat(4,1fr)}}.weather-widget{margin-bottom:20px}.weather-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;display:flex}.weather-header h3{color:var(--secondary-color);margin:0}.weather-controls{align-items:center;gap:10px;display:flex}.course-selector{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;padding:8px 12px;font-size:14px}.temperature-toggle-container{align-items:center;gap:8px;display:flex}.temp-label{color:#999;font-size:14px;font-weight:600;transition:color .3s}.temp-label.active{color:var(--primary-color)}.temperature-switch{width:50px;height:26px;display:inline-block;position:relative}.temperature-switch input{opacity:0;width:0;height:0}.temperature-slider{cursor:pointer;background-color:#ccc;border-radius:26px;transition:all .4s;position:absolute;inset:0;box-shadow:inset 0 2px 4px #0000001a}.temperature-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}.temperature-switch input:checked+.temperature-slider{background-color:var(--primary-color)}.temperature-switch input:focus+.temperature-slider{box-shadow:0 0 1px var(--primary-color)}.temperature-switch input:checked+.temperature-slider:before{transform:translate(24px)}.temperature-switch:hover .temperature-slider{opacity:.8}.location-status{color:#666;background:#0000000d;border-radius:6px;margin-bottom:10px;padding:8px;font-size:12px}.weather-loading{text-align:center;color:#666;padding:40px}.weather-current{text-align:center;margin-bottom:20px}.weather-icon-large{margin-bottom:10px;font-size:48px}.weather-current h4{margin:0 0 5px;font-size:20px}.weather-location{color:#666;margin:0;font-size:14px}.weather-detail{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:15px;margin-bottom:20px;display:grid}.weather-item{text-align:center;background:#00000005;border-radius:8px;padding:10px}.weather-item .icon{margin-bottom:5px;font-size:24px;display:block}.weather-item .value{margin-bottom:2px;font-size:18px;font-weight:700}.weather-item .label{color:#666;font-size:12px}.golf-tip{background:rgba(var(--primary-color), .1);border-radius:8px;margin-bottom:15px;padding:15px;font-size:14px;line-height:1.6}.weather-alert{color:#856404;background:#ffc10733;border:1px solid #ffc107;border-radius:8px;margin-bottom:15px;padding:12px;font-size:14px}.weather-forecast{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.weather-forecast h4{color:var(--secondary-color);margin:0 0 15px;font-size:16px}.forecast-items{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.forecast-item{text-align:center;background:#00000005;border-radius:8px;padding:10px 5px}.forecast-day{margin-bottom:5px;font-size:12px;font-weight:700}.forecast-icon{margin-bottom:5px;font-size:24px}.forecast-temp{margin-bottom:2px;font-weight:700}.forecast-rain{color:#4ecdc4;font-size:12px}.weather-error{text-align:center;color:#dc3545;padding:20px}@media (width<=768px){.weather-header{text-align:center;flex-direction:column;align-items:stretch}.weather-controls{flex-direction:column}.weather-controls button,.course-selector{width:100%}.weather-detail{grid-template-columns:repeat(3,1fr);gap:10px}.forecast-items{grid-template-columns:repeat(3,1fr)}}.voice-control-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.voice-control{background:#fff;border:1px solid #0000001a;border-radius:15px;width:400px;max-width:90vw;max-height:80vh;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 8px 30px #0000004d}.voice-header{background:#fff;border-bottom:1px solid #e0e0e0;border-radius:15px 15px 0 0;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.voice-header h3{color:#2c5530;margin:0;font-weight:600}.close-btn{cursor:pointer;color:#666;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:24px;transition:all .3s;display:flex}.close-btn:hover{color:#333;background:#0000001a}.voice-content{background:#fff;border-radius:0 0 15px 15px;padding:20px}.voice-button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50px;width:100%;margin-bottom:20px;padding:20px;font-size:18px;font-weight:700;transition:all .3s}.voice-button:hover{transform:scale(1.05);box-shadow:0 4px 20px #0003}.voice-button.listening{background:#dc3545;animation:1.5s infinite pulse}.voice-status{text-align:center;margin-bottom:20px}.listening-animation{justify-content:center;gap:5px;margin-bottom:10px;display:flex}.listening-animation span{background:var(--primary-color);border-radius:2px;width:4px;height:20px;animation:1s ease-in-out infinite soundWave}.listening-animation span:nth-child(2){animation-delay:.2s}.listening-animation span:nth-child(3){animation-delay:.4s}@keyframes soundWave{0%,to{transform:scaleY(1)}50%{transform:scaleY(2)}}.processing-status{color:var(--primary-color);text-align:center;margin-bottom:10px;font-weight:700}.processing-spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.transcript{color:#333;border-left:4px solid var(--primary-color);background:#0000000d;border-radius:8px;margin-top:10px;padding:15px}.command-parsed{color:var(--secondary-color);margin-top:8px;font-size:14px;font-weight:600}.command-failed{color:#dc3545;font-size:13px;font-style:italic}.voice-error{color:#dc3545;background:#dc35451a;border-radius:8px;margin-bottom:15px;padding:10px;font-size:14px}.voice-examples{margin-bottom:20px}.voice-examples h4{color:var(--secondary-color);margin-bottom:10px;font-size:14px}.voice-examples ul{margin:0;padding:0;list-style:none}.voice-examples li{color:#666;padding:5px 0;font-size:13px;font-style:italic}.voice-examples li:before{content:"→ ";color:var(--primary-color);font-weight:700}.voice-tips{background:rgba(var(--primary-color-rgb,0, 123, 255), .1);color:var(--secondary-color);border-radius:6px;margin-top:10px;padding:8px 12px;font-size:12px}.voice-players h4{color:var(--secondary-color);margin-bottom:10px;font-size:14px}.player-list{flex-wrap:wrap;gap:8px;display:flex}.player-chip{color:#fff;border-radius:15px;padding:4px 12px;font-size:12px;font-weight:600}.player-chip.current-player{border:2px solid #fffc;font-weight:700;box-shadow:0 2px 8px #0003}@media (width<=768px){.voice-control{width:95vw;max-height:85vh}}.trash-talk{background:var(--emerald-800);color:#fff;letter-spacing:-.02em;box-shadow:var(--shadow-xl);z-index:2000;border:2px solid var(--gold-500);text-align:center;cursor:pointer;min-width:300px;padding:1.5rem 3rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;animation:.5s ease-out trashTalkAppear;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.trash-talk:before,.trash-talk:after{content:"";background:var(--gold-500);width:40px;height:2px;position:absolute;top:50%}.trash-talk:before{left:1rem;transform:translateY(-50%)}.trash-talk:after{right:1rem;transform:translateY(-50%)}.trash-talk-text{z-index:1;position:relative}.trash-talk-dismiss{color:var(--gold-500);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.trash-talk-dismiss:hover{background:#ffffff1a;transform:scale(1.1)}@keyframes trashTalkAppear{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=768px){.trash-talk{min-width:250px;padding:1.25rem 2rem;font-size:1.5rem}.trash-talk:before,.trash-talk:after{width:20px}}.permissions-overlay{z-index:10000;background:linear-gradient(135deg,#0a4d0a 0%,#063806 100%);justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.permissions-modal{background:linear-gradient(145deg,#1a1a1a 0%,#0d0d0d 100%);border-radius:20px;width:90%;max-width:500px;padding:40px;animation:.5s ease-out slideUp;box-shadow:0 20px 60px #00000080,0 0 100px #ffd7001a,inset 0 1px #ffffff1a}.permissions-header{text-align:center;margin-bottom:30px}.permissions-header h1{background:linear-gradient(135deg,gold 0%,#ff8c00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:2rem}.permissions-header p{color:#888;font-size:1.1rem}.permission-steps{margin-bottom:20px}.step-indicator{justify-content:center;gap:10px;margin-bottom:30px;display:flex}.step-dot{background:#333;border-radius:50%;width:12px;height:12px;transition:all .3s}.step-dot.active{background:gold;box-shadow:0 0 10px #ffd70080}.step-dot.completed{background:#4caf50;box-shadow:0 0 10px #4caf5080}.permission-content{text-align:center;padding:20px 0}.permission-icon{margin-bottom:20px;font-size:4rem;animation:2s infinite pulse}.permission-content h2{color:#fff;margin-bottom:15px;font-size:1.8rem}.permission-description{color:#ccc;margin-bottom:10px;font-size:1.1rem;line-height:1.5}.permission-action{color:#888;font-size:.95rem;font-style:italic}.permission-actions{margin-top:30px;margin-bottom:20px}.permission-actions .btn{color:#000;cursor:pointer;background:linear-gradient(135deg,gold 0%,#ff8c00 100%);border:none;border-radius:25px;padding:12px 30px;font-size:1.1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #ffd7004d}.permission-actions .btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.permission-actions .btn:active{transform:translateY(0)}.permission-buttons{justify-content:center;gap:15px;margin-top:30px;margin-bottom:20px;display:flex}.permission-button{cursor:pointer;border:none;border-radius:25px;min-width:120px;padding:12px 30px;font-size:1.1rem;font-weight:600;transition:all .3s}.permission-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.permission-button.primary{color:#000;background:linear-gradient(135deg,gold 0%,#ff8c00 100%);box-shadow:0 4px 15px #ffd7004d}.permission-button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.permission-button.secondary{color:#888;background:0 0;border:2px solid #444}.permission-button.secondary:hover:not(:disabled){color:#aaa;background:#ffffff0d;border-color:#666}.permission-button:active:not(:disabled){transform:translateY(0)}.permission-status{min-height:20px;margin-top:15px;font-size:.9rem}.permission-status .requesting{color:gold;animation:1s infinite blink}.permission-status .denied{color:#ff6b6b}.permission-status .granted{color:#4caf50;font-weight:600}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.permissions-footer{text-align:center;margin-top:30px}.skip-button{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:20px;padding:8px 20px;font-size:.9rem;transition:all .3s}.skip-button:hover{color:#aaa;background:#ffffff0d;border-color:#666}@media (width<=600px){.permissions-modal{width:95%;padding:30px 20px}.permissions-header h1{font-size:1.6rem}.permission-icon{font-size:3rem}.permission-content h2{font-size:1.4rem}.permission-description{font-size:1rem}.permission-buttons{flex-direction:column;gap:10px}.permission-button{width:100%;min-width:auto}}.qr-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background-color:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;inset:0}.qr-modal-content{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.qr-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;display:flex}.qr-modal-header h2{color:var(--primary-color);margin:0;font-size:1.5rem}.qr-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.qr-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.qr-modal-body{padding:2rem}.qr-code-section{text-align:center;margin-bottom:2rem}.qr-loading{padding:3rem 1rem}.loading-spinner{border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s linear infinite spin}.qr-loading p{color:var(--text-secondary);margin:0}.qr-code-container{background:#fff;border-radius:12px;margin-bottom:1rem;padding:1.5rem;display:inline-block;box-shadow:0 4px 12px #0000001a}.qr-code-image{width:300px;max-width:100%;height:auto;display:block}.game-code-display{background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.game-code-display p{color:var(--text-primary);margin:0;font-size:1.1rem}.game-code-display code{background:var(--card-bg);color:var(--primary-color);border-radius:4px;padding:.25rem .5rem;font-family:Courier New,monospace;font-weight:700}.qr-instructions{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.qr-instructions h3{color:var(--primary-color);margin:0 0 1rem;font-size:1.2rem}.qr-instructions ul{margin:0;padding-left:1.5rem;line-height:1.6}.qr-instructions li{color:var(--text-primary);margin-bottom:.75rem}.qr-instructions strong{color:var(--primary-color)}.qr-instructions code{background:var(--bg-secondary);color:var(--primary-color);border-radius:4px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9rem}.qr-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.qr-actions .btn{cursor:pointer;border:none;border-radius:8px;min-width:140px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.qr-actions .btn-primary{background:var(--primary-color);color:#fff}.qr-actions .btn-primary:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.qr-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.qr-actions .btn-secondary:hover{background:var(--border-color);transform:translateY(-2px)}@media (width<=768px){.qr-modal-overlay{padding:.5rem}.qr-modal-header{padding:1rem 1.5rem .5rem}.qr-modal-header h2{font-size:1.3rem}.qr-modal-body{padding:1.5rem}.qr-code-container{padding:1rem}.qr-code-image{width:250px;height:250px}.qr-actions{flex-direction:column;align-items:center}.qr-actions .btn{width:100%;max-width:200px}}@media (width<=480px){.qr-code-image{width:200px;height:200px}.qr-modal-header h2{font-size:1.1rem}}.game-invite-professional{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e5e7eb);max-width:800px;margin:0 auto 40px}.invite-header-professional{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);padding:32px 40px 24px}.invite-header-professional h2{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.invite-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.game-status-professional{border-bottom:1px solid var(--border-color,#e5e7eb);padding:24px 40px}.status-grid{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:20px;display:grid}.status-cell{text-align:center;background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);flex-direction:column;align-items:center;padding:20px;display:flex}.status-number{color:var(--text-primary,#1f2937);margin-bottom:8px;font-size:32px;font-weight:700;line-height:1;display:block}.status-label-exec{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600;display:block}.current-players-professional{text-align:center;border-top:1px solid var(--border-color,#e5e7eb);padding-top:20px}.current-players-professional h4{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:16px;font-weight:600}.players-list{color:var(--text-secondary,#6b7280);margin:0;font-size:14px;font-weight:500}.game-code-section-professional{background:var(--card-bg,#fff);border-bottom:1px solid var(--border-color,#e5e7eb);padding:32px 40px}.code-header{text-align:center;margin-bottom:24px}.code-header h3{color:var(--text-primary,#1f2937);margin:0;font-size:20px;font-weight:600}.game-code-display-professional{text-align:center;margin-bottom:32px}.game-code-professional{color:var(--text-primary,#1f2937);background:var(--bg-secondary,#f9fafb);border:2px solid var(--border-color,#e5e7eb);cursor:pointer;letter-spacing:2px;padding:20px 32px;font-family:Courier New,monospace;font-size:32px;font-weight:700;transition:all .3s;display:inline-block}.game-code-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 0 0 3px #0596691a}.copy-instruction{color:var(--text-secondary,#6b7280);margin:12px 0 0;font-size:14px;font-weight:500}.action-buttons-professional{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));justify-content:center;gap:16px;display:grid}.btn-professional{border:2px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-primary,#1f2937);cursor:pointer;text-align:center;padding:12px 20px;font-size:14px;font-weight:600;transition:all .3s}.btn-professional.primary{background:var(--accent-color,#059669);border-color:var(--accent-color,#059669);color:#fff}.btn-professional.primary:hover{background:#047857;border-color:#047857}.btn-professional.success{color:#fff;background:#10b981;border-color:#10b981}.btn-professional.secondary{background:var(--card-bg,#fff);border-color:var(--border-color,#d1d5db);color:var(--text-primary,#1f2937)}.btn-professional.secondary:hover{border-color:var(--accent-color,#059669);color:var(--accent-color,#059669)}.instructions-professional{border-bottom:1px solid var(--border-color,#e5e7eb);padding:24px 40px}.instructions-professional h3{color:var(--text-primary,#1f2937);margin:0 0 16px;font-size:18px;font-weight:600}.instructions-list{margin:0;padding-left:20px;line-height:1.6}.instructions-list li{color:var(--text-primary,#1f2937);margin-bottom:8px;font-size:14px}.instructions-list strong{color:var(--text-primary,#1f2937);font-weight:600}.tips-professional{padding:24px 40px}.tips-professional h4{color:var(--text-primary,#1f2937);margin:0 0 16px;font-size:16px;font-weight:600}.tips-list{margin:0;padding-left:20px;line-height:1.6}.tips-list li{color:var(--text-secondary,#6b7280);margin-bottom:8px;font-size:14px}@media (width<=768px){.game-invite-professional{margin:16px 16px 32px}.invite-header-professional{padding:24px 20px 20px}.invite-header-professional h2{font-size:24px}.game-status-professional{padding:20px}.status-grid{grid-template-columns:1fr;gap:16px}.game-code-section-professional{padding:24px 20px}.game-code-professional{letter-spacing:1px;padding:16px 24px;font-size:24px}.action-buttons-professional{grid-template-columns:1fr 1fr;gap:12px}.btn-professional{padding:10px 16px;font-size:13px}.instructions-professional,.tips-professional{padding:20px}}.game-invite{display:none}.custom-game-creation{max-width:1000px;margin:0 auto;padding:20px}.creation-header{text-align:center;margin-bottom:30px}.creation-header h2{color:var(--text-primary);margin-bottom:20px}.step-indicator{justify-content:center;align-items:center;gap:20px;margin-bottom:30px;display:flex}.step{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.step span{background:var(--card-bg,#fff);border:2px solid var(--border-color,#d1d5db);width:40px;height:40px;color:var(--text-secondary,#6b7280);border-radius:50%;justify-content:center;align-items:center;font-weight:700;transition:all .3s;display:flex}.step.active span{background:var(--accent-color,#059669);border-color:var(--accent-color,#059669);color:#fff}.step.completed span{background:var(--success-color,#10b981);border-color:var(--success-color,#10b981);color:#fff}.step label{color:var(--text-secondary);font-size:12px;font-weight:500}.step.active label{color:var(--accent-color);font-weight:600}.step-content{padding:20px 0}.step-content h3{color:var(--text-primary);text-align:center;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:5px;font-weight:500;display:block}.form-input,.form-select{border:2px solid var(--border-color);background:var(--card-bg);width:100%;color:var(--text-primary);border-radius:8px;padding:12px;font-size:16px;transition:border-color .3s}.form-input:focus,.form-select:focus{border-color:var(--accent-color);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.radio-group{gap:20px;display:flex}.radio-option{cursor:pointer;align-items:center;gap:8px;display:flex}.radio-option input[type=radio]{margin:0}.hole-navigation{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:30px;display:flex}.hole-nav-btn{border:2px solid var(--border-color);background:var(--card-bg);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:8px;font-weight:700;transition:all .3s}.hole-nav-btn:hover{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.hole-nav-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.hole-entry-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:20px}.hole-entry-section h4{color:var(--text-primary);margin:0 0 20px}.api-search-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:20px}.api-search-section h4{color:var(--text-primary);margin:0 0 20px}.search-input-group{gap:10px;margin-bottom:20px;display:flex}.search-input-group .form-input{flex:1}.search-results{margin-top:20px}.search-results h5{color:var(--text-primary);margin-bottom:15px}.course-result{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:15px;display:flex}.course-result h6{color:var(--text-primary);margin:0 0 5px}.course-result p{color:var(--text-secondary);margin:0;font-size:14px}.course-holes{margin-top:20px}.course-holes h5{color:var(--text-primary);margin-bottom:15px}.api-holes-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;max-height:300px;display:grid;overflow-y:auto}.api-hole-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:10px;padding:15px;display:flex}.api-hole-info{flex-direction:column;gap:4px;display:flex}.api-hole-info strong{color:var(--text-primary)}.api-hole-info span{color:var(--text-secondary);font-size:14px}.course-summary{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:20px}.course-summary h4{color:var(--text-primary);margin:0 0 15px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat{background:var(--bg-secondary);border-radius:8px;justify-content:space-between;align-items:center;padding:10px;display:flex}.stat-label{color:var(--text-secondary);font-weight:500}.stat-value{color:var(--text-primary);font-weight:700}.step-actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;display:flex}.hole-navigation-actions{gap:10px;display:flex}.btn{cursor:pointer;box-sizing:border-box;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--accent-color,#059669);color:#fff;border:2px solid var(--accent-color,#059669)}.btn-primary:hover:not(:disabled){background:var(--accent-hover,#047857);border-color:var(--accent-hover,#047857);color:#fff;transform:translateY(-1px)}.btn-secondary{background:var(--card-bg,#fff);color:var(--text-primary,#1f2937);border:2px solid var(--border-color,#d1d5db)}.btn-secondary:hover:not(:disabled){border-color:var(--accent-color,#059669);background:var(--accent-color,#059669);color:#fff;transform:translateY(-1px)}.btn-small{padding:8px 16px;font-size:14px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.api-not-configured{text-align:center;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;padding:40px 20px}.course-details{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.course-header{text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:30px;padding-bottom:20px}.course-header h4{color:var(--text-primary);margin:0 0 10px;font-size:24px}.club-name{color:var(--accent-color);margin:0 0 5px;font-size:18px;font-weight:600}.location{color:var(--text-secondary);margin:0}.tee-selection h5{color:var(--text-primary);text-align:center;margin-bottom:20px}.tee-options{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.tee-option{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;padding:20px;transition:all .3s}.tee-option:hover{border-color:var(--accent-color);transform:translateY(-2px)}.tee-option h6{color:var(--text-primary);margin:0 0 10px;font-size:18px}.tee-option p{color:var(--text-secondary);margin:5px 0}.direct-holes-selection{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.direct-holes-selection h5{color:var(--text-primary);margin:0 0 10px}.direct-holes-selection p{color:var(--text-secondary);margin:0 0 20px}.no-holes{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.hole-selection{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.selection-header{text-align:center;margin-bottom:20px}.selection-header h4{color:var(--text-primary);margin:0 0 8px;font-size:24px}.hole-count-indicator{color:var(--text-secondary);margin:0;font-size:14px}.selection-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;padding:15px;display:flex}.holes-table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:0;margin-top:20px;overflow:hidden}.holes-table{border-collapse:collapse;width:100%}.holes-table th{background:var(--bg-secondary);color:var(--text-primary);text-align:left;border-bottom:2px solid var(--border-color);padding:12px 16px;font-size:14px;font-weight:600}.holes-table th:first-child,.holes-table th:nth-child(2),.holes-table th:nth-child(3){text-align:center;width:80px}.holes-table th:nth-child(4),.holes-table th:nth-child(5){text-align:center;width:100px}.hole-row{cursor:pointer;transition:all .2s}.hole-row:hover:not(.disabled){background:var(--bg-secondary)}.hole-row.selected{background:var(--success-color-light,#22c55e1a);border-left:4px solid var(--success-color)}.hole-row.disabled{opacity:.5;cursor:not-allowed}.holes-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:center;padding:12px 16px}.checkbox-cell{width:80px}.hole-checkbox,.header-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--success-color)}.hole-checkbox:disabled{cursor:not-allowed;opacity:.5}.header-checkbox{margin:0 auto}.hole-number-cell{color:var(--text-primary);font-weight:600}.par-cell{font-weight:500}.yardage-cell{color:var(--text-secondary)}.handicap-cell{color:var(--text-secondary);font-size:14px}.scorecard-preview{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:24px}.preview-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:24px;padding-bottom:16px}.preview-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:24px;font-weight:600}.course-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:500}.scorecard-table-container{border:1px solid var(--border-color,#e5e7eb);border-radius:0;margin-bottom:24px;overflow:hidden}.scorecard-table{border-collapse:collapse;background:#fff;width:100%}.scorecard-table th{background:var(--text-primary,#1f2937);color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:14px;font-weight:600}.scorecard-row{border-bottom:1px solid var(--border-color,#e5e7eb);transition:background-color .2s}.scorecard-row:hover,.scorecard-row:nth-child(2n){background:var(--bg-secondary,#f9fafb)}.scorecard-row:nth-child(2n):hover{background:var(--border-color,#e5e7eb)}.scorecard-table td{text-align:center;color:var(--text-primary,#1f2937);padding:12px 16px;font-weight:500}.hole-info-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.hole-info-cell strong{font-size:16px;font-weight:600}.hole-info-cell small{color:var(--text-secondary,#6b7280);opacity:.8;font-size:11px}.par-badge{border-radius:4px;padding:4px 8px;font-size:14px;font-weight:600;display:inline-block}.par-badge.par-3{color:#1e40af;background:#dbeafe}.par-badge.par-4{color:#374151;background:#f3f4f6}.par-badge.par-5{color:#92400e;background:#fef3c7}.par-badge.par-6{color:#991b1b;background:#fecaca}.yards-cell{color:var(--text-primary,#1f2937);font-weight:500}.hcp-cell{color:var(--text-secondary,#6b7280);font-weight:500}.actions-cell{padding:8px}.hole-actions{justify-content:center;gap:4px;display:flex}.action-btn{border:1px solid var(--border-color,#d1d5db);width:28px;height:28px;color:var(--text-secondary,#6b7280);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .2s;display:flex}.action-btn:hover:not(:disabled){border-color:var(--accent-color,#059669);background:var(--accent-color,#059669);color:#fff}.action-btn:disabled{opacity:.3;cursor:not-allowed}.action-btn.danger{color:#dc2626;border-color:#fca5a5}.action-btn.danger:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}.scorecard-totals{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);margin-top:24px;padding:20px}.totals-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;display:grid}.total-item{text-align:center}.total-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.total-value{color:var(--text-primary,#1f2937);font-size:24px;font-weight:700;display:block}.course-result{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:20px;transition:all .3s;display:flex}.course-result:hover{border-color:var(--accent-color);transform:translateY(-1px)}.course-info h5{color:var(--text-primary);margin:0 0 5px;font-size:18px}.course-info p{color:var(--text-secondary);margin:0;font-size:14px}@media (width<=768px){.custom-game-creation{padding:10px}.form-row{grid-template-columns:1fr}.step-indicator{gap:15px}.step span{width:35px;height:35px}.hole-navigation{gap:6px}.hole-nav-btn{width:35px;height:35px}.api-holes-grid,.summary-stats{grid-template-columns:1fr}.hole-navigation-actions{justify-content:space-between;width:100%}.tee-options{grid-template-columns:1fr}.selection-actions{flex-direction:column;gap:8px}.selection-actions .btn{width:100%}.holes-table-container{overflow-x:auto}.scorecard-preview{margin:-16px;padding:16px}.preview-header{margin-bottom:16px;padding-bottom:12px}.preview-header h3{font-size:20px}.course-subtitle{font-size:14px}.scorecard-table-container{-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding:0 16px;position:relative;overflow-x:auto}.scorecard-table-container:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#0000000d);width:30px;position:absolute;top:0;bottom:0;right:0}.scorecard-table{min-width:500px}.scorecard-table th,.scorecard-table td{padding:8px 12px;font-size:13px}.hole-info-cell small{font-size:10px}.par-badge{padding:2px 6px;font-size:12px}.action-btn{width:24px;height:24px;font-size:11px}.hole-actions{gap:2px}.scorecard-totals{margin-top:16px;padding:16px}.totals-grid{grid-template-columns:1fr;gap:12px}.total-label{font-size:12px}.total-value{font-size:20px}.search-input-group{flex-direction:column;gap:12px}.search-input-group .form-input{width:100%;min-height:48px;font-size:16px}.search-input-group button{width:100%;min-height:48px}.holes-table th,.holes-table td{padding:8px 12px;font-size:14px}.holes-table th:first-child,.holes-table th:nth-child(2),.holes-table th:nth-child(3),.holes-table th:nth-child(4),.holes-table th:nth-child(5){width:auto;min-width:60px}.hole-preview{text-align:center;flex-direction:column;align-items:stretch}.hole-actions{justify-content:center;margin-top:10px}.course-result{text-align:center;flex-direction:column;gap:15px}}.course-method-options{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0;display:grid}.method-option{background:var(--card-bg);border:2px solid var(--border-color);text-align:center;cursor:pointer;border-radius:12px;padding:25px;transition:all .3s}.method-option:hover{border-color:var(--accent-color);transform:translateY(-2px)}.method-option.selected{border-color:var(--accent-color);background:var(--accent-color-light,#3b82f61a)}.method-icon{margin-bottom:15px;font-size:48px}.method-option h4{color:var(--text-primary);margin:0 0 10px;font-size:20px}.method-option p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.4}.api-warning{color:var(--warning-color,#f59e0b);margin-top:10px;font-size:12px;font-style:italic;display:block}.manual-hole-entry{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.entry-header{border-bottom:1px solid var(--border-color);margin-bottom:30px;padding-bottom:20px}.entry-actions{flex-wrap:wrap;gap:10px;margin-top:15px;display:flex}.entry-header h3{color:var(--text-primary);margin:0 0 10px}.entry-header p{color:var(--text-secondary);margin:0}.no-holes-message{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:40px 20px}.hole-entry{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:15px;padding:20px;transition:all .3s}.hole-entry.editing{border-color:var(--accent-color);background:var(--card-bg)}.hole-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.hole-number{color:var(--accent-color);font-size:18px;font-weight:700}.hole-actions{gap:5px;display:flex}.hole-summary{flex-direction:column;gap:4px;display:flex}.hole-summary strong{color:var(--text-primary);font-size:16px}.hole-summary span{color:var(--text-secondary);font-size:14px}.hole-edit-form{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.form-textarea{border:2px solid var(--border-color);background:var(--card-bg);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;min-height:60px;padding:12px;font-family:inherit;font-size:14px;transition:border-color .3s}.form-textarea:focus{border-color:var(--accent-color);outline:none}.btn-accent{background:var(--accent-color,#059669);color:#fff;border:2px solid var(--accent-color,#059669)}.btn-accent:hover:not(:disabled){background:var(--accent-hover,#047857);border-color:var(--accent-hover,#047857);color:#fff;transform:translateY(-1px)}.course-method-indicator{text-align:center;margin-bottom:15px}.method-badge{background:var(--accent-color);color:#fff;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}@media (width<=768px){.course-method-options{grid-template-columns:1fr}.method-option{padding:20px}.method-icon{font-size:36px}.entry-actions{flex-direction:column;gap:10px}.hole-header{flex-direction:column;align-items:stretch;gap:10px}.hole-actions{justify-content:center}}.player-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.player-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:32px;padding-bottom:20px}.player-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.player-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.player-form{margin-bottom:32px}.form-section{max-width:500px;margin:0 auto}.professional-label{color:var(--text-primary,#1f2937);margin-bottom:8px;font-size:15px;font-weight:600;display:block}.label-hint{color:var(--text-secondary,#6b7280);margin-left:8px;font-size:13px;font-weight:400}.professional-input{border:2px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);width:100%;color:var(--text-primary,#1f2937);box-sizing:border-box;border-radius:6px;padding:12px 16px;font-size:16px;font-weight:500;transition:all .3s}.professional-input:focus{border-color:var(--accent-color,#059669);outline:none;box-shadow:0 0 0 3px #0596691a}.professional-input::placeholder{color:var(--text-secondary,#9ca3af);font-weight:400}.course-configuration-executive{border:2px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);margin-bottom:32px}.config-header{border-bottom:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);padding:20px 28px}.config-header h4{color:var(--text-primary,#1f2937);text-align:center;margin:0;font-size:18px;font-weight:600}.config-content{padding:24px 28px}.course-identity{text-align:center;margin-bottom:24px}.game-name-executive h4{color:var(--text-primary,#1f2937);margin:0 0 6px;font-size:26px;font-weight:600}.course-name-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:500}.course-metrics-table{border:1px solid var(--border-color,#e5e7eb)}.metrics-row{grid-template-columns:1fr 1fr 1fr;display:grid}.metric-cell{text-align:center;border-right:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);flex-direction:column;align-items:center;padding:20px 16px;display:flex}.metric-cell:last-child{border-right:none}.metric-value{color:var(--text-primary,#1f2937);margin-bottom:8px;font-size:32px;font-weight:700;line-height:1;display:block}.metric-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600;display:block}@media (width<=768px){.player-setup{padding:24px 16px}.course-configuration-executive{margin-bottom:24px}.config-header{padding:16px 20px}.config-content{padding:20px}.course-identity{margin-bottom:20px}.game-name-executive h4{font-size:22px}.metrics-row{grid-template-columns:1fr;gap:0}.metric-cell{border-right:none;border-bottom:1px solid var(--border-color,#e5e7eb);padding:16px}.metric-cell:last-child{border-bottom:none}.metric-value{font-size:28px}}.game-info-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.game-info-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:32px;padding-bottom:20px}.game-info-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.game-info-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.game-info-form{max-width:600px;margin:0 auto 32px}.form-description-professional{color:var(--text-secondary,#6b7280);margin:8px 0 16px;font-size:14px;font-weight:400}.hole-count-options-professional{grid-template-columns:1fr 1fr;gap:16px;display:grid}.hole-count-option-professional{border:2px solid var(--border-color,#d1d5db);cursor:pointer;background:var(--card-bg,#fff);padding:20px;transition:all .3s}.hole-count-option-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 2px 8px #0596691a}.hole-count-option-professional.selected{border-color:var(--accent-color,#059669);background:#0596690d;box-shadow:0 0 0 3px #0596691a}.hole-count-content{align-items:center;gap:16px;display:flex}.hole-count-number-pro{color:var(--text-primary,#1f2937);font-size:36px;font-weight:700;line-height:1}.hole-count-details{flex-direction:column;display:flex}.hole-count-label-pro{color:var(--text-primary,#1f2937);margin-bottom:4px;font-size:16px;font-weight:600}.hole-count-desc{color:var(--text-secondary,#6b7280);font-size:13px;font-weight:400}.course-selection-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.course-selection-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:32px;padding-bottom:20px}.course-selection-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.course-selection-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.course-method-options-professional{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.method-option-professional{border:2px solid var(--border-color,#d1d5db);cursor:pointer;background:var(--card-bg,#fff);padding:24px;transition:all .3s}.method-option-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 4px 12px #0596691a}.method-option-professional.selected{border-color:var(--accent-color,#059669);background:#0596690d;box-shadow:0 0 0 3px #0596691a}.method-content{align-items:flex-start;gap:16px;display:flex}.method-icon-professional{flex-shrink:0;margin-top:4px;font-size:32px}.method-details h4{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:18px;font-weight:600}.method-details p{color:var(--text-secondary,#6b7280);margin:0 0 8px;font-size:14px;line-height:1.5}.api-warning-professional{color:var(--warning-color,#f59e0b);font-size:12px;font-weight:500}.course-search-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.course-search-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:32px;padding-bottom:20px}.course-search-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.course-search-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.course-search-form{max-width:600px;margin:0 auto 32px}.search-input-group-professional{gap:12px;display:flex}.search-input{flex:1}.search-btn{min-width:120px}.search-error-message{background:var(--card-bg,#fff);border:2px solid var(--error-color,#ef4444);border-radius:0;margin:24px 0;padding:24px 28px;transition:all .3s;box-shadow:0 2px 8px #ef44441a}.error-content{text-align:center;justify-content:center;align-items:center;gap:16px;display:flex}.error-icon{color:var(--error-color,#ef4444);background:#ef44441a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:700;display:flex}.error-content p{color:var(--text-primary,#1f2937);flex:1;margin:0;font-size:16px;font-weight:500;line-height:1.5}.search-error-message.warning{border-color:var(--warning-color,#f59e0b);box-shadow:0 2px 8px #f59e0b1a}.search-error-message.warning .error-icon{color:var(--warning-color,#f59e0b);background:#f59e0b1a}.search-error-message.info{border-color:var(--accent-color,#059669);box-shadow:0 2px 8px #0596691a}.search-error-message.info .error-icon{color:var(--accent-color,#059669);background:#0596691a}@media (width<=768px){.search-error-message{margin:20px 0;padding:20px}.error-content{text-align:center;flex-direction:column;gap:12px}.error-icon{width:40px;height:40px;font-size:20px}.error-content p{font-size:15px}}.api-not-configured-professional{background:var(--bg-secondary,#f9fafb);border:1px solid var(--warning-color,#f59e0b);text-align:center;margin-bottom:24px;padding:20px}.api-warning-content h4{color:var(--warning-color,#f59e0b);margin:0 0 8px;font-size:18px;font-weight:600}.api-warning-content p{color:var(--text-secondary,#6b7280);margin:0;font-size:14px;line-height:1.5}.search-results-professional{margin-bottom:24px}.search-results-professional h4{color:var(--text-primary,#1f2937);margin:0 0 16px;font-size:20px;font-weight:600}.results-list{flex-direction:column;gap:12px;display:flex}.course-result-professional{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .3s;display:flex}.course-result-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 2px 8px #0596691a}.course-result-professional.error{background:var(--bg-secondary,#f9fafb);cursor:not-allowed}.course-info-professional h5{color:var(--text-primary,#1f2937);margin:0 0 4px;font-size:16px;font-weight:600}.course-location{color:var(--text-secondary,#6b7280);margin:0;font-size:14px;font-weight:400}.course-select-btn{min-width:80px}.gender-selection-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.gender-selection-header{margin-bottom:32px}.course-info-header{text-align:center;border-bottom:1px solid var(--border-color,#e5e7eb);margin-bottom:20px;padding-bottom:16px}.course-info-header h4{color:var(--text-primary,#1f2937);margin:0 0 4px;font-size:22px;font-weight:600}.club-name-professional,.location-professional{color:var(--text-secondary,#6b7280);margin:0;font-size:14px;font-weight:400}.selection-title{text-align:center}.selection-title h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:24px;font-weight:600}.gender-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.gender-options-professional{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.gender-option-professional{border:2px solid var(--border-color,#d1d5db);cursor:pointer;background:var(--card-bg,#fff);padding:24px;transition:all .3s}.gender-option-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 4px 12px #0596691a}.gender-option-professional.selected{border-color:var(--accent-color,#059669);background:#0596690d;box-shadow:0 0 0 3px #0596691a}.gender-content{align-items:flex-start;gap:16px;display:flex}.gender-icon-professional{flex-shrink:0;margin-top:4px;font-size:32px}.gender-details h4{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:18px;font-weight:600}.gender-details p{color:var(--text-secondary,#6b7280);margin:0 0 8px;font-size:14px;line-height:1.5}.tee-count{color:var(--accent-color,#059669);font-size:12px;font-weight:500}.tee-selection-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.tee-selection-header{margin-bottom:32px}.gender-indicator-professional{color:var(--text-secondary,#6b7280);margin-top:4px;font-size:16px;font-weight:500}.tee-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.tee-options-professional{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.tee-option-professional{border:2px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);cursor:pointer;justify-content:space-between;align-items:center;padding:20px 24px;transition:all .3s;display:flex}.tee-option-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 2px 8px #0596691a}.tee-content{flex-direction:column;gap:8px;display:flex}.tee-name h5{color:var(--text-primary,#1f2937);margin:0;font-size:18px;font-weight:600}.tee-info{gap:16px;display:flex}.hole-count-info,.gender-info{color:var(--text-secondary,#6b7280);font-size:14px;font-weight:400}.tee-select-arrow{color:var(--text-secondary,#6b7280);font-size:20px}.no-tees-professional{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);text-align:center;margin-bottom:24px;padding:32px}.no-tees-content h4{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:18px;font-weight:600}.no-tees-content p{color:var(--text-secondary,#6b7280);margin:0 0 16px;font-size:14px;line-height:1.5}.tee-card-professional{border:2px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);cursor:pointer;margin-bottom:20px;transition:all .3s}.tee-card-professional:hover{border-color:var(--accent-color,#059669);box-shadow:0 2px 8px #0596691a}.tee-card-header{border-bottom:1px solid var(--border-color,#e5e7eb);padding:24px 28px 20px}.tee-title-section{justify-content:space-between;align-items:center;display:flex}.tee-title-section h5{color:var(--text-primary,#1f2937);margin:0;font-size:22px;font-weight:600}.tee-metrics{align-items:center;gap:20px;display:flex}.yardage-display,.par-display{color:var(--text-primary,#1f2937);font-size:16px;font-weight:600}.tee-ratings-grid{background:var(--bg-secondary,#f9fafb);padding:20px 28px}.rating-row{grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:16px;display:grid}.rating-row.secondary{border-top:1px solid var(--border-color,#e5e7eb);margin-bottom:0;padding-top:16px}.rating-cell{justify-content:space-between;align-items:center;padding:0;display:flex}.rating-label{color:var(--text-secondary,#6b7280);font-size:14px;font-weight:500}.rating-number{color:var(--text-primary,#1f2937);font-size:16px;font-weight:700}.tee-card-footer{border-top:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);padding:16px 28px}.tee-type{color:var(--text-secondary,#6b7280);font-size:14px;font-weight:500}@media (width<=768px){.tee-card-professional{margin-bottom:16px}.tee-card-header{padding:20px 24px 16px}.tee-title-section{flex-direction:column;align-items:flex-start;gap:12px}.tee-metrics{gap:16px}.tee-ratings-grid{padding:16px 24px}.rating-row{grid-template-columns:1fr;gap:12px}.tee-card-footer{padding:12px 24px}}.hole-selection-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.hole-selection-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:24px;padding-bottom:20px}.hole-selection-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.hole-selection-subtitle{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;font-weight:400}.hole-selection-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:24px;display:flex}.action-btn-pro{min-width:120px}.preview-btn{font-weight:600}.holes-table-container-professional{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin-bottom:24px;overflow-x:auto}.holes-table-professional{border-collapse:collapse;width:100%}.holes-table-professional th{background:var(--bg-secondary,#f9fafb);color:var(--text-primary,#1f2937);text-align:left;border-bottom:2px solid var(--border-color,#e5e7eb);padding:12px 16px;font-size:14px;font-weight:600}.checkbox-header{text-align:center;width:50px}.header-checkbox-professional{width:16px;height:16px;accent-color:var(--accent-color,#059669)}.hole-row-professional{transition:all .2s}.hole-row-professional:hover{background:#0596690d}.hole-row-professional.selected{background:#0596691a}.hole-row-professional.disabled{opacity:.5;cursor:not-allowed}.holes-table-professional td{border-bottom:1px solid var(--border-color,#e5e7eb);color:var(--text-primary,#1f2937);padding:12px 16px;font-size:14px}.checkbox-cell-professional{text-align:center}.hole-checkbox-professional{width:16px;height:16px;accent-color:var(--accent-color,#059669)}.hole-number-cell-professional,.par-cell-professional,.yardage-cell-professional,.handicap-cell-professional{font-weight:500}.manual-hole-entry-setup{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);margin:0;padding:32px}.manual-entry-header{text-align:center;border-bottom:2px solid var(--border-color,#e5e7eb);margin-bottom:32px;padding-bottom:20px}.manual-entry-header h3{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:28px;font-weight:600}.manual-entry-subtitle{color:var(--text-secondary,#6b7280);margin:0 0 20px;font-size:16px;font-weight:400}.entry-actions-professional{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.add-hole-btn,.add-all-btn{min-width:140px}.no-holes-message-professional{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);text-align:center;margin-bottom:24px;padding:48px}.no-holes-content h4{color:var(--text-primary,#1f2937);margin:0 0 8px;font-size:20px;font-weight:600}.no-holes-content p{color:var(--text-secondary,#6b7280);margin:0;font-size:16px;line-height:1.5}.holes-list-professional{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.hole-entry-professional{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);transition:all .3s}.hole-entry-professional.editing{border-color:var(--accent-color,#059669);box-shadow:0 0 0 3px #0596691a}.hole-header-professional{background:var(--bg-secondary,#f9fafb);border-bottom:1px solid var(--border-color,#e5e7eb);align-items:center;padding:16px 20px;display:flex}.hole-number-professional{background:var(--accent-color,#059669);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:16px;font-size:14px;font-weight:600;display:flex}.hole-summary-professional{flex:1}.hole-name-display{color:var(--text-primary,#1f2937);margin-bottom:4px;font-size:16px;font-weight:600}.hole-stats-display{color:var(--text-secondary,#6b7280);font-size:14px}.hole-actions-professional{gap:8px;display:flex}.btn-icon-professional{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);width:32px;height:32px;color:var(--text-secondary,#6b7280);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex}.btn-icon-professional:hover:not(:disabled){border-color:var(--accent-color,#059669);color:var(--accent-color,#059669);background:#0596690d}.btn-icon-professional:disabled{opacity:.5;cursor:not-allowed}.btn-icon-professional.edit-toggle{background:var(--accent-color,#059669);color:#fff;border-color:var(--accent-color,#059669)}.btn-icon-professional.edit-toggle:hover{background:#047857;border-color:#047857}.btn-danger-professional{border-color:var(--error-color,#ef4444);color:var(--error-color,#ef4444)}.btn-danger-professional:hover:not(:disabled){border-color:var(--error-color,#ef4444);background:#ef44440d}.hole-edit-form-professional{background:var(--card-bg,#fff);padding:20px}.form-row-professional{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.professional-select{border:2px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);width:100%;color:var(--text-primary,#1f2937);box-sizing:border-box;border-radius:6px;padding:12px 16px;font-size:16px;font-weight:500;transition:all .3s}.professional-select:focus{border-color:var(--accent-color,#059669);outline:none;box-shadow:0 0 0 3px #0596691a}.professional-textarea{border:2px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);width:100%;color:var(--text-primary,#1f2937);box-sizing:border-box;resize:vertical;border-radius:6px;min-height:80px;padding:12px 16px;font-family:inherit;font-size:16px;font-weight:500;transition:all .3s}.professional-textarea:focus{border-color:var(--accent-color,#059669);outline:none;box-shadow:0 0 0 3px #0596691a}.professional-textarea::placeholder{color:var(--text-secondary,#9ca3af);font-weight:400}.course-summary-manual-professional{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-color,#e5e7eb);margin-bottom:24px;padding:24px}.course-summary-manual-professional h4{color:var(--text-primary,#1f2937);text-align:center;margin:0 0 16px;font-size:18px;font-weight:600}.summary-stats-professional{justify-content:center;gap:32px;display:flex}.stat-item-professional{text-align:center;flex-direction:column;align-items:center;display:flex}.stat-number-manual{color:var(--text-primary,#1f2937);margin-bottom:4px;font-size:24px;font-weight:700;line-height:1;display:block}.stat-label-manual{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500;display:block}@media (width<=768px){.game-info-setup,.course-selection-setup,.course-search-setup,.gender-selection-setup,.tee-selection-setup,.hole-selection-setup,.manual-hole-entry-setup{padding:24px 16px}.hole-count-options-professional,.course-method-options-professional,.gender-options-professional{grid-template-columns:1fr;gap:16px}.hole-selection-actions{justify-content:flex-start;gap:8px}.action-btn-pro{min-width:auto;padding:8px 12px;font-size:14px}.holes-table-container-professional{overflow-x:auto}.form-row-professional{grid-template-columns:1fr}.summary-stats-professional{gap:20px}.stat-number-manual{font-size:20px}.search-input-group-professional{flex-direction:column;gap:12px}.search-input{width:100%;min-height:48px;font-size:16px}.search-btn{width:100%;min-width:unset;min-height:48px;padding:12px 24px}.step-actions{flex-direction:column;align-items:stretch;gap:12px}.step-actions .btn{width:100%;min-height:48px;margin:0}.step-actions .btn-secondary{order:2}.step-actions .btn-primary,.step-actions .btn-accent{order:1}.course-result-professional{flex-direction:column;gap:12px;padding:16px}.course-info-professional{text-align:center;width:100%}.course-select-btn{width:100%;min-height:44px}.search-results-professional{margin-top:20px}.results-list{gap:12px}}.gender-selection{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px}.gender-options{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:20px 0;display:grid}.gender-option{background:var(--card-bg);border:2px solid var(--border-color);text-align:center;cursor:pointer;border-radius:12px;padding:25px;transition:all .3s}.gender-option:hover{border-color:var(--accent-color);transform:translateY(-2px)}.gender-option.selected{border-color:var(--accent-color);background:var(--accent-color-light,#3b82f61a)}.gender-icon{margin-bottom:15px;font-size:48px}.gender-option h4{color:var(--text-primary);margin:0 0 10px;font-size:20px}.gender-option p{color:var(--text-secondary);margin:0 0 10px;font-size:14px;line-height:1.4}.gender-option small{color:var(--accent-color);font-size:12px;font-weight:600}.gender-indicator{text-align:center;color:var(--accent-color);margin-bottom:20px;font-size:16px;font-weight:600}.no-tees{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:40px 20px}.no-tees p{margin-bottom:20px}@media (width<=768px){.gender-options{grid-template-columns:1fr}.gender-option{padding:20px}.gender-icon{font-size:36px}}.form-description{color:var(--text-secondary);margin:0 0 15px;font-size:14px}.hole-count-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin:15px 0;display:grid}.hole-count-option{background:var(--card-bg);border:2px solid var(--border-color);text-align:center;cursor:pointer;border-radius:12px;padding:20px;transition:all .3s}.hole-count-option:hover{border-color:var(--accent-color);transform:translateY(-2px)}.hole-count-option.selected{border-color:var(--accent-color);background:var(--accent-color-light,#3b82f61a)}.hole-count-number{color:var(--text-primary);margin-bottom:5px;font-size:32px;font-weight:700}.hole-count-label{color:var(--text-primary);margin-bottom:5px;font-size:16px;font-weight:600}.hole-count-option small{color:var(--text-secondary);font-size:12px}.hole-count-option.selected small{color:var(--accent-color);font-weight:600}.hole-count-indicator{color:var(--text-secondary);text-align:center;margin:0 0 15px;font-size:14px}.hole-card.disabled{opacity:.5;cursor:not-allowed;border-color:var(--border-color)}.hole-card.disabled:hover{border-color:var(--border-color);transform:none}@media (width<=768px){.hole-count-options{grid-template-columns:1fr 1fr}.hole-count-option{padding:15px}.hole-count-number{font-size:28px}}.course-setup{background:var(--bg-primary);max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;font-family:Inter,sans-serif}.course-setup-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:3rem;padding-bottom:2rem;display:flex}.course-setup-title-section h1{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:3rem;font-weight:600}.course-setup-subtitle{color:var(--text-secondary);margin:0;font-size:1.125rem;font-weight:400}.course-setup-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:2rem;line-height:1;transition:color .2s}.course-setup-close-btn:hover{color:var(--text-primary)}.course-setup-content{flex-direction:column;gap:3rem;display:flex}.course-setup-section{box-shadow:var(--shadow-md);border:1px solid var(--border-light);background:#fff;border-radius:0;padding:2rem}.section-header{margin-bottom:2rem}.section-header h2{color:var(--text-primary);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.875rem;font-weight:500}.section-description{color:var(--text-secondary);margin:0;font-size:1rem}.game-name-editor{max-width:500px}.game-name-editor label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.game-name-input{border:2px solid var(--border-color);width:100%;color:var(--text-primary);background:#fff;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.game-name-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0478571a}.field-note{color:var(--text-muted);margin-top:.5rem;font-size:.875rem}.field-note strong{color:var(--primary-color);font-weight:600}.course-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.course-stat{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-light);padding:1.5rem}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.stat-value{color:var(--primary-color);font-family:Playfair Display,serif;font-size:2rem;font-weight:600;display:block}.holes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.hole-card{border:1px solid var(--border-light);cursor:pointer;background:#fff;padding:1.5rem;transition:all .2s;position:relative}.hole-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hole-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.hole-number{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600}.hole-par{text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.hole-name{color:var(--text-primary);margin-bottom:.75rem;font-family:Crimson Text,serif;font-size:1.25rem;font-weight:600;line-height:1.3}.hole-details{border-bottom:1px solid var(--border-light);justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.hole-yards,.hole-hcp{color:var(--text-secondary);font-size:.875rem;font-weight:500}.hole-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.5}.hole-media-indicators{gap:.5rem;display:flex}.media-indicator{opacity:.7;font-size:1rem}.course-setup-actions{justify-content:center;padding:2rem 0;display:flex}.save-changes-btn{background:var(--primary-color);color:#fff;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;min-width:200px;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.save-changes-btn:hover:not(:disabled){background:var(--emerald-800);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.save-changes-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:90vw;max-width:600px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.hole-edit-modal .hole-edit-form{padding:1.5rem}.hole-edit-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{gap:1rem;display:flex}.form-row:has(.form-group:only-child) .form-group{flex:1}.form-group{flex-direction:column;flex:1;display:flex}.form-group label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-group input,.form-group textarea{border:2px solid var(--border-color);color:var(--text-primary);background:#fff;padding:.75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0478571a}.form-group input.error,.form-group textarea.error{border-color:#dc2626}.form-group textarea{resize:vertical;min-height:80px}.error-message{color:#dc2626;margin-top:.25rem;font-size:.875rem}.readonly-stats{background:var(--stone-100);border:1px solid var(--border-light);align-items:center;gap:2rem;margin:.5rem 0;padding:1rem;display:flex}.readonly-stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.readonly-stat .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.readonly-stat .stat-value{color:var(--primary-color);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600}.readonly-note{color:var(--text-muted);flex:1;margin:0;font-size:.875rem;font-style:italic}.modal-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.url-instructions{background:var(--accent-bg,#f8f9fa);border:1px solid var(--border-light,#e0e0e0);border-radius:8px;margin-top:1rem;padding:1.5rem;font-size:.9rem;line-height:1.5}.url-instructions h4{color:var(--primary-color,#2c5530);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.url-instructions ol{color:var(--text-primary,#333);margin:0 0 1.5rem;padding-left:1.5rem}.url-instructions ol li{margin-bottom:.5rem}.url-instructions ol li strong{color:var(--primary-color,#2c5530)}.url-examples{border:1px solid var(--border-light,#e0e0e0);background:#fff;border-radius:6px;margin-bottom:1rem;padding:1rem}.url-examples p{margin:0 0 .75rem;font-weight:600}.url-examples p:last-child{margin-bottom:.5rem}.url-examples ul{margin:0 0 1rem;padding-left:1.5rem}.url-examples ul:last-child{margin-bottom:0}.url-examples li{margin-bottom:.25rem}.url-examples code{background:var(--code-bg,#f1f3f4);color:var(--code-text,#333);word-break:break-all;border-radius:4px;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem}.url-instructions .note{background:var(--info-bg,#e7f3ff);border:1px solid var(--info-border,#b3d9ff);color:var(--info-text,#06c);border-radius:6px;margin:0;padding:.75rem;font-size:.85rem}.url-instructions .note strong{color:var(--info-text,#06c)}[data-theme=dark] .url-instructions{background:var(--accent-bg-dark,#2a2a2a);border-color:var(--border-color-dark,#333);color:var(--text-primary-dark,#e0e0e0)}[data-theme=dark] .url-examples{background:var(--card-bg-dark,#1a1a1a);border-color:var(--border-color-dark,#333)}[data-theme=dark] .url-examples code{background:var(--code-bg-dark,#333);color:var(--code-text-dark,#e0e0e0)}[data-theme=dark] .url-instructions .note{background:var(--info-bg-dark,#1a2a3a);border-color:var(--info-border-dark,#3a5a7a);color:var(--info-text-dark,#66b3ff)}@media (width<=768px){.course-setup{padding:1rem}.course-setup-header{flex-direction:column;align-items:flex-start;gap:1rem}.course-setup-title-section h1{font-size:2rem}.holes-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.readonly-stats{text-align:center;flex-direction:column;gap:1rem}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.url-instructions{padding:1rem;font-size:.85rem}.url-examples{padding:.75rem}.url-examples code{word-break:break-word;font-size:.8rem}}@media (width<=480px){.course-setup-title-section h1{font-size:1.75rem}.course-stats{grid-template-columns:1fr}}.games-list-view{width:100%;animation:.4s ease-out fadeIn}.games-list-header{border-bottom:1px solid var(--stone-200);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.games-list-actions{align-items:center;gap:1rem;display:flex}.games-list-header h2{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-size:1.875rem;font-weight:500}.refresh-btn{color:var(--emerald-700);border:1px solid var(--emerald-700);letter-spacing:.02em;text-transform:none;cursor:pointer;background:#fff;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative;overflow:hidden}.refresh-btn:hover{background:var(--emerald-700);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.games-list-filters{border:1px solid var(--stone-200);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:2.5rem;padding:2rem;position:relative}.games-list-filters:before{content:"";background:linear-gradient(90deg, var(--emerald-700), var(--sage-600));height:3px;position:absolute;top:0;left:0;right:0}.filter-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.filter-row:last-child{margin-bottom:0}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-group label{color:var(--stone-700);text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.filter-group input,.filter-group select{border:1px solid var(--stone-300);color:var(--text-primary);background-color:#fff;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:var(--emerald-600);outline:none;box-shadow:0 0 0 3px #0596691a}.games-list-table-container{border:1px solid var(--stone-200);box-shadow:var(--shadow-md);background:#fff;position:relative;overflow-x:auto}.games-list-table-container:before{content:"";background:linear-gradient(90deg, var(--emerald-700), var(--sage-600), var(--gold-500));height:2px;position:absolute;top:0;left:0;right:0}.games-list-table{border-collapse:collapse;width:100%}.games-list-table th{text-align:left;color:var(--stone-700);background-color:var(--stone-50);border-bottom:2px solid var(--stone-200);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;padding:1.25rem 1rem;font-family:Inter,sans-serif;font-size:.75rem;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(--text-primary)}.games-list-table td{border-bottom:1px solid var(--stone-100);color:var(--text-primary);padding:1.25rem 1rem;font-family:Inter,sans-serif;font-size:.875rem}.games-list-table tbody tr{transition:background-color .2s}.games-list-table tbody tr:hover{background-color:var(--emerald-50)}.game-id{color:var(--emerald-700);letter-spacing:.02em;font-family:Courier New,monospace;font-size:.875rem;font-weight:600}.game-type{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;padding:.375rem .875rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:inline-block}.game-type.default{background-color:var(--sage-100);color:var(--sage-700);border-color:var(--sage-200)}.game-type.custom{background-color:var(--emerald-100);color:var(--emerald-700);border-color:var(--emerald-200)}.players-list{display:inline-block;position:relative}.player-count{cursor:help;font-weight:500}.players-tooltip{background-color:var(--bg-tertiary);color:var(--text-primary);white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:opacity .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}.players-list:hover .players-tooltip{opacity:1}.prize-toggle{border:2px solid var(--stone-300);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;transition:all .2s;display:flex;position:relative}.prize-toggle:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.prize-toggle.enabled{border-color:var(--emerald-600);background-color:var(--emerald-50)}.prize-toggle.enabled:after{content:"✓";color:var(--emerald-700);font-weight:600}.prize-toggle.disabled{border-color:var(--stone-300)}.prize-toggle.disabled:after{content:"—";color:var(--stone-500);font-weight:400}.btn-small{letter-spacing:.03em;text-transform:none;padding:.5rem 1.25rem;font-size:.8125rem}.games-list-loading,.games-list-error,.no-games-message{text-align:center;padding:4rem 2rem}.loading-spinner{border:3px solid var(--stone-200);border-top-color:var(--emerald-700);border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:.8s linear infinite spin}.checkbox-column{text-align:center;width:40px}.checkbox-column input[type=checkbox]{cursor:pointer}.btn-danger{color:#fff;letter-spacing:.02em;text-transform:none;cursor:pointer;background-color:#dc2626;border:1px solid #dc2626;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s}.btn-danger:hover{box-shadow:var(--shadow-md);background-color:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0006;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:500px;box-shadow:var(--shadow-xl);border:1px solid var(--stone-200);background-color:#fff;animation:.3s ease-out slideIn}.delete-confirmation-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.delete-confirmation-modal .modal-header h2{color:#dc2626;letter-spacing:-.02em;margin:0;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-size:1.5rem;font-weight:500}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;font-size:1.5rem}.modal-close:hover{background-color:var(--bg-secondary)}.modal-body{padding:1.5rem}.warning-message{color:#7f1d1d;background-color:#fef2f2;border-left:4px solid #dc2626;margin-bottom:1.5rem;padding:1.25rem;font-family:Inter,sans-serif}.warning-message p{margin:.5rem 0}.confirm-input{flex-direction:column;gap:.5rem;display:flex}.confirm-input label{color:var(--text-primary);font-weight:500}.confirm-input input{border:2px solid var(--stone-300);color:var(--text-primary);letter-spacing:.01em;background-color:#fff;padding:.875rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:all .2s}.confirm-input input:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26261a}.modal-actions{justify-content:flex-end;gap:1rem;padding:1rem 1.5rem 1.5rem;display:flex}@media (width<=768px){.games-list-header{flex-direction:column;align-items:stretch;gap:1rem}.filter-row{grid-template-columns:1fr}.games-list-table{font-size:.875rem}.games-list-table th,.games-list-table td{padding:.75rem .5rem}.players-tooltip{display:none}}.admin-game-view{width:100%;animation:.4s ease-out fadeIn}.admin-game-header{border-bottom:1px solid var(--stone-200);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.game-info{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.game-info h2{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-size:1.875rem;font-weight:500}.game-id-badge,.game-type-badge{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;padding:.375rem .875rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;display:inline-block}.game-id-badge{background-color:var(--stone-100);color:var(--stone-700);border-color:var(--stone-200);text-transform:none;letter-spacing:.02em;font-family:Courier New,monospace}.game-type-badge.default{background-color:var(--sage-100);color:var(--sage-700);border-color:var(--sage-200)}.game-type-badge.custom{background-color:var(--emerald-100);color:var(--emerald-700);border-color:var(--emerald-200)}.admin-game-content{border:1px solid var(--stone-200);min-height:400px;box-shadow:var(--shadow-sm);background:#fff;padding:2rem;position:relative}.admin-game-content:before{content:"";background:linear-gradient(90deg, var(--emerald-700), var(--sage-600), var(--gold-500));height:2px;position:absolute;top:0;left:0;right:0}.admin-game-content h3{color:var(--text-primary);letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:1.25rem;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-size:1.375rem;font-weight:500}.admin-game-content h3:first-child{margin-top:0}.game-details p{color:var(--text-secondary);margin:.5rem 0}.game-details strong{color:var(--text-primary);margin-right:.5rem}.players-details{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.player-detail{background-color:var(--bg-primary);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;display:flex}.activity-item{border-bottom:1px solid var(--border-color);gap:1rem;padding:.75rem;display:flex}.activity-time{color:var(--text-secondary);white-space:nowrap;font-size:.875rem}.admin-game-loading,.admin-game-error{text-align:center;padding:4rem 2rem}.btn-ghost{border:1px solid var(--stone-300);color:var(--stone-700);letter-spacing:.02em;cursor:pointer;background:#fff;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;position:relative;overflow:hidden}.btn-ghost:before{content:"";background:var(--emerald-50);z-index:0;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.btn-ghost:hover{border-color:var(--emerald-700);color:var(--emerald-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-ghost:hover:before{left:0}.btn-ghost span{z-index:1;position:relative}.admin-game-tabs{border-bottom:2px solid var(--stone-200);background-color:var(--stone-50);gap:0;margin-bottom:2rem;padding:0 .5rem;display:flex;overflow-x:auto}.tab-button{color:var(--stone-600);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;position:relative}.tab-button:after{content:"";background:var(--emerald-700);width:0;height:2px;transition:all .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tab-button:hover{color:var(--stone-800);background-color:var(--stone-100)}.tab-button.active{color:var(--emerald-700);background-color:#fff;font-weight:600}.tab-button.active:after{width:100%}.tab-content{animation:.3s ease-in fadeIn}.overview-section{margin-bottom:3rem}.overview-section:last-child{margin-bottom:0}.info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.info-item{background-color:var(--stone-50);border:1px solid var(--stone-200);flex-direction:column;gap:.375rem;padding:1rem;transition:all .2s;display:flex}.info-item:hover{border-color:var(--emerald-200);box-shadow:var(--shadow-sm);background-color:#fff;transform:translateY(-1px)}.info-label{color:var(--stone-600);text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600}.info-value{color:var(--text-primary);font-family:Inter,sans-serif;font-size:1.125rem;font-weight:600}.players-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem;display:grid}.player-card{border:1px solid var(--stone-200);background-color:#fff;align-items:center;gap:1rem;padding:1.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.player-card:before{content:"";background-color:var(--emerald-600);width:4px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.player-card:hover{border-color:var(--emerald-200);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.player-card:hover:before{transform:translate(0)}.player-avatar{color:#fff;width:52px;height:52px;box-shadow:var(--shadow-md);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;display:flex}.player-info{flex:1}.player-name{color:var(--text-primary);letter-spacing:-.01em;font-family:Inter,sans-serif;font-size:1rem;font-weight:600}.player-handicap{color:var(--stone-600);font-family:Inter,sans-serif;font-size:.875rem;font-weight:500}.scorecard-container{border:1px solid var(--stone-200);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.scorecard-table{border-collapse:collapse;width:100%;font-family:Inter,sans-serif;font-size:.875rem}.scorecard-table th,.scorecard-table td{text-align:center;border:1px solid var(--border-color);padding:.5rem}.scorecard-table th{background-color:var(--stone-50);text-transform:uppercase;letter-spacing:.05em;color:var(--stone-700);font-size:.75rem;font-weight:600}.par-row td,.yards-row td,.hcp-row td{background-color:var(--stone-50);color:var(--stone-600);font-size:.75rem;font-weight:600}.par-row td:first-child,.yards-row td:first-child,.hcp-row td:first-child{text-transform:uppercase;color:var(--stone-700);letter-spacing:.05em;font-weight:700}.out-par,.in-par,.total-par,.out-yards,.in-yards,.total-yards{background-color:var(--emerald-50);color:var(--emerald-700);font-weight:700}.hole-header{cursor:default;min-width:70px}.hole-header-content{flex-direction:column;align-items:center;gap:.25rem;display:flex}.hole-header-content .hole-number{font-size:.875rem;font-weight:700;color:#fff!important}.hole-header-content .course-name{text-transform:none;letter-spacing:normal;white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:.625rem;font-weight:400;overflow:hidden;color:#fff!important}.player-name-cell{text-align:left;white-space:nowrap;font-weight:500}.score-cell{cursor:default;font-weight:500}.scorecard-table td,.scorecard-table th{cursor:default;-webkit-user-select:text;user-select:text}.scorecard-table .score-cell:hover{background-color:inherit;transform:none}.total-cell,.net-cell{background-color:var(--emerald-50);color:var(--emerald-700);font-weight:700}.out-cell,.in-cell{background-color:var(--stone-100);font-weight:700}.out-header,.in-header{background-color:var(--emerald-800);color:#fff;font-weight:700}.scorecard-legend{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;font-family:Inter,sans-serif;display:flex}.legend-item{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.legend-color{border:1px solid var(--border-color);width:16px;height:16px}.legend-color.score-eagle{background:var(--gold-400)}.legend-color.score-birdie{background:var(--emerald-600)}.legend-color.score-bogey{background:var(--stone-200)}.legend-color.score-double-bogey{background:var(--stone-400)}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:1.5rem;display:grid}.stat-card{border:1px solid var(--stone-200);box-shadow:var(--shadow-sm);background-color:#fff;padding:2rem;transition:all .2s;position:relative}.stat-card:before{content:"";background:linear-gradient(90deg, var(--emerald-600), var(--sage-600));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card h4{letter-spacing:-.02em;margin:0 0 1.5rem;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:500}.stat-items{gap:.75rem;display:grid}.stat-item{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--stone-600);font-family:Inter,sans-serif;font-size:.875rem;font-weight:500}.stat-value{color:var(--emerald-700);font-family:Inter,sans-serif;font-size:1.125rem;font-weight:700}.achievements-container{gap:2rem;display:grid}.player-achievements h4{margin-bottom:1rem}.no-achievements{color:var(--text-secondary);font-style:italic}.achievement-list{gap:1rem;display:grid}.achievement-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;gap:1rem;padding:1rem;display:flex}.achievement-icon{font-size:2rem}.achievement-details{flex:1}.achievement-name{margin-bottom:.25rem;font-weight:600}.achievement-description{color:var(--text-secondary);margin-bottom:.25rem;font-size:.875rem}.achievement-date{color:var(--text-tertiary);font-size:.75rem}.skins-summary{grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.skins-section{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.skins-section h4{margin-bottom:.5rem}.carryover{color:var(--primary);margin-bottom:1rem;font-weight:600}.skins-grid{gap:.5rem;display:grid}.skin-item{border:1px solid var(--border-color);background:#fff;border-radius:8px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:8px 12px;font-size:14px;transition:all .2s;display:grid}.skin-item:hover{border-color:var(--primary-color);box-shadow:0 2px 4px #0000000d}.skin-hole{background:var(--emerald-700);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.skin-hole-number{color:#fff}.winner-name{flex:1;font-weight:600}.skin-value{color:var(--primary);font-weight:600}.skins-winnings-summary{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;margin:2rem 0;padding:1.5rem}.skins-winnings-summary h3{margin-bottom:1rem}.winnings-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.winnings-item{background-color:var(--bg-secondary);border-radius:4px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.winnings-item .player-name{font-size:1.1rem;font-weight:600}.winnings-details{flex-direction:column;gap:.25rem;display:flex}.winnings-type{color:var(--text-secondary);font-size:.875rem}.winnings-total{color:var(--primary);border-top:1px solid var(--border-color);margin-top:.25rem;padding-top:.25rem;font-weight:600}.competition-section{margin-bottom:2rem}.competition-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;padding:.75rem}.entry{color:var(--text-secondary);margin-left:1rem}.activities-list{max-height:600px;overflow-y:auto}.activity-item{border-bottom:1px solid var(--border-color);padding:1rem}.activity-item:last-child{border-bottom:none}.activity-timestamp{color:var(--text-secondary);margin-bottom:.25rem;font-size:.875rem}.activity-content{align-items:center;gap:1rem;display:flex}.activity-type{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.activity-type.join{background-color:var(--primary-100);color:var(--primary-800)}.activity-type.score{background-color:var(--sage-100);color:var(--sage-800)}.activity-type.achievement{background-color:var(--gold-100);color:var(--gold-800)}.activity-type.birdie,.activity-type.eagle,.activity-type.ace{background-color:var(--success-100);color:var(--success-800)}.activity-type.update{background-color:var(--bg-tertiary);color:var(--text-secondary)}.activity-message{color:var(--text-primary);flex:1}.prizes-tab.betting-container .card{margin-bottom:2rem}.prizes-tab .competition-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.prizes-tab .competition-card{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem;transition:all .2s}.prizes-tab .competition-card:hover{border-color:var(--emerald-200);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.prizes-tab .prize-list{margin-top:1rem;font-size:.875rem}.prizes-tab .prize-list div{color:var(--stone-700);margin:.5rem 0}.prizes-tab .field-info{border-top:1px solid var(--stone-200);color:var(--stone-600);margin-top:.75rem;padding-top:.75rem;font-size:.8125rem}.prizes-tab .rules-box{background:var(--emerald-50);border:1px solid var(--emerald-200);color:var(--emerald-800);margin-top:1.5rem;padding:1rem;font-size:.875rem}.prizes-tab .total-pool{color:var(--stone-700);margin-bottom:1.5rem;font-size:1.125rem}.prizes-tab .payout-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.prizes-tab .payout-item{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem;transition:all .2s}.prizes-tab .payout-item:hover{border-color:var(--emerald-200);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.prizes-tab .player-name{margin-bottom:1rem;font-size:1.125rem;font-weight:600}.prizes-tab .winnings-breakdown{flex-direction:column;gap:.5rem;display:flex}.prizes-tab .winnings-line{color:var(--stone-700);justify-content:space-between;font-size:.875rem;display:flex}.prizes-tab .winnings-line.total{border-top:1px solid var(--stone-200);color:var(--stone-900);margin-top:.5rem;padding-top:.5rem;font-weight:600}.prizes-tab .winnings-line.net{padding-top:.5rem;font-size:1rem;font-weight:700}.prizes-tab .winnings-line.net.positive{color:var(--emerald-700)}.prizes-tab .winnings-line.net.negative{color:var(--rose-700)}.prizes-tab .skins-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.prizes-tab .skins-column{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem}.prizes-tab .skins-column h4{color:var(--stone-800);margin-bottom:1rem}.prizes-tab .skins-list{flex-direction:column;gap:.5rem;display:flex}.prizes-tab .skin-item{border:1px solid var(--stone-200);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.75rem;font-size:.875rem;display:grid}.prizes-tab .skin-item.won{background:var(--emerald-50);border-color:var(--emerald-200)}.prizes-tab .skin-item.carried{background:var(--stone-100);color:var(--stone-600)}.prizes-tab .skin-winner{font-weight:500}.prizes-tab .skin-value{color:var(--emerald-700);font-weight:600}.achievements-tab.achievements-container .card{margin-bottom:2rem;padding:2rem}.achievements-tab .recent-achievements{margin-top:1rem}.achievements-tab .recent-list{gap:1rem;margin-top:1rem;display:grid}.achievements-tab .recent-achievement{background:var(--stone-50);border:1px solid var(--stone-200);align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.achievements-tab .recent-achievement:hover{border-color:var(--emerald-200);background:#fff;transform:translate(4px)}.achievements-tab .achievement-player{color:var(--stone-600);align-items:center;gap:1rem;font-size:.875rem;display:flex}.achievements-tab .achievement-time{color:var(--stone-500)}.achievements-tab .player-achievements-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.achievements-tab .player-achievement-card{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem}.achievements-tab .achievement-progress{margin:1rem 0}.achievements-tab .progress-bar{background:var(--stone-200);height:8px;margin-bottom:.5rem;overflow:hidden}.achievements-tab .progress-fill{height:100%;transition:width .3s}.achievements-tab .progress-text{color:var(--stone-600);text-align:center;font-size:.875rem}.achievements-tab .achievements-list h5{color:var(--stone-700);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 1rem;font-size:.875rem;font-weight:600}.achievements-tab .achievement-badges{gap:.75rem;display:grid}.achievements-tab .achievement-badge{border:1px solid var(--stone-200);background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:.75rem;transition:all .2s;display:grid}.achievements-tab .achievement-badge.earned{background:var(--emerald-50);border-color:var(--emerald-200)}.achievements-tab .achievement-badge.unearned{opacity:.6}.achievements-tab .badge-icon{font-size:1.5rem}.achievements-tab .badge-name{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.achievements-tab .badge-description{color:var(--stone-600);font-size:.8125rem}.achievements-tab .no-badges{color:var(--stone-500);text-align:center;padding:1rem;font-style:italic}.achievements-tab .achievement-guide{gap:1rem;display:grid}.achievements-tab .guide-item{background:var(--stone-50);border:1px solid var(--stone-200);grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem;display:grid}.achievements-tab .guide-icon{font-size:2rem}.achievements-tab .guide-name{margin-bottom:.25rem;font-weight:600}.achievements-tab .guide-description{color:var(--stone-600);font-size:.875rem}.stats-tab.stats-container .card{margin-bottom:2rem;padding:2rem}.stats-tab .tournament-overview{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.stats-tab .stat-card{background:var(--stone-50);border:1px solid var(--stone-200);text-align:center;padding:1.5rem;transition:all .2s}.stats-tab .stat-card:hover{border-color:var(--emerald-200);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-2px)}.stats-tab .stat-value{color:var(--emerald-700);margin-bottom:.5rem;font-size:2rem;font-weight:700}.stats-tab .stat-label{color:var(--stone-600);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.stats-tab .performance-cards-row{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;display:grid}.stats-tab .player-stats-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.stats-tab .player-stat-card{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem}.stats-tab .player-stat-details{margin-top:1rem}.stats-tab .stat-row{border-bottom:1px solid var(--stone-100);justify-content:space-between;padding:.5rem 0;font-size:.875rem;display:flex}.stats-tab .stat-row:last-child{border-bottom:none}.stats-tab .performance-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.stats-tab .player-performance{background:var(--stone-50);border:1px solid var(--stone-200);text-align:center;padding:1.25rem}.stats-tab .performance-stats{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.stats-tab .performance-stats .stat{text-align:center}.stats-tab .performance-stats .stat-label{margin-bottom:.25rem;font-size:.75rem;display:block}.stats-tab .performance-stats .stat-value{font-size:1.5rem}.stats-tab .hole-stats-table{margin-top:1rem;overflow-x:auto}.stats-tab .hole-stats-table table{border-collapse:collapse;width:100%;font-size:.875rem}.stats-tab .hole-stats-table th,.stats-tab .hole-stats-table td{text-align:center;border:1px solid var(--stone-200);padding:.75rem}.stats-tab .hole-stats-table th{background:var(--stone-100);font-weight:600}.stats-tab .hole-stats-table .course-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.stats-tab .difficulty-hard{color:var(--rose-700);font-weight:600}.stats-tab .difficulty-easy{color:var(--emerald-700);font-weight:600}.side-games-tab.side-competitions-container .card{padding:2rem}.side-games-tab .competitions-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:2rem;display:grid}.side-games-tab .competition-section{background:var(--stone-50);border:1px solid var(--stone-200);padding:1.5rem}.side-games-tab .competition-subtitle{color:var(--stone-600);margin-bottom:1.5rem;font-size:.875rem}.side-games-tab .hole-competitions{gap:1rem;display:grid}.side-games-tab .hole-competition-item{border:1px solid var(--stone-200);background:#fff;gap:1rem;padding:1rem;display:grid}.side-games-tab .hole-info{flex-wrap:wrap;align-items:baseline;gap:1rem;display:flex}.side-games-tab .hole-name{color:var(--stone-600);font-size:.875rem}.side-games-tab .hole-yards{color:var(--stone-500);font-size:.8125rem}.side-games-tab .competition-status{padding-left:1rem}.side-games-tab .current-leader{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.side-games-tab .leader-label{color:var(--stone-600);font-size:.875rem;font-weight:600}.side-games-tab .leader-name{color:var(--emerald-700);font-weight:600}.side-games-tab .leader-distance{color:var(--stone-700);font-weight:500}.side-games-tab .no-entries{color:var(--stone-500);font-size:.875rem;font-style:italic}.side-games-tab .all-entries{border-top:1px solid var(--stone-200);margin-top:1rem;padding-top:1rem}.side-games-tab .all-entries h5{color:var(--stone-600);margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.side-games-tab .entry-item{color:var(--stone-600);gap:.5rem;margin-bottom:.25rem;font-size:.875rem;display:flex}.side-games-tab .entry-player{font-weight:500}.side-games-tab .entry-distance{color:var(--stone-700)}.course-setup-tab .course-setup{max-width:1200px;margin:0 auto}.course-setup-tab .course-setup-content{gap:3rem;display:grid}.course-setup-tab .course-setup-section{background:var(--stone-50);border:1px solid var(--stone-200);padding:2rem}.course-setup-tab .section-header{margin-bottom:1.5rem}.course-setup-tab .section-header h2{color:var(--stone-800);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500}.course-setup-tab .section-description{color:var(--stone-600);font-size:.875rem}.course-setup-tab .game-info-display{gap:1rem;display:grid}.course-setup-tab .info-row{border-bottom:1px solid var(--stone-200);grid-template-columns:200px 1fr;align-items:center;gap:1rem;padding:.75rem 0;display:grid}.course-setup-tab .info-row:last-child{border-bottom:none}.course-setup-tab .info-row label{color:var(--stone-600);font-size:.875rem;font-weight:600}.course-setup-tab .info-value{color:var(--stone-800)}.course-setup-tab .course-stats{text-align:center;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;display:grid}.course-setup-tab .course-stat{border:1px solid var(--stone-200);background:#fff;padding:1.5rem}.course-setup-tab .holes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.course-setup-tab .hole-card{border:1px solid var(--stone-200);background:#fff;padding:1.5rem;transition:all .2s}.course-setup-tab .hole-card.view-only{cursor:default}.course-setup-tab .hole-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.course-setup-tab .hole-number{color:var(--stone-700);font-weight:700}.course-setup-tab .hole-par{font-size:.875rem;font-weight:600}.course-setup-tab .hole-name{color:var(--stone-800);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.course-setup-tab .hole-details{color:var(--stone-600);gap:1rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.course-setup-tab .hole-description{color:var(--stone-600);margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.course-setup-tab .hole-media-indicators{gap:.5rem;display:flex}.course-setup-tab .media-indicator{font-size:1.25rem}.course-setup-tab .course-setup-note{background:var(--amber-50);border:1px solid var(--amber-200);text-align:center;padding:1.5rem}.course-setup-tab .course-setup-note p{color:var(--amber-800);margin:0;font-size:.875rem}@media (width<=768px){.admin-game-header{margin-bottom:1rem}.game-info h2{font-size:1.25rem}.admin-game-content{border-radius:0;padding:1rem}.players-details{grid-template-columns:1fr}.admin-game-tabs{margin-bottom:1rem}.tab-button{padding:.375rem .75rem;font-size:.875rem}.skins-summary{grid-template-columns:1fr}.scorecard-table{font-size:.75rem}.scorecard-table th,.scorecard-table td{padding:.25rem}.prizes-tab .skins-grid,.stats-tab .performance-cards-row,.side-games-tab .competitions-grid{grid-template-columns:1fr}}.admin-settings{width:100%;max-width:800px;margin:0 auto}.admin-settings-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.admin-settings-header h2{margin:0;font-size:1.5rem;font-weight:600}.admin-settings-loading{text-align:center;padding:4rem 2rem}.admin-settings-tabs{border-bottom:2px solid var(--stone-200);background-color:var(--stone-50);gap:0;margin-bottom:2rem;padding:0 .5rem;display:flex}.admin-settings-tabs .tab-button{color:var(--stone-600);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;position:relative}.admin-settings-tabs .tab-button:after{content:"";background:var(--emerald-700);width:0;height:2px;transition:all .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.admin-settings-tabs .tab-button:hover{color:var(--stone-800);background-color:var(--stone-100)}.admin-settings-tabs .tab-button.active{color:var(--emerald-700);background-color:#fff;font-weight:600}.admin-settings-tabs .tab-button.active:after{width:100%}.admin-settings-content{flex-direction:column;gap:2rem;display:flex}.settings-section{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.settings-section h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.settings-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.credentials-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-primary);font-weight:500}.form-group input{border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:4px;padding:.75rem;font-size:1rem}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .2);outline:none}.field-help{color:var(--text-secondary);margin:0;font-size:.875rem}.form-actions{margin-top:1rem}.security-note{background-color:var(--bg-tertiary);border-left:4px solid var(--primary);border-radius:4px;padding:1rem}.security-note p{color:var(--emerald-800);margin:.75rem 0;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.6}.security-note p:first-child{margin-top:0}.security-note p:last-child{margin-bottom:0}.admin-settings-course{background-color:var(--bg-secondary);border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.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{max-width:100%}.settings-section{padding:1rem}.form-group input{font-size:16px}}.admin-view{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.admin-header{background:linear-gradient(to bottom, white, var(--bg-secondary));border-bottom:2px solid var(--emerald-700);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:2rem;display:flex;position:relative}.admin-header:after{content:"";background:linear-gradient(90deg, var(--emerald-700), var(--sage-600), var(--gold-500));height:3px;position:absolute;bottom:0;left:0;right:0}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.admin-header h1{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-size:2.25rem;font-weight:600}.admin-close-btn{border:2px solid var(--stone-300);width:44px;height:44px;color:var(--stone-700);cursor:pointer;background-color:#fff;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.admin-close-btn:before{content:"";background-color:var(--stone-900);width:0;height:0;transition:all .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-close-btn:hover{border-color:var(--stone-900);color:var(--stone-900);box-shadow:var(--shadow-md);transform:translateY(-1px)}.admin-close-btn:hover:before{width:100%;height:100%}.admin-close-btn:hover{color:#fff;z-index:1}.admin-close-btn span{z-index:2;position:relative}.admin-content{max-width:1400px;margin:0 auto;padding:2.5rem 2rem;animation:.4s ease-out fadeIn}.admin-signin{justify-items:start;gap:1rem;max-width:420px;display:grid}.admin-signin-error{color:#b91c1c;margin:0}.admin-user{color:var(--stone-700);overflow-wrap:anywhere;font-size:.875rem}.btn-settings{color:var(--stone-700);border:1px solid var(--stone-300);letter-spacing:.02em;text-transform:none;cursor:pointer;background:#fff;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative;overflow:hidden}.btn-settings:after{content:"";background:var(--emerald-700);width:100%;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:translate(-100%)}.btn-settings:hover{background:var(--stone-50);border-color:var(--stone-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-settings:hover:after{transform:translate(0)}@media (width<=768px){.admin-header{flex-wrap:wrap;gap:1rem;padding:1.5rem 1rem}.admin-header h1{font-size:1.75rem}.admin-content{padding:1.5rem 1rem}.admin-close-btn{width:38px;height:38px;font-size:1.125rem}}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:#f0fdf4;--bg-secondary:#dcfce7}.theme-royal-county-down{--emerald-900:#1f2937;--emerald-800:#374151;--emerald-700:#4b5563;--emerald-600:#6b7280;--sage-700:#52525b;--sage-600:#71717a;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#4b5563;--secondary-color:#52525b;--accent-color:#fbbf24;--text-primary:#111827;--bg-primary:#f0fdf4}.theme-royal-portrush{--emerald-900:#312e81;--emerald-800:#3730a3;--emerald-700:#4c1d95;--emerald-600:#5b21b6;--sage-700:#6d28d9;--sage-600:#7c3aed;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#4c1d95;--secondary-color:#6d28d9;--accent-color:#fbbf24;--text-primary:#1f2937;--bg-primary:#f0fdf4}.theme-ballybunion{--emerald-900:#7c2d12;--emerald-800:#9a3412;--emerald-700:#c2410c;--emerald-600:#ea580c;--sage-700:#dc2626;--sage-600:#ef4444;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#c2410c;--secondary-color:#dc2626;--accent-color:#fbbf24;--text-primary:#1c1917;--bg-primary:#f6ffed}.theme-old-head{--emerald-900:#134e4a;--emerald-800:#115e59;--emerald-700:#0f766e;--emerald-600:#0d9488;--sage-700:#0891b2;--sage-600:#0ea5e9;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#0f766e;--secondary-color:#0891b2;--accent-color:#fbbf24;--text-primary:#0f172a;--bg-primary:#ecfdf5}.theme-waterville{--emerald-900:#1e3a8a;--emerald-800:#1e40af;--emerald-700:#2563eb;--emerald-600:#3b82f6;--sage-700:#1d4ed8;--sage-600:#2563eb;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#2563eb;--secondary-color:#1d4ed8;--accent-color:#fbbf24;--text-primary:#0f172a;--bg-primary:#f0fdf4}.theme-lahinch{--emerald-900:#14532d;--emerald-800:#166534;--emerald-700:#15803d;--emerald-600:#16a34a;--sage-700:#059669;--sage-600:#10b981;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#15803d;--secondary-color:#059669;--accent-color:#fbbf24;--text-primary:#052e16;--bg-primary:#f0fdf4}.theme-european-club{--emerald-900:#581c87;--emerald-800:#6b21a8;--emerald-700:#7c3aed;--emerald-600:#8b5cf6;--sage-700:#9333ea;--sage-600:#a855f7;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#7c3aed;--secondary-color:#9333ea;--accent-color:#fbbf24;--text-primary:#1e1b4b;--bg-primary:#f0fdf4}.theme-portmarnock{--emerald-900:#064e3b;--emerald-800:#065f46;--emerald-700:#047857;--emerald-600:#059669;--sage-700:#10b981;--sage-600:#34d399;--gold-500:#fbbf24;--gold-600:#f59e0b;--primary-color:#047857;--secondary-color:#10b981;--accent-color:#fbbf24;--text-primary:#022c22;--bg-primary:#ecfdf5}.weather-rainy{--emerald-700:#475569;--emerald-600:#64748b;--sage-700:#334155;--sage-600:#475569;--primary-color:#475569;--secondary-color:#334155;--text-primary:#0f172a;--bg-primary:#f0fdf4}.weather-sunny{--emerald-700:#c2410c;--emerald-600:#ea580c;--sage-700:#dc2626;--sage-600:#ef4444;--primary-color:#c2410c;--secondary-color:#dc2626;--accent-color:#fbbf24;--text-primary:#1c1917;--bg-primary:#f6ffed}.weather-cloudy{--emerald-700:#525252;--emerald-600:#737373;--sage-700:#404040;--sage-600:#525252;--primary-color:#525252;--secondary-color:#404040;--text-primary:#171717;--bg-primary:#f0fdf4}.weather-windy{--emerald-700:#0f766e;--emerald-600:#0d9488;--sage-700:#0891b2;--sage-600:#0ea5e9;--primary-color:#0f766e;--secondary-color:#0891b2;--text-primary:#0f172a;--bg-primary:#ecfdf5}*{box-sizing:border-box;margin:0;padding:0}:root{--emerald-900:#064e3b;--emerald-800:#065f46;--emerald-700:#047857;--emerald-600:#059669;--emerald-500:#10b981;--emerald-400:#34d399;--emerald-200:#a7f3d0;--emerald-100:#d1fae5;--emerald-50:#ecfdf5;--sage-900:#1a3a2e;--sage-800:#22543d;--sage-700:#2d5a3d;--sage-600:#3b7c5e;--sage-500:#5a9676;--sage-200:#c6ddd0;--sage-100:#e6f2ed;--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:#854d0e;--gold-600:#ca8a04;--gold-500:#eab308;--gold-400:#facc15;--gold-100:#fef3c7;--primary:var(--emerald-700);--primary-color:var(--emerald-700);--primary-color-rgb:4, 120, 87;--primary-100:#d1fae5;--primary-200:#a7f3d0;--primary-800:#065f46;--secondary-color:var(--sage-700);--accent-color:var(--gold-500);--text-primary:var(--stone-900);--text-secondary:var(--stone-700);--text-tertiary:var(--stone-500);--text-muted:var(--stone-600);--bg-primary:#f0fdf4;--bg-secondary:#dcfce7;--bg-tertiary:var(--stone-100);--border-color:var(--stone-300);--border-light:var(--stone-200);--success:#10b981;--success-100:#d1fae5;--success-800:#065f46;--error:#dc2626;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a}body{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:repeating-linear-gradient(90deg,#0000,#0000 100px,#1c191704 100px 101px),repeating-linear-gradient(0deg,#0000,#0000 100px,#1c191704 100px 101px);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-family:Playfair Display,Didot,Bodoni MT,Georgia,serif;font-weight:500;line-height:1.2}h1{margin-bottom:.75rem;font-size:2.5rem;font-weight:600}h2{margin-bottom:1rem;font-size:2rem}h3{margin-bottom:.75rem;font-size:1.5rem}h4{margin-bottom:.5rem;font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:1rem;font-family:Crimson Text,Georgia,serif;font-size:1.05rem;line-height:1.7}.container{max-width:1400px;margin:0 auto;padding:2rem}.card{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:1.5rem;padding:2rem;transition:box-shadow .2s;position:relative}.card:before{content:"";background:linear-gradient(90deg, var(--emerald-700), var(--sage-600));height:3px;position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-md)}.btn{background:var(--emerald-700);color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s;position:relative;overflow:hidden}.btn:after{content:"";background:var(--gold-500);width:100%;height:2px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:translate(-100%)}.btn:hover{background:var(--emerald-800);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:hover:after{transform:translate(0)}.btn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary{background:var(--emerald-700);color:#fff}.btn-primary:hover{background:var(--emerald-800)}.btn-secondary{background:var(--sage-700)}.btn-secondary:hover{background:var(--sage-800)}.btn-gold{background:var(--gold-500);color:var(--text-primary)}.btn-gold:hover{background:var(--gold-600)}.btn-ghost{color:var(--emerald-700);border:1px solid var(--emerald-700);background:0 0}.btn-ghost:hover{background:var(--emerald-700);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=number],input[type=email],input[type=password],select,textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);letter-spacing:.01em;background:#fff;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--emerald-600);outline:none;box-shadow:0 0 0 3px #0596691a}.score-eagle{color:var(--text-primary);font-weight:600;background:var(--gold-500)!important}.score-birdie{color:#fff;font-weight:600;background:var(--emerald-600)!important}.score-par{color:var(--text-primary);background:0 0}.score-bogey{color:var(--text-primary);background:var(--stone-200)!important}.score-double-bogey{color:#fff;background:var(--stone-400)!important}.fade-in{animation:.4s ease-out fadeIn}.slide-in{animation:.4s ease-out slideIn}.card,.btn,input,select,textarea{border-radius:0}.toast{box-shadow:var(--shadow-lg);z-index:1000;border-left:3px solid var(--emerald-700);background:#fff;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:.875rem;animation:.3s ease-out slideIn;position:fixed;bottom:2rem;right:2rem}.toast-success{border-left-color:var(--emerald-600)}.toast-error{border-left-color:#dc2626}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.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:2rem}h2{font-size:1.5rem}.card{padding:1.5rem}.btn{padding:.625rem 1.25rem;font-size:.8125rem}}.loading{color:#0000;position:relative}.loading:after{content:"";border:2px solid var(--emerald-700);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%}:focus-visible{outline:2px solid var(--emerald-600);outline-offset:2px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media print{body{background:#fff}.no-print{display:none!important}.card{box-shadow:none;page-break-inside:avoid;border:1px solid #000}}
