﻿*{box-sizing:border-box}
:root{
  --ink:#142033;
  --muted:#5f6f84;
  --line:#dce8f4;
  --panel:#ffffff;
  --paper:#f5f8fc;
  --hospital-blue:#0e53b4;
  --nav-blue:#2076bd;
  --mid-blue:#1257b8;
  --deep-blue:#0a479d;
  --light-blue:#44acfa;
}
body{
  margin:0;
  font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
}
.site-nav{
  min-height:68px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  border-top:4px solid #2076bd;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 6%;
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:blur(10px);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:#0a479d;
  min-width:0;
}
.brand-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.links{display:flex;align-items:center;gap:24px}
.links a,.links button{
  text-decoration:none;
  color:#43556b;
  font-size:14px;
  padding:23px 0 18px;
  border-bottom:3px solid transparent;
  border-left:0;
  border-right:0;
  border-top:0;
  background:transparent;
  font-family:inherit;
  cursor:pointer;
}
.links a:hover,.links a.active,.links button:hover{color:var(--hospital-blue);border-bottom-color:var(--nav-blue)}
.register{
  background:var(--nav-blue)!important;
  color:#fff!important;
  border:0!important;
  border-radius:8px;
  padding:11px 18px!important;
}
.page-hero{
  padding:70px 7% 60px;
  background:
    linear-gradient(120deg,rgba(32,118,189,.12),rgba(68,172,250,.08)),
    #fff;
  border-bottom:1px solid var(--line);
}
.eyebrow{
  font-size:14px;
  color:#2076bd;
  margin-bottom:16px;
  font-weight:700;
}
.page-hero h1{
  font-size:42px;
  line-height:1.18;
  font-weight:700;
  margin:0 0 16px;
  color:#0a479d;
  letter-spacing:0;
}
.page-hero p{
  font-size:17px;
  line-height:1.8;
  color:var(--muted);
  max-width:800px;
  margin:0;
}
.content{max-width:1080px;margin:0 auto;padding:54px 24px 82px}
.content h2{font-size:26px;line-height:1.3;font-weight:700;margin:0 0 24px;color:#0a479d}
.content h3{letter-spacing:0}
.intro-grid,.rule-grid,.feature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.feature-grid{grid-template-columns:repeat(3,1fr)}
.panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:8px;
  padding:24px;
  box-shadow:0 10px 24px rgba(19,48,82,.05);
}
.panel h3{margin:0 0 10px;font-size:18px;font-weight:700;color:#0e53b4}
.panel p,.panel li{font-size:14px;line-height:1.8;color:var(--muted);margin-top:0}
.panel ul{margin:0;padding-left:20px}
.timeline{position:relative;padding-left:35px}
.timeline:before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:2px;background:#c9def2}
.event{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:22px 24px;
  margin-bottom:17px;
}
.event:before{
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#2076bd;
  left:-32px;
  top:27px;
  box-shadow:0 0 0 5px #e4f2ff;
}
.event time{font-weight:700;color:var(--hospital-blue)}
.event h3{margin:8px 0 6px;font-size:18px}
.event p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
.rule{display:flex;gap:15px}
.number{
  flex:0 0 38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e8f3ff;
  color:#0e53b4;
  font-weight:700;
}
.notice{
  margin-top:24px;
  padding:18px 20px;
  background:#eef7ff;
  border-left:4px solid #2076bd;
  color:#24506f;
  line-height:1.7;
  border-radius:0 8px 8px 0;
}
.cta-band{
  margin-top:28px;
  padding:24px;
  border-radius:8px;
  background:#0a479d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.cta-band strong{display:block;font-size:20px;margin-bottom:5px}
.cta-band span{color:#dcecff;font-size:14px}
.cta-band a{
  flex:0 0 auto;
  background:#fff;
  color:#0a479d;
  text-decoration:none;
  padding:12px 18px;
  border-radius:8px;
  font-weight:700;
}
.back{display:inline-block;margin-top:28px;color:var(--hospital-blue);text-decoration:none;font-weight:700}
.footer{
  background:#0a479d;
  color:#c5d3df;
  padding:24px 7%;
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:13px;
}
@media(max-width:820px){
  .site-nav{padding:0 18px}
  .links{gap:10px}
  .links a{display:none}
  .links .register{display:block}
  .page-hero{padding:48px 22px}
  .page-hero h1{font-size:32px}
  .content{padding:40px 20px 60px}
  .intro-grid,.rule-grid,.feature-grid{grid-template-columns:1fr}
  .cta-band{display:block}
  .cta-band a{display:inline-block;margin-top:16px}
}

