@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;overflow-x:hidden}#root{width:100%;min-height:100vh}:root{--bg-color:#f3f4f6;--card-bg:#fff;--card-border:#e5e7eb;--card-hover-border:#93c5fd;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent-color:#2563eb;--accent-hover:#1d4ed8;--live-color:#ef4444;--line-color:#d1d5db;--font-main:"Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}h1{text-align:center;color:var(--text-primary);letter-spacing:-.025em;flex-shrink:0;margin:2rem 0 1rem;font-size:2.5rem;font-weight:700}.bracket-container{flex:1;width:100%;position:relative;overflow:hidden}.split-bracket-scaler{width:100%;height:100%;position:relative;overflow:hidden}.split-bracket-wrapper{transform-origin:50%;justify-content:center;align-items:stretch;gap:2rem;display:flex;position:absolute;top:50%;left:50%}.bracket-half{gap:3rem;display:flex}.bracket-center{align-items:center;padding:0 1rem;display:flex}.round{flex-direction:column;justify-content:space-around;min-width:260px;display:flex}.round-title{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2rem;font-size:1rem;font-weight:600}.round-matches{flex-direction:column;flex:1;justify-content:space-around;gap:0;padding:0;display:flex}.match-pair-container{flex-direction:column;flex:1;justify-content:space-around;gap:0;padding:0;display:flex;position:relative}.single-match-container{flex:1;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.match-slot{align-items:center;width:100%;display:flex;position:relative}.left-pair:after{content:"";border-top:2px solid var(--line-color);border-right:2px solid var(--line-color);border-bottom:2px solid var(--line-color);border-radius:0 6px 6px 0;width:1.5rem;position:absolute;top:25%;bottom:25%;right:-1.5rem}.left-pair:before{content:"";border-top:2px solid var(--line-color);width:1.5rem;position:absolute;top:50%;right:-3rem}.right-pair:after{content:"";border-top:2px solid var(--line-color);border-left:2px solid var(--line-color);border-bottom:2px solid var(--line-color);border-radius:6px 0 0 6px;width:1.5rem;position:absolute;top:25%;bottom:25%;left:-1.5rem}.right-pair:before{content:"";border-top:2px solid var(--line-color);width:1.5rem;position:absolute;top:50%;left:-3rem}.match-card{background:var(--card-bg);border:1px solid var(--card-border);z-index:2;border-radius:8px;width:100%;padding:.75rem 1rem;transition:all .2s;position:relative;box-shadow:0 1px 3px #0000000d}.match-card:hover{border-color:var(--card-hover-border);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.match-header{color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--card-border);justify-content:space-between;margin-bottom:.5rem;padding-bottom:.25rem;font-size:.75rem;font-weight:600;display:flex}.match-status.live{color:var(--live-color);font-weight:700;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.match-teams{flex-direction:column;gap:.25rem;display:flex}.team-row{justify-content:space-between;align-items:center;padding:.25rem 0;display:flex}.team-info{align-items:center;display:flex}.team-flag{margin-right:.5rem;font-size:1.2rem}.team-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.team-name.winner{font-weight:700}.team-name.loser{color:var(--text-muted)}.score{color:var(--text-secondary);font-size:.95rem;font-weight:600}.score.winner{color:var(--text-primary);font-weight:700}.modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;width:90%;max-width:600px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 4px 12px #00000026}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--text-primary)}.modal-header{border-bottom:2px solid var(--bg-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.modal-team{text-align:center;flex:1}.modal-flag{margin-bottom:.5rem;font-size:2.5rem}.modal-team h2{margin-bottom:.5rem;font-size:1.25rem}.modal-score{color:var(--text-primary);font-size:2rem;font-weight:700}.modal-vs{color:var(--text-muted);padding:0 1rem;font-weight:600}.info-section{margin-bottom:2rem}.info-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:1rem;font-size:1rem}.probability-bar-container{flex-direction:column;gap:.5rem;display:flex}.prob-labels{justify-content:space-between;font-size:.85rem;font-weight:600;display:flex}.team1-prob{color:var(--accent-color)}.team2-prob{color:#8b5cf6}.prob-bar{background:var(--bg-color);border-radius:6px;height:12px;display:flex;overflow:hidden}.prob-segment{justify-content:center;align-items:center;font-size:0;transition:width .5s;display:flex}.prob-segment.team1{background:var(--accent-color)}.prob-segment.team2{background:#8b5cf6}.form-container{justify-content:space-around;gap:1rem;display:flex}.team-form{flex-direction:column;align-items:center;gap:.5rem;display:flex}.team-form-name{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-badges{gap:.25rem;display:flex}.form-badge{color:#fff;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.form-W{background:#10b981}.form-L{background:#ef4444}.form-D{background:#6b7280}.simulate-btn{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);border:none;border-radius:10px;justify-content:center;align-items:center;padding:.85rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #2563eb4d}.simulate-btn:hover{background:linear-gradient(135deg,#1d4ed8 0%,#6d28d9 100%);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb73}.simulate-btn:active{transform:translateY(0);box-shadow:0 2px 8px #2563eb4d}.simulate-btn-reset{border:1px solid var(--card-border);color:var(--text-secondary);box-shadow:none;background:0 0;margin-top:1rem;padding:.5rem 1.25rem;font-size:.85rem}.simulate-btn-reset:hover{background:var(--bg-color);color:var(--text-primary);box-shadow:none;border-color:var(--text-muted);transform:none}.premium-loader-container{text-align:center;width:80%;margin:2rem auto}.premium-loading-bar{background:var(--accent-color);border-radius:2px;width:0%;height:4px;margin:0 auto;animation:2s cubic-bezier(.4,0,.2,1) forwards fillBar}@keyframes fillBar{0%{width:0%}30%{width:40%}70%{width:85%}to{width:100%}}.premium-loading-text{color:var(--text-secondary);margin-top:1rem;font-size:.9rem;font-weight:500;animation:1.5s infinite pulseText}@keyframes pulseText{0%,to{opacity:.5}50%{opacity:1}}.simulation-result .final-score-display{border:1px solid var(--card-border);background:var(--bg-color);border-radius:8px;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.5rem;display:flex}.team-result{flex-direction:column;align-items:center;display:flex}.team-result .name{margin-bottom:.5rem;font-size:.9rem;font-weight:600}.team-result .score{color:var(--text-primary);font-size:2rem;font-weight:700}.vs-divider{color:var(--text-muted);font-weight:700}.mobile-bracket{display:none}@media (width<=768px){.desktop-bracket{display:none!important}.split-bracket-scaler{display:block;overflow:hidden auto}.mobile-bracket{flex-direction:column;gap:2.5rem;width:100%;max-width:500px;margin:0 auto 3rem;padding:1rem;display:flex}.mobile-round{flex-direction:column;gap:1rem;display:flex}.mobile-round-matches{flex-direction:column;gap:.75rem;display:flex}h1{font-size:1.75rem}}.minimal-clock-wrapper{z-index:10;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:1.25rem 0 .5rem;display:flex}.atomic-clock-container{background:#111827;border:1px solid #1f2937;border-radius:20px;align-items:center;gap:.35rem;padding:.25rem .65rem;display:inline-flex;box-shadow:inset 0 1px 3px #0006}.clock-time{color:#10b981;text-shadow:0 0 6px #10b98166;letter-spacing:.02em;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:700;line-height:1}.sync-indicator{border-radius:50%;width:6px;height:6px;display:inline-block}.sync-synced{background:#10b981;animation:2s infinite syncPulse;box-shadow:0 0 4px #10b981}.sync-local{background:#f59e0b;animation:2s infinite syncPulse;box-shadow:0 0 4px #f59e0b}.sync-syncing{background:#3b82f6;animation:1s infinite syncPulse;box-shadow:0 0 4px #3b82f6}@keyframes syncPulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.bets-summary-widget{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1f2937 0%,#111827 100%);border:1px solid #374151;border-radius:8px;min-width:220px;padding:.5rem 1rem;transition:all .2s;box-shadow:0 4px 6px -1px #0000001a}.bets-summary-widget:hover{border-color:#ef4444;transform:translateY(-1px);box-shadow:0 6px 12px -2px #ef444440}.widget-header{text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:flex}.widget-logo{color:#ef4444}.widget-action-btn{color:#9ca3af;font-size:.7rem}.bets-summary-widget:hover .widget-action-btn{color:#ef4444}.widget-metrics{justify-content:space-between;gap:1rem;display:flex}.metric-item{flex-direction:column;display:flex}.metric-item .label{color:#9ca3af;text-transform:uppercase;font-size:.65rem}.metric-item .val{font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700}.text-profit{color:#10b981}.text-loss{color:#ef4444}.card-bet-badge{background:#fdf2f2;border:1px solid #fde8e8;border-radius:6px;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem .6rem;display:flex}.card-bet-icon{font-size:.75rem}.card-bet-text{color:#b91c1c;font-size:.75rem;font-weight:600}.bet-manager-modal{width:95%!important;max-width:900px!important}.bet-manager-grid{grid-template-columns:1.2fr 1fr;gap:2rem;margin-top:1rem;display:grid}@media (width<=768px){.bet-manager-grid{grid-template-columns:1fr;gap:1.5rem}}.bet-manager-left{border-right:1px solid var(--card-border);max-height:60vh;padding-right:2rem;overflow-y:auto}@media (width<=768px){.bet-manager-left{border-right:none;order:2;padding-right:0}}.bet-slips-list{flex-direction:column;gap:1rem;display:flex}.no-bets-container{text-align:center;background:var(--bg-color);border:1px dashed var(--card-border);border-radius:8px;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.bet-slip-card{background:var(--card-bg);border:1px solid var(--card-border);border-left:4px solid var(--text-muted);border-radius:6px;padding:1rem;transition:box-shadow .2s;box-shadow:0 1px 3px #0000000d}.bet-slip-card:hover{box-shadow:0 3px 6px #00000012}.bet-slip-card.border-won{border-left-color:#10b981}.bet-slip-card.border-lost{border-left-color:#ef4444}.bet-slip-card.border-live_winning{border-left-color:#10b981}.bet-slip-card.border-live_losing{border-left-color:#ef4444}.bet-slip-card.border-pending{border-left-color:#3b82f6}.bet-slip-header{color:var(--text-secondary);border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;font-size:.8rem;font-weight:700;display:flex}.bet-slip-type{text-transform:uppercase;letter-spacing:.05em}.delete-bet-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;transition:background .2s}.delete-bet-btn:hover{background:#f3f4f6}.bet-slip-selections{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.selection-item{padding:.25rem 0;font-size:.85rem}.sel-teams{color:var(--text-primary)}.sel-details{color:var(--text-secondary);justify-content:space-between;margin-top:.15rem;font-size:.8rem;display:flex}.sel-text .highlight{color:var(--text-primary);font-weight:700}.sel-odds{color:var(--accent-color);margin-left:auto;margin-right:.5rem;font-weight:700}.sel-status{border-radius:50%;align-self:center;width:8px;height:8px}.sel-status.status-won{background:#10b981}.sel-status.status-lost{background:#ef4444}.sel-status.status-live_winning{background:#10b981;animation:1s infinite syncPulse}.sel-status.status-live_losing{background:#ef4444;animation:1s infinite syncPulse}.sel-status.status-pending{background:#9ca3af}.bet-slip-footer{border-top:1px dashed var(--card-border);justify-content:space-between;padding-top:.5rem;font-size:.75rem;display:flex}.footer-metric{flex-direction:column;display:flex}.footer-metric span{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.footer-metric strong{color:var(--text-primary);font-size:.9rem}.text-right{text-align:right}.payout-won{color:#10b981;font-weight:700}.payout-lost{color:var(--text-muted);text-decoration:line-through}.payout-live_winning{color:#10b981}.payout-live_losing,.payout-pending{color:var(--text-secondary)}.bet-form-tabs{background:var(--bg-color);border-radius:6px;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;padding:.25rem;display:grid}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.tab-btn.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 2px #0000000d}.bet-form-fields{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.bet-input,.bet-select{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);font-size:.9rem;font-family:var(--font-main);border-radius:6px;outline:none;padding:.6rem;transition:border-color .2s}.bet-input:focus,.bet-select:focus{border-color:var(--accent-color)}.selection-builder-box{border:1px solid var(--card-border);background:var(--bg-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.add-selection-btn{background:var(--card-bg);border:1px solid var(--accent-color);color:var(--accent-color);cursor:pointer;border-radius:6px;margin-top:.5rem;padding:.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.add-selection-btn:hover{background:var(--accent-color);color:#fff}.save-bet-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #ef444433}.save-bet-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 6px 15px #ef44444d}.added-selections-list{background:var(--bg-color);border:1px solid var(--card-border);border-radius:6px;padding:.75rem}.selections-chips{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.sel-chip{background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.chip-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:.9rem;font-weight:700}.chip-remove:hover{color:#ef4444}.bet-badge-status{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:700}.bet-badge-status.status-won{color:#065f46;background:#d1fae5}.bet-badge-status.status-lost{color:#991b1b;background:#fee2e2}.bet-badge-status.status-live_winning{color:#065f46;background:#d1fae5;animation:1.5s infinite syncPulse}.bet-badge-status.status-live_losing{color:#991b1b;background:#fee2e2;animation:1.5s infinite syncPulse}.bet-badge-status.status-pending{color:#374151;background:#e5e7eb}.modal-bet-card.border-won{border-left-color:#10b981!important}.modal-bet-card.border-lost{border-left-color:#ef4444!important}.modal-bet-card.border-live_winning{border-left-color:#10b981!important}.modal-bet-card.border-live_losing{border-left-color:#ef4444!important}.modal-bet-card.border-pending{border-left-color:#9ca3af!important}@media (width<=768px){.app-header{text-align:center;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.header-brand h1{text-align:center}}
