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