*{box-sizing:border-box;margin:0;padding:0}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;--color-primary: #4a7c59;--color-primary-light: #5a9469;--color-primary-dark: #3d6849;--color-secondary: #ffffff;--color-background: #4a7c59;--color-surface: #f5f3ed;--color-border: #e0e0e0;--color-text: #1a1a1a;--color-text-light: #666666;--color-text-secondary: #888888;--color-success: #28a745;--color-success-light: #34ce57;--color-warning: #f9a620;--color-error: #b7472a;--color-error-light: #d4563a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--touch-target: 44px;--border-radius-sm: 4px;--border-radius: 4px;--border-radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text);font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1{font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}h2{font-size:1.5rem;font-weight:600;line-height:1.3;margin-bottom:var(--spacing-sm)}h3{font-size:1.25rem;font-weight:600;line-height:1.4;margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-md)}button{min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-weight:600;font-family:inherit;border:2px solid var(--color-primary);border-radius:var(--border-radius);background-color:var(--color-primary);color:var(--color-secondary);cursor:pointer;transition:all var(--transition-normal);-webkit-appearance:none;-moz-appearance:none;appearance:none}button:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}button:focus{outline:none;box-shadow:0 0 0 3px #4a7c5933}button:active:not(:disabled){transform:translateY(1px);background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button.secondary{background-color:transparent;color:var(--color-primary)}button.secondary:hover:not(:disabled){background-color:var(--color-surface)}button.secondary:active:not(:disabled){background-color:var(--color-border)}input,select,textarea{min-height:var(--touch-target);padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-family:inherit;border:2px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-secondary);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a7c5926}input::placeholder,textarea::placeholder{color:var(--color-text-light);opacity:.7}.container{width:100%;max-width:480px;margin:0 auto;padding:var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}@media (min-width: 768px){.container{max-width:600px;padding:var(--spacing-lg)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}}@media (min-width: 1024px){.container{max-width:800px}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:var(--color-surface)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:var(--border-radius);padding:var(--spacing-xl);box-shadow:0 2px 8px #0000001a;text-align:center}.error-boundary-content h1{color:var(--color-error);margin-bottom:var(--spacing-md)}.error-message{color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.error-details{text-align:left;margin:var(--spacing-lg) 0;padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--border-radius);border:1px solid var(--color-border)}.error-details summary{cursor:pointer;font-weight:600;color:var(--color-text);padding:var(--spacing-sm);-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--color-primary)}.error-text{color:var(--color-error);font-family:Courier New,monospace;font-size:.875rem;margin:var(--spacing-md) 0;padding:var(--spacing-sm);background-color:#fff;border-left:3px solid var(--color-error)}.error-stack{font-family:Courier New,monospace;font-size:.75rem;color:var(--color-text-light);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin-top:var(--spacing-sm)}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.error-actions .btn{min-width:140px}.btn-secondary{background-color:var(--color-text-light);color:#fff}.btn-secondary:hover{background-color:var(--color-text)}.app-header{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-bottom:1px solid rgba(255,255,255,.15);padding:var(--spacing-sm) 0;box-shadow:var(--shadow-md)}.header-content{max-width:480px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.header-content h1{margin:0;color:var(--color-secondary);font-size:1.25rem;font-weight:700;display:none;letter-spacing:-.01em}.user-info{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--spacing-sm);font-size:.875rem;color:#ffffffe6}.header-logo{height:80px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.sign-out-button{padding:var(--spacing-xs) var(--spacing-md);background:#ffffff1f;color:var(--color-secondary);border:1px solid rgba(255,255,255,.25);border-radius:var(--border-radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-height:36px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sign-out-button:hover{background:#ffffff38;border-color:#fff6}.sign-out-button:active{background:#ffffff4d}@media (min-width: 768px){.header-content h1{display:block}.user-info{width:auto}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.1)}.auth-logo-container{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.auth-logo{height:100px;width:auto;object-fit:contain}.auth-title{font-size:1.75rem;font-weight:700;text-align:center;color:var(--color-text);margin-bottom:var(--spacing-xs);letter-spacing:-.02em}.auth-subtitle{text-align:center;color:var(--color-text-light);margin-bottom:var(--spacing-xl);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-button{width:100%;padding:var(--spacing-md);border-radius:var(--border-radius);font-size:1rem;font-weight:600;border:2px solid transparent;cursor:pointer;transition:all var(--transition-normal);min-height:52px}.auth-button.primary{background-color:var(--color-primary);color:var(--color-secondary);border-color:var(--color-primary)}.auth-button.primary:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.auth-button.primary:active:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(1px)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background-color:#b7472a1a;color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(183,71,42,.2)}.auth-success{background-color:#28a7451a;color:var(--color-success);padding:var(--spacing-md);border-radius:var(--border-radius);text-align:center;border:1px solid rgba(40,167,69,.2)}.auth-success p{margin-bottom:var(--spacing-md)}.auth-links{margin-top:var(--spacing-lg);text-align:center}.auth-divider{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-md);color:var(--color-text-light);font-size:.9rem}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:none;font-size:inherit;font-weight:600;padding:0;transition:color var(--transition-fast)}.link-button:hover:not(:disabled){color:var(--color-primary-light);text-decoration:underline}.link-button:disabled{opacity:.6;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:var(--spacing-md)}.loading-spinner{width:44px;height:44px;border:3px solid rgba(74,124,89,.2);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.app-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.app-main{flex:1;display:flex;flex-direction:column}.screen{flex:1;padding:var(--spacing-md);max-width:480px;margin:0 auto;width:100%}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-text);font-size:.95rem}.form-input{width:100%}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper .form-input{padding-right:60px}.password-toggle{position:absolute;right:0;top:0;height:100%;min-height:var(--touch-target);min-width:auto;padding:0 var(--spacing-md);background:transparent!important;background-color:transparent!important;border:none!important;color:var(--color-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;outline:none}.password-toggle:hover:not(:disabled){color:var(--color-primary-light);background-color:transparent!important}.password-toggle:focus{box-shadow:none}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--color-error);font-size:.875rem;margin-top:var(--spacing-xs);font-weight:500}.button-group{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.button-group button{flex:1}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.card-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.card-description{color:var(--color-text-light);font-size:.9rem;margin-top:var(--spacing-xs)}.table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md)}.table th,.table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border)}.table th{background-color:var(--color-surface);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.table tbody tr:hover{background-color:var(--color-surface)}.matchup{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.matchup-players{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.matchup-player{font-weight:600;font-size:1.125rem}.matchup-vs{color:var(--color-text-light);font-weight:400}.matchup-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-sm);align-items:center}.matchup-controls button{font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.winner-row{background-color:#28a7451a;border-left:4px solid var(--color-success)}.loading{opacity:.6;pointer-events:none}.match-setup-form{margin-bottom:var(--spacing-lg)}.resume-card{background-color:#28a7450f;border:2px solid var(--color-success);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);box-shadow:0 2px 8px #28a74514}.resume-card .card-header{border-bottom-color:#28a74526}.resume-card .card-title{color:var(--color-success)}.resume-match-button{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-secondary);font-weight:700;font-size:1.125rem;min-height:52px;width:100%}.resume-match-button:hover:not(:disabled){background-color:var(--color-success-light);border-color:var(--color-success-light)}.resume-match-button:active:not(:disabled){background-color:#1e7e34;border-color:#1e7e34}.form-errors{background-color:#b7472a14;border:1px solid rgba(183,71,42,.3);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-error)}.start-match-button{background-color:var(--color-success);border-color:var(--color-success);font-weight:700;font-size:1.125rem;min-height:52px}.start-match-button:hover:not(:disabled){background-color:var(--color-success-light);border-color:var(--color-success-light)}.start-match-button:active:not(:disabled){background-color:#1e7e34;border-color:#1e7e34}.start-match-button:disabled{background-color:var(--color-success);border-color:var(--color-success)}.match-info{background-color:#4a7c590d;border:1px solid rgba(74,124,89,.15);border-radius:var(--border-radius);padding:var(--spacing-md);margin-top:var(--spacing-md)}.match-info h3{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.125rem;font-weight:700}.info-list{list-style:none;padding:0;margin:0}.info-list li{padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative;color:var(--color-text-light);font-size:.9rem}.info-list li:before{content:"";width:6px;height:6px;background-color:var(--color-primary);border-radius:50%;position:absolute;left:0;top:50%;transform:translateY(-50%)}.match-setup-form .form-input{font-size:1.125rem;min-height:48px;border-width:2px;transition:all var(--transition-fast)}.match-setup-form .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a7c591f}.form-input-error{border-color:var(--color-error)!important;box-shadow:0 0 0 3px #b7472a1a!important}.match-setup-form .form-label{font-size:1rem;font-weight:600;color:var(--color-text)}.hole-header{text-align:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid rgba(255,255,255,.15)}.hole-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.hole-info{flex:1;text-align:center}.hole-status{font-size:.875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);text-transform:uppercase;letter-spacing:.05em}.hole-status.current{background-color:#28a74526;color:var(--color-success);border:1px solid var(--color-success)}.hole-status.completed{background-color:#4a7c5926;color:var(--color-primary-light);border:1px solid var(--color-primary-light)}.hole-progress-text{font-size:.875rem;color:#fffc;font-weight:600}.nav-button{background-color:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);font-weight:600;font-size:1rem;min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);transition:all var(--transition-normal);min-width:100px}.nav-button:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-secondary);color:var(--color-primary)}.nav-button:active:not(:disabled){transform:translateY(1px)}.nav-button:disabled{background-color:#ffffff80;border-color:transparent;color:var(--color-text-light);cursor:not-allowed;opacity:.6}.nav-button-prev{text-align:left}.nav-button-next{text-align:right}.hole-title{color:var(--color-secondary);font-size:2rem;font-weight:600;margin-bottom:var(--spacing-md);letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hole-progress{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.progress-bar{width:100%;max-width:200px;height:8px;background-color:#ffffff40;overflow:visible;position:relative;border-radius:4px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-light) 100%);transition:width var(--transition-slow);position:relative;border-radius:4px}.progress-flag{position:absolute;right:-11px;width:30px;transform:translate(8px,-50%);object-fit:contain;z-index:10;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.progress-text{font-size:.875rem;color:#fffc;font-weight:600}.matchups-container{margin-bottom:var(--spacing-lg)}.matchup{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.matchup-header{text-align:center;margin-bottom:var(--spacing-sm)}.matchup-title{color:var(--color-primary);font-size:.875rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.05em}.matchup-players{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0}.matchup-player{font-weight:700;font-size:1.25rem;color:var(--color-text);flex:1;text-align:center}.matchup-vs{color:var(--color-text-light);font-weight:600;font-size:1rem;margin:0 var(--spacing-sm)}.matchup-controls{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm)}.matchup-button{min-height:52px;font-size:1.125rem;font-weight:600;border:2px solid var(--color-border);background-color:var(--color-secondary);color:var(--color-text);border-radius:var(--border-radius);transition:all var(--transition-normal)}.matchup-button:hover:not(:disabled):not(.selected){border-color:var(--color-primary);background-color:#4a7c590d}.matchup-button:active:not(:disabled){transform:translateY(1px)}.matchup-button.selected{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-secondary);font-weight:700;box-shadow:0 2px 8px #28a74540}.matchup-button.selected:hover:not(:disabled){background-color:var(--color-success-light);border-color:var(--color-success-light)}.quick-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.quick-action-button{flex:1;min-height:44px;font-size:.9rem;font-weight:600;border-radius:var(--border-radius);transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.quick-action-primary{background-color:var(--color-secondary);border:3px solid var(--color-primary);color:var(--color-text);font-size:1rem;font-weight:700;box-shadow:var(--shadow-md)}.quick-action-primary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-primary-dark)}.quick-action-secondary{background-color:transparent;border:2px solid rgba(255,255,255,.3);color:var(--color-secondary)}.quick-action-secondary:hover:not(:disabled){background-color:#ffffff1a;border-color:#ffffff80}.quick-action-button:active:not(:disabled){transform:translateY(1px)}.standings-card{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.standings-title{color:var(--color-primary);font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-md);text-align:center}.standings-table{display:grid;gap:var(--spacing-xs)}.standings-header,.standings-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:var(--spacing-xs);padding:var(--spacing-sm);align-items:center}.standings-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-secondary);border-radius:var(--border-radius);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.standings-row{background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);font-weight:600;transition:background-color var(--transition-fast)}.standings-row:hover{background-color:var(--color-surface)}.standings-row:nth-child(2){background-color:#28a74514;border:2px solid var(--color-success);border-left:4px solid var(--color-success)}.player-name{font-weight:700;color:var(--color-text)}.points{font-weight:700;color:var(--color-success);font-size:1.125rem}.next-hole-container,.action-buttons-container{text-align:center}.validation-message{background-color:#f9a6201a;border:2px solid var(--color-warning);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);color:#7d5a00;font-weight:600;font-size:1rem}.next-hole-button{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-secondary);font-weight:700;font-size:1.25rem;min-height:56px;padding:var(--spacing-md) var(--spacing-xl);width:100%;max-width:300px}.next-hole-button:hover:not(:disabled){background-color:var(--color-success-light);border-color:var(--color-success-light)}.next-hole-button:active:not(:disabled){transform:translateY(1px);background-color:#1e7e34;border-color:#1e7e34}.next-hole-button:disabled{background-color:var(--color-border);border-color:var(--color-border);color:var(--color-text-light)}.update-results-button{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-secondary);font-weight:700;font-size:1.25rem;min-height:56px;padding:var(--spacing-md) var(--spacing-xl);width:100%;max-width:300px}.update-results-button:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.update-results-button:active:not(:disabled){transform:translateY(1px);background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.update-results-button:disabled{background-color:var(--color-border);border-color:var(--color-border);color:var(--color-text-light)}.points-table-container{width:100%}.points-table{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.points-table-header,.points-table-row{display:grid;grid-template-columns:2.5fr 1fr 1.5fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);align-items:center;border-radius:var(--border-radius-sm)}.points-table-header:has(.header-pos),.points-table-row:has(.cell-pos){grid-template-columns:.5fr 2fr 1fr 1.5fr}.points-table-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-secondary);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.points-table-row{background-color:var(--color-secondary);border:1px solid var(--color-border);font-weight:600;transition:all var(--transition-fast)}.points-table-row:hover{background-color:var(--color-surface)}.header-pos{text-align:center}.header-player{text-align:left}.header-points,.header-record{text-align:center}.cell-pos{text-align:center;font-weight:600;color:var(--color-text-light);font-size:.875rem}.cell-player{font-weight:700;color:var(--color-text);text-align:left;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cell-points{font-weight:800;color:var(--color-primary);font-size:1.25rem;text-align:center}.cell-record{display:flex;align-items:center;justify-content:center;gap:2px;font-size:.875rem}.record-wins,.record-draws,.record-losses{color:var(--color-text);font-weight:600}.record-sep{color:var(--color-text-light);font-weight:400}.leader-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-success);color:var(--color-secondary);border-radius:50%;font-weight:700;font-size:.75rem}.points-table-row.winner-row{background-color:#28a7451f;border:2px solid var(--color-success)}.points-table-row.winner-row:hover{background-color:#28a7452e}.points-table-row.winner-row .cell-player{color:var(--color-success);font-weight:800}.points-table-row.winner-row .cell-points{color:var(--color-success)}.standings-card-overlay{padding:var(--spacing-sm)}.standings-card-overlay .points-table-header,.standings-card-overlay .points-table-row{padding:var(--spacing-md) var(--spacing-md);font-size:1.1rem}.standings-card-overlay .cell-player{font-size:1.1rem}.standings-card-overlay .cell-points{font-size:1.2rem}.final-results-header{text-align:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid rgba(255,255,255,.15)}.final-results-title{color:var(--color-secondary);font-size:2rem;font-weight:800;margin-bottom:var(--spacing-sm);letter-spacing:-.02em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.final-results-subtitle{color:#ffffffd9;font-size:1.125rem;font-weight:600;margin:0}.final-results-table{margin-bottom:var(--spacing-lg)}.final-results-table .final-table{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.new-match-container{text-align:center}.new-match-button{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-secondary);font-weight:700;font-size:1.25rem;min-height:56px;padding:var(--spacing-md) var(--spacing-xl);width:100%;max-width:300px}.new-match-button:hover:not(:disabled){background-color:var(--color-success-light);border-color:var(--color-success-light)}.new-match-button:active:not(:disabled){transform:translateY(1px);background-color:#1e7e34;border-color:#1e7e34}@media (max-width: 480px){.hole-navigation{gap:var(--spacing-xs)}.nav-button{font-size:.875rem;min-height:44px;padding:var(--spacing-xs) var(--spacing-sm);min-width:80px}.hole-title{font-size:1.75rem}.points-table-header,.points-table-row{grid-template-columns:2fr .8fr 1fr .8fr .8fr .8fr;padding:var(--spacing-xs);font-size:.875rem}.points-table-header{font-size:.75rem}.cell-player{font-size:.9rem}.cell-points{font-size:1rem}}@media (min-width: 768px){.screen{padding:var(--spacing-lg)}.matchup-controls{grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md)}.matchup-button{min-height:56px;font-size:1.25rem}.button-group{gap:var(--spacing-md)}.match-setup-form .form-input{font-size:1.25rem;min-height:52px}.start-match-button{font-size:1.25rem;min-height:56px}.hole-title{font-size:2.5rem}.matchup-player{font-size:1.5rem}.standings-header,.standings-row{padding:var(--spacing-md)}}.spectator-link{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--color-text-light);font-size:.9rem}.share-code-input{width:100%;max-width:200px;margin:0 auto;display:block;text-align:center;font-size:2rem;font-weight:700;letter-spacing:.5em;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius);font-family:monospace;transition:all var(--transition-fast)}.share-code-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #4a7c5926}.share-code-input::placeholder{color:var(--color-text-light);opacity:.5;letter-spacing:.2em}.share-code-card{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);text-align:center;margin-top:var(--spacing-md);box-shadow:var(--shadow-sm)}.share-code-label{font-size:.875rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.share-code-value{font-size:2rem;font-weight:700;font-family:monospace;letter-spacing:.3em;color:var(--color-primary);padding:var(--spacing-sm) 0}.share-code-hint{font-size:.8rem;color:var(--color-text-light);margin-top:var(--spacing-xs)}.share-code-loading,.share-code-error{font-size:.9rem;color:var(--color-text-light);padding:var(--spacing-sm)}.share-code-error{color:var(--color-error)}.spectator-header{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.spectator-header .header-content{display:flex;justify-content:space-between;align-items:center}.spectator-badge{background-color:#ffffff26;color:var(--color-secondary);font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(255,255,255,.2)}.spectator-container{padding:var(--spacing-md);max-width:480px;margin:0 auto;width:100%}.spectator-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border-radius:var(--border-radius);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.status-info{font-weight:600}.status-in-progress{color:var(--color-primary)}.status-complete{color:var(--color-success)}.last-updated{font-size:.8rem;color:var(--color-text-light)}.spectator-progress{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.spectator-progress .progress-label{font-size:.875rem;color:var(--color-text-light);text-align:center;margin-bottom:var(--spacing-sm)}.spectator-progress .progress-bar{max-width:100%;border-radius:var(--border-radius);background-color:var(--color-border)}.spectator-footer{margin-top:var(--spacing-lg);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.refresh-button{background-color:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);font-weight:600;font-size:1rem;min-height:44px;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal)}.refresh-button:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-secondary)}.refresh-button:active{transform:translateY(1px)}.spectator-error{text-align:center;padding:var(--spacing-xl)}.spectator-actions{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.spectator-actions .auth-button.secondary{background-color:var(--color-surface);border:2px solid var(--color-primary);color:var(--color-primary);min-width:200px}.spectator-actions .auth-button.secondary:hover{background-color:var(--color-primary);color:var(--color-secondary)}.burger-menu{position:relative}.burger-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;background:var(--color-secondary);border:2px solid var(--color-border);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--border-radius);transition:all var(--transition-normal)}.burger-menu-button:hover{background-color:var(--color-surface);border-color:var(--color-primary)}.burger-line{display:block;width:20px;height:2px;background-color:var(--color-primary);border-radius:2px;transition:all var(--transition-normal)}.burger-menu-backdrop{position:fixed;inset:0;background-color:#0006;z-index:100;animation:fadeIn .15s ease}.burger-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);z-index:101;overflow:hidden;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.burger-menu-item{display:block;width:100%;padding:var(--spacing-md);background-color:var(--color-secondary);border:none;text-align:left;font-size:1rem;font-weight:600;color:var(--color-text);cursor:pointer;min-height:auto;transition:background-color var(--transition-fast)}.burger-menu-item:hover{background-color:var(--color-surface)}.burger-menu-item:focus,.burger-menu-item:active{background-color:var(--color-secondary);outline:none;box-shadow:none;transform:none}.burger-menu-item:not(:last-child){border-bottom:1px solid var(--color-border)}.burger-menu-item.confirming{background-color:var(--color-error);color:var(--color-secondary)}.burger-menu-item.confirming:hover{background-color:var(--color-error-light)}.burger-menu-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-xs) 0}.app-header .burger-menu-button{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-header .burger-menu-button:hover{background:#ffffff38;border-color:#fff6}.app-header .burger-line{background-color:var(--color-secondary)}.overlay-container{position:fixed;inset:0;background-color:var(--color-background);z-index:200;display:flex;flex-direction:column;overflow-y:auto;animation:overlaySlideIn .2s ease}@keyframes overlaySlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overlay-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-secondary);min-height:60px;box-shadow:var(--shadow-md)}.overlay-back-button{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:var(--color-secondary);font-size:1rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-normal);min-height:36px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-back-button:hover{background:#ffffff38;border-color:#fff6}.overlay-back-button:active{transform:translateY(1px)}.overlay-title{font-size:1.25rem;font-weight:700;margin:0;text-align:center;flex:1;letter-spacing:-.01em}.overlay-header-spacer{width:80px}.overlay-content{flex:1;padding:var(--spacing-md);max-width:600px;margin:0 auto;width:100%}.overlay-card{background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.share-overlay-card{text-align:center;padding:var(--spacing-xl)}.share-overlay-loading,.share-overlay-error{font-size:1rem;color:var(--color-text-light);padding:var(--spacing-lg)}.share-overlay-error{color:var(--color-error)}.share-overlay-label{font-size:1rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md)}.share-overlay-code{font-size:3rem;font-weight:700;font-family:monospace;letter-spacing:.4em;color:var(--color-primary);padding:var(--spacing-lg) 0;background-color:#4a7c5914;border-radius:var(--border-radius);margin-bottom:var(--spacing-lg)}.share-overlay-hint{font-size:.95rem;color:var(--color-text-light);line-height:1.5;margin-bottom:var(--spacing-lg)}.share-overlay-copy-button{width:100%;min-height:48px;font-size:1rem;font-weight:600;border:2px solid var(--color-primary);background-color:var(--color-primary);color:var(--color-secondary);border-radius:var(--border-radius);transition:all var(--transition-normal)}.share-overlay-copy-button:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.share-overlay-copy-button:active:not(:disabled){transform:translateY(1px);background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.bottom-sheet-backdrop{position:fixed;inset:0;background-color:#0006;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{background-color:var(--color-surface);border-radius:16px 16px 0 0;max-height:60vh;width:100%;max-width:480px;display:flex;flex-direction:column;animation:slideUp .2s ease;outline:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-handle-container{display:flex;justify-content:center;padding:var(--spacing-md) 0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.bottom-sheet-handle-container:active{cursor:grabbing}.bottom-sheet-handle{width:40px;height:4px;background-color:var(--color-border);border-radius:2px;transition:background-color var(--transition-fast),width var(--transition-fast)}.bottom-sheet-handle-container:hover .bottom-sheet-handle{background-color:var(--color-text-light);width:48px}.bottom-sheet-dragging{-webkit-user-select:none;user-select:none}.bottom-sheet-dragging .bottom-sheet-handle{background-color:var(--color-primary);width:48px}.bottom-sheet-header{padding:0 var(--spacing-md) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.bottom-sheet-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text);text-align:center}.bottom-sheet-content{flex:1;overflow-y:auto;padding:var(--spacing-md);-webkit-overflow-scrolling:touch}.bottom-sheet-content .points-table-header,.bottom-sheet-content .points-table-row{padding:var(--spacing-sm) var(--spacing-md);font-size:1rem}.fab{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);min-height:48px;border-radius:24px;background-color:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary);font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000004d;z-index:100;cursor:pointer;transition:all var(--transition-normal)}.fab:hover:not(:disabled){background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 6px 20px #00000059}.fab:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0003}.fab:focus{outline:none;box-shadow:0 4px 16px #0000004d,0 0 0 3px #4a7c594d}
