/* 科创研学社 · 全站统一页眉页脚（前台 / 工作台 / 后台共用） */
:root{
  --ui-ink:#183153;
  --ui-muted:#687B91;
  --ui-brand:#2563EB;
  --ui-deep:#1746A2;
  --ui-teal:#14B8A6;
  --ui-accent:#FFCC4C;
  --ui-line:#DCE8F4;
  --ui-soft:#EAF3FF;
  --ui-paper:rgba(255,255,255,.86);
  --ui-shadow:0 12px 34px rgba(24,49,83,.10);
}

/* ---------- Header ---------- */
.ui-header{
  position:sticky;
  top:0;
  z-index:80;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border-bottom:1px solid rgba(220,232,244,.9);
  box-shadow:0 8px 30px rgba(24,49,83,.08);
  backdrop-filter:blur(18px) saturate(1.55);
  -webkit-backdrop-filter:blur(18px) saturate(1.55);
}
.ui-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--ui-brand) 0%,var(--ui-teal) 48%,var(--ui-accent) 100%);
}
.ui-header::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%,rgba(37,99,235,.10),transparent 26%),
    radial-gradient(circle at 88% 0%,rgba(20,184,166,.10),transparent 24%);
}
.ui-container{width:min(1600px,calc(100% - 40px));margin-inline:auto}
.ui-header-inner{
  position:relative;
  z-index:1;
  min-height:82px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
}
.ui-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--ui-ink);
  font-weight:850;
  font-size:1.34rem;
  letter-spacing:.02em;
  white-space:nowrap;
  text-decoration:none;
}
.ui-brand:hover{color:var(--ui-deep)}
.ui-brand-mark{
  position:relative;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(135deg,#2563EB 0%,#1687D9 58%,#14B8A6 100%);
  color:#fff;
  font-size:1.28rem;
  box-shadow:0 10px 22px rgba(37,99,235,.28),inset 0 0 0 1.5px rgba(255,255,255,.26);
  overflow:hidden;
}
.ui-brand-mark::after{
  content:"";
  position:absolute;
  inset:-40% auto auto -30%;
  width:70%;
  height:160%;
  transform:rotate(28deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
}
.ui-brand-text{display:flex;flex-direction:column;line-height:1.12}
.ui-brand-text small{
  margin-top:3px;
  color:#7C93AC;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.ui-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border:1px solid rgba(220,232,244,.86);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.ui-nav-link{
  position:relative;
  display:block;
  padding:10px 20px;
  border-radius:999px;
  color:#4E6680;
  font-size:1.02rem;
  font-weight:750;
  text-decoration:none;
  transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ui-nav-link:hover{background:#F0F7FF;color:var(--ui-deep);transform:translateY(-1px)}
.ui-nav-link.active{
  background:linear-gradient(135deg,#EAF3FF,#E5FAF5);
  color:var(--ui-deep);
  box-shadow:inset 0 0 0 1px #B9DDF5,0 5px 14px rgba(37,99,235,.10);
  font-weight:850;
}
.ui-nav-link.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:18px;
  height:3px;
  border-radius:99px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,var(--ui-brand),var(--ui-teal));
}
.ui-user{justify-self:end;display:flex;align-items:center;gap:14px;padding-left:6px}
.ui-user-chip{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--ui-line);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.85);color:var(--ui-ink);font-size:1.02rem;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.ui-cta,.ui-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  min-height:44px;
  font-family:inherit;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background .16s ease;
}
.ui-cta{
  min-width:108px;
  padding:11px 22px;
  border:0;
  background:linear-gradient(135deg,#2563EB,#14B8A6);
  color:#fff;
  font-size:1rem;
  box-shadow:0 10px 22px rgba(37,99,235,.28);
}
.ui-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(37,99,235,.34);color:#fff}
.ui-ghost{
  padding:10px 18px;
  border:1px solid var(--ui-line);
  background:rgba(255,255,255,.9);
  color:#536B82;
  font-size:.98rem;
}
.ui-ghost:hover{border-color:#9FC3EE;color:var(--ui-deep);background:#F5FAFF}
.ui-cta:focus-visible,.ui-ghost:focus-visible,.ui-nav-link:focus-visible,.ui-brand:focus-visible{
  outline:3px solid rgba(37,99,235,.24);
  outline-offset:2px;
}

/* ---------- Footer ---------- */
.ui-footer{
  position:relative;
  background:linear-gradient(180deg,#fff,#FBFDFF);
  color:var(--ui-muted);
  font-size:.9rem;
  padding:26px 0;
  box-shadow:0 -1px 0 var(--ui-line);
}
.ui-footer::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--ui-accent) 0%,var(--ui-teal) 48%,var(--ui-brand) 100%);
}
.ui-footer-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
}
.ui-footer-brand{display:flex;align-items:center;gap:10px;color:var(--ui-ink)}
.ui-footer-mark{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:11px;
  background:linear-gradient(135deg,#2563EB,#14B8A6);
  color:#fff;
  font-weight:850;
  box-shadow:0 7px 16px rgba(37,99,235,.22);
}
.ui-footer-brand strong{display:block;line-height:1.2}
.ui-footer-brand small{display:block;margin-top:2px;color:#8AA0B6;font-size:.72rem;font-weight:800;letter-spacing:.18em}
.ui-footer-links{justify-self:center;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.ui-footer-links a{
  padding:6px 12px;
  border-radius:999px;
  color:#687B91;
  font-weight:700;
  text-decoration:none;
}
.ui-footer-links a:hover{background:var(--ui-soft);color:var(--ui-deep)}
.ui-footer-meta{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:#8AA0B6;font-size:.82rem}
.ui-footer-meta a{color:inherit;text-decoration:none}
.ui-footer-meta a:hover{color:var(--ui-brand)}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .ui-header-inner{grid-template-columns:auto auto;gap:12px;min-height:70px}
  .ui-nav{grid-column:1/-1;justify-self:center;max-width:100%;overflow:auto}
  .ui-user{justify-self:end}
}
@media(max-width:760px){
  .ui-container{width:calc(100% - 28px)}
  .ui-header-inner{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0 11px}
  .ui-brand{width:auto;justify-content:flex-start;font-size:1.14rem}
  .ui-brand-text small{display:none}
  .ui-brand-mark{width:40px;height:40px;border-radius:13px}
  .ui-nav{order:3;width:100%;justify-content:flex-start;margin:6px 0 0;padding:5px;scrollbar-width:none}
  .ui-nav::-webkit-scrollbar{display:none}
  .ui-nav-link{flex:0 0 auto;padding:8px 13px;font-size:.95rem}
  .ui-nav-link.active::after{bottom:3px;height:2px}
  .ui-user{position:static;margin-left:auto}
  .ui-user-chip{font-size:.95rem;padding:8px 12px;min-height:40px}
  .ui-cta{min-width:0;padding:9px 15px;font-size:.95rem;min-height:40px}
  .ui-ghost{padding:8px 13px;font-size:.92rem;min-height:40px}
  .ui-footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px}
  .ui-footer-meta{align-items:center}
}
@media(prefers-reduced-motion:reduce){
  .ui-nav-link,.ui-cta,.ui-ghost{transition:none}
}
