:root{--bg3: #12121a;--border-hover: #333;--accent: #00c896;--accent-glow: rgba(0,200,150,.05);--gold: #f59e0b;--red: #e74c3c;--text1: #fff;--radius: 10px}.tourney-card{background:linear-gradient(135deg,var(--bg2),#0d1117);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;transition:border-color .3s;position:relative;overflow:hidden}.tourney-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));opacity:.8}.tourney-card:hover{border-color:#00c8964d}.tourney-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.tourney-name{font-size:22px;font-weight:800;color:var(--text1);margin-bottom:4px;letter-spacing:-.3px}.tourney-course{font-size:13px;color:var(--text2);margin-bottom:10px}.tourney-meta{display:flex;flex-wrap:wrap;gap:8px}.tourney-meta .meta-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text2);transition:border-color .2s}.tourney-meta .meta-pill:hover{border-color:#444}.tourney-meta .meta-icon{font-size:11px}.tourney-status{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.status-pre{background:#f59e0b26;color:var(--gold);border:1px solid rgba(245,158,11,.2)}.status-in{background:#00c89626;color:var(--accent);border:1px solid rgba(0,200,150,.2)}.status-in .status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.status-post{background:#00c89626;color:var(--accent);border:1px solid rgba(0,200,150,.2)}.section-header{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px}.section-title{font-size:18px;font-weight:700;color:var(--text1);display:flex;align-items:center;gap:8px}.section-title .section-icon{font-size:16px}.section-subtitle{font-size:12px;color:var(--text2)}.track-record-card{background:linear-gradient(135deg,#0a1210,#121a18);border:1px solid #1e2a2a;border-radius:var(--radius);padding:18px;margin:20px 0;overflow:hidden}.tr-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;padding:2px 0}.tr-toggle-left{display:flex;align-items:center;gap:10px}.tr-toggle-icon{font-size:18px}.tr-toggle-label{color:var(--accent);font-weight:700;font-size:14px}.tr-toggle-arrow{color:#555;font-size:12px;transition:transform .2s}.tr-toggle-arrow.open{transform:rotate(90deg)}.tr-detail{margin-top:16px}.tr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.tr-stat-card{background:var(--bg3);border-radius:8px;padding:12px;text-align:center;border:1px solid transparent;transition:border-color .2s}.tr-stat-card:hover{border-color:#2a3a3a}.tr-stat-val{font-size:22px;font-weight:700;color:var(--accent)}.tr-stat-val.gold{color:var(--gold)}.tr-stat-lbl{font-size:11px;color:var(--text2);margin-top:2px}.tr-desc{color:#aaa;font-size:12px;line-height:1.6}.tr-disc{color:#555;font-size:11px;margin-top:8px}.pred-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.pred-tab{background:transparent;border:1px solid var(--border);color:var(--text2);padding:7px 14px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.pred-tab:hover{border-color:#555;color:var(--text1)}.pred-tab.active{background:#f44;border-color:#f44;color:#fff;font-weight:600}.pred-tab.active-gold{background:transparent;border-color:var(--gold);color:var(--gold);font-weight:600}.pred-cards{display:flex;flex-direction:column;gap:6px}.pred-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;gap:12px;align-items:center;transition:all .2s;user-select:none}.pred-card:hover{border-color:var(--accent);background:var(--accent-glow)}.pred-card.pred-hot{border-color:#ff44444d;background:#ff44440a}.pred-card.pred-hot:hover{border-color:#f44}.pred-card.pred-contender{border-color:#00c89640;background:#00c89608}.pred-rank{font-size:18px;font-weight:800;min-width:32px;text-align:center;color:var(--text2);line-height:1}.pred-rank.rank-hot{color:#f44}.pred-rank.rank-contender{color:var(--accent)}.pred-player{flex:1;min-width:0}.pred-name{font-size:14px;color:var(--text1);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pred-sub{font-size:11px;color:var(--text2);margin-top:2px}.pred-stats{display:flex;gap:12px;align-items:center;flex-shrink:0;margin-left:auto}.pred-stat{display:flex;flex-direction:column;align-items:center;min-width:44px}.pred-stat-val{font-size:14px;font-weight:700;color:var(--text1)}.pred-stat-lbl{font-size:9px;color:#555;text-transform:uppercase;letter-spacing:.3px;margin-top:1px}.pred-conf-bar{height:3px;background:#333;border-radius:2px;margin-top:4px;overflow:hidden}.pred-conf-fill{height:100%;background:var(--accent);border-radius:2px}.pred-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-hot{background:#ff444426;color:#f44}.badge-value{background:#00c89626;color:var(--accent)}.badge-fade{background:#64748b26;color:#64748b}.bb-golf-card{background:linear-gradient(135deg,#12121a,#16213e);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:16px;margin-bottom:8px;transition:border-color .2s}.bb-golf-card:hover{border-color:var(--gold)}.bb-golf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bb-golf-rank{color:var(--gold);font-size:1.4em;font-weight:800;margin-right:10px}.bb-golf-name{font-size:1.15em;font-weight:700;color:#fff}.pred-cut-badge{display:inline-block;font-size:10px;font-weight:700;color:#ef4444;background:#ef44441f;border:1px solid rgba(239,68,68,.3);padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;letter-spacing:.5px}.bb-golf-stars{font-size:1em}.bb-golf-stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.bb-golf-stat{font-size:13px;color:#aaa}.bb-golf-stat span{font-weight:600}.bb-golf-reasons{display:flex;flex-wrap:wrap;gap:4px}.bb-golf-reason{background:#00c8961a;color:var(--accent);padding:2px 8px;border-radius:10px;font-size:11px;border:1px solid rgba(0,200,150,.15)}.bb-golf-book-row{margin-top:8px;font-size:12px;color:#888}.bb-golf-book-best{color:#aaa}.bb-golf-book-best strong{color:var(--accent)}.bb-golf-book-toggle{background:none;border:1px solid rgba(245,158,11,.3);color:var(--gold);font-size:11px;padding:2px 8px;border-radius:8px;cursor:pointer;margin-left:8px;transition:background .2s}.bb-golf-book-toggle:hover{background:#f59e0b1a}.bb-golf-book-list{flex-wrap:wrap;gap:6px;margin-top:6px}.bb-golf-book-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:3px 10px;border-radius:8px;font-size:11px;color:#aaa}.bb-golf-book-pill strong{color:#fff;margin-left:4px}.bb-golf-book-best-pill{border-color:#00c89666;background:#00c89614}.bb-golf-book-best-pill strong{color:var(--accent)}.odds-cards{display:flex;flex-direction:column;gap:6px}.odds-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;display:flex;gap:12px;align-items:center;transition:all .2s}.odds-card:hover{border-color:var(--accent);background:var(--accent-glow)}.odds-card.odds-fav{border-color:#f59e0b4d;background:#f59e0b0a}.odds-card.odds-fav:hover{border-color:var(--gold)}.odds-num{min-width:28px;font-size:14px;font-weight:800;text-align:center;color:var(--text2)}.odds-num.odds-top{color:var(--gold)}.odds-player{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odds-val-pill{font-family:Courier New,monospace;font-size:14px;font-weight:700;color:var(--accent);background:#00c89614;padding:3px 10px;border-radius:6px;border:1px solid rgba(0,200,150,.15)}.odds-implied{font-size:12px;color:var(--text2);min-width:44px;text-align:right}.lb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lb-title{font-size:16px;font-weight:700;color:var(--text1)}.lb-count{font-size:12px;color:var(--text2)}.lb-cards{display:flex;flex-direction:column;gap:8px}.lb-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;gap:12px;align-items:center;transition:all .2s;user-select:none}.lb-card:hover{border-color:var(--accent);background:var(--accent-glow)}.lb-card.lb-top5{border-color:#f59e0b4d;background:#f59e0b0a}.lb-card.lb-top5:hover{border-color:var(--gold)}.lb-card.lb-top10{border-color:#00c89640;background:#00c89608}.lb-card.lb-top10:hover{border-color:var(--accent)}.lb-card.lb-top25{border-color:#64748b40}.lb-pos{min-width:36px;font-size:18px;font-weight:800;text-align:center;color:var(--text2);line-height:1}.lb-pos.pos-top5{color:var(--gold)}.lb-pos.pos-top10{color:var(--accent)}.lb-pos.pos-top25{color:var(--text2)}.lb-player{flex:1;min-width:0}.lb-player-name{font-size:14px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-player-country{font-size:10px;color:#666;margin-top:1px}.lb-player-amateur{font-size:10px;color:var(--gold);margin-left:4px}.lb-score{font-size:20px;font-weight:800;min-width:50px;text-align:center}.score-under{color:var(--red)}.score-over{color:var(--accent)}.score-even{color:var(--text2)}.lb-details{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:70px;text-align:right;margin-left:auto;flex-shrink:0}.lb-thru{font-size:12px;color:var(--text2);font-weight:500}.lb-today{font-size:13px;font-weight:600;color:var(--text1)}.lb-move{font-size:11px}.move-up{color:var(--accent)}.move-down{color:var(--red)}.move-none{color:#444}.lb-rounds{display:flex;gap:4px;margin-top:4px}.lb-round-pill{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg3);border:1px solid var(--border);color:var(--text2)}.lb-card.lb-cut{opacity:.45;border-color:#64748b26}.lb-card.lb-cut:hover{opacity:.7;border-color:#ef44444d}.lb-pos.pos-cut{color:#ef4444;font-size:12px;font-weight:700}.lb-divider{border:none;border-top:2px dashed #333;margin:4px 0}.lb-divider-label{text-align:center;font-size:10px;color:#555;text-transform:uppercase;letter-spacing:1px;margin:2px 0}.lb-cut-divider{border-top:2px dashed #ef4444;margin:12px 0 4px}.lb-cut-label{color:#ef4444;font-size:11px;font-weight:600}.tracked-section{background:linear-gradient(135deg,var(--bg2),#0d1117);border:1px solid rgba(0,200,150,.2);border-radius:var(--radius);padding:16px;margin-bottom:20px}.tracked-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text1);margin-bottom:12px}.tracked-label{flex:1}.tracked-count{font-size:11px;color:var(--text2);background:var(--bg3);padding:2px 8px;border-radius:6px}.tracked-players{display:flex;flex-direction:column;gap:8px}.tracked-players::-webkit-scrollbar{height:4px}.tracked-players::-webkit-scrollbar-thumb{background:#00c89633;border-radius:2px}.tracked-lb-card{position:relative}.tracked-card:hover{border-color:var(--accent);background:#00c8960d}.tracked-card-pos{font-size:11px;font-weight:600;color:var(--text2)}.tracked-card-pos.tp5{color:var(--gold)}.tracked-card-pos.tp10{color:var(--accent)}.tracked-card-name{font-size:12px;font-weight:600;color:var(--text1);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.tracked-card-score{font-size:14px;font-weight:700}.tracked-card-thru{font-size:10px;color:var(--text2)}.tracked-card:hover .tracked-untrack{opacity:1}.tracked-untrack:hover{background:#e74c3c4d}.lb-track-btn{flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center}.lb-track-btn:hover{border-color:var(--accent);color:var(--accent)}.lb-track-btn.tracked{border-color:var(--accent);color:var(--accent);background:#00c8961a}@media(max-width:768px){.tracked-section{padding:12px}.tracked-card{min-width:95px;padding:8px 10px}.tracked-card-name{font-size:11px;max-width:80px}.lb-track-btn{width:24px;height:24px;font-size:12px}}.loading{text-align:center;padding:60px 20px;color:var(--text2)}.loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{text-align:center;padding:40px 20px;color:var(--red);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border)}.no-tourney{text-align:center;padding:60px 20px;color:var(--text2);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border)}.no-tourney h2{color:var(--text2);margin-bottom:8px}@media(max-width:768px){.container{padding:10px}.tourney-card{padding:14px}.tourney-name{font-size:17px}.tourney-meta{gap:8px;font-size:12px}.pred-tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;scrollbar-width:none}.pred-tabs::-webkit-scrollbar{display:none}.pred-tab{white-space:nowrap;font-size:12px;padding:6px 10px;flex-shrink:0}#pred-container{overflow-x:auto;-webkit-overflow-scrolling:touch}#pred-container table{min-width:520px}.hide-mobile{display:none}.tourney-name{font-size:18px}.tourney-card{padding:16px}.bb-golf-stats{gap:10px}.bb-golf-stat{font-size:12px}.pred-stats{gap:8px}.pred-stat{min-width:36px}.pred-stat-val{font-size:12px}.tr-grid{grid-template-columns:repeat(2,1fr)}.lb-card{padding:10px 12px;gap:10px}.lb-pos{font-size:15px;min-width:28px}.lb-score{font-size:17px;min-width:42px}.lb-player-name{font-size:13px}.lb-player-country,.lb-rounds{display:none}.lb-details{min-width:55px}.vf-card{padding:8px 10px;gap:8px}.vf-rank{font-size:14px;min-width:24px}.vf-card-name{font-size:13px}.vf-card-country{display:none}.vf-card-stats{gap:8px}.vf-stat{min-width:36px}.vf-stat-val{font-size:12px}.vf-hide-mobile{display:none!important}.odds-freshness{font-size:11px!important}header{flex-wrap:wrap;gap:8px}}@media(max-width:480px){.container{padding:6px}.pred-tab{font-size:11px;padding:5px 8px}.tourney-name{font-size:15px}.lb-card{padding:8px 10px;gap:8px}.lb-pos{font-size:14px;min-width:24px}.lb-score{font-size:15px;min-width:38px}.lb-details{min-width:48px}.hide-small{display:none}.vf-card{padding:6px 8px;gap:6px;flex-wrap:wrap}.vf-rank{font-size:13px;min-width:22px}.vf-card-stats{gap:6px;flex-wrap:wrap}.vf-hide-small{display:none!important}#pred-container table{min-width:440px}.tourney-name{font-size:16px}.tourney-card{padding:14px}.tourney-meta .meta-pill{padding:3px 8px;font-size:11px}.pred-card{padding:8px 10px;gap:8px}.pred-rank{font-size:15px;min-width:26px}.odds-card{padding:8px 10px;gap:8px}.bb-golf-card{padding:12px}.bb-golf-name{font-size:1em}.bb-golf-stats{gap:8px}.tr-grid{grid-template-columns:1fr 1fr;gap:8px}.pred-hide-small{display:none!important}}.odds-tab{background:var(--bg3);border:1px solid var(--border);color:var(--text2);padding:6px 14px;border-radius:16px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.odds-tab:hover{border-color:#555;color:var(--text1)}.odds-tab.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.odds-val{color:var(--accent);font-weight:700;font-family:Courier New,monospace}.h2h-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;transition:border-color .2s}.h2h-row:hover{border-color:var(--border-hover)}.h2h-vs{color:var(--text2);font-size:12px;font-weight:700}.h2h-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.h2h-fill{height:100%;background:var(--accent);border-radius:3px}.odds-freshness{color:var(--text2);font-size:12px}.golf-bb-section{margin-bottom:20px}.golf-bb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.golf-bb-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text1)}.golf-bb-locked{font-size:12px;color:var(--text2)}.golf-bb-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;position:relative;overflow:hidden;transition:border-color .2s}.golf-bb-card:hover{border-color:var(--border-hover)}.golf-bb-card.stale{opacity:.55}.golf-bb-tier{position:absolute;top:12px;right:14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px}.golf-bb-tier.top_pick{background:#00c85326;color:#00c853}.golf-bb-tier.strong{background:#ffab0026;color:#ffab00}.golf-bb-tier.lean{background:#64b5f626;color:#64b5f6}.golf-bb-player{font-size:15px;font-weight:600;color:var(--text1);margin-bottom:2px}.golf-bb-odds{font-size:13px;color:var(--text2);margin-bottom:6px}.golf-bb-odds .bb-odds-num{color:var(--accent);font-weight:600;font-family:Courier New,monospace}.golf-bb-movement{font-size:12px;margin-bottom:6px;display:flex;align-items:center;gap:6px}.golf-bb-movement .toward{color:#00c853}.golf-bb-movement .away{color:#ff5252}.golf-bb-movement .clv-badge{font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px}.golf-bb-movement .clv-badge.confirmed{background:#00c85326;color:#00c853}.golf-bb-movement .clv-badge.expired{background:#ff525226;color:#ff5252}.golf-bb-model{font-size:12px;color:var(--text2);display:flex;gap:12px;flex-wrap:wrap}.golf-bb-model strong{color:var(--text1)}.golf-bb-book{font-size:12px;color:var(--text2);margin-top:4px;display:flex;justify-content:space-between;align-items:center}.golf-bb-book .book-name{text-transform:capitalize}.golf-bb-stale-hdr{font-size:13px;color:var(--text2);margin:16px 0 8px;padding:8px 12px;background:#ff52520f;border-radius:6px;border:1px solid rgba(255,82,82,.12)}.golf-bb-edge{font-size:18px;font-weight:700;color:var(--accent);position:absolute;bottom:12px;right:14px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg,#12121a 25%,#252525,#12121a 75%);background-size:400px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}.skeleton-row{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid #12121a}.skeleton-cell{height:16px;border-radius:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .4s ease-out forwards}.perf-chart-container{margin:32px auto;max-width:800px;padding:24px;background:linear-gradient(135deg,#0a1210,#121a18);border:1px solid #1e2a2a;border-radius:12px}.perf-chart-title{font-size:1.1em;font-weight:700;color:#fff;margin-bottom:16px}.perf-bar-row{display:flex;align-items:center;margin-bottom:10px;gap:12px}.perf-bar-label{width:120px;font-size:.82em;color:#7e8a98;text-align:right;flex-shrink:0}.perf-bar-track{flex:1;height:24px;background:#12121a;border-radius:6px;overflow:hidden;position:relative}.perf-bar-fill{height:100%;border-radius:6px;transition:width 1s ease-out;display:flex;align-items:center;padding-left:8px;font-size:.75em;font-weight:600;color:#fff}.perf-bar-fill.green{background:linear-gradient(90deg,#00c896,#00c896)}.perf-bar-fill.amber{background:linear-gradient(90deg,#f59e0b,#d97706)}.perf-bar-fill.red{background:linear-gradient(90deg,#ef4444,#dc2626)}.compare-container{margin:24px auto;max-width:800px;padding:20px;background:linear-gradient(135deg,#0a1210,#121a18);border:1px solid #1e2a2a;border-radius:12px}.compare-title{font-size:1.1em;font-weight:700;color:#fff;margin-bottom:12px}.compare-search{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.compare-input{flex:1;min-width:180px;padding:8px 12px;border-radius:8px;background:#0a0a0a;border:1px solid #2a2a2a;color:#f0f0f5;font-size:14px;outline:none;transition:border-color .2s}.compare-input:focus{border-color:#00c896}.compare-input::placeholder{color:#555}.compare-btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:600;font-size:13px;transition:opacity .2s}.compare-btn:hover{opacity:.85}.compare-table{width:100%;border-collapse:collapse;font-size:.85em}.compare-table th{text-align:left;padding:8px;color:#7e8a98;font-weight:500;border-bottom:1px solid #1e2a2a}.compare-table td{padding:8px;color:#f0f0f5;border-bottom:1px solid #111}.compare-table tr:first-child td{font-weight:600;color:#00c896}.hub-tabs{display:flex;gap:4px;margin:16px 0 12px;background:#0a0f0a;border:1px solid #1e2e1e;border-radius:10px;padding:4px}.hub-tab{flex:1;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:#7a8a7a;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.hub-tab:hover{color:#c0d0c0;background:#10b9810f}.hub-tab.active{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.25)}.hub-panel{margin-top:8px}.vf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vf-title{font-size:18px;font-weight:700;color:var(--text1)}.vf-title .vf-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:600;background:#f59e0b33;color:var(--gold);margin-left:8px;vertical-align:middle}.vf-summary{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.vf-stat-card{flex:1;min-width:130px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center;transition:border-color .2s}.vf-stat-card:hover{border-color:var(--border-hover)}.vf-stat-value{font-size:22px;font-weight:700;color:var(--accent)}.vf-stat-label{font-size:11px;color:var(--text2);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.vf-value-plays{background:var(--bg2);border:1px solid rgba(0,200,150,.2);border-radius:8px;padding:16px;margin-bottom:16px}.vf-value-title{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:10px;display:flex;align-items:center;gap:6px}.vf-value-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.vf-value-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:all .2s}.vf-value-card:hover{border-color:var(--accent);background:var(--accent-glow)}.vf-value-name{font-weight:600;color:var(--text1);font-size:14px}.vf-value-odds{font-size:12px;color:var(--text2);margin-top:4px}.vf-value-edge{font-size:13px;font-weight:700;margin-top:6px}.vf-edge-pos{color:var(--accent)}.vf-edge-neg{color:var(--red)}.vf-value-sg{font-size:11px;color:#666;margin-top:4px}.vf-cards{display:flex;flex-direction:column;gap:6px}.vf-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:10px 14px;display:flex;gap:12px;align-items:center;transition:all .2s;user-select:none}.vf-card:hover{border-color:var(--accent);background:var(--accent-glow)}.vf-card.vf-top5{border-color:#f59e0b4d;background:#f59e0b0a}.vf-card.vf-top5:hover{border-color:var(--gold)}.vf-card.vf-top10{border-color:#00c89640;background:#00c89608}.vf-card.vf-top10:hover{border-color:var(--accent)}.vf-rank{min-width:30px;font-size:16px;font-weight:800;text-align:center;color:var(--text2);line-height:1;flex-shrink:0}.vf-rank.vf-r-top5{color:var(--gold)}.vf-rank.vf-r-top10{color:var(--accent)}.vf-card-player{flex:1;min-width:0}.vf-card-name{font-size:14px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vf-card-country{font-size:10px;color:#666;margin-top:1px}.vf-card-stats{display:flex;gap:12px;align-items:center;flex-shrink:0;margin-left:auto}.vf-stat{display:flex;flex-direction:column;align-items:center;min-width:44px}.vf-stat-val{font-size:14px;font-weight:700;color:var(--text1)}.vf-stat-lbl{font-size:9px;color:#555;text-transform:uppercase;letter-spacing:.3px;margin-top:1px}.vf-power-bar{display:inline-block;height:5px;border-radius:3px;vertical-align:middle;background:linear-gradient(90deg,var(--accent),var(--gold));margin-right:4px}.vf-sg-cell{font-size:12px}.vf-sg-pos{color:var(--accent)}.vf-sg-neg{color:var(--red)}.vf-sg-zero{color:#555}.vf-card-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);display:inline-block;margin:1px 2px}.vf-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.vf-tab{padding:6px 14px;border-radius:16px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.vf-tab:hover{border-color:#555;color:var(--text1)}.vf-tab.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.vf-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.course-profile-banner{background:linear-gradient(135deg,#0d1117,#1a1a2e);border:1px solid #2a2a3e;border-radius:12px;padding:14px 18px;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.course-profile-banner .cp-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#888}.course-profile-banner .cp-name{font-size:15px;font-weight:600;color:#fff}.course-profile-banner .cp-desc{font-size:12px;color:#aaa}.course-weights{display:flex;gap:6px;flex-wrap:wrap}.course-weight-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;border:1px solid #333}.cw-high{background:#00c8961f;color:#00c896;border-color:#00c8964d}.cw-low{background:#ef44441a;color:#ef4444;border-color:#ef444440}.cw-neutral{background:#6464781a;color:#888;border-color:#333}.cf-delta{font-size:11px;font-weight:600}.cf-delta-pos{color:#00c896}.cf-delta-neg{color:#ef4444}.cf-movers-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.cf-movers-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px}.cf-movers-col.risers h4{color:#00c896}.cf-movers-col.fallers h4{color:#ef4444}.cf-mover-row{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:8px;margin-bottom:4px;font-size:13px}.cf-mover-row.riser{background:#00c8960f}.cf-mover-row.faller{background:#ef44440f}.cf-mover-name{color:#ccc}.cf-fit-badge{display:inline-block;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:600}.cf-fit-good{background:#00c89626;color:#00c896}.cf-fit-bad{background:#ef44441f;color:#ef4444}.vh-badge{display:inline-block;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600}.vh-top10{background:#f59e0b26;color:#f59e0b}.vh-top25{background:#00c8961f;color:#00c896}.vh-made-cut{background:#6464781f;color:#888}.vh-banner{background:linear-gradient(135deg,#0d1117,#1a1a2e);border:1px solid #2a2a3e;border-radius:12px;padding:14px 18px;margin-bottom:10px}.vh-editions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.vh-edition-pill{padding:4px 10px;border-radius:8px;font-size:11px;background:#6464781f;color:#aaa;border:1px solid #333}@media(max-width:600px){.vf-value-grid{grid-template-columns:1fr}.vf-summary{gap:8px}.vf-stat-card{min-width:90px;padding:10px}.vf-stat-value{font-size:18px}.cf-movers-grid{grid-template-columns:1fr}.course-profile-banner{flex-direction:column;align-items:flex-start;gap:8px}}
