:root{color:#2e4057;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}html{background:#f4f6f9}body{color:#55657d;background:#f4f6f9;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}#app{min-height:100svh}.page-shell{width:100%}.page-header{background:#fff;border-bottom:2px solid #e2e8f0;box-shadow:0 1px 3px #2236520d}.title-lockup{align-items:flex-start;gap:.5rem;max-width:64rem;margin:0 auto;padding:.875rem .875rem .625rem;display:flex}.ball{margin-top:.05rem;font-size:1.5rem;line-height:1}h1,h2,p{margin:0}h1{color:#1f2a44;letter-spacing:.04em;font-size:1.05rem;font-weight:900;line-height:1}h1 span{color:#b8892a}.subtitle{color:#8ea0b8;letter-spacing:.07em;margin-top:.25rem;font-size:.62rem}.page-body{max-width:64rem;margin:0 auto;padding:.75rem .75rem 2.5rem}.filter-stack{flex-direction:column;gap:.35rem;display:flex}.chip-row{flex-wrap:wrap;gap:.25rem;display:flex}.team-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.group-row{grid-template-columns:3.15rem repeat(12,minmax(0,1fr));gap:.25rem;display:grid}.chip-group{width:100%}.chip{color:#687991;letter-spacing:.05em;background:#eaf0f7;border:0;border-radius:.25rem;min-height:1.7rem;padding:.18rem .58rem;font-size:.65rem;font-weight:700;transition:transform .12s,background-color .12s,color .12s,box-shadow .12s}.chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px #39537814}.chip.selected{color:#fff;background:#b8892a}.chip-team{justify-content:center;align-items:center;gap:.18rem;width:100%;height:1.45rem;padding:.12rem .28rem;font-size:.56rem;display:inline-flex}.chip-team-all.selected{background:#2471a3}.chip-flag{object-fit:cover;border-radius:.1rem;flex:none;width:.82rem;height:.62rem;box-shadow:0 0 0 1px #6879911f}.schedule{margin-top:.75rem}.match-day+.match-day{margin-top:1rem}.day-header{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-bottom:.35rem;display:grid}.day-header h2,.day-header p{color:#2471a3;letter-spacing:.1em;font-size:.68rem;font-weight:700}.day-line{background:#dce5ef;height:1px}.match-list{flex-direction:column;gap:.3rem;display:flex}.match-card{border:1px solid #e8edf3;border-left:3px solid var(--group-color);background:#fff;border-radius:.45rem;overflow:hidden;box-shadow:0 1px 3px #1f2a440d}.match-card.card-completed{background:#f0f7ff}.match-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:.25rem;padding:.56rem .62rem;display:grid}.team-side{align-items:center;gap:.45rem;display:grid}.team-home{grid-template-columns:auto auto 1fr;justify-content:start}.team-away{grid-template-columns:1fr auto auto;justify-content:end}.team-flag{object-fit:cover;border-radius:.12rem;width:1.5rem;height:1.12rem;box-shadow:0 0 0 1px #68799129}.team-meta{text-align:center;flex-direction:column;align-items:center;gap:.12rem;min-width:0;display:flex}.team-code{color:#1f2a44;letter-spacing:.03em;white-space:nowrap;font-size:1.12rem;font-weight:600;line-height:1}.group-badge{background:var(--group-color);color:#fff;letter-spacing:.05em;border-radius:.15rem;align-self:center;padding:.04rem .26rem;font-size:.58rem;font-weight:900;display:inline-flex}.score-box{color:#1f2a44;text-align:center;background:0 0;border:0;justify-self:center;width:2.8rem;padding:0;font-size:1.9rem;font-weight:900;line-height:1}.score-box::placeholder{color:#1f2a44;opacity:1}.score-box:focus{outline:none}.match-center{flex-direction:column;align-items:center;gap:.18rem;min-width:3.25rem;padding:0 .12rem;display:flex}.kickoff-time,.venue{color:#07a;text-align:center;line-height:1.2}.kickoff-time{font-size:.57rem;font-weight:700}.venue{font-size:.57rem}.summary-toggle{color:#7b8ca6;background:#edf2f7;border:1px solid #e8edf3;border-radius:.18rem;justify-content:center;align-items:center;min-width:0;height:auto;margin-top:.08rem;padding:.12rem .42rem;font-size:.55rem;font-weight:700;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.summary-toggle.open{color:#07a;background:#dbeeff;border-color:#90c4f0}.summary-panel{color:#44546a;background:#ffffffa8;border-top:1px solid #dce5ef;padding:.62rem .75rem;font-size:.75rem;line-height:1.65}.team-side.winner .team-code{font-weight:900}.team-side.loser{opacity:.52}.empty-state{background:#fff;border-radius:.45rem;padding:1rem;box-shadow:0 1px 3px #1f2a440d}.empty-state h2{color:#1f2a44;margin-bottom:.4rem;font-size:.9rem}@media (width>=721px){.title-lockup{gap:.7rem;padding:1rem 1rem .75rem}.ball{font-size:1.9rem}h1{font-size:1.35rem}.subtitle{font-size:.72rem}.page-body{padding:.9rem 1rem 2.75rem}.chip{min-height:1.95rem;padding:.28rem .7rem;font-size:.72rem}.chip-team{width:100%;height:1.65rem;padding:.16rem .42rem;font-size:.62rem}.group-row{grid-template-columns:3.75rem repeat(12,minmax(0,1fr))}.chip-flag{width:.94rem;height:.7rem}.day-header h2,.day-header p{font-size:.78rem}.match-grid{gap:.45rem;padding:.68rem .78rem}.team-side{gap:.7rem}.team-flag{width:1.8rem;height:1.35rem}.team-code{font-size:1.38rem}.score-box{width:3.1rem;font-size:2.2rem}.match-center{min-width:4.25rem}.kickoff-time,.venue{font-size:.68rem}.summary-toggle{min-width:0;height:auto;padding:.14rem .48rem;font-size:.62rem}}@media (width>=1100px){.title-lockup{padding:1.15rem 1.15rem .85rem}h1{font-size:1.55rem}.subtitle{font-size:.78rem}.page-body{padding-top:1rem}.chip{font-size:.78rem}.team-code{font-size:1.56rem}.score-box{font-size:2.45rem}}
