/* ==========================================================================
   CORE NODE — COREを取り囲む機能ノード
   PCでは円周配置、Mobileでは縦一列。DOMは共通で、配置のみを切り替える。
   --np（0→1）はノードごとの接続進行度で、JSが付与する。
   ========================================================================== */

.aa-node{
	position:absolute;
	top:50%;
	left:50%;
	--r:min(38vmin,320px);
	transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--r)) rotate(calc(-1 * var(--angle)));
	width:max-content;
	opacity:calc(.28 + var(--np,0) * .72);
	transition:opacity 400ms var(--ease-out);
}
.aa-node__inner{ display:grid; justify-items:center; gap:6px; text-align:center }

.aa-node__icon{
	width:clamp(34px,4.6vmin,50px);
	aspect-ratio:1;
	display:grid;
	place-items:center;
	font-size:clamp(15px,2vmin,21px);
	border-radius:50%;
	border:1px solid var(--rule);
	background:rgb(255 255 255 / .86);
	color:var(--c-ink);
	box-shadow:0 0 calc(var(--np,0) * 30px) rgb(127 168 255 / calc(var(--np,0) * .75));
	scale:calc(.86 + var(--np,0) * .14);
	transition:scale 400ms var(--ease-out);
}
.aa-node__code{ color:var(--fg-sub) ; font-size:.58rem; letter-spacing:.16em }
.aa-node__name{ font-size:clamp(.7rem,.9vw,.85rem); white-space:nowrap }
.aa-node__desc{ font-size:.72rem; color:var(--fg-sub); max-width:18ch }

/* AOD 側（暗い背景）でのノード */
.aa-core--aod .aa-node__icon{
	background:rgb(255 255 255 / .06);
	border-color:rgb(255 255 255 / .22);
	color:var(--c-snow);
}
