/* ============================================================
   华夏游戏国际赛事组委会 · 权欣征服者 官方官网
   设计系统 —— 蓝白医疗科幻风 (HAFK / 三角洲行动 灵感)
   ============================================================ */

:root{
  /* 色板 —— 蓝白·天蓝·浅蓝，非纯白 */
  --bg-0:#eef5ff;            /* 页面底色 */
  --bg-1:#f7faff;            /* 卡片底色 */
  --bg-2:#e3eefb;            /* 次级面 */
  --bg-deep:#0a2747;          /* 深蓝底色（页脚/反色区） */

  --line:rgba(21,85,156,.16); /* 细分隔线 */
  --line-2:rgba(21,85,156,.28);

  --primary:#1565c0;          /* 主蓝 */
  --primary-hi:#1e88e5;       /* 亮蓝 */
  --primary-deep:#0d47a1;     /* 深蓝 */
  --cyan:#00acc1;             /* 青色点缀 */
  --cyan-hi:#26c6da;
  --ink:#0a2540;              /* 主文字（深蓝黑） */
  --ink-2:#27405d;            /* 次文字 */
  --muted:#5a7390;            /* 弱文字 */
  --white:#ffffff;

  --glow:rgba(30,136,229,.22);
  --glow-cyan:rgba(38,198,218,.28);

  /* 字体 */
  --f-sans:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-serif:"Noto Serif SC","Source Han Serif SC","SimSun",serif;
  --f-mono:"JetBrains Mono","Consolas","Courier New",monospace;

  /* 尺寸 */
  --pad:clamp(1rem,4vw,3rem);
  --radius:10px;
  --radius-sm:6px;
  --nav-h:64px;

  /* 动效 */
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-sans);
  color:var(--ink);
  background:var(--bg-0);
  line-height:1.7;
  min-width:320px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
/* 科技网格底纹 + 扫描线 */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(var(--bg-0),var(--bg-0)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0V40' fill='none' stroke='%231565c0' stroke-opacity='.05' stroke-width='1'/%3E%3C/svg%3E");
}
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(21,85,156,.018) 3px,rgba(21,85,156,.018) 4px);
}

a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}

.container{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.serif{font-family:var(--f-serif)}
.mono{font-family:var(--f-mono)}

/* ---------- 通用小组件 ---------- */
.tag{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;
  color:var(--primary);
  padding:.3rem .7rem;border:1px solid var(--line-2);border-radius:999px;
  background:rgba(30,136,229,.05);
}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan-hi);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

.section{padding:clamp(3rem,7vw,5.5rem) 0;position:relative;z-index:1}
.section-head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-mono);font-size:.74rem;letter-spacing:.32em;color:var(--primary-hi);
  text-transform:uppercase;
}
.eyebrow i{width:1.8rem;height:1px;background:var(--primary-hi);font-style:normal}
.eyebrow::after{content:"";width:1.8rem;height:1px;background:var(--primary-hi)}
.section-title{
  font-family:var(--f-serif);font-weight:900;
  font-size:clamp(1.8rem,4.2vw,2.6rem);
  color:var(--ink);letter-spacing:.08em;margin:.6rem 0 .4rem;
}
.section-sub{color:var(--muted);font-size:.98rem;max-width:700px;margin:0 auto}

/* 角标装饰 */
.corner-box{position:relative;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);transition:all .35s var(--ease)}
.corner-box:hover{border-color:var(--line-2);box-shadow:0 18px 40px -22px var(--glow),0 0 0 1px var(--glow)}
.corner-box::before,.corner-box::after,
.corner-box > .cb-l,.corner-box > .cb-r{
  content:"";position:absolute;width:14px;height:14px;border-color:var(--primary-hi);border-style:solid;border-width:0;
  pointer-events:none;
}
.corner-box::before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px;border-top-left-radius:var(--radius)}
.corner-box::after{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px;border-top-right-radius:var(--radius)}
.corner-box > .cb-l{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:var(--radius)}
.corner-box > .cb-r{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:var(--radius)}

/* 按钮 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.62rem 1.4rem;border-radius:var(--radius-sm);
  font-family:inherit;font-size:.92rem;font-weight:500;letter-spacing:.04em;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:all .25s var(--ease);position:relative;overflow:hidden;
}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-hi));color:#fff;box-shadow:0 6px 18px -8px var(--glow)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 28px -8px var(--glow);filter:brightness(1.08)}
.btn-ghost{background:transparent;border-color:var(--line-2);color:var(--primary)}
.btn-ghost:hover{border-color:var(--primary-hi);background:rgba(30,136,229,.06)}
.btn-light{background:var(--white);border-color:var(--line);color:var(--ink)}
.btn-light:hover{border-color:var(--primary-hi);color:var(--primary)}
.btn-block{width:100%}
.btn-lg{padding:.8rem 1.8rem;font-size:1rem}

/* ---------- 顶部导航 ---------- */
.nav{
  position:sticky;top:0;z-index:100;height:var(--nav-h);
  background:rgba(247,250,255,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand-mark{
  width:40px;height:40px;flex:none;
  background:linear-gradient(135deg,var(--primary-deep),var(--primary-hi));
  border-radius:8px;display:grid;place-items:center;
  color:#fff;font-family:var(--f-serif);font-weight:900;font-size:1.05rem;
  box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 6px 16px -6px var(--glow);
  position:relative;
}
.brand-mark::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.35);border-radius:5px;pointer-events:none}
.brand-name{font-family:var(--f-serif);font-weight:900;color:var(--ink);line-height:1.15;letter-spacing:.04em}
.brand-name small{display:block;font-family:var(--f-mono);font-weight:400;font-size:.6rem;color:var(--primary);letter-spacing:.28em;margin-top:.1rem}
.menu{display:flex;align-items:center;gap:1.4rem;font-size:.9rem}
.menu a{color:var(--ink-2);position:relative;padding:.25rem 0;transition:color .2s;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--primary-hi);transition:width .3s var(--ease)}
.menu a:hover,.menu a.active{color:var(--primary)}
.menu a:hover::after,.menu a.active::after{width:100%}
.nav-actions{display:flex;align-items:center;gap:.5rem}
.hamburger{display:none;background:none;border:none;font-size:1.4rem;color:var(--ink);cursor:pointer;padding:.2rem}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 500px at 85% 10%,rgba(30,136,229,.14),transparent 60%),
    radial-gradient(700px 450px at 10% 90%,rgba(0,172,193,.12),transparent 55%),
    linear-gradient(180deg,#eef6ff 0%,var(--bg-0) 100%);
  border-bottom:1px solid var(--line);
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding:clamp(3rem,7vw,6rem) 0}
.hero-kicker{display:flex;align-items:center;gap:.6rem;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.26em;color:var(--primary-hi);margin-bottom:1.1rem}
.hero-kicker i{width:1.6rem;height:1px;background:var(--primary-hi);font-style:normal}
.hero h1{
  font-family:var(--f-serif);font-weight:900;color:var(--ink);
  font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.1;letter-spacing:.06em;
}
.hero h1 .accent{
  background:linear-gradient(120deg,var(--primary),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-slogan{
  font-family:var(--f-serif);font-size:clamp(1rem,2.2vw,1.4rem);
  color:var(--ink-2);margin:1rem 0 .4rem;letter-spacing:.14em;
}
.hero-slogan b{color:var(--primary)}
.hero-desc{color:var(--muted);font-size:.98rem;max-width:540px;margin-bottom:1.8rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem}
.hero-metrics{display:flex;flex-wrap:wrap;gap:2rem;border-top:1px solid var(--line);padding-top:1.4rem}
.metric .n{font-family:var(--f-serif);font-size:1.7rem;font-weight:900;color:var(--primary-deep)}
.metric .n i{color:var(--cyan);font-style:normal;font-family:var(--f-mono)}
.metric .l{font-size:.74rem;color:var(--muted);letter-spacing:.06em}

/* Hero 右侧 —— 数据面板 */
.hud-panel{
  position:relative;background:linear-gradient(160deg,#fff,#eef6ff);
  border:1px solid var(--line-2);border-radius:14px;padding:1.4rem;
  box-shadow:0 30px 60px -30px var(--glow),0 0 0 1px rgba(255,255,255,.6) inset;
}
.hud-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.9rem;border-bottom:1px dashed var(--line)}
.hud-top .id{font-family:var(--f-mono);font-size:.72rem;color:var(--primary-hi);letter-spacing:.1em}
.hud-top .dot{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--cyan)}
.hud-top .dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan-hi)}
.hud-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.86rem;border-bottom:1px solid var(--line)}
.hud-row:last-child{border-bottom:none}
.hud-row .k{color:var(--muted)}
.hud-row .v{color:var(--ink);font-family:var(--f-mono);font-weight:600}
.hud-bar{margin-top:1rem}
.hud-bar .lb{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:.3rem}
.hud-bar .track{height:6px;background:var(--bg-2);border-radius:999px;overflow:hidden}
.hud-bar .fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--cyan-hi));border-radius:999px;box-shadow:0 0 10px var(--glow-cyan)}

/* HUD 角装饰 */
.hud-panel::before,.hud-panel::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--primary-hi)}
.hud-panel::before{top:-2px;left:-2px;border-right:none;border-bottom:none}
.hud-panel::after{bottom:-2px;right:-2px;border-left:none;border-top:none}

/* ---------- 卡片区：通用网格 ---------- */
.grid{display:grid;gap:1.4rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}

/* 赛事卡片 */
.event-card{padding:1.6rem 1.4rem;display:flex;flex-direction:column;height:100%}
.event-num{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);letter-spacing:.16em}
.event-title{font-family:var(--f-serif);font-size:1.2rem;font-weight:700;color:var(--ink);margin:.3rem 0 .5rem}
.event-desc{color:var(--muted);font-size:.88rem;flex:1;margin-bottom:1rem}
.event-tag{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}
.event-tag span{font-size:.68rem;padding:.15rem .5rem;border-radius:4px;background:rgba(30,136,229,.08);color:var(--primary)}
.event-foot{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid var(--line)}
.event-foot .status{font-family:var(--f-mono);font-size:.72rem;color:var(--cyan)}

/* 主席卡 */
.chairman-card{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:center;padding:1.8rem}
.chairman-avatar{
  width:120px;height:120px;border-radius:14px;flex:none;
  background:linear-gradient(135deg,var(--primary-deep),var(--cyan));
  display:grid;place-items:center;color:#fff;font-family:var(--f-serif);font-weight:900;font-size:2.6rem;
  position:relative;box-shadow:0 14px 30px -10px var(--glow);
}
.chairman-avatar::after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.4);border-radius:10px}
.chairman-title{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.18em;color:var(--primary-hi)}
.chairman-name{font-family:var(--f-serif);font-size:1.8rem;font-weight:900;color:var(--ink);margin:.2rem 0}
.chairman-name small{font-size:.9rem;color:var(--cyan);font-family:var(--f-mono);margin-left:.5rem}
.chairman-post{color:var(--ink-2);font-size:.96rem;margin-bottom:.6rem}
.chairman-roles{display:flex;flex-wrap:wrap;gap:.4rem}
.chairman-roles span{font-size:.74rem;padding:.2rem .6rem;border:1px solid var(--line-2);border-radius:4px;color:var(--primary)}

/* 职权列表 */
.auth-list{counter-reset:item}
.auth-list li{position:relative;padding:1rem 1rem 1rem 3rem;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;margin-bottom:.7rem;transition:all .25s}
.auth-list li::before{
  counter-increment:item;content:counter(item,decimal-leading-zero);
  position:absolute;left:1rem;top:1rem;font-family:var(--f-mono);font-weight:700;color:var(--primary-hi);
}
.auth-list li:hover{border-color:var(--primary-hi);transform:translateX(3px)}

/* 组织架构 */
.org-tree{display:grid;gap:1rem}
.org-node{padding:1.2rem 1.4rem}
.org-node .on-title{font-family:var(--f-serif);font-weight:700;color:var(--ink);font-size:1.05rem;display:flex;align-items:center;gap:.6rem}
.org-node .on-title .num{font-family:var(--f-mono);font-size:.74rem;color:var(--cyan)}
.org-node .on-sub{color:var(--muted);font-size:.86rem;margin-top:.3rem}
.org-node .on-items{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.org-node .on-items span{font-size:.74rem;padding:.18rem .55rem;background:rgba(0,172,193,.08);color:var(--cyan);border-radius:4px}

/* 准则卡 */
.principle-card{padding:1.5rem;position:relative}
.principle-card .pc-ico{
  width:44px;height:44px;border-radius:10px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;font-weight:700;
  margin-bottom:1rem;font-family:var(--f-serif);font-size:1.1rem;
}
.principle-card h4{font-family:var(--f-serif);font-size:1.1rem;color:var(--ink);margin-bottom:.4rem}
.principle-card p{color:var(--muted);font-size:.86rem}

/* 资质徽章 */
.cert-grid{display:grid;gap:1.2rem}
.cert-item{padding:1.4rem;text-align:center}
.cert-badge{
  width:84px;height:84px;margin:0 auto 1rem;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(from 0deg,var(--primary),var(--cyan),var(--primary));
  position:relative;
}
.cert-badge::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg-1)}
.cert-badge span{position:relative;font-family:var(--f-serif);font-weight:900;font-size:1.5rem;color:var(--primary-deep)}
.cert-item h4{font-family:var(--f-serif);font-size:1rem;color:var(--ink);margin-bottom:.3rem}
.cert-item p{color:var(--muted);font-size:.82rem}

/* 定名释义 */
.etymology{display:grid;gap:1rem}
.etym-item{padding:1.4rem;display:flex;gap:1rem;align-items:flex-start}
.etym-char{
  width:54px;height:54px;flex:none;border-radius:10px;
  background:linear-gradient(135deg,var(--primary-deep),var(--primary-hi));
  color:#fff;display:grid;place-items:center;font-family:var(--f-serif);font-weight:900;font-size:1.6rem;
}
.etym-body h4{font-family:var(--f-serif);color:var(--ink);font-size:1.05rem;margin-bottom:.2rem}
.etym-body p{color:var(--muted);font-size:.9rem}

/* ---------- 页脚 ---------- */
.footer{
  background:linear-gradient(180deg,var(--bg-deep),#061a33);
  color:#a9c4e0;margin-top:2rem;position:relative;z-index:1;
  border-top:3px solid var(--primary);
}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem;padding:3rem 0 2rem}
.footer-brand .brand-name{color:#fff}
.footer-brand .brand-name small{color:var(--cyan-hi)}
.footer-brand p{font-size:.84rem;color:#7e9bb8;margin-top:.8rem;max-width:300px;line-height:1.8}
.footer-col h5{color:#fff;font-family:var(--f-serif);font-size:1rem;margin-bottom:1rem}
.footer-col ul li{font-size:.84rem;margin-bottom:.5rem}
.footer-col ul li a{color:#7e9bb8;transition:color .2s}
.footer-col ul li a:hover{color:var(--cyan-hi)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.2rem 0;font-size:.78rem;color:#5f7d9d;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
}
.footer-bottom .mono{color:var(--cyan-hi)}

/* ---------- 表单（登录注册） ---------- */
.auth-wrap{min-height:calc(100vh - var(--nav-h) - 200px);display:flex;align-items:center;justify-content:center;padding:3rem var(--pad)}
.auth-card{width:100%;max-width:420px;padding:2.2rem 2rem}
.auth-title{text-align:center;margin-bottom:1.6rem}
.auth-title h2{font-family:var(--f-serif);font-size:1.6rem;color:var(--ink)}
.auth-title p{font-size:.84rem;color:var(--muted);margin-top:.3rem}
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-size:.82rem;color:var(--ink-2);margin-bottom:.35rem;font-weight:500}
.form-control{
  width:100%;padding:.65rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);
  background:var(--bg-1);font-family:inherit;font-size:.92rem;color:var(--ink);
  transition:all .2s;
}
.form-control:focus{outline:none;border-color:var(--primary-hi);box-shadow:0 0 0 3px var(--glow);background:#fff}
.form-tip{font-size:.74rem;color:var(--muted);margin-top:.3rem}
.form-tip.ok{color:var(--cyan)}
.form-tip.err{color:#c62828}
.form-row{display:flex;gap:.6rem}
.form-row .form-group{flex:1}
.auth-switch{text-align:center;margin-top:1.2rem;font-size:.84rem;color:var(--muted)}
.auth-switch a{color:var(--primary);font-weight:500}
.auth-social{margin-top:1.4rem;padding-top:1.2rem;border-top:1px dashed var(--line);text-align:center;font-size:.78rem;color:var(--muted)}
.auth-social-btns{display:flex;gap:.6rem;justify-content:center;margin-top:.8rem}
.auth-social-btns button{flex:1;padding:.55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-1);cursor:pointer;font-size:.8rem;color:var(--ink-2);transition:all .2s}
.auth-social-btns button:hover{border-color:var(--primary-hi);color:var(--primary)}

/* 表单页左侧说明 */
.auth-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;width:100%;align-items:center}
.auth-aside{padding:2rem}
.auth-aside h2{font-family:var(--f-serif);font-size:1.8rem;color:var(--ink);margin-bottom:.8rem}
.auth-aside p{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}
.auth-aside ul li{font-size:.86rem;color:var(--ink-2);padding:.3rem 0;display:flex;align-items:center;gap:.5rem}
.auth-aside ul li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}

/* ---------- 内页通用 Hero（二级页头） ---------- */
.page-hero{
  padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3rem);
  background:
    radial-gradient(600px 300px at 90% 0,rgba(30,136,229,.12),transparent 60%),
    linear-gradient(180deg,#eef6ff,var(--bg-0));
  border-bottom:1px solid var(--line);
  text-align:center;position:relative;z-index:1;
}
.page-hero .tag{margin-bottom:1rem}
.page-hero h1{font-family:var(--f-serif);font-weight:900;font-size:clamp(1.8rem,4.5vw,2.8rem);color:var(--ink);letter-spacing:.08em}
.page-hero p{color:var(--muted);max-width:640px;margin:.6rem auto 0;font-size:.96rem}
.breadcrumb{display:flex;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--muted);margin-top:1rem;font-family:var(--f-mono)}
.breadcrumb a{color:var(--primary)}
.breadcrumb span{opacity:.5}

/* 赛事详情（events 页） */
.event-detail{padding:1.8rem;display:grid;gap:1.2rem;margin-bottom:1.4rem}
.event-detail-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.event-detail-head h3{font-family:var(--f-serif);font-size:1.4rem;color:var(--ink)}
.event-detail-head .meta{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);font-family:var(--f-mono)}
.event-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.event-detail-body p{color:var(--ink-2);font-size:.92rem}
.event-detail-body .info{font-size:.84rem;color:var(--muted)}
.event-detail-body .info b{color:var(--ink)}

/* 数据看板 */
.stat-board{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat-cell{padding:1.4rem;text-align:center}
.stat-cell .v{font-family:var(--f-serif);font-size:2rem;font-weight:900;color:var(--primary-deep)}
.stat-cell .v i{color:var(--cyan);font-style:normal;font-family:var(--f-mono);font-size:1.2rem}
.stat-cell .l{font-size:.78rem;color:var(--muted);margin-top:.2rem}

/* 时间线 */
.timeline{position:relative;padding-left:1.8rem}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--primary),var(--cyan));opacity:.4}
.tl-item{position:relative;padding-bottom:1.4rem}
.tl-item::before{content:"";position:absolute;left:-1.8rem;top:.35rem;width:14px;height:14px;border-radius:50%;background:var(--white);border:2px solid var(--primary-hi);box-shadow:0 0 0 3px rgba(30,136,229,.15)}
.tl-item .tl-time{font-family:var(--f-mono);font-size:.74rem;color:var(--primary-hi);letter-spacing:.06em}
.tl-item .tl-title{font-weight:600;color:var(--ink);margin:.2rem 0}
.tl-item .tl-desc{font-size:.86rem;color:var(--muted)}

/* ---------- 动画 ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.scan{position:relative;overflow:hidden}
.scan::after{
  content:"";position:absolute;left:0;right:0;height:2px;top:0;
  background:linear-gradient(90deg,transparent,var(--cyan-hi),transparent);
  animation:scan 3.5s linear infinite;
}
@keyframes scan{0%{top:0}100%{top:100%}}

/* 六边形装饰 */
.hex-deco{position:absolute;pointer-events:none;opacity:.12}
.hex-deco svg{width:100%;height:100%}

/* ---------- 响应式 ---------- */
@media(max-width:1080px){
  .grid-5{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:2rem}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr}
  .grid-5{grid-template-columns:repeat(2,1fr)}
  .auth-split{grid-template-columns:1fr}
  .event-detail-body{grid-template-columns:1fr}
  .chairman-card{grid-template-columns:1fr;text-align:center}
  .chairman-avatar{margin:0 auto}
  .stat-board{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .menu{
    display:none;position:absolute;top:var(--nav-h);left:0;right:0;
    background:var(--bg-1);flex-direction:column;align-items:flex-start;
    padding:1rem var(--pad);gap:.9rem;border-bottom:1px solid var(--line);
  }
  .menu.open{display:flex}
  .hamburger{display:block}
  .nav-actions .btn-ghost{display:none}
  .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
