.focus-grid{display:grid;grid-template-columns:2fr .9fr;gap:20px}
.focus-grid>article,.focus-grid>aside{padding:34px;border-radius:28px;background:#fff;box-shadow:var(--shadow);font-size:14px;}
.focus-grid span{display:inline-block;color:#9a6a14;font-size:13px;font-weight:900}
.focus-grid h2{margin:12px 0;color:var(--text);font-size:52px;line-height:1}
.focus-tags{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.focus-tags b{padding:18px;border-radius:18px;background:#f5efe3;color:var(--text)}
.match-table{display:grid;gap:10px}
.match-row{display:grid;grid-template-columns:82px 138px 1fr 88px 1fr 46px 62px;gap:12px;align-items:center;min-height:74px;padding:12px 14px;border:1px solid rgba(65,216,255,.18);border-radius:8px;background:rgba(255,255,255,.07)}
.match-time strong,.match-score{color:#fff;font-size:20px}
.match-time span,.match-league em{display:block;color:rgba(237,247,255,.62);font-style:normal;font-weight:200;font-size:13px}
.match-league span{color:var(--cyan);font-weight:200;font-size:13px}
.match-team{display:grid;grid-template-columns:30px 1fr 58px;gap:8px;align-items:center;color:#fff;font-size:13px;font-weight:200}
.match-team img{width:28px;height:28px}
.match-team span,.match-more{color:var(--cyan);font-weight:800}
.match-fav{width:36px;height:36px;border:1px solid rgba(65,216,255,.28);border-radius:50%;color:var(--cyan);background:transparent;font-size:20px}
.match-fav.active{background:var(--cyan);color:#06111f}
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.guide-grid article{min-height:292px;padding:24px;border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.guide-grid span{width:54px;height:54px;display:grid;place-items:center;margin-bottom:28px;border-radius:8px;background:var(--cyan);color:#06111f;font-weight:900}
.guide-grid h3{margin:0 0 22px;color:var(--text);font-size:20px}
.guide-grid p{margin:0;color:#223c52;line-height:1.85;font-size:14px;font-weight:200}
@media(max-width:900px){.focus-grid,.guide-grid{grid-template-columns:1fr}
.match-row{grid-template-columns:1fr 1fr;gap:8px}
.match-score{text-align:left}
.match-more{grid-column:auto}
}.matches-hero{background:url("../images/kaiyun-football-bg.webp") center right/cover no-repeat,linear-gradient(120deg,#06111f 0%,#0b1728 55%,#172f46 100%)}
.matches-hero:before{background:linear-gradient(90deg,rgba(4,11,20,.96) 0%,rgba(4,11,20,.82) 42%,rgba(4,11,20,.34) 72%,rgba(4,11,20,.18) 100%),radial-gradient(circle at 38% 22%,rgba(65,216,255,.1),transparent 22rem)}
.matches-page .match-board{background:radial-gradient(circle at 16% 8%,rgba(65,216,255,.12),transparent 22rem),linear-gradient(180deg,#091326,#07111f)}
.matches-page .match-table{padding:20px;border:1px solid rgba(145,181,210,.18);border-radius:18px;background:rgba(237,247,255,.06);box-shadow:0 22px 80px rgba(0,0,0,.18)}
.matches-page .match-row{min-height:66px;grid-template-columns:96px 164px minmax(160px,1fr) 100px minmax(160px,1fr) 44px 68px;padding:8px 12px;border-color:rgba(145,181,210,.22);background:rgba(255,255,255,.035)}
.matches-page .match-row:hover{border-color:rgba(65,216,255,.42);background:rgba(65,216,255,.06)}
.matches-page .match-time strong,.matches-page .match-score{font-size:24px;font-weight:700;line-height:1.1}
.matches-page .match-time,.matches-page .match-score{text-align:center}
.matches-page .match-league{display:flex;align-items:center;gap:10px}
.matches-page .match-league:before{content:"";width:22px;height:22px;flex:0 0 auto;border-radius:999px;background:radial-gradient(circle at center,#f4fbff 0 35%,transparent 36%),conic-gradient(#f4fbff 0 12%,#1b2535 12% 24%,#f4fbff 24% 36%,#1b2535 36% 48%,#f4fbff 48% 60%,#1b2535 60% 72%,#f4fbff 72% 84%,#1b2535 84% 100%)}
.matches-page .match-league span,.matches-page .match-league em{font-size:13px}
.matches-page .match-team{min-height:42px;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:0 12px;border:1px solid rgba(145,181,210,.22);border-radius:999px}
.matches-page .match-team--away{grid-template-columns:34px minmax(0,1fr) auto}
.matches-page .match-team img{width:30px;height:30px;border:2px solid rgba(255,255,255,.86);border-radius:999px;object-fit:cover;background:rgba(237,247,255,.9)}
.matches-page .match-team b{overflow:hidden;color:#f4fbff;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.matches-page .match-team span{color:#f4fbff;font-size:13px;font-weight:400}
.matches-page .match-more{min-height:42px;display:grid;place-items:center;border:1px solid rgba(145,181,210,.24);border-radius:8px;color:#f4fbff}
.matches-page .match-fav{width:auto;height:auto;border:0;color:rgba(237,247,255,.62);font-size:30px;line-height:1}
@media(max-width:900px){.matches-page .match-row{grid-template-columns:1fr;gap:10px}
.matches-page .match-time,.matches-page .match-score{text-align:left}
.matches-page .match-team,.matches-page .match-team--away{grid-template-columns:34px minmax(0,1fr) auto}
.matches-page .match-table{padding:12px}
}.matches-page .match-board .ky-container{max-width:1180px}
.matches-page .match-table{gap:8px;padding:16px 20px;border:1px solid rgba(65,216,255,.16);border-radius:18px;background:rgba(255,255,255,.045)}
.matches-page .match-row{grid-template-columns:96px 160px minmax(230px,1fr) 96px minmax(230px,1fr) 68px 44px;gap:16px;min-height:67px;padding:7px 26px;border:1px solid rgba(145,181,210,.22);border-radius:7px;background:#0b1626}
.matches-page .match-row:hover{border-color:rgba(65,216,255,.42);background:#0e1c2e}
.matches-page .match-time{text-align:center}
.matches-page .match-time strong{display:block;color:#f6fbff;font-size:24px;line-height:1}
.matches-page .match-time span{color:rgba(237,247,255,.68);font-size:14px}
.matches-page .match-league{position:relative;display:grid;grid-template-columns:28px 1fr;gap:0 10px;align-items:center;color:rgba(237,247,255,.72);font-size:13px;line-height:1.45}
.matches-page .match-league:before{content:"";grid-row:1 / span 2;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#e9f4ff 0 28%,transparent 30%),conic-gradient(from 0deg,#e9f4ff 0 12%,transparent 12% 24%,#e9f4ff 24% 36%,transparent 36% 48%,#e9f4ff 48% 60%,transparent 60% 72%,#e9f4ff 72% 84%,transparent 84% 100%)}
.matches-page .match-league span,.matches-page .match-league em{grid-column:2}
.matches-page .match-league span{color:#36d7ff;font-size:13px;font-weight:300}
.matches-page .match-league em{display:inline;color:rgba(237,247,255,.68);font-size:13px}
.matches-page .match-team{display:grid;grid-template-columns:34px minmax(0,1fr) 58px;align-items:center;height:42px;padding:0 10px;border:1px solid rgba(145,181,210,.24);border-radius:999px;color:#f8fbff}
.matches-page .match-team img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.matches-page .match-team b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8fbff;font-size:13px;font-weight:200}
.matches-page .match-team span{color:#f8fbff;font-size:13px;font-weight:700;text-align:right}
.matches-page .match-team--away{grid-template-columns:58px minmax(0,1fr) 34px}
.matches-page .match-team--away span{grid-column:1;grid-row:1;text-align:left}
.matches-page .match-team--away b{grid-column:2;grid-row:1;text-align:right}
.matches-page .match-team--away img{grid-column:3;grid-row:1}
.matches-page .match-score{color:#f8fbff;font-size:24px;font-weight:800;text-align:center}
.matches-page .match-more{grid-column:6;grid-row:1;display:grid;place-items:center;height:42px;border:1px solid rgba(145,181,210,.24);border-radius:7px;color:#f8fbff;font-size:15px;font-weight:800}
.matches-page .match-fav{grid-column:7;grid-row:1;width:42px;height:42px;border:0;color:rgba(237,247,255,.72);font-size:25px}
@media(max-width:900px){.matches-page .match-table{padding:12px}
.matches-page .match-row{grid-template-columns:1fr;gap:10px;padding:16px}
.matches-page .match-time{text-align:left}
.matches-page .match-team,.matches-page .match-team--away{grid-template-columns:34px minmax(0,1fr) 58px}
.matches-page .match-team--away span,.matches-page .match-team--away b,.matches-page .match-team--away img{grid-column:auto;grid-row:auto;text-align:left}
.matches-page .match-more,.matches-page .match-fav{grid-column:auto;grid-row:auto}
}.focus-section{background:var(--paper)}
.match-guide{background:var(--paper)}