:root {
  --asg-page-max:1180px;
  --asg-page-gutter:48px;
  --asg-text:#111418;
  --asg-muted:#65707b;
  --asg-muted-soft:#8b949e;
  --asg-line:#dfe3e7;
  --asg-line-strong:#c9d0d6;
  --asg-surface:#ffffff;
  --asg-surface-soft:#f6f7f9;
  --asg-radius-control:10px;
  --asg-radius-action:14px;
  --asg-radius-panel:20px;
  --asg-radius-surface:24px;
  --asg-shadow-control:0 1px 2px rgba(17,24,32,.09),0 9px 24px rgba(17,24,32,.075);
  --asg-shadow-control-hover:0 2px 4px rgba(17,24,32,.10),0 15px 34px rgba(17,24,32,.12);
  --asg-shadow-surface:0 1px 2px rgba(17,24,32,.065),0 20px 52px rgba(17,24,32,.095),0 44px 92px rgba(17,24,32,.055);
  --asg-shadow-surface-hover:0 2px 4px rgba(17,24,32,.08),0 28px 66px rgba(17,24,32,.13),0 56px 108px rgba(17,24,32,.07);
  --asg-shadow-dark-control:0 1px 2px rgba(0,0,0,.34),0 12px 30px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.095);
  --asg-shadow-dark-surface:0 2px 4px rgba(0,0,0,.28),0 24px 64px rgba(3,7,15,.27),0 52px 104px rgba(3,7,15,.14),inset 0 1px rgba(255,255,255,.14);
  --asg-shadow-dark-surface-hover:0 3px 7px rgba(0,0,0,.34),0 34px 82px rgba(3,7,15,.34),0 68px 126px rgba(3,7,15,.18),inset 0 1px rgba(255,255,255,.18);
  --asg-ease:cubic-bezier(.16,1,.3,1);
  --asg-ease-gentle:cubic-bezier(.45,0,.2,1);
}

html { scroll-padding-top:104px; }
body {
  font-family:"Segoe UI Variable","SF Pro Display","PingFang SC","Microsoft YaHei UI","Segoe UI",Arial,sans-serif;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
button, a { -webkit-tap-highlight-color:transparent; }

.site-header {
  min-height:58px;
  gap:16px;
  border-radius:16px;
  isolation:isolate;
  transition:
    color .28s ease,
    background-color .34s ease,
    border-color .34s ease,
    box-shadow .34s ease,
    transform .44s var(--asg-ease);
}
.site-header::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px rgba(255,255,255,.14),inset 0 -1px rgba(17,24,32,.035);
}
.brand strong { font-size:15.5px; font-weight:720; letter-spacing:-.025em; }
.brand small { font-size:10.5px; letter-spacing:.015em; }
.nav-link { font-size:13px; font-weight:540; }
.nav-link, .language-toggle button, .lang button {
  border-radius:var(--asg-radius-control);
  transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .32s var(--asg-ease);
}
.language-toggle, .lang { border-radius:12px; }
.entry-link, .cta {
  border-radius:var(--asg-radius-action);
  transition:transform .34s var(--asg-ease),border-color .24s ease,background-color .24s ease,box-shadow .34s var(--asg-ease);
}

.release-home .site-header:not(.is-light) {
  box-shadow:0 1px 2px rgba(0,0,0,.28),0 16px 44px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.065);
}

/* The homepage header changes material when it leaves the dark hero. */
.release-home .site-header.is-light {
  color:var(--asg-text);
  background:rgba(255,255,255,.88);
  border-color:rgba(17,24,32,.14);
  box-shadow:0 1px 2px rgba(17,24,32,.07),0 14px 38px rgba(17,24,32,.095),0 28px 58px rgba(17,24,32,.045),inset 0 1px rgba(255,255,255,.94);
}
.release-home .site-header.is-light.is-scrolled {
  background:rgba(255,255,255,.96);
  border-color:rgba(17,24,32,.20);
  box-shadow:0 1px 2px rgba(17,24,32,.085),0 12px 32px rgba(17,24,32,.11),0 26px 54px rgba(17,24,32,.055),inset 0 1px rgba(255,255,255,.96);
}
.release-home .site-header.is-light .brand-mark { background:#111418; box-shadow:none; }
.release-home .site-header.is-light .brand strong { color:#111418; }
.release-home .site-header.is-light .brand small,
.release-home .site-header.is-light .nav-link,
.release-home .site-header.is-light .language-toggle button { color:#66717c; }
.release-home .site-header.is-light .nav-link:hover,
.release-home .site-header.is-light .nav-link.active,
.release-home .site-header.is-light .nav-link[aria-current="location"] {
  color:#111418;
  background:#f2f4f6;
  border-color:#dfe3e7;
}
.release-home .site-header.is-light .language-toggle {
  background:#f4f5f7;
  border-color:#d9dee3;
}
.release-home .site-header.is-light .language-toggle button[aria-pressed="true"] {
  color:#fff;
  background:#111418;
  box-shadow:none;
}

/* Homepage: preserve the dark visual anchor and regularize its editorial continuation. */
.release-home .section-head h2,
.release-home .learn-copy h2,
.release-home .method-intro h2 {
  letter-spacing:-.045em;
}
.release-home .section-head p,
.release-home .learn-copy > p:not(.eyebrow),
.release-home .method-intro > p:not(.eyebrow) {
  font-size:15px;
  line-height:1.82;
  text-wrap:pretty;
}
.release-home .domain-card,
.release-home .learn-visual {
  border-radius:var(--asg-radius-surface);
  box-shadow:var(--asg-shadow-dark-surface);
  transition:transform .48s var(--asg-ease),border-color .28s ease,box-shadow .48s var(--asg-ease);
}
.release-home .entry-link {
  box-shadow:var(--asg-shadow-dark-control);
}
.release-home .entry-link.primary {
  box-shadow:0 1px 2px rgba(0,0,0,.26),0 13px 32px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.72);
}
.release-home .hero-media::before {
  transform-origin:62% 46%;
  animation:asgAmbientDrift 18s var(--asg-ease-gentle) infinite alternate;
}
.release-home .hero-eyebrow::before {
  animation:asgStatusBreathe 4.2s ease-in-out infinite;
}
.release-home .domain-content p { font-size:14px; line-height:1.72; }
.release-home .domain-meta span,
.release-home .learn-topics span { letter-spacing:.015em; }
.release-home .learn-feature { gap:54px; }
.release-home .method-intro,
.release-home .method-step { padding-top:68px; padding-bottom:68px; }
.release-home .method-step {
  transition:background-color .48s ease,box-shadow .48s var(--asg-ease),transform .48s var(--asg-ease);
}
.release-home .footer { margin-top:0; }

/* Learning surface: stronger chapter rhythm and one family of academic figures. */
.release-learn .hero h1,
.release-learn .chapter h2,
.release-learn .gnn-primer h2 { letter-spacing:-.05em; }
.release-learn .layout { grid-template-columns:224px minmax(0,1fr); gap:68px; }
.release-learn .toc {
  padding:8px;
  border:1px solid rgba(17,24,32,.09);
  border-radius:var(--asg-radius-panel);
  background:rgba(248,249,250,.76);
  box-shadow:0 1px 2px rgba(17,24,32,.045),0 14px 34px rgba(17,24,32,.055),inset 0 1px rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(108%);
}
.release-learn .toc-label { padding:5px 10px 2px; }
.release-learn .toc a {
  min-height:42px;
  margin:2px 0;
  border-left:0;
  border-radius:10px;
}
.release-learn .toc a:hover,
.release-learn .toc a.active {
  border-left:0;
  background:#fff;
  box-shadow:0 1px 2px rgba(17,24,32,.06),0 8px 20px rgba(17,24,32,.07),inset 0 1px rgba(255,255,255,.92);
}
.release-learn .chapter-head {
  grid-template-columns:42px minmax(0,1fr);
  gap:26px;
}
.release-learn .chapter-index {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--asg-line-strong);
  border-radius:50%;
  background:#fff;
  color:#111418;
  font:720 10px/1 "Cascadia Code","SFMono-Regular",Consolas,monospace;
  letter-spacing:.08em;
  box-shadow:0 8px 20px rgba(17,24,32,.055);
}
.release-learn .chapter-head::after { left:68px; }
.release-learn .chapter-intro { color:#53606b; }
.release-learn .principle { border-left-width:3px; }
.release-learn .relation-atlas,
.release-learn .research-route,
.release-learn .readout-lab,
.release-learn .graph-workbench,
.release-learn .gnn-primer-media,
.release-learn .model-guide {
  border-radius:var(--asg-radius-surface);
  border-color:var(--asg-line);
  box-shadow:var(--asg-shadow-surface),inset 0 1px rgba(255,255,255,.82);
  transition:transform .56s var(--asg-ease),border-color .28s ease,box-shadow .56s var(--asg-ease);
}
.release-learn .site-header {
  box-shadow:0 1px 2px rgba(17,24,32,.055),0 12px 34px rgba(17,24,32,.075),0 28px 54px rgba(17,24,32,.035),inset 0 1px rgba(255,255,255,.92);
}
.release-learn .site-header.is-scrolled {
  box-shadow:0 1px 2px rgba(17,24,32,.075),0 14px 38px rgba(17,24,32,.10),0 32px 60px rgba(17,24,32,.045),inset 0 1px rgba(255,255,255,.96);
}
.release-learn #heroGraph {
  box-shadow:0 1px 2px rgba(17,24,32,.055),0 22px 58px rgba(17,24,32,.09),0 48px 92px rgba(17,24,32,.045),inset 0 1px rgba(255,255,255,.84);
}
.release-learn .cta {
  box-shadow:var(--asg-shadow-control),inset 0 1px rgba(255,255,255,.72);
}
.release-learn .cta.primary {
  box-shadow:0 1px 2px rgba(17,24,32,.24),0 12px 28px rgba(17,24,32,.16),inset 0 1px rgba(255,255,255,.12);
}
.release-learn .domain-atlas {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}
.release-learn .domain-tile {
  border:1px solid var(--asg-line);
  border-radius:16px;
  background:linear-gradient(145deg,#fafbfc,#f5f6f8);
  box-shadow:0 1px 2px rgba(17,24,32,.035),0 9px 24px rgba(17,24,32,.04),inset 0 1px rgba(255,255,255,.92);
}
.release-learn .learning-step,
.release-learn .focus-card {
  border-radius:16px;
  box-shadow:0 1px 2px rgba(17,24,32,.04),0 12px 30px rgba(17,24,32,.055),inset 0 1px rgba(255,255,255,.82);
}
.release-learn .source-visual-card,
.release-learn .learning-route {
  box-shadow:0 1px 2px rgba(17,24,32,.045),0 12px 30px rgba(17,24,32,.06),inset 0 1px rgba(255,255,255,.86);
}
.release-learn .source-link {
  grid-template-columns:42px minmax(0,1fr) 24px;
  padding:22px 12px;
  border-radius:12px;
}
.release-learn .source-link + .source-link { border-top:0; }
.release-learn .source-link:hover {
  transform:translateX(3px);
  background:#f7f8fa;
}

@media (hover:hover) and (pointer:fine) {
  .release-home .entry-link:hover {
    box-shadow:0 2px 4px rgba(0,0,0,.34),0 18px 42px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.13);
  }
  .release-home .entry-link.primary:hover {
    box-shadow:0 2px 4px rgba(0,0,0,.28),0 19px 42px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.82);
  }
  .release-home .domain-card:hover,
  .release-home .learn-visual:hover {
    box-shadow:var(--asg-shadow-dark-surface-hover);
  }
  .release-home .method-step:hover {
    background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(241,244,246,.84));
    box-shadow:inset 0 1px rgba(255,255,255,.96),0 18px 42px rgba(17,24,32,.075);
    transform:none;
  }
  .release-learn .cta:hover { box-shadow:var(--asg-shadow-control-hover),inset 0 1px rgba(255,255,255,.76); }
  .release-learn .cta.primary:hover {
    box-shadow:0 2px 4px rgba(17,24,32,.26),0 17px 36px rgba(17,24,32,.20),inset 0 1px rgba(255,255,255,.16);
  }
  .release-learn :is(.domain-tile,.learning-step,.focus-card,.source-visual-card,.learning-route):hover {
    border-color:rgba(17,24,32,.24);
    box-shadow:var(--asg-shadow-surface-hover),inset 0 1px rgba(255,255,255,.92);
    transform:translateY(-3px);
  }
  .release-learn [data-depth-surface].is-depth-hover {
    border-color:rgba(17,24,32,.22);
    box-shadow:var(--asg-shadow-surface-hover),inset 0 1px rgba(255,255,255,.86);
  }
  .release-learn .source-link:hover {
    box-shadow:inset 3px 0 #d8b862,0 10px 24px rgba(17,24,32,.045);
  }
}

@keyframes asgAmbientDrift {
  0% { transform:translate3d(-1.1%,.5%,0) scale(.985); opacity:.68; }
  55% { transform:translate3d(.4%,-.8%,0) scale(1.015); opacity:.82; }
  100% { transform:translate3d(1.2%,.6%,0) scale(1.03); opacity:.74; }
}
@keyframes asgStatusBreathe {
  0%,100% { box-shadow:0 0 0 0 rgba(140,233,239,.06),0 0 12px rgba(140,233,239,.54); }
  50% { box-shadow:0 0 0 5px rgba(140,233,239,0),0 0 18px rgba(140,233,239,.82); }
}

@media (max-width:960px) {
  :root { --asg-page-gutter:36px; }
  .release-learn .layout { grid-template-columns:1fr; gap:0; }
  .release-learn .toc {
    display:flex;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .release-learn .toc a { margin:0; box-shadow:none; }
  .release-learn .domain-atlas { grid-template-columns:1fr 1fr; }
}

@media (max-width:640px) {
  :root { --asg-page-gutter:30px; --asg-radius-surface:20px; }
  .site-header { border-radius:14px; }
  .release-home .learn-feature { gap:30px; }
  .release-home .method-intro,
  .release-home .method-step { padding-top:36px; padding-bottom:36px; }
  .release-learn .chapter-head { grid-template-columns:1fr; gap:12px; }
  .release-learn .chapter-index { width:32px; height:32px; }
  .release-learn .chapter-head::after { left:0; }
  .release-learn .domain-atlas { grid-template-columns:1fr; }
  .release-learn .source-link { padding-right:4px; padding-left:4px; }
  .release-home .domain-card,
  .release-home .learn-visual { box-shadow:0 2px 4px rgba(0,0,0,.24),0 20px 48px rgba(3,7,15,.24),inset 0 1px rgba(255,255,255,.13); }
  .release-learn .relation-atlas,
  .release-learn .research-route,
  .release-learn .readout-lab,
  .release-learn .graph-workbench,
  .release-learn .gnn-primer-media,
  .release-learn .model-guide { box-shadow:0 1px 2px rgba(17,24,32,.05),0 14px 36px rgba(17,24,32,.075); }
}

@media (prefers-reduced-motion:reduce) {
  .site-header,
  .nav-link,
  .language-toggle button,
  .lang button,
  .entry-link,
  .cta,
  .release-home .method-step,
  .release-home .domain-card,
  .release-home .learn-visual,
  .release-learn .domain-tile,
  .release-learn .learning-step,
  .release-learn .focus-card,
  .release-learn .source-visual-card,
  .release-learn .learning-route,
  .release-learn [data-depth-surface] { transition:none !important; }
  .release-home .hero-media::before,
  .release-home .hero-eyebrow::before { animation:none !important; }
}
