:root {
  color-scheme: light;
  font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
  color: #152e2b;
  background: #f7f5ed;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 90% 0%, #dce9dc 0%, transparent 55%),
    radial-gradient(ellipse at 0% 100%, #f0e3d3 0%, transparent 48%);
}
.portal { max-width: 71rem; margin-inline: auto; padding: clamp(2.5rem, 10vh, 7.5rem) clamp(1.25rem, 5vw, 4rem); }
.intro { padding-bottom: clamp(1.7rem, 4vw, 3rem); }
.identity {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1.3rem;
  font-weight: 650;
  font-size: .9rem;
  letter-spacing: .1em;
  color: #385d54;
}
.mark { width: .9rem; height: .9rem; border: 3px solid #2b6d61; transform: rotate(45deg); border-radius: .17rem; }
h1 { font-size: clamp(2.1rem, 6vw, 4.55rem); line-height: 1.17; margin: 0; letter-spacing: -.045em; }
.subtitle { color: #52645d; margin: 1rem 0 0; font-size: 1.06rem; }
nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.platform {
  --surface: #173d38;
  --ink: #fffdf5;
  --muted: #cde0d7;
  --detail: #ddf2cd;
  display: flex;
  flex-direction: column;
  min-height: 17.5rem;
  gap: .7rem;
  padding: clamp(1.35rem, 3vw, 2.35rem);
  border: 1px solid #254b41;
  border-radius: 1.2rem;
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 .6rem 1.6rem #273a2d12;
  transition: box-shadow 160ms ease, transform 160ms ease;
}
.aiedu { --surface: #fcfaf2; --ink: #1d3934; --muted: #52645d; --detail: #315f54; border-color: #d6dfd3; }
.platform:hover { transform: translateY(-3px); box-shadow: 0 .9rem 1.75rem #273a2d24; }
.platform:focus-visible { outline: 3px solid #2a6f63; outline-offset: 5px; }
.top { display: flex; align-items: center; justify-content: space-between; color: var(--detail); margin-bottom: .55rem; }
.top svg { width: 2rem; height: 2rem; }
.number { font-size: .82rem; font-weight: 650; letter-spacing: .15em; }
.name { font-size: clamp(1.45rem, 3vw, 2.05rem); font-weight: 750; letter-spacing: -.025em; }
.description { color: var(--muted); line-height: 1.65; }
.action { margin-top: auto; padding-top: 1.2rem; color: var(--detail); font-weight: 700; }
.action span { margin-left: .35rem; }
@media (max-width: 40rem) {
  nav { grid-template-columns: 1fr; }
  .platform { min-height: 12.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .platform { transition: none; }
  .platform:hover { transform: none; }
}

