*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#0b0f19;background-image:url(/assets/ucl-bg12-DqOcym9h.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:#e5e7eb}.app-root{min-height:100vh;display:flex;flex-direction:column;align-items:stretch}.app-header{padding:1.5rem 1rem .75rem;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(90deg,#0a1f44,#1e3a8a 45%,#6d28d9);box-shadow:0 4px 20px #1e3a8a66}.brand-row{display:flex;align-items:center;gap:.75rem;max-width:960px;margin:0 auto .75rem}.ucl-logo{width:50px;height:50px;filter:drop-shadow(0 0 6px rgba(255,254,254,.5))}.app-header h1{margin:0;font-size:1.7rem;color:#fff;text-shadow:0 0 10px rgba(116,128,255,.5)}.subtitle{margin-top:.2rem;font-size:.9rem;color:#9ca3af}.nav-bar{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;padding-bottom:.9rem}.nav-link{border-radius:999px;border:1px solid rgba(255,255,255,.18);padding:.45rem 1rem;font-size:.85rem;background:#0f172aa6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#cbd5f5;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease}.nav-link:hover{background:#1e3a8a59;border-color:#93c5fd66;transform:translateY(-1px);box-shadow:0 4px 12px #1e3a8a59}.nav-link.active{background:linear-gradient(90deg,#1e3a8a,#3b82f6,#6d28d9);color:#fff;border-color:#93c5fd99;box-shadow:0 0 10px #3b82f680,0 0 22px #6d28d959;transform:translateY(-1px)}.app-main{display:flex;justify-content:center;padding:1.5rem 1rem 2rem;flex:1}.panel{width:100%;max-width:960px;background-color:#111827d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:1.5rem 1.75rem 2rem;box-shadow:0 10px 40px #00000080;border:1px solid rgba(255,255,255,.1);color:#e5e7eb}.panel-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.primary-btn{border:none;border-radius:999px;padding:.6rem 1.4rem;background:linear-gradient(135deg,#4f46e5,#7e22ce);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #7e22ce66;transition:transform .2s,box-shadow .2s}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7e22ce99}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-text{margin:0;font-size:.85rem;color:#ef4444}.section{margin-top:1.5rem}.section-title{margin:0 0 .75rem;font-size:1.1rem;color:#f3f4f6;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.table-wrapper{overflow-x:auto}.prob-table{width:100%;border-collapse:collapse;font-size:.9rem}.prob-table thead{background-color:#ffffff0d}.prob-table th,.prob-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.prob-table th{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.prob-table tbody tr:nth-child(2n){background-color:#ffffff05}.team-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.club-logo{width:22px;height:22px;object-fit:contain}.win-cell{font-weight:600}.placeholder-cell{text-align:center;color:#9ca3af;padding:1.25rem .5rem}.placeholder-text{margin:.25rem 0 0;font-size:.9rem;color:#6b7280}.bars-list{display:flex;flex-direction:column;gap:.4rem}.bar-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto;align-items:center;gap:.5rem;font-size:.9rem}.bar-label{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-logo{width:20px;height:20px;object-fit:contain}.bar-track{position:relative;height:.6rem;border-radius:999px;background-color:#ffffff1a;overflow:hidden;box-shadow:inset 0 1px 3px #0000004d}.bar-fill{position:absolute;inset:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transform-origin:left center;animation:fillBar .9s cubic-bezier(.22,1,.36,1) forwards;box-shadow:0 0 8px #8b5cf699}@keyframes fillBar{0%{transform:scaleX(0)}to{transform:scaleX(var(--scale, 0))}}.bar-fill.league{background:linear-gradient(90deg,#0ea5e9,#6366f1);box-shadow:0 0 8px #6366f199}.bar-value{font-variant-numeric:tabular-nums;font-size:.85rem}.simulation-view{display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}.champion-line{margin:.5rem 0 0}.bracket-grid{--row-gap: .4rem;position:relative;display:grid;grid-template-columns:minmax(110px,1fr) 14px minmax(110px,1fr) 14px minmax(110px,1fr) 14px minmax(130px,1.2fr) 14px minmax(110px,1fr) 14px minmax(110px,1fr) 14px minmax(110px,1fr);grid-auto-rows:minmax(50px,1fr);gap:var(--row-gap) 0;padding-top:.25rem}.bracket-head{font-size:.75rem;color:#9ca3af;text-align:center;font-weight:600;letter-spacing:.06em;text-transform:uppercase;grid-row:1}.bracket-node{position:relative;display:flex;align-items:center;align-self:center}.bracket-match{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(135deg,#1f2937cc,#111827e6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.4rem .5rem;display:flex;flex-direction:column;gap:.2rem;box-shadow:0 4px 12px #0006;z-index:2}.final-trophy-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:250px;height:250px;opacity:.15;pointer-events:none;z-index:1;filter:drop-shadow(0 0 10px rgba(255,255,255,.8))}.team-chip{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#d1d5db}.team-chip-logo{width:18px;height:18px;object-fit:contain;background-color:#fffc;border-radius:50%;padding:1px}.team-chip.winner{font-weight:700;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.3)}.connector-bracket{position:relative;width:100%;height:100%}.connector-bracket.right:before{content:"";position:absolute;top:calc((100% - (var(--span) - 1) * var(--row-gap)) / var(--span) / 2);bottom:calc((100% - (var(--span) - 1) * var(--row-gap)) / var(--span) / 2);left:0;right:0;border-right:2px solid rgba(99,102,241,.6);border-top:2px solid rgba(99,102,241,.6);border-bottom:2px solid rgba(99,102,241,.6)}.connector-bracket.left:before{content:"";position:absolute;top:calc((100% - (var(--span) - 1) * var(--row-gap)) / var(--span) / 2);bottom:calc((100% - (var(--span) - 1) * var(--row-gap)) / var(--span) / 2);left:0;right:0;border-left:2px solid rgba(99,102,241,.6);border-top:2px solid rgba(99,102,241,.6);border-bottom:2px solid rgba(99,102,241,.6)}.connector-bracket.horizontal-only{display:flex;align-items:center}.horizontal-line{width:100%;border-top:2px solid rgba(99,102,241,.6)}.fade-in-node{opacity:0;animation:fadeIn .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.bracket-champion{grid-column:1 / -1;display:flex;justify-content:center;padding-top:.25rem;z-index:3}.champion-pill{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(255,215,0,.5);background:linear-gradient(135deg,#1f2937e6,#111827);border-radius:999px;padding:.55rem 1rem;box-shadow:0 0 20px #ffd7004d;color:#fcd34d;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.champion-logo{width:24px;height:24px;object-fit:contain;background-color:#fffc;border-radius:50%;padding:1px}.app-footer{text-align:center;padding:2rem 1rem;margin-top:auto;color:#cbd5f5;font-size:.9rem;letter-spacing:.02em;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#0a1f4499,#0b0f19e6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.footer-quote{font-style:italic;font-size:1.05rem;margin-bottom:.5rem;color:#f8fafc;letter-spacing:.02em;opacity:.9}.footer-credit{font-size:.85rem;color:#a7b3c7}.footer-credit a{color:#60a5fa;text-decoration:none;transition:color .2s ease,text-shadow .2s ease}.footer-credit a:hover{color:#93c5fd;text-shadow:0 0 6px rgba(96,165,250,.5)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;background-color:#111827;padding:.1rem .25rem;border-radius:4px}@media(max-width:640px){.panel{padding:1.25rem 1rem 1.75rem}.bar-row{grid-template-columns:minmax(0,2fr) minmax(0,2.5fr) auto}.bracket-grid{grid-template-columns:1fr;grid-template-rows:auto}.bracket-head,.connector-bracket{display:none}.bracket-node,.bracket-champion{grid-column:auto!important;grid-row:auto!important}}
