:root{--primary: #00bf63;--primary-dark: #00a352;--primary-light: #e8f8ef;--danger: #ff4757;--warning: #ffa502;--info: #3742fa;--bg: #f5f6fa;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #636e72;--text-hint: #b2bec3;--border: #e9ecef;--shadow: 0 2px 12px rgba(0, 0, 0, .06)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:14px}#app-root{min-height:100vh;padding-bottom:50px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.page-container{padding:12px}.section-title{font-size:16px;font-weight:700;color:var(--text-primary);padding:16px 12px 10px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:16px;background:var(--primary);border-radius:2px}.match-card{background:var(--bg-card);border-radius:10px;padding:12px;margin-bottom:10px;box-shadow:var(--shadow)}.league-tag{display:inline-block;background:var(--primary-light);color:var(--primary);font-size:11px;padding:2px 8px;border-radius:4px;margin-bottom:8px}.match-teams{display:flex;align-items:center;justify-content:space-between}.team{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.team .team-logo{width:44px;height:44px;margin-bottom:6px}.team .team-name{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;max-width:90px}.match-score{display:flex;align-items:center;gap:6px;font-size:20px;font-weight:800;color:var(--text-primary);padding:0 8px}.match-score .score-divider{color:var(--text-hint);font-size:14px}.match-score.upcoming{font-size:13px;font-weight:600;color:var(--text-secondary)}.match-info{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.info-left{display:flex;align-items:center}.kickoff{flex-shrink:0;margin-left:8px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.match-card.compact{flex-direction:column;align-items:stretch}.kickoff-compact{display:block;text-align:right;margin-top:4px;font-size:10px;color:var(--text-hint, #9098a3)}.match-card.compact{padding:8px 10px;margin-bottom:6px;display:flex;align-items:center}.match-card.compact .match-teams{width:100%}.match-card.compact .team{flex-direction:row;justify-content:flex-start;gap:6px;text-align:left;flex:1;min-width:0}.match-card.compact .team .team-logo{width:22px;height:22px;margin-bottom:0;flex-shrink:0}.match-card.compact .team .team-name{font-size:13px;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-card.compact .team:last-child{justify-content:flex-end;text-align:right}.match-card.compact .match-score{flex-shrink:0;font-size:15px;padding:0 10px;line-height:1.15}.match-card.compact .match-score.upcoming{font-size:12px}.results-toolbar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-card, #fff);border-bottom:1px solid var(--border, #f0f0f0)}.toolbar-label{font-size:13px;color:var(--text-secondary, #636e72);margin-right:2px}.sort-btn{flex:1;max-width:120px;padding:6px 10px;font-size:12px;border:1px solid var(--border, #e0e0e0);border-radius:16px;background:var(--bg-page, #f7f8fa);color:var(--text-secondary, #636e72);cursor:pointer;transition:all .2s ease}.sort-btn.active{border-color:var(--primary, #1989fa);background:var(--primary, #1989fa);color:#fff}.league-card{background:var(--bg-card);border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.league-card .league-logo{width:40px;height:40px;border-radius:50%}.league-card .league-info{flex:1}.league-card .league-info .league-name{font-size:15px;font-weight:600;color:var(--text-primary)}.league-card .league-info .league-country{font-size:12px;color:var(--text-secondary);margin-top:2px}.league-card .league-arrow{color:var(--text-hint);font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-hint)}.empty-state .empty-icon{font-size:48px;margin-bottom:12px}.empty-state .empty-text{font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:var(--text-secondary)}
