:root{
  --black:#121115;
  --dark:#212121;
  --white:#fff;
  --orange:#FFB154;
  --green:#80C269;
  --lime:#B6DF62;
  --blue:#26BFFF;
  --cyan:#13B5B1;
  --pink:#EA68A2;
  --line:#F0F0F0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:#111;
  font-family:"Microsoft YaHei","SimSun",Arial,sans-serif;
  line-height:1.6;
  word-wrap:break-word;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{width:min(1000px,calc(100% - 24px));margin:0 auto}

/* 导航：保留 2017 原站的黑底、白字、细白分隔线 */
.topbar{background:#fff;padding-top:5px}
.nav{display:grid;grid-template-columns:repeat(3,1fr);height:51px;background:var(--black)}
.nav a{
  min-width:0;height:51px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:20px;font-weight:bold;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);border-left:1px solid var(--line)
}
.nav a:first-child{font-size:16px}
.nav a:last-child{border-right:1px solid var(--line)}
.nav a:hover{color:#B3B3B3}
.nav a.active{background:#1f2228;color:var(--orange)}

main{padding:1px 0 0;background:#fff}
.footer{margin-top:5px;padding:5px 0 8px;border-top:1px dotted #C0C0C0;color:#000;font-size:12px;background:#fff}
.footer .shell{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.footer a:hover{color:gray}

/* 首页 */
.hero{background:#fff;border:10px solid var(--orange);overflow:hidden}
.hero img{width:100%;height:auto}

/* 角色列表：保留原站简洁白底陈列，只做响应式整理 */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 0}
.role-card{min-height:150px;padding:10px;text-align:center;background:#fff;border:1px solid #ddd;border-radius:2px}
.role-card img{width:100px;height:100px;object-fit:cover;margin:0 auto 5px;border:0;border-radius:0}
.role-name{font-size:13px;font-weight:normal;line-height:20px}
.role-meta{font-size:11px;color:#777;line-height:18px;margin-top:2px}
.rank-badge{display:inline-block;margin-top:3px;padding:0 5px;font-size:11px;line-height:18px;color:#666;background:#f4f4f4;border-radius:2px}

/* 初步计划：尽量还原原站排版，不额外加卡片边框 */
.panel{margin:0;padding:0;background:#fff;border:0;border-radius:0;box-shadow:none}
.content-copy{padding:10px;font-size:13px}
.content-copy .title{text-align:center;font-size:20px;font-weight:bold;line-height:50px;margin:0;color:#111}
.content-copy .middle_title,.content-copy .middle-title{font-size:16px;font-weight:bold;line-height:40px;margin:0;color:#111}
.content-copy .content{font-size:13px;font-weight:normal;line-height:25px;color:#111}

/* “赛程与数据”首页：按原站 2017 配色和尺寸还原 */
.schedule-home{
  height:625px;
  padding-top:20px;
  background:#212121 url('/assets/common/schedulebg.png') center top/1000px 625px no-repeat;
  overflow:hidden;
}
.schedule-home .subnav{display:block;margin:0 auto}
.schedule-home .subnav a{
  width:332px;height:52px;margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  background:#B6DF62;border:1px solid #F0F0F0;
  color:#FF0000;font-size:18px;font-weight:bold;line-height:50px;
  box-shadow:none;transition:color .15s
}
.schedule-home .subnav a:hover{color:#0000FF;background:#B6DF62}

/* 赛程页：严格按原站 380 + 220 + 380 的横向布局还原 */
.schedule-layout{
  height:620px;
  padding:10px;
  background:#212121;color:#fff;
  display:grid;
  grid-template-columns:380px 220px 380px;
  grid-template-rows:50px 1fr;
  gap:0;
  align-items:start;
  overflow:hidden;
}
.schedule-page-title{
  grid-column:1/-1;
  text-align:center;
  font-size:20px;
  font-weight:bold;
  line-height:50px;
  color:#fff;
}
.schedule-layout>img{
  width:305px;
  height:348px;
  max-width:none;
  justify-self:center;
  margin:50px 0 0;
}
.schedule-text{
  width:220px;
  padding:10px;
  margin:50px 0 0;
  font-size:15px;
  line-height:25px;
  color:#fff;
}
.schedule-text p{margin:0;white-space:nowrap}

/* 战况数据：沿用原站 #212121 深色底和绿/蓝/橙分区配色 */
.data-panel{background:var(--dark);color:#fff;padding:0 20px 28px;min-height:600px}
.data-tabs{height:42px;margin:0 -20px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--dark)}
.data-tabs button{
  height:42px;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:bold;line-height:42px
}
.data-tabs button:nth-child(1){color:var(--green)}
.data-tabs button:nth-child(2){color:var(--blue)}
.data-tabs button:nth-child(3){color:var(--orange)}
.data-tabs button:hover{background:#292929}
.data-tabs button.active{background:#292929;box-shadow:inset 0 -2px currentColor}
.tab-pane{display:none}.tab-pane.active{display:block}
.qualifier-grid{display:grid;grid-template-columns:2fr 1fr;gap:26px}
.qualifier-grid h3{margin:0 0 14px;color:#fff;font-size:20px}
.candidate-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 12px}
.person-mini{min-width:0;padding:0;background:transparent;border:0;border-radius:0;display:flex;gap:10px;align-items:center;color:#fff}
.person-mini img{flex:0 0 auto;width:68px;height:68px;object-fit:cover;border-radius:50%}
.person-mini .name{font-size:13px;font-weight:bold;line-height:20px;color:#fff}
.person-mini .vote{font-size:13px;line-height:20px;color:#fff}
.top4{display:grid;gap:12px;padding-left:18px;border-left:1px solid rgba(255,177,84,.45)}
.top4 .person-mini{padding:4px 0}
.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 0}
.group-card{min-height:365px;padding:10px 38px 20px;background:transparent;border:0;border-radius:0;color:#fff}
.group-card h3{margin:0 0 8px;text-align:center;color:#fff;font-size:20px;line-height:28px}
.winner{position:relative;display:flex;justify-content:center;align-items:center;gap:12px;padding:0;margin:0 auto 28px;background:transparent;border:0;border-radius:0;text-align:center;color:#fff}
.winner::after{content:"";position:absolute;left:50%;bottom:-28px;width:1px;height:18px;background:var(--orange);transform:translateX(-.5px)}
.winner img{width:100px;height:100px;object-fit:cover;border-radius:50%}
.winner strong{display:block;color:#fff;font-size:15px}
.group-members{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;border-top:1px solid var(--orange);padding-top:18px}
.group-members .person-mini{position:relative;display:block;text-align:center}
.group-members .person-mini::before{content:"";position:absolute;left:50%;top:-18px;width:1px;height:10px;background:var(--orange);transform:translateX(-.5px)}
.group-members .person-mini img{width:80px;height:80px;margin:0 auto 5px}
.group-members .person-mini .name,.group-members .person-mini .vote{text-align:center}
.bracket-stage{margin:0 0 24px;color:#fff}
.bracket-stage h3{text-align:center;color:var(--orange);margin:0 0 14px;font-size:18px}
.bracket-row{position:relative;display:grid;gap:16px;grid-template-columns:repeat(var(--cols),minmax(0,1fr));padding-top:18px}
.bracket-row::before{content:"";position:absolute;top:8px;left:calc(50% / var(--cols));right:calc(50% / var(--cols));height:1px;background:var(--orange)}
.bracket-row::after{content:"";position:absolute;top:-8px;left:50%;width:1px;height:17px;background:var(--orange);transform:translateX(-.5px)}
.bracket-item{position:relative;padding:8px;text-align:center;background:transparent;border:0;border-radius:0;color:#fff}
.bracket-row>.bracket-item::before{content:"";position:absolute;left:50%;top:-18px;width:1px;height:11px;background:var(--orange);transform:translateX(-.5px)}
.bracket-item img{width:76px;height:76px;object-fit:cover;border-radius:50%;margin:0 auto 7px}
.bracket-item .vote{color:#fff;font-size:13px}
.champion{position:relative;max-width:300px;margin:auto;background:transparent;border:0}
.champion::after{content:"";position:absolute;left:50%;bottom:-22px;width:1px;height:22px;background:var(--orange);transform:translateX(-.5px)}
.champion img{width:104px;height:104px}
.note{font-size:13px;color:var(--orange);text-align:center;margin-top:12px}

/* 战报：原站就是深色正文区，保留原始视觉 */
.report{padding:10px 50px;background:var(--dark);color:#fff;font-size:16px;line-height:20px}
.report .title{text-align:center;font-size:20px;font-weight:bold;line-height:40px;margin:0;color:#fff}
.report .pic{margin:0 auto;text-align:center;padding:10px}
.report .pic img{margin:auto;max-width:100%;height:auto!important;border-radius:0;border:0}

@media(max-width:900px){
  .roles{grid-template-columns:repeat(3,1fr)}
  .schedule-layout{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .schedule-page-title{grid-column:1}
  .schedule-layout>img{margin:20px auto 0;width:min(305px,100%);height:auto;max-width:305px}
  .schedule-text{margin:15px auto 0;width:min(100%,420px)}
  .qualifier-grid{grid-template-columns:1fr}
  .top4{padding-left:0;border-left:0;border-top:1px solid rgba(255,177,84,.45);padding-top:18px}
  .candidate-list{grid-template-columns:repeat(2,1fr)}
  .group-card{padding-left:24px;padding-right:24px}
}
@media(max-width:620px){
  .shell{width:min(100% - 16px,1000px)}
  .topbar{padding-top:0}
  .nav{height:auto;grid-template-columns:1fr}
  .nav a,.nav a:first-child{height:44px;font-size:16px;border-right:1px solid var(--line);border-bottom:0}
  .nav a:last-child{border-bottom:1px solid var(--line)}
  main{padding-top:5px}
  .roles{grid-template-columns:repeat(2,1fr)}
  .role-card{min-height:142px;padding:8px}
  .schedule-home{height:auto;min-height:500px;padding:24px 12px;background-position:center top}
  .schedule-home .subnav a{width:min(100%,332px)}
  .candidate-list{grid-template-columns:1fr}
  .group-grid{grid-template-columns:1fr}
  .group-members{grid-template-columns:repeat(4,1fr)}
  .bracket-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .report{padding:10px 14px;font-size:15px}
  .footer .shell{justify-content:center}
}
@media(max-width:400px){
  .roles{grid-template-columns:1fr 1fr}
  .group-members{grid-template-columns:repeat(2,1fr)}
  .bracket-row{grid-template-columns:1fr!important}
}
