@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #004D98;--primary-dark: #003366;--gold: #388E3C;--white: #ffffff;--bg-dark: rgba(0, 0, 0, .3);--bg-light: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .12)}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);overflow:hidden}.scoreboard-container{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.scoreboard-scale{width:1152px;height:640px;display:flex;flex-direction:column;transform-origin:center center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);overflow:hidden;position:relative}.scoreboard-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#181733;position:relative;flex-shrink:0}.header-left{display:flex;align-items:center}.header-logo{height:45px;width:auto}.header-right{display:flex;align-items:center;gap:20px}.header-day{display:flex;align-items:center}.day-badge{padding:6px 14px;background:#ffffff26;border-radius:20px;font-size:14px;font-weight:700;color:var(--white)}.header-category{display:flex;align-items:center;gap:10px}.category-label{font-size:14px;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.category-code{font-size:32px;font-weight:800;color:var(--gold);text-shadow:0 2px 8px rgba(237,187,74,.4)}.blaugrana-stripe{position:absolute;bottom:0;left:0;right:0;height:4px;display:flex}.stripe-blue{flex:1;background:#002596}.stripe-red{flex:1;background:#a50044}.progress-track{width:100%;height:3px;margin-top:0;position:relative;z-index:10}.progress-bar{height:100%;width:100%;background:#fff9;transform-origin:left;animation:progress-shrink linear forwards}@keyframes progress-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.loading-state,.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:.6}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-content{flex:1;padding:12px 20px;overflow:hidden}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:100%}.section-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.section-header .material-icons{font-size:16px}.section-header .date-label{font-size:12px;font-weight:500;text-transform:none;color:var(--white);opacity:.7;padding-left:4px}.section-header .page-indicator{margin-left:auto;font-size:12px;font-weight:600;background:#ffffff26;padding:2px 8px;border-radius:4px;color:var(--white);opacity:.8}.matches-section{display:flex;flex-direction:column;overflow:hidden}.matches-list{flex:1;overflow:hidden;display:flex;flex-direction:column}.matches-container{display:flex;flex-direction:column;gap:4px}.matches-fade-enter-active,.matches-fade-leave-active{transition:opacity .4s ease}.matches-fade-enter-from,.matches-fade-leave-to{opacity:0}.match-card{background:var(--bg-light);border-radius:6px;padding:6px 10px;border:1px solid var(--border-light)}.match-card.played{background:#edbb4a1a;border-color:#edbb4a40}.match-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:10px;opacity:.7}.match-time{font-weight:600}.match-venue,.match-group{padding:1px 5px;background:#ffffff1a;border-radius:3px}.match-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}.team{font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team.home{text-align:right}.team.away{text-align:left}.team.winner{color:var(--gold)}.match-score{display:flex;align-items:center;justify-content:center;gap:3px;min-width:44px}.match-score .score{font-size:14px;font-weight:800;color:var(--gold)}.match-score .sep{opacity:.5;font-size:10px}.match-score .vs{font-size:9px;font-weight:600;opacity:.5}.no-matches{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:.5}.no-matches .material-icons{font-size:28px}.standings-section{display:flex;flex-direction:column;overflow:hidden}.standings-list{flex:1;overflow:hidden}.standings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;align-content:start}.standings-fade-enter-active,.standings-fade-leave-active{transition:opacity .4s ease}.standings-fade-enter-from,.standings-fade-leave-to{opacity:0}.group-standings{background:var(--bg-light);border-radius:5px;border:1px solid var(--border-light);overflow:hidden}.group-header{background:var(--bg-dark);padding:3px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;color:var(--gold)}.standings-table{padding:3px}.standing-row{display:grid;grid-template-columns:16px 1fr 22px;align-items:center;gap:4px;padding:2px 4px;font-size:11px;border-radius:2px}.standing-row.qualified{background:#edbb4a26}.standing-row .pos{font-weight:800;text-align:center;opacity:.7;font-size:10px}.standing-row .team-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.standing-row .pts{font-weight:800;text-align:center;color:var(--gold);font-size:10px}.standing-row.qualified .pos{color:var(--gold);opacity:1}.no-data,.no-groups{padding:12px;text-align:center;opacity:.5;font-size:11px}.playoff-content{padding:12px 24px}.playoff-simple{height:100%;display:flex;flex-direction:column}.playoff-header{margin-bottom:12px}.playoff-fade-enter-active,.playoff-fade-leave-active{transition:opacity .4s ease}.playoff-fade-enter-from,.playoff-fade-leave-to{opacity:0}.playoff-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:16px;align-content:start}.playoff-match-card{background:var(--bg-light);border-radius:12px;padding:16px;border:1px solid var(--border-light);display:flex;flex-direction:column;position:relative}.playoff-match-card.played{background:#edbb4a1a;border-color:#edbb4a4d}.playoff-match-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.playoff-time{font-size:18px;font-weight:800;color:var(--white)}.playoff-venue{font-size:13px;font-weight:600;padding:3px 8px;background:#ffffff26;border-radius:4px}.playoff-round{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);padding:3px 10px;background:#edbb4a26;border-radius:4px}.playoff-matchup{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}.playoff-row{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 14px;background:#0003;border-radius:8px;transition:all .2s ease}.playoff-row.winner{background:#388e3c33}.playoff-row .team-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.playoff-row.winner .team-name{color:var(--gold)}.playoff-row .team-score{position:absolute;right:14px;font-size:22px;font-weight:800;min-width:32px;text-align:center}.playoff-row.winner .team-score{color:var(--gold)}.playoff-row.placeholder{background:#ffffff0d;border:1px dashed rgba(255,255,255,.2)}.playoff-row.placeholder .team-name{font-style:italic;font-weight:500;opacity:.8}.playoff-provenance{font-size:9px;text-align:center;color:#ffffff73;font-style:italic;margin-top:-4px;padding-bottom:2px}.playoff-bracket-badge{font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;text-transform:uppercase}.playoff-bracket-badge.consolation{background:#ffffff1f;color:#fff9}.playoff-penalties{font-size:11px;font-weight:600;color:#fff9;text-align:center;padding:1px 0;letter-spacing:.02em}.playoff-vs{text-align:center;font-size:12px;font-weight:700;color:#fff6;padding:2px 0}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.champion-overlay{position:absolute;top:74px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:100;background:linear-gradient(135deg,#004d98f7,#003366fa)}.champion-confetti{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.champion-confetti:before,.champion-confetti:after{content:"";position:absolute;width:200%;height:200%;left:-50%;background-image:radial-gradient(circle,rgba(237,187,74,.4) 2px,transparent 2px),radial-gradient(circle,rgba(165,0,68,.3) 1.5px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.25) 1.5px,transparent 1.5px);background-size:80px 90px,120px 110px,100px 130px;animation:confetti-drift 12s linear infinite;opacity:.7}.champion-confetti:after{animation-delay:-6s;animation-duration:15s;background-size:100px 120px,90px 100px,130px 90px;opacity:.5}@keyframes confetti-drift{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(50%) rotate(3deg)}}.champion-card{position:relative;text-align:center;padding:40px 80px;background:#0006;border-radius:24px;border:2px solid rgba(237,187,74,.5);box-shadow:0 0 60px #edbb4a4d}.champion-trophy{margin-bottom:16px}.champion-trophy .material-icons{font-size:80px;color:var(--gold);animation:trophy-bounce 1s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(237,187,74,.6))}@keyframes trophy-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.05)}}.champion-badge{display:inline-block;font-size:14px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#181733;background:var(--gold);padding:8px 32px;border-radius:20px;margin-bottom:12px;box-shadow:0 4px 20px #edbb4a66}.champion-category{font-size:18px;font-weight:600;color:#ffffffb3;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.champion-name{font-size:48px;font-weight:800;color:var(--white);text-shadow:0 4px 20px rgba(0,0,0,.5);margin-bottom:20px;max-width:600px;line-height:1.1}.champion-final{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}.final-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}.final-score{font-size:28px;font-weight:800;color:var(--gold)}.final-vs{font-size:14px;color:#fff9}.champion-fade-enter-active{transition:all .8s ease-out}.champion-fade-leave-active{transition:all .4s ease-in}.champion-fade-enter-from{opacity:0;transform:scale(.9)}.champion-fade-leave-to{opacity:0}.champion-fade-enter-from .champion-card{transform:translateY(30px)}.playoff-simple.has-champion{opacity:0;pointer-events:none}@media screen{.scoreboard-scale{transform:scale(var(--scale-factor, 1))}}:root{--primary: #004D98;--primary-dark: #003366;--primary-light: #0066cc;--accent: #A50044;--gold: #fdc52c;--gold-light: #fdd55c;--white: #FFFFFF;--black: #1A1A1A}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(165,0,68,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(212,161,42,.1) 0%,transparent 50%);pointer-events:none;z-index:0}
