:root{
  --nodes-hero-max:1180px;
  --nodes-table-min:760px;
  --nodes-route-size:360px;
  --nodes-line-thickness:1px;
  --nodes-card-gap:16px;
  --nodes-grid-size:34px;
}
.nodes-main{overflow-x:clip}
.nodes-hero{
  position:relative;
  min-height:calc(100svh - var(--header-height));
  display:flex;
  align-items:center;
  padding-top:72px;
  padding-bottom:72px;
  border-bottom:1px solid var(--color-border);
  background:
    radial-gradient(circle at 78% 45%,var(--color-accent-soft),transparent 34%),
    var(--color-bg);
}
.nodes-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background-image:
    linear-gradient(var(--color-border) var(--nodes-line-thickness),transparent var(--nodes-line-thickness)),
    linear-gradient(90deg,var(--color-border) var(--nodes-line-thickness),transparent var(--nodes-line-thickness));
  background-size:var(--nodes-grid-size) var(--nodes-grid-size);
  mask-image:linear-gradient(to bottom,transparent,var(--color-text),transparent);
}
.nodes-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);
  align-items:center;
  gap:72px;
  width:100%;
  max-width:var(--nodes-hero-max);
}
.nodes-hero-copy{min-width:0}
.nodes-title{
  max-width:660px;
  margin-top:24px;
  margin-bottom:22px;
  font-size:clamp(52px,5.2vw,68px);
}
.nodes-title .no-break:first-child{color:var(--color-accent);text-shadow:0 0 22px var(--color-accent-glow)}
.nodes-lead{max-width:660px;margin-bottom:28px;font-size:1.05rem}
.nodes-lead strong{color:var(--color-text)}
.nodes-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.nodes-facts{display:flex;flex-wrap:wrap;gap:8px}
.nodes-facts .fact-chip::before{
  content:"+";
  color:var(--color-accent);
}
.route-console{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--color-edge);
  border-radius:var(--radius-m);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.route-console-bar{
  display:flex;
  align-items:center;
  min-height:42px;
  padding-inline:15px;
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel-raised);
}
.route-console-dots{display:flex;gap:7px}
.route-console-dots span{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:var(--radius-pill);
  background:var(--color-dot);
}
.route-console-dots span:nth-child(2){background:var(--color-dot-mid)}
.route-console-dots span:nth-child(3){background:var(--color-dot-high)}
.route-console-label{
  margin-left:auto;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.72rem;
}
.route-console-body{padding:24px}
.route-origin{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.78rem;
}
.route-origin strong{font-family:var(--font-mono)}
.route-prompt{color:var(--color-accent);text-shadow:0 0 9px var(--color-accent-glow)}
.route-trace{
  position:relative;
  width:min(100%,var(--nodes-route-size));
  aspect-ratio:1;
  margin:22px auto;
  border:1px dashed var(--color-border);
  border-radius:50%;
  background:radial-gradient(circle,var(--color-panel-raised),var(--color-panel));
}
.route-trace::before,
.route-trace::after{
  content:"";
  position:absolute;
  border:1px solid var(--color-border);
  border-radius:50%;
}
.route-trace::before{inset:20%}
.route-trace::after{inset:38%}
.route-core{
  position:absolute;
  z-index:3;
  top:50%;
  left:50%;
  width:18px;
  height:18px;
  border:4px solid var(--color-panel);
  border-radius:50%;
  background:var(--color-accent);
  box-shadow:var(--shadow-accent);
  transform:translate(-50%,-50%);
}
.route-line{
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  width:37%;
  height:var(--nodes-line-thickness);
  background:var(--color-accent-dark);
  transform-origin:left center;
}
.route-line-a{transform:rotate(-42deg)}
.route-line-b{transform:rotate(35deg)}
.route-line-c{transform:rotate(144deg)}
.route-line-d{transform:rotate(218deg)}
.route-point{
  position:absolute;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 10px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel-raised);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:.7rem;
  box-shadow:var(--shadow-panel);
}
.route-point::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--color-accent);
  box-shadow:0 0 8px var(--color-accent-glow);
}
.route-point-asia{top:13%;right:4%}
.route-point-na{right:0;bottom:19%}
.route-point-eu{left:2%;bottom:15%}
.route-point-other{top:15%;left:0}
.route-command,
.route-ready{
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.76rem;
}
.route-ready{margin-top:8px;color:var(--color-text)}
.route-ready span{color:var(--color-accent)}
.route-ready i,
.diagnostic-terminal i{
  display:inline-block;
  width:7px;
  height:12px;
  margin-left:5px;
  background:var(--color-accent);
  box-shadow:0 0 9px var(--color-accent-glow);
  vertical-align:-1px;
}
.directory-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
  padding:16px 18px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-s);
  background:var(--color-panel);
}
.directory-note>div{
  display:flex;
  align-items:flex-start;
  min-width:0;
  gap:12px;
}
.directory-note p{margin-bottom:0;font-size:.88rem}
.directory-note-mark{
  flex:0 0 auto;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.7rem;
}
.directory-note a{
  flex:0 0 auto;
  min-height:28px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.75rem;
}
.nodes-table{min-width:var(--nodes-table-min)}
.line-kind{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:3px 9px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel-raised);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.7rem;
  white-space:nowrap;
}
.line-kind-premium{border-color:var(--color-accent-dark);color:var(--color-accent)}
.line-kind-direct{color:var(--color-text)}
.nodes-type-section{
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}
.route-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--nodes-card-gap);
}
.route-type-card{
  min-width:0;
  padding:26px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-bg);
}
.route-type-card h3{margin-bottom:14px}
.route-type-card p{font-size:.93rem}
.route-type-card p:last-child{margin-bottom:0}
.route-type-featured{
  border-color:var(--color-accent-dark);
  background:var(--color-panel-raised);
  box-shadow:0 0 28px var(--color-accent-soft);
}
.route-type-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:24px;
}
.route-type-code{
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.76rem;
}
.route-cost-panel{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:46px;
  margin-top:18px;
  padding:30px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-bg);
}
.route-cost-panel h3{margin-bottom:0}
.route-cost-label{
  margin-bottom:8px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.72rem;
}
.route-cost-copy p:last-child{margin-bottom:0}
.use-case-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--nodes-card-gap);
}
.use-case-card{
  position:relative;
  min-width:0;
  padding:26px;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:linear-gradient(90deg,var(--color-panel),var(--color-bg));
}
.use-case-card::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:72px;
  height:2px;
  background:var(--color-accent);
  box-shadow:0 0 12px var(--color-accent-glow);
}
.use-case-card h3{margin-bottom:12px}
.use-case-card p{font-size:.93rem}
.use-case-card p:last-child{margin-bottom:0}
.use-case-command{
  display:block;
  margin-bottom:18px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.72rem;
}
.use-case-wide{grid-column:1/-1}
.nodes-method-section{
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}
.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-border);
}
.method-step{
  min-width:0;
  padding:24px;
  background:var(--color-bg);
}
.method-step h3{margin-bottom:10px;font-size:1.15rem}
.method-step p{margin-bottom:0;font-size:.88rem}
.method-index{
  display:block;
  margin-bottom:20px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:.72rem;
}
.method-index::before{content:"--"}
.diagnostic-panel{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
  align-items:center;
  gap:42px;
  margin-top:18px;
  padding:30px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-bg);
}
.diagnostic-terminal{
  padding:22px;
  border:1px solid var(--color-edge);
  border-radius:var(--radius-s);
  background:var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.diagnostic-terminal p{
  margin-bottom:7px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.76rem;
}
.diagnostic-terminal p:last-child{margin-bottom:0;color:var(--color-text)}
.diagnostic-terminal span{color:var(--color-accent)}
.diagnostic-copy h3{margin-bottom:12px}
.diagnostic-copy p:last-child{margin-bottom:0}
.coverage-panel{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:48px;
  padding:38px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:
    radial-gradient(circle at 90% 10%,var(--color-accent-soft),transparent 36%),
    var(--color-panel);
  box-shadow:var(--shadow-panel);
}
.coverage-copy h2{margin-bottom:18px}
.coverage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.region-wall{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:center;
  gap:9px;
}
.region-wall span{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:46px;
  padding:8px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-s);
  background:var(--color-panel-raised);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.76rem;
}
.region-wall span::before{
  content:">";
  margin-right:8px;
  color:var(--color-accent);
}
@media (max-width:1020px){
  .nodes-hero-layout{grid-template-columns:1fr;gap:48px}
  .nodes-hero{min-height:auto}
  .route-console{width:100%;max-width:620px}
  .route-type-grid{grid-template-columns:1fr}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coverage-panel{grid-template-columns:1fr}
  .region-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:768px){
  .nodes-hero{padding-top:56px;padding-bottom:56px}
  .nodes-title{font-size:clamp(34px,10vw,40px)}
  .nodes-actions{align-items:stretch;flex-direction:column}
  .nodes-actions .btn{width:100%}
  .route-console-body{padding:18px}
  .route-trace{width:min(100%,310px)}
  .directory-note{align-items:flex-start;flex-direction:column}
  .route-cost-panel,
  .diagnostic-panel{grid-template-columns:1fr;gap:24px;padding:24px}
  .use-case-layout{grid-template-columns:1fr}
  .use-case-wide{grid-column:auto}
  .method-grid{grid-template-columns:1fr}
  .coverage-panel{padding:26px}
  .region-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:440px){
  .route-point{padding-inline:7px;font-size:.62rem}
  .route-point-asia{right:-2%}
  .route-point-na{right:-3%}
  .route-point-eu{left:-2%}
  .route-point-other{left:-3%}
  .route-type-card,
  .use-case-card,
  .method-step{padding:20px}
  .route-type-head{align-items:flex-start;flex-direction:column}
  .coverage-panel{padding:20px}
  .region-wall{grid-template-columns:1fr}
}