.nodes-opening{
  background:linear-gradient(180deg,var(--hero-top),var(--hero-bottom));
}
.nodes-opening-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  align-items:center;
  gap:48px;
}
.nodes-opening-grid > *{
  min-width:0;
}
.nodes-opening h1{
  margin-top:24px;
}
.nodes-summary{
  max-width:700px;
  color:var(--text-muted);
  font-size:18px;
  line-height:1.9;
}
.nodes-reading-note{
  border-color:var(--text);
  box-shadow:6px 6px 0 var(--bg-panel-2);
}
.nodes-reading-note > p{
  margin-top:12px;
  margin-bottom:16px;
  color:var(--text-muted);
  font-size:14px;
}
.nodes-fact-line{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:32px;
}
.nodes-document{
  overflow-x:visible;
}
.nodes-chapter{
  min-width:0;
}
.nodes-chapter + .nodes-chapter{
  margin-top:72px;
  padding-top:56px;
  border-top:1px solid var(--border);
}
.nodes-eyebrow{
  margin-bottom:14px;
  color:var(--text-muted);
  font-size:12px;
  letter-spacing:.04em;
}
.nodes-region-block{
  margin-top:36px;
}
.nodes-region-block > p{
  max-width:900px;
  margin-bottom:20px;
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-region-block .table-scroll{
  border:1px solid var(--border);
  border-radius:var(--r-btn);
}
.nodes-region-block tbody tr:last-child td{
  border-bottom:0;
}
.nodes-region-block tbody tr:hover{
  background:var(--side);
}
.nodes-directory-footnote{
  margin-top:24px;
  padding:20px;
  border-radius:var(--r-btn);
  background:var(--bg);
  color:var(--text-muted);
  font-size:14px;
  line-height:1.9;
}
.nodes-type-list{
  display:grid;
  gap:28px;
}
.nodes-type-sheet{
  display:grid;
  grid-template-columns:minmax(0,220px) minmax(0,1fr);
  border:1px solid var(--text);
  border-radius:var(--r-card);
  background:var(--paper);
  box-shadow:6px 6px 0 var(--bg-panel-2);
}
.nodes-type-sheet > *{
  min-width:0;
}
.nodes-type-label{
  padding:28px;
  background:var(--side);
  border-right:1px solid var(--border);
  border-radius:var(--r-card) 0 0 var(--r-card);
}
.nodes-type-label h3{
  margin-top:20px;
}
.nodes-type-body{
  padding:28px 32px;
}
.nodes-type-body p{
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-type-body p + p{
  margin-top:18px;
}
.nodes-type-body .nodes-key-point{
  padding-top:18px;
  border-top:1px solid var(--line-soft);
  font-size:14px;
}
.nodes-use-list{
  border-top:2px solid var(--text);
}
.nodes-use-row{
  display:grid;
  grid-template-columns:minmax(0,220px) minmax(0,1fr);
  gap:32px;
  padding-top:28px;
  padding-bottom:28px;
  border-bottom:1px solid var(--border);
}
.nodes-use-row > *{
  min-width:0;
}
.nodes-use-row h3{
  margin:0;
}
.nodes-use-row p{
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-use-row p + p{
  margin-top:16px;
}
.nodes-check-panel p{
  color:var(--text-muted);
}
.nodes-check-list{
  padding-left:24px;
  margin-top:0;
  margin-bottom:24px;
  color:var(--text-muted);
  line-height:1.9;
}
.nodes-check-list li + li{
  margin-top:16px;
}
.nodes-check-list strong{
  color:var(--text);
  font-weight:var(--weight-semibold);
}
.nodes-related{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,220px);
  gap:32px;
  margin-top:32px;
  padding:28px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--r-card);
}
.nodes-related > *{
  min-width:0;
}
.nodes-related p{
  line-height:1.9;
}
.nodes-related-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:12px;
}
@media(max-width:960px){
  .nodes-opening-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .nodes-type-sheet{
    grid-template-columns:minmax(0,180px) minmax(0,1fr);
  }
  .nodes-type-label{
    padding:24px;
  }
  .nodes-use-row{
    grid-template-columns:minmax(0,180px) minmax(0,1fr);
    gap:24px;
  }
}
@media(max-width:768px){
  .nodes-type-sheet{
    grid-template-columns:1fr;
  }
  .nodes-type-label{
    border-right:0;
    border-bottom:1px solid var(--border);
    border-radius:var(--r-card) var(--r-card) 0 0;
  }
  .nodes-type-label h3{
    margin-top:14px;
  }
  .nodes-type-body{
    padding:24px;
  }
  .nodes-use-row{
    grid-template-columns:1fr;
    gap:16px;
  }
  .nodes-related{
    grid-template-columns:1fr;
    gap:24px;
  }
  .nodes-related-links{
    flex-direction:row;
    flex-wrap:wrap;
    gap:16px 24px;
  }
}
@media(max-width:640px){
  .nodes-summary{
    font-size:16px;
  }
  .nodes-chapter + .nodes-chapter{
    margin-top:48px;
    padding-top:40px;
  }
  .nodes-region-block{
    margin-top:28px;
  }
  .nodes-type-label,
  .nodes-type-body,
  .nodes-related{
    padding:20px;
  }
}