@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}}
