:root{--navy: #00338D;--navy-light: #004BB5;--navy-dark: #002266;--navy-darker: #001A4D;--blue: #00A3E0;--blue-dark: #0077B6;--blue-bg: rgba(0, 163, 224, .1);--blue-glow: 0 0 20px rgba(0, 163, 224, .4);--green: #00C9A7;--green-dark: #009688;--green-bg: rgba(0, 201, 167, .1);--green-glow: 0 0 20px rgba(0, 201, 167, .4);--red: #E63946;--red-dark: #9B1B30;--red-bg: rgba(230, 57, 70, .1);--red-glow: 0 0 20px rgba(230, 57, 70, .4);--purple: #8B3FC9;--purple-dark: #5C1A8C;--purple-bg: rgba(139, 63, 201, .1);--purple-glow: 0 0 20px rgba(139, 63, 201, .4);--surface: rgba(255, 255, 255, .06);--surface-elevated: rgba(255, 255, 255, .08);--surface-muted: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .08);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--gold-gradient: linear-gradient(135deg, #FFD700, #FFA500);--silver-gradient: linear-gradient(135deg, #E8E8E8, #B0B0B0);--bronze-gradient: linear-gradient(135deg, #CD7F32, #A0522D);--gold-glow: 0 0 16px rgba(255, 215, 0, .5);--golf-green: #10B981;--golf-green-dark: #059669;--warning-bg: rgba(255, 152, 0, .12);--warning-border: #ff9800;--warning-text: #ffb74d;--success-bg: rgba(76, 175, 80, .12);--success-border: #4caf50;--success-text: #81c784;--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "Inter", "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 12px 40px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--app-bg: linear-gradient(165deg, #001A4D, #00338D, #002266);--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .12);--glass-blur: blur(12px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--app-bg);min-height:100vh;padding:12px;padding:12px env(safe-area-inset-right) 12px env(safe-area-inset-left);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:-20%;left:50%;transform:translate(-50%);width:120%;height:50%;background:radial-gradient(ellipse,rgba(0,163,224,.08) 0%,transparent 70%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9998;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:overlay}button,input,select,textarea{min-height:44px;min-width:44px;font-family:var(--font-body)}.container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.header{text-align:center;color:#fff;margin-bottom:var(--space-8)}.header-brand{font-family:var(--font-display);font-size:3.5rem;font-weight:900;letter-spacing:6px;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a0c4ff,#00c9a7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-1)}.header h1{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:4px;margin-bottom:var(--space-3);color:#fff9;text-transform:uppercase}.live-status-bar{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:#ffffffe6;letter-spacing:1.5px}.live-dot{width:8px;height:8px;background:var(--golf-green);border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite;flex-shrink:0}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #10b98199}50%{opacity:.7;box-shadow:0 0 0 6px #10b98100}}.mode-toggle{display:flex;justify-content:center;align-items:center;margin-bottom:var(--space-6);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:4px;max-width:400px;margin-left:auto;margin-right:auto}.mode-toggle button{flex:1;background:transparent;border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-sm);font-weight:600;font-family:var(--font-display);color:#ffffffb3;transition:all var(--transition-base);box-shadow:none;min-width:auto}.mode-toggle button:hover{color:#fffffff2;transform:none}.mode-toggle button.active{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}.leaderboard{max-width:800px;margin:0 auto var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.current-hole-indicator{text-align:center;margin-bottom:var(--space-3)}.hole-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:1.5px;box-shadow:var(--shadow-md);animation:subtle-glow 3s ease-in-out infinite}@keyframes subtle-glow{0%,to{box-shadow:var(--shadow-md),0 0 20px #10b9811a}50%{box-shadow:var(--shadow-md),0 0 30px #10b98133}}.course-timeline{display:flex;align-items:flex-start;justify-content:center;gap:0;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.timeline-node{display:flex;flex-direction:column;align-items:center;position:relative}.timeline-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);z-index:1;transition:all var(--transition-base)}.timeline-node.completed .timeline-dot{background:var(--golf-green);color:#fff;box-shadow:0 0 10px #10b9814d}.timeline-node.current .timeline-dot{background:#fff;color:var(--navy);box-shadow:0 0 16px #fff6;animation:pulse-dot 1.5s ease-in-out infinite}.timeline-node.future .timeline-dot{background:#ffffff14;color:#fff6;border:1px solid rgba(255,255,255,.15)}.timeline-connector{position:absolute;top:18px;right:50%;width:40px;height:2px;transform:translate(-50%);margin-right:18px}.timeline-connector.filled{background:var(--golf-green);box-shadow:0 0 4px #10b9814d}.timeline-connector:not(.filled){background:#ffffff1f}.timeline-label{position:absolute;top:44px;white-space:nowrap;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:#ffffffd9;letter-spacing:.5px}.team-card{background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg),inset 0 1px #ffffff0d;transition:transform var(--transition-base);border:1px solid rgba(255,255,255,.08);position:relative}.team-card:hover{transform:translateY(-3px)}.team-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);margin-bottom:0}.team-card.blue .team-header{background:linear-gradient(135deg,#00a3e0,#0077b6)}.team-card.green .team-header{background:linear-gradient(135deg,#00c9a7,#009688)}.team-card.red .team-header{background:linear-gradient(135deg,#e63946,#9b1b30)}.team-card.purple .team-header{background:linear-gradient(135deg,#8b3fc9,#5c1a8c)}.team-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#fff!important;display:flex;align-items:center;gap:var(--space-2)}.team-emoji{font-size:1.3em;line-height:1}.rank-wrapper{display:flex;align-items:center;gap:var(--space-2)}.rank-change{font-size:var(--text-sm);font-weight:700;font-family:var(--font-display);animation:bounce-in .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes bounce-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.rank-change.up{color:#4caf50}.rank-change.down{color:#ef5350}.rank-change.neutral{color:#ffffff4d}.rank{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);flex-shrink:0;color:#fff;background:#fff3}.rank.first{background:var(--gold-gradient);color:#1a1a2e;box-shadow:var(--gold-glow)}.rank.second{background:var(--silver-gradient);color:#1a1a2e}.rank.third{background:var(--bronze-gradient);color:#fff}.team-card-body{padding:var(--space-4) var(--space-5);background:var(--surface);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.members{margin-bottom:var(--space-3);color:var(--text-secondary);font-size:var(--text-sm)}.total-score{font-family:var(--font-display);font-size:2.25rem;font-weight:800;text-align:center;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.total-score.blue{color:var(--blue);background:var(--blue-bg)}.total-score.green{color:var(--green-dark);background:var(--green-bg)}.total-score.red{color:var(--red);background:var(--red-bg)}.total-score.purple{color:var(--purple);background:var(--purple-bg)}.scorecard-strip{display:flex;gap:var(--space-2)}.score-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-muted);transition:all var(--transition-fast)}.score-cell.current{background:#10b98126;border:2px solid var(--golf-green);box-shadow:0 0 8px #10b98133}.score-cell-hole{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.score-cell-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.score-cell-value.blue{color:var(--blue)}.score-cell-value.green{color:var(--green-dark)}.score-cell-value.red{color:var(--red)}.score-cell-value.purple{color:var(--purple)}.judge-panel{background:var(--surface-elevated);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);border:1px solid var(--border);width:100%;max-width:1100px;margin:0 auto}.judge-title{text-align:center;margin-bottom:var(--space-5);font-family:var(--font-display)}.judge-hole-panel{display:flex;flex-direction:column;gap:var(--space-6)}.hole-selector{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:4px}.hole-selector button{flex:0 0 auto;min-width:90px;background:var(--surface-muted);color:var(--text-primary);font-weight:700;font-family:var(--font-display);border-radius:var(--radius-pill);border:1px solid var(--border);transition:all var(--transition-base)}.hole-selector button.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--shadow-sm)}.hole-details{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.hole-detail-main{display:flex;flex-direction:column;gap:var(--space-2)}.hole-venue{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.hole-subtext{display:flex;gap:var(--space-4);flex-wrap:wrap;color:var(--text-secondary);font-size:var(--text-sm)}.hole-rule{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm)}.hole-rule.penalty{background:var(--warning-bg);border-left:4px solid var(--warning-border);color:var(--warning-text)}.hole-rule.reward{background:var(--success-bg);border-left:4px solid var(--success-border);color:var(--success-text)}.team-hole-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.team-hole-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.team-hole-card.blue{border-top:4px solid var(--blue)}.team-hole-card.green{border-top:4px solid var(--green)}.team-hole-card.red{border-top:4px solid var(--red)}.team-hole-card.purple{border-top:4px solid var(--purple)}.team-hole-header{display:flex;flex-direction:column;gap:var(--space-1)}.team-hole-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg)}.team-hole-members{font-size:var(--text-sm);color:var(--text-secondary)}.score-entry-section{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.score-entry label{display:block;font-weight:600;margin-bottom:var(--space-2);font-size:var(--text-sm)}.score-entry-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.score-entry-row select,.value-stepper input{flex:1;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);background:var(--surface);color:var(--text-primary)}.score-entry-row select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #00338d26}.value-stepper{display:flex;align-items:center;gap:var(--space-2);background:#ffffff14;border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px}.value-stepper input{width:72px;text-align:center;border:none;background:transparent;font-weight:700;font-family:var(--font-display)}.value-stepper input:focus{outline:none;border:none;box-shadow:none}.stepper-button{width:44px;height:44px;border:none;border-radius:var(--radius-md);background:#ffffff1f;color:var(--text-primary);font-size:1.4em;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.stepper-button:hover{background:var(--navy);color:#fff}.stepper-button:active{transform:scale(.95)}.adjustments-section{display:flex;flex-direction:column;gap:var(--space-3)}.adjustments-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.add-adjustment-button{background:transparent;border:1px solid var(--blue);color:var(--blue);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-weight:600;cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast)}.add-adjustment-button:hover{background:var(--blue-bg)}.adjustments-empty{font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius-md);padding:var(--space-3);text-align:center}.adjustment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-3);align-items:center}.adjustment-row select{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);font-family:var(--font-body);background:var(--surface);color:var(--text-primary)}.adjustment-row .value-stepper{width:100%;justify-content:center}.remove-adjustment-button{background:transparent;border:1px solid #d9534f;color:#d9534f;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast)}.remove-adjustment-button:hover{background:#d9534f1a}.quick-penalty-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-penalty-button{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;cursor:pointer;min-height:36px;min-width:auto;transition:all var(--transition-fast)}.quick-penalty-button:hover{background:#ffe0b2;transform:translateY(-1px)}.hole-save-bar{display:flex;justify-content:center;padding-top:var(--space-2)}.primary-save-button{padding:var(--space-4) var(--space-8);background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 14px #10b98159;min-width:200px;font-size:var(--text-base);transition:all var(--transition-base)}.primary-save-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98173}.primary-save-button:disabled{background:#a5d6a7;cursor:not-allowed;box-shadow:none;transform:none}.clear-all-button{padding:var(--space-4) var(--space-6);background:#d9534f;color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 10px #d9534f4d;transition:all var(--transition-base)}.clear-all-button:disabled{background:#f3a7a7;cursor:not-allowed;box-shadow:none}.clear-all-container{margin-top:var(--space-6);display:flex;justify-content:center}.info-page{background:var(--surface);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.info-tabs{display:flex;gap:0;background:var(--surface-muted);border:1px solid var(--border-light);border-radius:var(--radius-pill);padding:4px}.info-tabs button{flex:1;min-width:100px;background:transparent;border:none;border-radius:var(--radius-pill);font-weight:600;font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition-base);padding:var(--space-3)}.info-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--shadow-sm)}.info-section{display:flex;flex-direction:column;gap:var(--space-5)}.info-section h2{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-1)}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.info-list li{display:flex;flex-direction:column;background:var(--surface-muted);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);border:1px solid var(--border-light)}.info-list-label{font-weight:600;margin-bottom:var(--space-1)}.info-list-value{color:var(--text-secondary)}.info-bullet{padding-left:var(--space-5);margin:0;display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-primary)}.info-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.info-card{background:var(--surface-muted);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-light);overflow:hidden;position:relative}.info-card h3{font-family:var(--font-display);margin-bottom:var(--space-2);font-size:var(--text-xl)}.info-card.blue{border-top:4px solid var(--blue)}.info-card.green{border-top:4px solid var(--green)}.info-card.red{border-top:4px solid var(--red)}.info-card.purple{border-top:4px solid var(--purple)}.captain-badge{display:inline-block;background:var(--gold-gradient);color:#1a1a2e;font-size:var(--text-xs);font-weight:700;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;margin-left:4px;vertical-align:middle}.info-course-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.course-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-md);border-left:4px solid var(--navy-light)}.course-card-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-family:var(--font-display);color:var(--text-primary)}.course-venue{font-size:var(--text-lg);font-weight:600;font-family:var(--font-display)}.course-drink{color:var(--text-secondary)}.course-rule{padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);font-weight:600;font-size:var(--text-sm)}.course-rule.penalty{background:var(--warning-bg);border-left:4px solid var(--warning-border);color:var(--warning-text)}.course-rule.reward{background:var(--success-bg);border-left:4px solid var(--success-border);color:var(--success-text)}.course-card.bunker{border:2px solid var(--warning-border);border-left:4px solid var(--warning-border)}.bunker-tag{display:inline-block;background:linear-gradient(135deg,#ff9800,#e65100);color:#fff;font-size:var(--text-xs);font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);margin-left:var(--space-2);vertical-align:middle;letter-spacing:1px}.bunker-indicator{display:inline-block;background:var(--warning-border);color:#fff;font-size:.6em;font-weight:700;width:16px;height:16px;line-height:16px;text-align:center;border-radius:50%;margin-left:3px;vertical-align:middle}.pre-tee-lunch{background:#00a3e014;border:1px solid rgba(0,163,224,.3);border-left:4px solid var(--navy-light);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);color:var(--text-primary);font-size:var(--text-base)}.rule-reward{border-left:3px solid var(--success-border)!important}.password-section{margin-bottom:var(--space-8)}.password-section input{width:100%;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-body);background:var(--surface);color:var(--text-primary)}.password-section button{width:100%;padding:var(--space-3);background:var(--navy);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:700;font-family:var(--font-display);cursor:pointer;margin-top:var(--space-3);transition:background var(--transition-fast)}.password-section button:hover{background:var(--navy-light)}.team-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.team-button{padding:var(--space-4);border:3px solid;background:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:700;transition:all var(--transition-base)}.team-button:hover{transform:scale(1.05)}.team-button.selected{color:#fff}.team-button.blue{border-color:var(--blue);color:var(--blue)}.team-button.blue.selected{background:var(--blue)}.team-button.green{border-color:var(--green);color:var(--green)}.team-button.green.selected{background:var(--green)}.team-button.red{border-color:var(--red);color:var(--red)}.team-button.red.selected{background:var(--red)}.team-button.purple{border-color:var(--purple);color:var(--purple)}.team-button.purple.selected{background:var(--purple)}.score-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.score-input{text-align:center}.score-input label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-secondary)}.score-input input{width:100%;padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xl);text-align:center}.submit-button{width:100%;padding:var(--space-4);background:var(--golf-green);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:700;cursor:pointer}.submit-button:hover{background:var(--golf-green-dark)}.submit-button:disabled{background:#ccc;cursor:not-allowed}.error{background:var(--red);color:#fff;padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);text-align:center;font-weight:600}.success{background:var(--golf-green);color:#fff;padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5);text-align:center;font-weight:600}.animation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:linear-gradient(165deg,#001a4d,#00338d,#001a4d);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:fadeIn .3s ease-in;overflow:hidden}.animation-overlay:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(0,163,224,.06) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(16,185,129,.04) 0%,transparent 50%);animation:bg-pattern-drift 8s ease-in-out infinite;pointer-events:none}@keyframes bg-pattern-drift{0%,to{transform:translate(0)}50%{transform:translate(2%,-2%)}}.animation-overlay.fade-out{animation:fadeOut .5s ease-out forwards;pointer-events:none}.animation-brand{font-family:var(--font-display);font-size:2rem;font-weight:900;letter-spacing:6px;text-transform:uppercase;background:linear-gradient(135deg,#fff,#a0c4ff,#00c9a7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeIn .5s ease-in both;z-index:1}.scoreboard-reveal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:600px;padding:0 var(--space-5);gap:var(--space-6);z-index:1}.hole-announce{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.hole-number-big{font-family:var(--font-display);font-size:3.5rem;font-weight:900;color:#fff;letter-spacing:4px;text-transform:uppercase;animation:slam-in .5s cubic-bezier(.22,1,.36,1) both}.venue-reveal{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);animation:fadeIn .5s ease-in .3s both}.venue-name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:#fffffff2}.venue-pills{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.venue-pill{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);color:#ffffffd9;font-size:var(--text-sm);font-weight:500}.venue-rule-pill{background:#ffab4033;border:1px solid rgba(255,200,120,.4);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);color:#ffffffe6;font-size:var(--text-sm);font-weight:600;animation:fadeIn .4s ease-in .5s both}.score-bars{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.score-bar{display:flex;align-items:center;gap:var(--space-3);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:#fff;opacity:0;transform:translate(-60px);transition:none;position:relative;overflow:hidden}.score-bar-fill{position:absolute;top:0;left:0;height:100%;width:0;opacity:.15;transition:width .8s cubic-bezier(.22,1,.36,1) .2s;pointer-events:none}.score-bar.visible .score-bar-fill{width:var(--fill-width, 0%)}.score-bar-fill.blue{background:var(--blue)}.score-bar-fill.green{background:var(--green)}.score-bar-fill.red{background:var(--red)}.score-bar-fill.purple{background:var(--purple)}.score-bar.visible{animation:slide-in-left .4s cubic-bezier(.22,1,.36,1) forwards}.score-bar.leader{border:1px solid rgba(255,215,0,.4);animation:slide-in-left .4s cubic-bezier(.22,1,.36,1) forwards,glow-pulse 2s ease-in-out .5s infinite}.score-bar-rank{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);flex-shrink:0;position:relative;z-index:1}.score-bar-rank.blue{background:var(--blue)}.score-bar-rank.green{background:var(--green)}.score-bar-rank.red{background:var(--red)}.score-bar-rank.purple{background:var(--purple)}.score-bar-name{flex:1;font-family:var(--font-display);font-weight:600;font-size:var(--text-base);letter-spacing:.5px;position:relative;z-index:1}.score-bar-total{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);min-width:44px;text-align:right;position:relative;z-index:1}.leader-badge{background:var(--gold-gradient);color:#1a1a2e;font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:var(--radius-pill);letter-spacing:1px;animation:fadeIn .3s ease-in both;position:relative;z-index:1}.snarky-pill{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);color:#ffffffe6;font-size:var(--text-base);font-weight:600;text-align:center;max-width:90vw;animation:slide-up-bounce .5s cubic-bezier(.34,1.56,.64,1) both}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes rotate-gradient{to{--border-angle: 360deg}}.team-card.leader:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-xl);padding:2px;background:conic-gradient(from var(--border-angle),#FFD700,#FFA500,#FFD700,#fff8dc,#FFD700);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rotate-gradient 3s linear infinite;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slam-in{0%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #ffd70033}50%{box-shadow:0 0 25px #ffd70066}}@keyframes slide-up-bounce{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes card-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.leaderboard.entering .team-card{animation:card-slide-up .5s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--card-index, 0) * 80ms)}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;overflow:hidden}@keyframes confetti-burst{0%{transform:translate(0) rotate(0) scale(1);opacity:1}to{transform:translate(calc(var(--x) * .5 + var(--drift)),calc(var(--y) + 100vh)) rotate(var(--r)) scale(0);opacity:0}}.confetti-particle{position:absolute;width:var(--size, 8px);height:var(--size, 8px);border-radius:2px;animation:confetti-burst 1.5s cubic-bezier(.25,.46,.45,.94) var(--delay, 0s) forwards}@media (max-width: 768px){body{padding:10px;padding:10px env(safe-area-inset-right) 10px env(safe-area-inset-left)}.container{padding:0 var(--space-1)}.header-brand{font-size:2.5rem;letter-spacing:4px}.leaderboard{max-width:100%;margin:0 0 var(--space-8);gap:var(--space-4)}.team-card{width:100%}.team-header{padding:var(--space-3) var(--space-4);flex-direction:row;align-items:center}.team-name{font-size:var(--text-base);letter-spacing:1px}.rank{width:38px;height:38px;font-size:var(--text-lg)}.team-card-body{padding:var(--space-3) var(--space-4)}.members{margin-bottom:var(--space-2);font-size:var(--text-xs)}.total-score{font-size:1.5rem;padding:var(--space-2);margin-bottom:var(--space-3)}.timeline-dot{width:28px;height:28px;font-size:var(--text-xs)}.timeline-connector{width:24px;top:14px;margin-right:14px}.timeline-label{top:36px;font-size:.65rem}.scorecard-strip{gap:var(--space-1)}.score-cell{padding:var(--space-1)}.score-cell-hole{font-size:.65rem}.score-cell-value{font-size:var(--text-base)}.mode-toggle{max-width:100%;margin-left:var(--space-3);margin-right:var(--space-3)}.mode-toggle button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.judge-panel{padding:var(--space-4)}.hole-selector{gap:var(--space-2)}.hole-selector button{min-width:64px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.hole-details{padding:var(--space-3)}.team-hole-card{padding:var(--space-4)}.score-entry-row{flex-direction:column}.score-entry-row select,.value-stepper{width:100%}.adjustment-row{grid-template-columns:1fr;gap:var(--space-2)}.remove-adjustment-button{width:100%}.value-stepper{justify-content:space-between}.primary-save-button{width:100%}.hole-save-bar{flex-direction:column;gap:var(--space-3)}.clear-all-button{width:100%}.clear-all-container{margin-top:var(--space-4)}.info-page{padding:var(--space-4)}.info-tabs button{min-width:auto;font-size:var(--text-xs)}.info-course-list,.info-card-grid{grid-template-columns:1fr}.animation-brand{font-size:1.5rem}.hole-number-big{font-size:2.5rem}.venue-name{font-size:var(--text-xl)}.scoreboard-reveal{gap:var(--space-4);padding:0 var(--space-4)}.score-bar{padding:var(--space-2) var(--space-3)}.score-bar-total{font-size:var(--text-xl)}.snarky-pill{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.quick-penalty-button{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.hole-rule{font-size:var(--text-sm)}.pre-tee-lunch{padding:var(--space-3) var(--space-4)}}@media (min-width: 768px){body{padding:var(--space-5)}.team-hole-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-height: 500px) and (orientation: landscape){.animation-overlay{height:100vh;height:100dvh}.hole-number-big{font-size:2rem}.venue-name{font-size:var(--text-lg)}.score-bar{padding:var(--space-1) var(--space-3)}.snarky-pill{font-size:var(--text-xs)}.scoreboard-reveal{gap:var(--space-2)}}
