*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a1a0a;margin:0}#root{min-height:100vh}h1,h2,h3{margin:0}html,body{overscroll-behavior-y:contain}.app{color:#e0e0e0;background:#0a1a0a;min-height:100vh;font-family:system-ui,-apple-system,sans-serif}.text-link{color:#ffffff59;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:12px;transition:color .2s}.text-link:hover{color:#ffd700b3}.ptr-indicator{color:#ccc;z-index:100;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141e14f2;border:1px solid #2a3a2a;border-top:none;border-radius:0 0 12px 12px;align-items:center;gap:10px;padding:12px 18px;font-size:13px;transition:opacity .15s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.ptr-spinner{border:2px solid #ffd70033;border-top-color:gold;border-radius:50%;width:16px;height:16px}.ptr-refreshing .ptr-spinner{animation:.8s linear infinite ptr-spin}.ptr-refreshing{transition:transform .2s,opacity .15s}@keyframes ptr-spin{to{transform:rotate(360deg)}}.app-header{background:linear-gradient(135deg,#006400 0%,#004d00 100%);border-bottom:3px solid gold;justify-content:space-between;align-items:center;padding:20px 32px;display:flex;box-shadow:0 2px 20px #00640066}.app-header h1{color:#fff;letter-spacing:1px;text-transform:uppercase;margin:0;font-size:28px;font-weight:700}.event-info{color:gold;margin-top:4px;font-size:14px}.reset-btn{color:#ffffff59;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;transition:color .2s}.reset-btn:hover{color:#ff6464b3}.error-bar{color:#f99;background:#4a1111;border-bottom:1px solid #622;padding:12px 32px;font-size:14px}.step{max-width:1200px;margin:0 auto;padding:40px 32px}.owners-step{text-align:center;max-width:600px}.owners-step h2{color:gold;margin:0 0 8px;font-size:24px}.step-desc{color:#888;margin-bottom:32px}.owners-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.owner-row{align-items:center;gap:10px;display:flex}.owner-num{color:#888;background:#1a2a1a;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.owner-row input{color:#fff;background:#1a2a1a;border:2px solid #2a3a2a;border-radius:8px;flex:1;padding:12px 16px;font-size:16px;transition:border-color .2s}.owner-row input:focus{border-color:gold;outline:none}.remove-owner{color:#666;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.remove-owner:hover{color:#f66;border-color:#f66}.btn-add-owner{color:#666;cursor:pointer;background:0 0;border:2px dashed #2a3a2a;border-radius:8px;width:100%;margin-bottom:24px;padding:10px;font-size:14px;transition:all .2s}.btn-add-owner:hover{color:gold;border-color:gold}.draft-complete-banner{background:linear-gradient(90deg,#0a2a0a,#0a1a0a);border-color:#4caf50}.btn-primary{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#006400,green);border:none;border-radius:8px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,green,#00a000);box-shadow:0 4px 15px #00800066}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#aaa;cursor:pointer;background:#ffffff0d;border:1px solid #333;border-radius:8px;padding:10px 20px;font-size:14px;transition:all .2s}.btn-secondary:hover:not(:disabled){color:#fff;background:#ffffff1a}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.draft-banner{background:linear-gradient(90deg,#1a2a1a,#0a1a0a);border:2px solid gold;border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:16px 24px;display:flex}.picking-label{color:#888;font-size:14px}.picking-name{color:gold;flex:1;font-size:20px;font-weight:700}.pick-num{color:#666;font-size:13px}.draft-layout{grid-template-columns:300px 1fr;gap:24px;margin-bottom:24px;display:grid}@media (width<=768px){.draft-layout{grid-template-columns:1fr}}.draft-teams h3,.pool-controls h3{color:#999;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:13px}.team-card{background:#111;border:1px solid #222;border-radius:8px;margin-bottom:8px;transition:border-color .2s;overflow:hidden}.team-card.active-team{border-color:gold;box-shadow:0 0 10px #ffd7001a}.team-card-header{background:#ffffff08;justify-content:space-between;padding:10px 14px;display:flex}.team-owner{color:#ddd;font-size:14px;font-weight:600}.team-count{color:#666;font-size:12px}.team-golfers{padding:4px 14px 10px}.drafted-golfer{color:#aaa;gap:6px;padding:3px 0;font-size:13px;display:flex}.pick-order{color:#555;min-width:18px}.empty-team{color:#444;padding:4px 0;font-size:13px;font-style:italic}.pool-controls{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.search-box{color:#fff;background:#111;border:1px solid #333;border-radius:6px;width:220px;padding:8px 14px;font-size:14px}.search-box:focus{border-color:gold;outline:none}.golfer-list{background:#0d0d0d;border:1px solid #222;border-radius:8px;flex-direction:column;gap:2px;max-height:500px;display:flex;overflow-y:auto}.golfer-list::-webkit-scrollbar{width:6px}.golfer-list::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.golfer-row{color:#ddd;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:background .15s;display:flex}.golfer-row:hover{background:#1a2a1a}.g-name{font-weight:500}.g-meta{color:#666;gap:10px;font-size:13px;display:flex}.g-pos{color:#888}.draft-actions{justify-content:center;gap:12px;display:flex}.scores-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.toolbar-left{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.toolbar-left h2{color:gold;margin:0;font-size:24px}.last-updated{color:#555;font-size:13px}.scoring-legend{background:#111;border:1px solid #222;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;font-size:13px;display:flex}.legend-title{color:#888;font-weight:600}.l-eagle{color:gold}.l-birdie{color:#4caf50}.l-par{color:#90caf9}.l-bogey{color:#ef9a9a}.l-dbl{color:#e57373}.l-bonus{color:#ce93d8}.payout-banner{background:linear-gradient(135deg,#1a2a1a,#0d1a0d);border:1px solid #2a3a2a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding:16px 20px;display:flex}.payout-summary{align-items:baseline;gap:10px;display:flex}.pot-label{color:#888;text-transform:uppercase;letter-spacing:1px;font-size:12px}.pot-value{color:gold;font-size:28px;font-weight:800}.pot-detail{color:#555;font-size:12px}.outright-note{color:#ddd;flex:1;min-width:200px;font-size:14px}.outright-note.muted{color:#777;font-style:italic}.outright-note strong{color:gold}.projected-label{color:#666;text-transform:uppercase;letter-spacing:1px;border:1px solid #333;border-radius:4px;padding:4px 10px;font-size:11px}.lb-payout{border-radius:6px;margin-right:12px;padding:4px 10px;font-size:16px;font-weight:700}.pay-pos{color:#4caf50;background:#4caf5026}.pay-neg{color:#e57373;background:#e573731f}.leaderboard{flex-direction:column;gap:20px;display:flex}.lb-team{background:#111;border:1px solid #222;border-radius:12px;overflow:hidden}.lb-leader{border-color:gold;box-shadow:0 0 20px #ffd7001a}.lb-team-header{background:#ffffff08;border-bottom:1px solid #222;align-items:center;gap:16px;padding:16px 20px;display:flex}.lb-rank{color:#888;min-width:40px;font-size:20px;font-weight:700}.lb-leader .lb-rank{color:gold}.lb-owner{color:#fff;flex:1;font-size:18px;font-weight:700}.lb-total{color:#4caf50;font-size:24px;font-weight:800}.lb-leader .lb-total{color:gold}.scores-table{border-collapse:collapse;width:100%;font-size:14px}.scores-table th{text-align:center;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #1a1a1a;padding:10px 8px;font-size:12px;font-weight:600}.scores-table th.col-name{text-align:left;padding-left:20px}.scores-table td{text-align:center;border-bottom:1px solid #1a1a1a;padding:10px 8px}.scores-table td.col-name{text-align:left;color:#ddd;padding-left:20px;font-weight:500}.next-tee{color:#6a8a6a;letter-spacing:.2px;margin-top:2px;font-size:11px;font-weight:400}.golfer-score-row{cursor:pointer;transition:background .15s}.golfer-score-row:hover{background:#ffffff08}.golfer-score-row.expanded{background:#ffd7000d}.col-round.positive{color:#4caf50}.col-round.negative{color:#e57373}.col-bonus{color:#ce93d8}.col-total{color:#fff;font-size:15px}.scores-table th.col-total{text-align:center}.detail-row td{background:#0000004d;padding:12px 20px}.round-detail{margin-bottom:8px}.round-detail strong{color:#999;margin-bottom:6px;font-size:12px;display:block}.hole-chips{flex-wrap:wrap;gap:4px;display:flex}.hole-chip{color:#888;background:#1a1a1a;border-radius:4px;flex-direction:column;align-items:center;min-width:28px;padding:4px 6px;font-size:11px;display:inline-flex}.hole-chip small{margin-top:1px;font-size:9px}.chip-eagle{color:gold;background:#3d3000}.chip-birdie{color:#4caf50;background:#1a2e1a}.chip-par{color:#90caf9;background:#1a2030}.chip-bogey{color:#ef9a9a;background:#2e1a1a}.chip-dbl{color:#e57373;background:#3a1111}.bf-badge{color:#ce93d8;background:#2e1a3e;border-radius:4px;margin-top:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.loading-msg{text-align:center;color:#555;padding:40px;font-size:15px}@media (width<=768px){.app-header{gap:10px;padding:14px 16px}.app-header h1{letter-spacing:.5px;font-size:18px}.event-info{font-size:12px}.reset-btn{flex-shrink:0;padding:4px 8px;font-size:10px}.step{padding:20px 14px}.owners-step h2,.toolbar-left h2{font-size:20px}.btn-primary{width:100%;padding:14px 20px;font-size:15px}.btn-secondary{padding:12px 16px;font-size:14px}.owner-row input{padding:12px 14px;font-size:16px}.draft-banner{flex-wrap:wrap;gap:6px;padding:12px 14px}.picking-name{flex:100%;order:1;font-size:17px}.picking-label{order:0;font-size:12px}.pick-num{flex:100%;order:2;font-size:11px}.draft-layout{grid-template-columns:1fr;gap:16px}.draft-teams{-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px 4px;overflow-x:auto}.draft-teams h3{margin-bottom:8px}.team-card{vertical-align:top;width:180px;margin-bottom:0;margin-right:8px;display:inline-block}.team-card-header{padding:8px 12px}.team-golfers{min-height:60px;padding:4px 12px 8px}.pool-controls{flex-direction:column;align-items:stretch;gap:8px}.search-box{width:100%;padding:12px 14px;font-size:16px}.golfer-list{max-height:60vh}.golfer-row{padding:14px;font-size:15px}.draft-actions{flex-direction:column-reverse;gap:8px}.draft-actions>button{width:100%}.scores-toolbar{align-items:center}.toolbar-left h2{font-size:20px}.payout-banner{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px}.payout-summary{justify-content:space-between;width:100%}.pot-value{font-size:24px}.outright-note{font-size:13px}.lb-payout{margin-right:8px;padding:3px 8px;font-size:14px}.scoring-legend{grid-template-columns:repeat(2,1fr);gap:6px 12px;padding:10px 12px;font-size:12px;display:grid}.legend-title{text-transform:uppercase;letter-spacing:.5px;grid-column:1/-1;font-size:11px}.lb-team-header{gap:10px;padding:12px 14px}.lb-rank{min-width:30px;font-size:17px}.lb-owner{font-size:16px}.lb-total{font-size:22px}.scores-table{font-size:14px}.scores-table th.col-r1,.scores-table th.col-r2,.scores-table th.col-r3,.scores-table th.col-r4,.scores-table th.col-holes,.scores-table td.col-r1,.scores-table td.col-r2,.scores-table td.col-r3,.scores-table td.col-r4,.scores-table td.col-holes{display:none}.scores-table th,.scores-table td{padding:12px 8px}.scores-table td.col-name{padding-left:14px;font-size:14px}.scores-table td.col-bonus{font-size:13px}.scores-table td.col-total{padding-right:14px;font-size:17px}.golfer-score-row{-webkit-tap-highlight-color:#ffd7001a}.detail-row td{padding:12px 14px}.hole-chip{min-width:32px;padding:5px 6px;font-size:12px}.hole-chip small{font-size:10px}}@media (width<=380px){.app-header h1{font-size:16px}.scoring-legend{grid-template-columns:1fr 1fr;font-size:11px}.lb-owner{font-size:15px}.lb-total{font-size:20px}}
